aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2020-01-23 13:08:23 +0100
committerEven Rouault <even.rouault@spatialys.com>2020-01-23 13:08:23 +0100
commit00dd98457af1f32e7bb2b9677f6319f72fcfacf9 (patch)
tree546017ea45eec491b107bf238f0efd45acc6264e
parentffcd6253bb6b275cfc8884eeb88aa2eeac75e3b6 (diff)
downloadPROJ-00dd98457af1f32e7bb2b9677f6319f72fcfacf9.tar.gz
PROJ-00dd98457af1f32e7bb2b9677f6319f72fcfacf9.zip
Database: add a geoid_like value for proj_method column of grid_alternatives, fix related entries and simplify/robustify logic to deal with EPSG 'Geographic3D to GravityRelatedHeight' methods
-rw-r--r--data/sql/grid_alternatives.sql266
-rw-r--r--data/sql/ignf.sql118
-rw-r--r--data/sql/proj_db_table_defs.sql7
-rwxr-xr-xscripts/build_db_create_ignf_from_xml.py4
-rw-r--r--src/iso19111/coordinateoperation.cpp38
-rw-r--r--test/cli/testprojinfo_out.dist2
6 files changed, 220 insertions, 215 deletions
diff --git a/data/sql/grid_alternatives.sql b/data/sql/grid_alternatives.sql
index 37a4d98a..d8fd0c77 100644
--- a/data/sql/grid_alternatives.sql
+++ b/data/sql/grid_alternatives.sql
@@ -282,8 +282,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('WW15MGH.GRD',
'egm96_15.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid',
NULL, NULL, NULL, NULL);
@@ -297,8 +297,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('Und_min2.5x2.5_egm2008_isw=82_WGS84_TideFree.gz',
'egm08_25.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-world',
NULL, NULL, NULL, NULL);
@@ -314,8 +314,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('gr2000g.gri',
'gvr2000.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-north-america',
NULL, NULL, NULL, NULL);
@@ -329,8 +329,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('ggeoid16.gri',
'gvr2016.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-north-america',
NULL, NULL, NULL, NULL);
@@ -346,8 +346,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('dvr90.gtx',
'dvr90.gtx', -- no change. Just document the package
'GTX',
- 'vgridshift',
- 0, -- do not reverse here as grid_transformation_custom does reference from VerticalCRS height to Geographic height
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -362,8 +362,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('dnn.gtx',
'dnn.gtx', -- no change. Just document the package
'GTX',
- 'vgridshift',
- 0, -- do not reverse here as grid_transformation_custom does reference from VerticalCRS height to Geographic height
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -379,8 +379,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('fvr09.gtx',
'fvr09.gtx', -- no change. Just document the package
'GTX',
- 'vgridshift',
- 0, -- do not reverse here as grid_transformation_custom does reference from VerticalCRS height to Geographic height
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -396,8 +396,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('SWEN17_RH2000.gtx',
'SWEN17_RH2000.gtx', -- no change. Just document the package
'GTX',
- 'vgridshift',
- 0, -- do not reverse here as grid_transformation_custom does reference from VerticalCRS height to Geographic height
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -413,8 +413,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('OSGM15_Malin.gri',
'OSGM15_Malin.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -430,8 +430,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('OSGM15_Belfast.gri',
'OSGM15_Belfast.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -440,28 +440,28 @@ INSERT INTO grid_alternatives(original_grid_name,
----------------------------
INSERT INTO grid_alternatives(original_grid_name, proj_grid_name, proj_grid_format, proj_method, inverse_direction, package_name, url, direct_download, open_license, directory)
- VALUES ('g1999u01.bin', 'g1999u01.gtx', 'GTX', 'vgridshift', 1, 'proj-datumgrid-north-america', NULL, NULL, NULL, NULL);
+ VALUES ('g1999u01.bin', 'g1999u01.gtx', 'GTX', 'geoid_like', 0, 'proj-datumgrid-north-america', NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name, proj_grid_name, proj_grid_format, proj_method, inverse_direction, package_name, url, direct_download, open_license, directory)
- VALUES ('g1999u02.bin', 'g1999u02.gtx', 'GTX', 'vgridshift', 1, 'proj-datumgrid-north-america', NULL, NULL, NULL, NULL);
+ VALUES ('g1999u02.bin', 'g1999u02.gtx', 'GTX', 'geoid_like', 0, 'proj-datumgrid-north-america', NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name, proj_grid_name, proj_grid_format, proj_method, inverse_direction, package_name, url, direct_download, open_license, directory)
- VALUES ('g1999u03.bin', 'g1999u03.gtx', 'GTX', 'vgridshift', 1, 'proj-datumgrid-north-america', NULL, NULL, NULL, NULL);
+ VALUES ('g1999u03.bin', 'g1999u03.gtx', 'GTX', 'geoid_like', 0, 'proj-datumgrid-north-america', NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name, proj_grid_name, proj_grid_format, proj_method, inverse_direction, package_name, url, direct_download, open_license, directory)
- VALUES ('g1999u04.bin', 'g1999u04.gtx', 'GTX', 'vgridshift', 1, 'proj-datumgrid-north-america', NULL, NULL, NULL, NULL);
+ VALUES ('g1999u04.bin', 'g1999u04.gtx', 'GTX', 'geoid_like', 0, 'proj-datumgrid-north-america', NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name, proj_grid_name, proj_grid_format, proj_method, inverse_direction, package_name, url, direct_download, open_license, directory)
- VALUES ('g1999u05.bin', 'g1999u05.gtx', 'GTX', 'vgridshift', 1, 'proj-datumgrid-north-america', NULL, NULL, NULL, NULL);
+ VALUES ('g1999u05.bin', 'g1999u05.gtx', 'GTX', 'geoid_like', 0, 'proj-datumgrid-north-america', NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name, proj_grid_name, proj_grid_format, proj_method, inverse_direction, package_name, url, direct_download, open_license, directory)
- VALUES ('g1999u06.bin', 'g1999u06.gtx', 'GTX', 'vgridshift', 1, 'proj-datumgrid-north-america', NULL, NULL, NULL, NULL);
+ VALUES ('g1999u06.bin', 'g1999u06.gtx', 'GTX', 'geoid_like', 0, 'proj-datumgrid-north-america', NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name, proj_grid_name, proj_grid_format, proj_method, inverse_direction, package_name, url, direct_download, open_license, directory)
- VALUES ('g1999u07.bin', 'g1999u07.gtx', 'GTX', 'vgridshift', 1, 'proj-datumgrid-north-america', NULL, NULL, NULL, NULL);
+ VALUES ('g1999u07.bin', 'g1999u07.gtx', 'GTX', 'geoid_like', 0, 'proj-datumgrid-north-america', NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name, proj_grid_name, proj_grid_format, proj_method, inverse_direction, package_name, url, direct_download, open_license, directory)
- VALUES ('g1999u08.bin', 'g1999u08.gtx', 'GTX', 'vgridshift', 1, 'proj-datumgrid-north-america', NULL, NULL, NULL, NULL);
+ VALUES ('g1999u08.bin', 'g1999u08.gtx', 'GTX', 'geoid_like', 0, 'proj-datumgrid-north-america', NULL, NULL, NULL, NULL);
-- Not mapped:
-- g1999a01.gtx to g1999a04.gtx : Alaska
@@ -473,7 +473,7 @@ INSERT INTO grid_alternatives(original_grid_name, proj_grid_name, proj_grid_form
----------------------------
INSERT INTO grid_alternatives(original_grid_name, proj_grid_name, proj_grid_format, proj_method, inverse_direction, package_name, url, direct_download, open_license, directory)
- VALUES ('geoid03_conus.bin', 'geoid03_conus.gtx', 'GTX', 'vgridshift', 1, 'proj-datumgrid-north-america', NULL, NULL, NULL, NULL);
+ VALUES ('geoid03_conus.bin', 'geoid03_conus.gtx', 'GTX', 'geoid_like', 0, 'proj-datumgrid-north-america', NULL, NULL, NULL, NULL);
-- Not mapped:
-- g2003a01.gtx to g2003a04.gtx : Alaska
@@ -485,26 +485,26 @@ INSERT INTO grid_alternatives(original_grid_name, proj_grid_name, proj_grid_form
----------------------------
INSERT INTO grid_alternatives(original_grid_name, proj_grid_name, proj_grid_format, proj_method, inverse_direction, package_name, url, direct_download, open_license, directory)
- VALUES ('geoid06_ak.bin', 'geoid06_ak.gtx', 'GTX', 'vgridshift', 1, 'proj-datumgrid-north-america', NULL, NULL, NULL, NULL);
+ VALUES ('geoid06_ak.bin', 'geoid06_ak.gtx', 'GTX', 'geoid_like', 0, 'proj-datumgrid-north-america', NULL, NULL, NULL, NULL);
----------------------------
-- US GEOID09 height models
----------------------------
INSERT INTO grid_alternatives(original_grid_name, proj_grid_name, proj_grid_format, proj_method, inverse_direction, package_name, url, direct_download, open_license, directory)
- VALUES ('geoid09_ak.bin', 'geoid09_ak.gtx', 'GTX', 'vgridshift', 1, 'proj-datumgrid-north-america', NULL, NULL, NULL, NULL);
+ VALUES ('geoid09_ak.bin', 'geoid09_ak.gtx', 'GTX', 'geoid_like', 0, 'proj-datumgrid-north-america', NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name, proj_grid_name, proj_grid_format, proj_method, inverse_direction, package_name, url, direct_download, open_license, directory)
- VALUES ('geoid09_conus.bin', 'geoid09_conus.gtx', 'GTX', 'vgridshift', 1, 'proj-datumgrid-north-america', NULL, NULL, NULL, NULL);
+ VALUES ('geoid09_conus.bin', 'geoid09_conus.gtx', 'GTX', 'geoid_like', 0, 'proj-datumgrid-north-america', NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name, proj_grid_name, proj_grid_format, proj_method, inverse_direction, package_name, url, direct_download, open_license, directory)
- VALUES ('g2009g01.bin', 'g2009g01.gtx', 'GTX', 'vgridshift', 1, 'proj-datumgrid-north-america', NULL, NULL, NULL, NULL);
+ VALUES ('g2009g01.bin', 'g2009g01.gtx', 'GTX', 'geoid_like', 0, 'proj-datumgrid-north-america', NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name, proj_grid_name, proj_grid_format, proj_method, inverse_direction, package_name, url, direct_download, open_license, directory)
- VALUES ('g2009s01.bin', 'g2009s01.gtx', 'GTX', 'vgridshift', 1, 'proj-datumgrid-north-america', NULL, NULL, NULL, NULL);
+ VALUES ('g2009s01.bin', 'g2009s01.gtx', 'GTX', 'geoid_like', 0, 'proj-datumgrid-north-america', NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name, proj_grid_name, proj_grid_format, proj_method, inverse_direction, package_name, url, direct_download, open_license, directory)
- VALUES ('g2009p01.bin', 'g2009p01.gtx', 'GTX', 'vgridshift', 1, 'proj-datumgrid-north-america', NULL, NULL, NULL, NULL);
+ VALUES ('g2009p01.bin', 'g2009p01.gtx', 'GTX', 'geoid_like', 0, 'proj-datumgrid-north-america', NULL, NULL, NULL, NULL);
-- Not mapped:
-- g2009h01.gtx : Hawaii
@@ -524,8 +524,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('g2012bu0.bin',
'g2012bu0.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-north-america',
NULL, NULL, NULL, NULL);
@@ -540,8 +540,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('g2012ba0.bin',
'g2012ba0.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-north-america',
NULL, NULL, NULL, NULL);
@@ -556,8 +556,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('g2012bp0.bin',
'g2012bp0.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-north-america',
NULL, NULL, NULL, NULL);
@@ -572,8 +572,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('g2012bg0.bin',
'g2012bg0.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-north-america',
NULL, NULL, NULL, NULL);
@@ -588,8 +588,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('g2012bs0.bin',
'g2012bs0.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-north-america',
NULL, NULL, NULL, NULL);
@@ -598,10 +598,10 @@ INSERT INTO grid_alternatives(original_grid_name,
----------------------------
INSERT INTO grid_alternatives(original_grid_name, proj_grid_name, proj_grid_format, proj_method, inverse_direction, package_name, url, direct_download, open_license, directory)
- VALUES ('g2018u0.bin', 'g2018u0.gtx', 'GTX', 'vgridshift', 1, 'proj-datumgrid-north-america', NULL, NULL, NULL, NULL);
+ VALUES ('g2018u0.bin', 'g2018u0.gtx', 'GTX', 'geoid_like', 0, 'proj-datumgrid-north-america', NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name, proj_grid_name, proj_grid_format, proj_method, inverse_direction, package_name, url, direct_download, open_license, directory)
- VALUES ('g2018p0.bin', 'g2018p0.gtx', 'GTX', 'vgridshift', 1, 'proj-datumgrid-north-america', NULL, NULL, NULL, NULL);
+ VALUES ('g2018p0.bin', 'g2018p0.gtx', 'GTX', 'geoid_like', 0, 'proj-datumgrid-north-america', NULL, NULL, NULL, NULL);
----------------------------
-- French vertical grids
@@ -617,8 +617,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('RAF09.mnt',
'RAF09.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -632,8 +632,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('RAF18.tac',
'RAF18.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -647,8 +647,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('RAC09.mnt',
'RAC09.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -662,8 +662,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('ggm00.txt',
'ggm00v2.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -677,8 +677,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('ggg00.txt',
'ggg00v2.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -692,8 +692,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('ggg00_mg.txt',
'ggg00_mgv2.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -707,8 +707,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('ggg00_sm.txt',
'ggg00_smv2.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -722,8 +722,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('ggg00_ls.txt',
'ggg00_lsv2.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -737,8 +737,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('ggg00_ld.txt',
'RALDW842016.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -752,8 +752,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('RALDW842016.mnt',
'RALDW842016.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -767,8 +767,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('ggg00_sb.txt',
'ggg00_sbv2.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -782,8 +782,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('gg10_mart.txt',
'RAMART2016.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -797,8 +797,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('RAMART2016.mnt',
'RAMART2016.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -812,8 +812,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('gg10_gtbt.txt',
'RAGTBT2016.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -827,8 +827,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('RAGTBT2016.mnt',
'RAGTBT2016.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -842,8 +842,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('gg10_mg.txt',
'RAMG2016.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -857,8 +857,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('RAMG2016.mnt',
'RAMG2016.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -872,8 +872,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('gg10_sm.txt',
'gg10_smv2.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -887,8 +887,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('gg10_smv2.mnt',
'gg10_smv2.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -902,8 +902,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('gg10_ls.txt',
'RALS2016.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -917,8 +917,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('RALS2016.mnt',
'RALS2016.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -932,8 +932,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('gg10_ld.txt',
'RALD2016.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -947,8 +947,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('RALD2016.mnt',
'RALD2016.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -962,8 +962,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('gg10_sb.txt',
'gg10_sbv2.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -977,8 +977,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('gg10_sbv2.mnt',
'gg10_sbv2.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -992,8 +992,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('ggguy00.txt',
'ggguy15.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -1007,8 +1007,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('ggr99.txt',
'RAR07_bl.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -1022,8 +1022,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('GGSPM06v1.mnt',
'ggspm06v1.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -1037,8 +1037,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('RASPM2018.mnt',
'RASPM2018.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -1146,8 +1146,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('AUSGeoid09_GDA94_V1.01_DOV_windows.gsb', -- source file contains undulation in first band, and deflection in 2nd and 3d band
'AUSGeoid09_V1.01.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-oceania',
NULL, NULL, NULL, NULL);
@@ -1161,8 +1161,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('AUSGeoid2020_windows_binary.gsb', -- source file contains undulation in first band, and deflection in 2nd and 3d band
'AUSGeoid2020_20180201.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-oceania',
NULL, NULL, NULL, NULL);
@@ -1176,8 +1176,8 @@ INSERT INTO grid_alternatives(original_grid_name,
SELECT grid_name,
'AUSGeoid98.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-oceania',
NULL, NULL, NULL, NULL FROM grid_transformation WHERE
grid_name LIKE '%DAT.htm' AND name LIKE 'GDA94 to AHD height%';
@@ -1194,7 +1194,7 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('naptrans2008.gtx',
'naptrans2008.gtx',
'GTX',
- 'vgridshift',
+ 'geoid_like',
0,
NULL, -- package name
'https://salsa.debian.org/debian-gis-team/proj-rdnap/raw/upstream/2008/naptrans2008.gtx',
@@ -1692,8 +1692,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('HT2_0.byn',
'HT2_2010v70.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-north-america',
NULL, NULL, NULL, NULL);
@@ -1707,8 +1707,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('CGG2013i08a.byn',
'CGG2013ai08.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-north-america',
NULL, NULL, NULL, NULL);
@@ -1722,8 +1722,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('CGG2013n83a.byn',
'CGG2013an83.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-north-america',
NULL, NULL, NULL, NULL);
@@ -1737,8 +1737,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('CGG2013i83.byn',
'CGG2013i08.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-north-america',
NULL, NULL, NULL, NULL);
@@ -1752,8 +1752,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('CGG2013n83.byn',
'CGG2013n83.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-north-america',
NULL, NULL, NULL, NULL);
@@ -1799,7 +1799,7 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('Icegeoid_ISN2004.gtx',
'Icegeoid_ISN2004.gtx',
'GTX',
- 'vgridshift',
+ 'geoid_like',
0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -1814,7 +1814,7 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('Icegeoid_ISN93.gtx',
'Icegeoid_ISN93.gtx',
'GTX',
- 'vgridshift',
+ 'geoid_like',
0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -1829,7 +1829,7 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('Icegeoid_ISN2016.gtx',
'Icegeoid_ISN2016.gtx',
'GTX',
- 'vgridshift',
+ 'geoid_like',
0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
@@ -2060,8 +2060,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('New_Zealand_Quasigeoid_2016.csv',
'nzgeoid2016.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-oceania',
NULL, NULL, NULL, NULL);
@@ -2075,8 +2075,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('nzgeoid2016.gtx',
'nzgeoid2016.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-oceania',
NULL, NULL, NULL, NULL);
@@ -2091,8 +2091,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('nzgeoid09.sid',
'nzgeoid2009.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-oceania',
NULL, NULL, NULL, NULL);
@@ -2106,7 +2106,7 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('nzgeoid2009.gtx',
'nzgeoid2009.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-oceania',
NULL, NULL, NULL, NULL);
diff --git a/data/sql/ignf.sql b/data/sql/ignf.sql
index 05664787..c0ffbf50 100644
--- a/data/sql/ignf.sql
+++ b/data/sql/ignf.sql
@@ -1,4 +1,4 @@
---- This file has been generated by scripts/build_db_create_ignf_from_xml.py from the https://geodesie.ign.fr/contenu/fichiers/IGNF.v3.1.0.xml definition file. DO NOT EDIT !
+--- This file has been generated by scripts/build_db_create_ignf_from_xml.py from the http://librairies.ign.fr/geoportail/resources/IGNF.xml definition file. DO NOT EDIT !
INSERT INTO "metadata" VALUES('IGNF.SOURCE', 'https://geodesie.ign.fr/contenu/fichiers/IGNF.v3.1.0.xml');
INSERT INTO "metadata" VALUES('IGNF.VERSION', '3.1.0');
@@ -2696,8 +2696,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/ggpf02-Huahine.mnt', -- as referenced by the IGNF registry
'ggpf02-Huahine.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name,
@@ -2710,8 +2710,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/ggg00v2.mnt', -- as referenced by the IGNF registry
'ggg00v2.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name,
@@ -2724,8 +2724,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/ggpf10-Tahiti.mnt', -- as referenced by the IGNF registry
'ggpf10-Tahiti.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name,
@@ -2738,8 +2738,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/ggpf02-Raiatea.mnt', -- as referenced by the IGNF registry
'ggpf02-Raiatea.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name,
@@ -2752,8 +2752,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/ggg00_sbv2.mnt', -- as referenced by the IGNF registry
'ggg00_sbv2.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name,
@@ -2766,8 +2766,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/gg10_smv2.mnt', -- as referenced by the IGNF registry
'gg10_smv2.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name,
@@ -2780,8 +2780,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/RAMG2016.mnt', -- as referenced by the IGNF registry
'RAMG2016.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name,
@@ -2794,8 +2794,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/ggker08v2.mnt', -- as referenced by the IGNF registry
'ggker08v2.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name,
@@ -2808,8 +2808,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/ggspm06v1.mnt', -- as referenced by the IGNF registry
'ggspm06v1.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name,
@@ -2822,8 +2822,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/gg10_sbv2.mnt', -- as referenced by the IGNF registry
'gg10_sbv2.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name,
@@ -2836,8 +2836,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/ggguy15.mnt', -- as referenced by the IGNF registry
'ggguy15.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name,
@@ -2850,8 +2850,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/metropole/RAF09.mnt', -- as referenced by the IGNF registry
'RAF09.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name,
@@ -2864,8 +2864,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/ggpf08-Fakarava.mnt', -- as referenced by the IGNF registry
'ggpf08-Fakarava.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name,
@@ -2878,8 +2878,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/ggm00v2.mnt', -- as referenced by the IGNF registry
'ggm00v2.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name,
@@ -2892,8 +2892,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/ggpf10-Moorea.mnt', -- as referenced by the IGNF registry
'ggpf10-Moorea.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name,
@@ -2906,8 +2906,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/ggpf02-Maupiti.mnt', -- as referenced by the IGNF registry
'ggpf02-Maupiti.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name,
@@ -2920,8 +2920,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/ggg00_lsv2.mnt', -- as referenced by the IGNF registry
'ggg00_lsv2.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name,
@@ -2934,8 +2934,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/ggm04v1.mnt', -- as referenced by the IGNF registry
'ggm04v1.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name,
@@ -2948,8 +2948,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/ggg00_smv2.mnt', -- as referenced by the IGNF registry
'ggg00_smv2.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name,
@@ -2962,8 +2962,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/RALD2016.mnt', -- as referenced by the IGNF registry
'RALD2016.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name,
@@ -2976,8 +2976,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/RAR07_bl.gra', -- as referenced by the IGNF registry
'RAR07_bl.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name,
@@ -2990,8 +2990,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/RALS2016.mnt', -- as referenced by the IGNF registry
'RALS2016.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name,
@@ -3004,8 +3004,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/RALDW842016.mnt', -- as referenced by the IGNF registry
'RALDW842016.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name,
@@ -3018,8 +3018,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/ggpf02-Tahaa.mnt', -- as referenced by the IGNF registry
'ggpf02-Tahaa.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name,
@@ -3032,8 +3032,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/RAGTBT2016.mnt', -- as referenced by the IGNF registry
'RAGTBT2016.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name,
@@ -3046,8 +3046,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/metropole/RAC09.mnt', -- as referenced by the IGNF registry
'RAC09.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name,
@@ -3060,8 +3060,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/RAMART2016.mnt', -- as referenced by the IGNF registry
'RAMART2016.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name,
@@ -3074,8 +3074,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('https://geodesie.ign.fr/contenu/fichiers/documentation/grilles/metropole/RAF18.mnt', -- as referenced by the IGNF registry
'RAF18.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
INSERT INTO grid_alternatives(original_grid_name,
@@ -3088,8 +3088,8 @@ INSERT INTO grid_alternatives(original_grid_name,
VALUES ('http://geodesie.ign.fr/contenu/fichiers/documentation/grilles/outremer/ggpf02-Bora.mnt', -- as referenced by the IGNF registry
'ggpf02-Bora.gtx',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);
diff --git a/data/sql/proj_db_table_defs.sql b/data/sql/proj_db_table_defs.sql
index 14e0c789..59cef3bc 100644
--- a/data/sql/proj_db_table_defs.sql
+++ b/data/sql/proj_db_table_defs.sql
@@ -1092,7 +1092,7 @@ CREATE TABLE grid_alternatives(
original_grid_name TEXT NOT NULL PRIMARY KEY, -- original grid name (e.g. Und_min2.5x2.5_egm2008_isw=82_WGS84_TideFree.gz). For LOS/LAS format, the .las files
proj_grid_name TEXT NOT NULL, -- PROJ grid name (e.g egm08_25.gtx)
proj_grid_format TEXT NOT NULL, -- one of 'CTable2', 'NTv1', 'NTv2', 'GTX'
- proj_method TEXT NOT NULL, -- hgridshift or vgridshift
+ proj_method TEXT NOT NULL, -- hgridshift, vgridshift or geoid_like
inverse_direction BOOLEAN NOT NULL CHECK (inverse_direction IN (0, 1)), -- whether the PROJ grid direction is reversed w.r.t to the authority one (TRUE in that case)
package_name TEXT, -- package name that contains the file
url TEXT, -- optional URL where to download the PROJ grid
@@ -1102,9 +1102,10 @@ CREATE TABLE grid_alternatives(
CONSTRAINT fk_grid_alternatives_grid_packages FOREIGN KEY (package_name) REFERENCES grid_packages(package_name),
CONSTRAINT check_grid_alternatives_grid_fromat CHECK (proj_grid_format IN ('CTable2', 'NTv1', 'NTv2', 'GTX')),
- CONSTRAINT check_grid_alternatives_proj_method CHECK (proj_method IN ('hgridshift', 'vgridshift')),
+ CONSTRAINT check_grid_alternatives_proj_method CHECK (proj_method IN ('hgridshift', 'vgridshift', 'geoid_like')),
CONSTRAINT check_grid_alternatives_not_hgridshift CHECK (NOT(proj_method != 'hgridshift' AND proj_grid_format IN ('CTable2', 'NTv1', 'NTv2'))),
- CONSTRAINT check_grid_alternatives_not_vgridshift CHECK (NOT(proj_method != 'vgridshift' AND proj_grid_format IN ('GTX'))),
+ CONSTRAINT check_grid_alternatives_not_vgridshift CHECK (NOT(proj_method = 'hgridshift' AND proj_grid_format IN ('GTX'))),
+ CONSTRAINT check_grid_alternatives_inverse_direction CHECK (NOT(proj_method = 'geoid_like' AND inverse_direction = 1)),
CONSTRAINT check_grid_alternatives_package_name_url CHECK (NOT(package_name IS NOT NULL AND url IS NOT NULL)),
CONSTRAINT check_grid_alternatives_direct_download_url CHECK (NOT(direct_download IS NULL AND url IS NOT NULL)),
CONSTRAINT check_grid_alternatives_open_license_url CHECK (NOT(open_license IS NULL AND url IS NOT NULL))
diff --git a/scripts/build_db_create_ignf_from_xml.py b/scripts/build_db_create_ignf_from_xml.py
index 7d679d39..f39f8d81 100755
--- a/scripts/build_db_create_ignf_from_xml.py
+++ b/scripts/build_db_create_ignf_from_xml.py
@@ -1096,8 +1096,8 @@ for grid in setVerticalGrids:
VALUES ('%s', -- as referenced by the IGNF registry
'%s',
'GTX',
- 'vgridshift',
- 1,
+ 'geoid_like',
+ 0,
'proj-datumgrid-europe',
NULL, NULL, NULL, NULL);""" % (original_grid_name, proj_grid_name))
diff --git a/src/iso19111/coordinateoperation.cpp b/src/iso19111/coordinateoperation.cpp
index 6b89b5f3..a8c7c902 100644
--- a/src/iso19111/coordinateoperation.cpp
+++ b/src/iso19111/coordinateoperation.cpp
@@ -8495,6 +8495,7 @@ isGeographic3DToGravityRelatedHeight(const OperationMethodNNPtr &method,
"1060", // Geographic3D to GravityRelatedHeight (CGG2013)
"1072", // Geographic3D to GravityRelatedHeight (OSGM15-Ire)
"1073", // Geographic3D to GravityRelatedHeight (IGN2009)
+ "1081", // Geographic3D to GravityRelatedHeight (BEV AT)
"9661", // Geographic3D to GravityRelatedHeight (EGM)
"9662", // Geographic3D to GravityRelatedHeight (Ausgeoid98)
"9663", // Geographic3D to GravityRelatedHeight (OSGM-GB)
@@ -8717,21 +8718,32 @@ TransformationNNPtr Transformation::substitutePROJAlternativeGridNames(
if (databaseContext->lookForGridAlternative(
filename, projFilename, projGridFormat, inverseDirection)) {
- if (filename == projFilename && !inverseDirection) {
+ if (inverseDirection) {
+ throw util::UnsupportedOperationException(
+ "Inverse direction for "
+ "Geographic3DToGravityRelatedHeight not supported");
+ }
+
+ if (filename == projFilename) {
return self;
}
auto parameters = std::vector<OperationParameterNNPtr>{
createOpParamNameEPSGCode(
EPSG_CODE_PARAMETER_GEOID_CORRECTION_FILENAME)};
+#ifdef disabled_for_now
if (inverseDirection) {
- return createGravityRelatedHeightToGeographic3D(
- createPropertiesForInverse(
- self.as_nullable().get(), true, false),
- targetCRS(), sourceCRS(), interpolationCRS(),
- projFilename, coordinateOperationAccuracies())
+ return create(createPropertiesForInverse(
+ self.as_nullable().get(), true, false),
+ targetCRS(), sourceCRS(), nullptr,
+ createSimilarPropertiesMethod(method()),
+ parameters, {ParameterValue::createFilename(
+ projFilename)},
+ coordinateOperationAccuracies())
->inverseAsTransformation();
- } else {
+ } else
+#endif
+ {
return create(
createSimilarPropertiesTransformation(self),
sourceCRS(), targetCRS(), nullptr,
@@ -9383,16 +9395,8 @@ void Transformation::_exportToPROJString(
fileParameter->type() == ParameterValue::Type::FILENAME) {
auto filename = fileParameter->valueFile();
bool doInversion = isMethodInverseOf;
- if ((method()->nameStr() ==
- "Geographic3D to GravityRelatedHeight (US .gtx)" ||
- method()->nameStr() ==
- "Geographic3D to GravityRelatedHeight (gtx)") &&
- ends_with(filename, ".gtx")) {
- // gtx files must be applied in
- // reverse order for "Geographic3D to GravityRelatedHeight"
- // method
- doInversion = !doInversion;
- }
+ // The EPSG Geog3DToHeight is the reverse convention of PROJ !
+ doInversion = !doInversion;
if (doInversion) {
formatter->startInversion();
}
diff --git a/test/cli/testprojinfo_out.dist b/test/cli/testprojinfo_out.dist
index 03ce9046..e7a92915 100644
--- a/test/cli/testprojinfo_out.dist
+++ b/test/cli/testprojinfo_out.dist
@@ -978,7 +978,7 @@ Operation No. 2:
INVERSE(EPSG):10000, Inverse of RGF93 to NGF IGN69 height (1), 0.5 m, France - mainland onshore
PROJ string:
-+proj=pipeline +step +inv +proj=vgridshift +grids=ggf97a.txt +multiplier=1
++proj=vgridshift +grids=ggf97a.txt +multiplier=1
Testing EPSG:32631 --3d
PROJ.4 string: