Opened 6 months ago
Last modified 3 months ago
#5735 new defect
ST_TRANSFORM uses Helmert transformation instead of NTV2 grid (SRID's : 3812 <->31370)
Reported by: | martinvdb | Owned by: | rouault |
---|---|---|---|
Priority: | medium | Milestone: | PostGIS 3.4.4 |
Component: | postgis | Version: | 3.4.x |
Keywords: | ST_TRANSFORM Belgium NTV2 | Cc: | martinvdb |
Description
When I want to transform coordinates of objects stored in Lambert72 (SRID : 31370) to Lambert2008 SRID : 3812), the ST_TRANSFORM function uses the Helmert transformation. However there is a more precise trasformation using the NTV2 grid. I managed to create that transformation using the new ST_TRANSFORMPIPELINE. However, when I try this transformation in PROJ, the default transformation is the most precise one using the NTV2 grid. My questions are :
Why ST_TRANSFORM still use this old unprecise method? Can I change the behavior of the ST_TRANSFORM to perform the transformation using the NTV2 grid?
Change History (4)
comment:1 by , 6 months ago
Owner: | changed from | to
---|
comment:2 by , 6 months ago
comment:3 by , 5 months ago
@rouault
Sorry it took me so long to reply. Yes of course, here is an example of the problem : We have our reference dataset which is : Coordinates in EPSG 31370 : X = 156681.404 ; Y = 238403.825 Coordinates IS EPSG 3812 : X = 656673.068 ; Y = 738404.595
When I use "ST_AsText(ST_Transform(ST_SetSRID(ST_MakePoint(156681.404,238403.825), 31370), 3812));" I get, on postgreSQL/postGIS : POINT(656672.8903371155 738404.4813479027)
When I use "echo 156681.404 238403.825 | cs2cs epsg:31370 +to epsg:3812 -d 3 —only-best=yes" I get on PROJ : 656673.067 738404.595 Proj_info returns that the best transformation is the one using the NTV2 grid
comment:4 by , 3 months ago
Milestone: | PostGIS 3.4.3 → PostGIS 3.4.4 |
---|
@martinvdb Can you post an example (using for example just a point) of the ST_Transform() invokation you tried, what you got and what you expected as result?