Skip to content

[Feat] v.import should use best transformation option reproted by proj #5867

@marisn

Description

@marisn

Data transformation from EPSG:3059 to EPSG:10306 should be done with a hgridshift file, but GRASS defaults to noop transform.

To reproduce

grass -c epsg:10306 foo/bar/baz
v.import --verbose input=tp_92_20_92.gpkg output=tp_92
Using OGR driver 'GPKG/GeoPackage'
Coordinate reference system of input dataset and current project appear to match

Expected behavior

Data set is reprojected and GRASS uses best coordinate operation provided by proj.

System description

version=8.5.0dev
date=2025
revision=ad6e958c27
build_date=2025-06-09
build_platform=x86_64-pc-linux-gnu
build_off_t_size=8
libgis_revision=7cd2631711
libgis_date=2025-06-04T15:14:43+00:00
proj=9.6.0 *
gdal=3.10.3
geos=3.13.1
sqlite=3.46.1

  • note – you'll need proj 9.6.2 to have hgridshift out-of-box.

Additional context

projinfo -s epsg:3059 -t epsg:10306 -o proj
Candidate operations found: 2
-------------------------------------
Operation No. 1:

unknown id, Inverse of Latvian Transverse Mercator + LKS-92 to LKS-2020 (1) + Latvian Transverse Mercator, 0.02 m, Latvia - onshore and offshore.

PROJ string:
+proj=pipeline
  +step +proj=axisswap +order=2,1
  +step +inv +proj=tmerc +lat_0=0 +lon_0=24 +k=0.9996 +x_0=500000 +y_0=-6000000
        +ellps=GRS80
  +step +proj=hgridshift +grids=lv_lgia_lks92to2020.tif
  +step +proj=tmerc +lat_0=0 +lon_0=24 +k=0.9996 +x_0=500000 +y_0=-6000000
        +ellps=GRS80
  +step +proj=axisswap +order=2,1

-------------------------------------
Operation No. 2:

unknown id, Inverse of Latvian Transverse Mercator + Ballpark geographic offset from LKS-92 to LKS-2020 + Latvian Transverse Mercator, unknown accuracy, Latvia - onshore and offshore., has ballpark transformation

PROJ string:
+proj=noop

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions