aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/sql/alias_name.sql43
-rw-r--r--data/sql/compound_crs.sql10
-rw-r--r--data/sql/concatenated_operation.sql4
-rw-r--r--data/sql/extent.sql2
-rw-r--r--data/sql/geodetic_crs.sql30
-rw-r--r--data/sql/geodetic_datum.sql6
-rw-r--r--data/sql/grid_alternatives.sql7
-rw-r--r--data/sql/grid_transformation.sql148
-rw-r--r--data/sql/helmert_transformation.sql56
-rw-r--r--data/sql/metadata.sql4
-rw-r--r--data/sql/projected_crs.sql60
-rw-r--r--data/sql/scope.sql4
-rw-r--r--data/sql/supersession.sql4
-rw-r--r--include/proj/io.hpp4
-rw-r--r--src/iso19111/datum.cpp33
-rw-r--r--src/iso19111/factory.cpp23
-rw-r--r--src/iso19111/operation/coordinateoperationfactory.cpp8
-rwxr-xr-xtest/cli/testprojinfo4
-rw-r--r--test/cli/testprojinfo_out.dist8
-rwxr-xr-xtest/cli/testvarious11
-rw-r--r--test/cli/tv_out.dist7
-rw-r--r--test/unit/test_c_api.cpp13
-rw-r--r--test/unit/test_crs.cpp16
-rw-r--r--test/unit/test_factory.cpp2
-rw-r--r--test/unit/test_io.cpp2
-rw-r--r--test/unit/test_operationfactory.cpp48
26 files changed, 363 insertions, 194 deletions
diff --git a/data/sql/alias_name.sql b/data/sql/alias_name.sql
index cf636a52..3d23d1a5 100644
--- a/data/sql/alias_name.sql
+++ b/data/sql/alias_name.sql
@@ -51,7 +51,7 @@ INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6156','S-JTSK','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6159','ELD79','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6163','YNGN96','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6170','SIRGAS 1995','EPSG');
-INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6171','RGF93','EPSG');
+INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6171','RGF93 v1','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6172','POSGAR','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6202','AGD66','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6203','AGD84','EPSG');
@@ -633,6 +633,11 @@ INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6809','BD50 (Brussels)'
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1310','ECML14_NB-IRF','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6151','Swiss Terrestrial Reference Frame 1995 (CHTRF95)','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1311','EWR2-IRF','EPSG');
+INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6171','Reseau Geodesique Francais 1993','EPSG');
+INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1312','RGF93 v2','EPSG');
+INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1312','Réseau Géodésique Français 1993','EPSG');
+INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1313','RGF93 v2b','EPSG');
+INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1313','Réseau Géodésique Français 1993','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1193','NAD83(CSRS) 1997','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1194','NAD83(CSRS) 1997','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1195','NAD83(CSRS) 2002','EPSG');
@@ -4298,8 +4303,8 @@ INSERT INTO "alias_name" VALUES('projected_crs','EPSG','20137','Blue Nile 1958
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','20138','Blue Nile 1958 / UTM zone 38N','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6307','NAD83(CORS96) / PR and VI','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6312','CGRS93 / Local Transverse Mercator (LTM)','EPSG');
-INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4171','RGF93 (lat-lon)','EPSG');
-INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4965','RGF93 (lat-lon)','EPSG');
+INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4171','RGF93 v1 (lat-lon)','EPSG');
+INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4965','RGF93 v1 (lat-lon)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7057','NAD83(2011) / IaRCS zone 1 Spencer','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7058','NAD83(2011) / IaRCS zone 2 Mason City','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7059','NAD83(2011) / IaRCS zone 3 Elkader','EPSG');
@@ -7361,6 +7366,30 @@ INSERT INTO "alias_name" VALUES('compound_crs','EPSG','9767','ETRS89 / EWR2 Snak
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4932','CHTRF95','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4933','CHTRF95','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4151','CHTRF95','EPSG');
+INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4964','RGF93','EPSG');
+INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4965','RGF93','EPSG');
+INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4171','RGF93','EPSG');
+INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','7042','RGF93 (lon-lat)','EPSG');
+INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','7084','RGF93 (lon-lat)','EPSG');
+INSERT INTO "alias_name" VALUES('compound_crs','EPSG','9538','RGF93 + NGF-IGN69 height','EPSG');
+INSERT INTO "alias_name" VALUES('compound_crs','EPSG','9539','RGF93 + NGF-IGN78 height','EPSG');
+INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2154','RGF93 / Lambert-93','EPSG');
+INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3942','RGF93 / CC42','EPSG');
+INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3943','RGF93 / CC43','EPSG');
+INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3944','RGF93 / CC44','EPSG');
+INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3945','RGF93 / CC45','EPSG');
+INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3946','RGF93 / CC46','EPSG');
+INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3947','RGF93 / CC47','EPSG');
+INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3948','RGF93 / CC48','EPSG');
+INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3949','RGF93 / CC49','EPSG');
+INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3950','RGF93 / CC50','EPSG');
+INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5698','RGF93 / Lambert-93 + NGF-IGN69 height','EPSG');
+INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5699','RGF93 / Lambert-93 + NGF-IGN78 height','EPSG');
+INSERT INTO "alias_name" VALUES('projected_crs','EPSG','9793','(FR_RGF93 / LAMB93 - see alias remarks)','EPSG');
+INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','9776','RGF93 v2 (lat-lon)','EPSG');
+INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','9777','RGF93 v2 (lat-lon)','EPSG');
+INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','9781','RGF93 v2b (lat-lon)','EPSG');
+INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','9782','RGF93 v2b (lat-lon)','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','8233','NAD83(CSRS) 1997','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','8235','NAD83(CSRS) 1997','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','8237','NAD83(CSRS) 1997','EPSG');
@@ -7379,3 +7408,11 @@ INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','8252','NAD83(CSRS) 2010',
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','8253','NAD83(CSRS) 2010','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','8254','NAD83(CSRS) 2010','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','8255','NAD83(CSRS) 2010','EPSG');
+INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','9331','777','EPSG');
+INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','9331','KSA-GRF17 - XYZ','EPSG');
+INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','9332','778','EPSG');
+INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','9332','KSA-GRF17 - LatLonEHt','EPSG');
+INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','9333','779','EPSG');
+INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','9333','KSA-GRF17 - LatLon','EPSG');
+INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','9335','780','EPSG');
+INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','9335','KSA-VRF14 - OHt','EPSG');
diff --git a/data/sql/compound_crs.sql b/data/sql/compound_crs.sql
index 38d34e66..09b18820 100644
--- a/data/sql/compound_crs.sql
+++ b/data/sql/compound_crs.sql
@@ -32,9 +32,9 @@ INSERT INTO "compound_crs" VALUES('EPSG','5598','FEH2010 / Fehmarnbelt TM + FCSV
INSERT INTO "usage" VALUES('EPSG','4068','compound_crs','EPSG','5598','EPSG','3890','EPSG','1139');
INSERT INTO "compound_crs" VALUES('EPSG','5628','SWEREF99 + RH2000 height',NULL,'EPSG','4619','EPSG','5613',0);
INSERT INTO "usage" VALUES('EPSG','4095','compound_crs','EPSG','5628','EPSG','3313','EPSG','1142');
-INSERT INTO "compound_crs" VALUES('EPSG','5698','RGF93 / Lambert-93 + NGF-IGN69 height',NULL,'EPSG','2154','EPSG','5720',0);
+INSERT INTO "compound_crs" VALUES('EPSG','5698','RGF93 v1 / Lambert-93 + NGF-IGN69 height',NULL,'EPSG','2154','EPSG','5720',0);
INSERT INTO "usage" VALUES('EPSG','4141','compound_crs','EPSG','5698','EPSG','1326','EPSG','1142');
-INSERT INTO "compound_crs" VALUES('EPSG','5699','RGF93 / Lambert-93 + NGF-IGN78 height',NULL,'EPSG','2154','EPSG','5721',0);
+INSERT INTO "compound_crs" VALUES('EPSG','5699','RGF93 v1 / Lambert-93 + NGF-IGN78 height',NULL,'EPSG','2154','EPSG','5721',0);
INSERT INTO "usage" VALUES('EPSG','4142','compound_crs','EPSG','5699','EPSG','1327','EPSG','1142');
INSERT INTO "compound_crs" VALUES('EPSG','5707','NTF (Paris) / Lambert zone I + NGF-IGN69 height',NULL,'EPSG','27571','EPSG','5720',0);
INSERT INTO "usage" VALUES('EPSG','4150','compound_crs','EPSG','5707','EPSG','1731','EPSG','1142');
@@ -676,9 +676,9 @@ INSERT INTO "compound_crs" VALUES('EPSG','9536','RGAF09 + IGN 2008 LD height',NU
INSERT INTO "usage" VALUES('EPSG','14484','compound_crs','EPSG','9536','EPSG','2893','EPSG','1026');
INSERT INTO "compound_crs" VALUES('EPSG','9537','RGAF09 + Martinique 1987 height',NULL,'EPSG','5489','EPSG','5756',0);
INSERT INTO "usage" VALUES('EPSG','14486','compound_crs','EPSG','9537','EPSG','3276','EPSG','1026');
-INSERT INTO "compound_crs" VALUES('EPSG','9538','RGF93 + NGF-IGN69 height',NULL,'EPSG','4171','EPSG','5720',0);
+INSERT INTO "compound_crs" VALUES('EPSG','9538','RGF93 v2 + NGF-IGN69 height',NULL,'EPSG','9777','EPSG','5720',0);
INSERT INTO "usage" VALUES('EPSG','14489','compound_crs','EPSG','9538','EPSG','1326','EPSG','1026');
-INSERT INTO "compound_crs" VALUES('EPSG','9539','RGF93 + NGF-IGN78 height',NULL,'EPSG','4171','EPSG','5721',0);
+INSERT INTO "compound_crs" VALUES('EPSG','9539','RGF93 v2 + NGF-IGN78 height',NULL,'EPSG','9777','EPSG','5721',0);
INSERT INTO "usage" VALUES('EPSG','14490','compound_crs','EPSG','9539','EPSG','1327','EPSG','1026');
INSERT INTO "compound_crs" VALUES('EPSG','9540','RGNC91-93 + NGNC08 height',NULL,'EPSG','4749','EPSG','9351',0);
INSERT INTO "usage" VALUES('EPSG','14495','compound_crs','EPSG','9540','EPSG','3430','EPSG','1026');
@@ -716,3 +716,5 @@ INSERT INTO "compound_crs" VALUES('EPSG','9762','ECML14_NB Grid + ODN height',NU
INSERT INTO "usage" VALUES('EPSG','16499','compound_crs','EPSG','9762','EPSG','4621','EPSG','1141');
INSERT INTO "compound_crs" VALUES('EPSG','9767','EWR2 Grid + ODN height',NULL,'EPSG','9766','EPSG','5701',0);
INSERT INTO "usage" VALUES('EPSG','16510','compound_crs','EPSG','9767','EPSG','4622','EPSG','1141');
+INSERT INTO "compound_crs" VALUES('EPSG','9785','RGF93 v2b + NGF-IGN69 height',NULL,'EPSG','9782','EPSG','5720',0);
+INSERT INTO "usage" VALUES('EPSG','16594','compound_crs','EPSG','9785','EPSG','1326','EPSG','1026');
diff --git a/data/sql/concatenated_operation.sql b/data/sql/concatenated_operation.sql
index 3f29341e..2f1e5f7b 100644
--- a/data/sql/concatenated_operation.sql
+++ b/data/sql/concatenated_operation.sql
@@ -26,7 +26,7 @@ INSERT INTO "concatenated_operation" VALUES('EPSG','6739','NAD27 to NAD83(HARN)
INSERT INTO "usage" VALUES('EPSG','9755','concatenated_operation','EPSG','6739','EPSG','1410','EPSG','1032');
INSERT INTO "concatenated_operation" VALUES('EPSG','6874','Tananarive (Paris) to WGS 84 (2)','Used by OMV.','EPSG','4810','EPSG','4326',3.0,'OGP-Mdg',0);
INSERT INTO "usage" VALUES('EPSG','9803','concatenated_operation','EPSG','6874','EPSG','3273','EPSG','1043');
-INSERT INTO "concatenated_operation" VALUES('EPSG','7811','NTF (Paris) to RGF93 (2)','Second step is an emulation (using the NTv2 method) of the geocentric Interpolation method described in tfm code 9337. Note that the grid file parameters are of opposite sign.','EPSG','4807','EPSG','4171',1.0,'IOGP-Fra NTv2',0);
+INSERT INTO "concatenated_operation" VALUES('EPSG','7811','NTF (Paris) to RGF93 v1 (2)','Second step is an emulation (using the NTv2 method) of the geocentric interpolation method described in CT code 9337. Note that the grid file parameters are of opposite sign.','EPSG','4807','EPSG','4171',1.0,'IOGP-Fra NTv2',0);
INSERT INTO "usage" VALUES('EPSG','10276','concatenated_operation','EPSG','7811','EPSG','3694','EPSG','1041');
INSERT INTO "concatenated_operation" VALUES('EPSG','7965','Poolbeg height (ft(Br36)) to Malin Head height (1)','','EPSG','5754','EPSG','5731',0.1,'1',0);
INSERT INTO "usage" VALUES('EPSG','10349','concatenated_operation','EPSG','7965','EPSG','1305','EPSG','1059');
@@ -423,7 +423,7 @@ INSERT INTO "concatenated_operation" VALUES('EPSG','9103','NAD27 to ITRF2014 (1)
INSERT INTO "usage" VALUES('EPSG','10917','concatenated_operation','EPSG','9103','EPSG','3357','EPSG','1136');
INSERT INTO "concatenated_operation" VALUES('EPSG','9336','NAD27 to NAD83(CSRS)v4 (3)','Can be taken as an approximate transformation NAD27 to WGS 84 - see code 8585.','EPSG','4267','EPSG','8246',2.5,'EPSG-Can AB',0);
INSERT INTO "usage" VALUES('EPSG','14011','concatenated_operation','EPSG','9336','EPSG','2376','EPSG','1151');
-INSERT INTO "concatenated_operation" VALUES('EPSG','9337','NTF (Paris) to RGF93 (1)','See transformation code 7811 for an alternative which uses the NTv2 method as an emulation of the geocentric interpolation in the second step.','EPSG','4807','EPSG','4171',1.0,'IOGP-Fra',0);
+INSERT INTO "concatenated_operation" VALUES('EPSG','9337','NTF (Paris) to RGF93 v1 (1)','See transformation code 7811 for an alternative which uses the NTv2 method as an emulation of the geocentric interpolation in the second step.','EPSG','4807','EPSG','4171',1.0,'IOGP-Fra',0);
INSERT INTO "usage" VALUES('EPSG','14012','concatenated_operation','EPSG','9337','EPSG','3694','EPSG','1041');
INSERT INTO "concatenated_operation" VALUES('EPSG','9499','ETRS89 to GHA height (2)','This concatenated operation gives the same result as the HoehenGrid-plus offset from ETRS89 to GHA height. HoehenGrid-plus is implemented in BEV-Transformator using MGI (CRS 4312) as the interpolation CRS for the grid','EPSG','4937','EPSG','5778',0.07,'BEV-Aut',0);
INSERT INTO "usage" VALUES('EPSG','14958','concatenated_operation','EPSG','9499','EPSG','1037','EPSG','1133');
diff --git a/data/sql/extent.sql b/data/sql/extent.sql
index 792ce786..1046af4f 100644
--- a/data/sql/extent.sql
+++ b/data/sql/extent.sql
@@ -174,7 +174,7 @@ INSERT INTO "extent" VALUES('EPSG','1194','Puerto Rico','Puerto Rico - onshore a
INSERT INTO "extent" VALUES('EPSG','1195','Qatar','Qatar - onshore and offshore.',24.55,27.05,50.55,53.04,0);
INSERT INTO "extent" VALUES('EPSG','1196','Reunion','Reunion - onshore and offshore - Reunion island, Ile Europa, Bassas da India, Juan de Nova, Iles Glorieuses, and Ile Tromelin.',-25.92,-10.6,37.58,58.27,1);
INSERT INTO "extent" VALUES('EPSG','1197','Romania','Romania - onshore and offshore.',43.44,48.27,20.26,31.41,0);
-INSERT INTO "extent" VALUES('EPSG','1198','Russia','Russian Federation - onshore and offshore.',39.87,85.2,18.92,-168.97,0);
+INSERT INTO "extent" VALUES('EPSG','1198','Russia','Russian Federation - onshore and offshore.',39.87,85.19,18.92,-168.97,0);
INSERT INTO "extent" VALUES('EPSG','1199','Rwanda','Rwanda.',-2.83,-1.05,28.85,30.9,0);
INSERT INTO "extent" VALUES('EPSG','1200','St Kitts and Nevis','St Kitts and Nevis - onshore and offshore.',16.34,17.67,-63.63,-62.2,0);
INSERT INTO "extent" VALUES('EPSG','1201','St Lucia','St Lucia - onshore and offshore.',13.23,14.28,-62.5,-59.99,0);
diff --git a/data/sql/geodetic_crs.sql b/data/sql/geodetic_crs.sql
index ecb99c41..019c18c8 100644
--- a/data/sql/geodetic_crs.sql
+++ b/data/sql/geodetic_crs.sql
@@ -230,7 +230,7 @@ INSERT INTO "geodetic_crs" VALUES('EPSG','4169','American Samoa 1962',NULL,'geog
INSERT INTO "usage" VALUES('EPSG','3054','geodetic_crs','EPSG','4169','EPSG','3109','EPSG','1027');
INSERT INTO "geodetic_crs" VALUES('EPSG','4170','SIRGAS 1995',NULL,'geographic 2D','EPSG','6422','EPSG','6170',NULL,0);
INSERT INTO "usage" VALUES('EPSG','3055','geodetic_crs','EPSG','4170','EPSG','3448','EPSG','1183');
-INSERT INTO "geodetic_crs" VALUES('EPSG','4171','RGF93',NULL,'geographic 2D','EPSG','6422','EPSG','6171',NULL,0);
+INSERT INTO "geodetic_crs" VALUES('EPSG','4171','RGF93 v1',NULL,'geographic 2D','EPSG','6422','EPSG','6171',NULL,0);
INSERT INTO "usage" VALUES('EPSG','3056','geodetic_crs','EPSG','4171','EPSG','1096','EPSG','1183');
INSERT INTO "geodetic_crs" VALUES('EPSG','4172','POSGAR',NULL,'geographic 2D','EPSG','6402','EPSG','6172',NULL,1);
INSERT INTO "usage" VALUES('EPSG','3057','geodetic_crs','EPSG','4172','EPSG','1033','EPSG','1027');
@@ -1204,9 +1204,9 @@ INSERT INTO "geodetic_crs" VALUES('EPSG','4962','REGVEN',NULL,'geocentric','EPSG
INSERT INTO "usage" VALUES('EPSG','3762','geodetic_crs','EPSG','4962','EPSG','1251','EPSG','1027');
INSERT INTO "geodetic_crs" VALUES('EPSG','4963','REGVEN',NULL,'geographic 3D','EPSG','6423','EPSG','6189',NULL,0);
INSERT INTO "usage" VALUES('EPSG','3763','geodetic_crs','EPSG','4963','EPSG','1251','EPSG','1027');
-INSERT INTO "geodetic_crs" VALUES('EPSG','4964','RGF93',NULL,'geocentric','EPSG','6500','EPSG','6171',NULL,0);
+INSERT INTO "geodetic_crs" VALUES('EPSG','4964','RGF93 v1',NULL,'geocentric','EPSG','6500','EPSG','6171',NULL,0);
INSERT INTO "usage" VALUES('EPSG','3764','geodetic_crs','EPSG','4964','EPSG','1096','EPSG','1027');
-INSERT INTO "geodetic_crs" VALUES('EPSG','4965','RGF93',NULL,'geographic 3D','EPSG','6423','EPSG','6171',NULL,0);
+INSERT INTO "geodetic_crs" VALUES('EPSG','4965','RGF93 v1',NULL,'geographic 3D','EPSG','6423','EPSG','6171',NULL,0);
INSERT INTO "usage" VALUES('EPSG','3765','geodetic_crs','EPSG','4965','EPSG','1096','EPSG','1182');
INSERT INTO "geodetic_crs" VALUES('EPSG','4966','RGFG95',NULL,'geocentric','EPSG','6500','EPSG','6624',NULL,0);
INSERT INTO "usage" VALUES('EPSG','3766','geodetic_crs','EPSG','4966','EPSG','1097','EPSG','1027');
@@ -1518,7 +1518,7 @@ INSERT INTO "geodetic_crs" VALUES('EPSG','7040','RGFG95 (lon-lat)',NULL,'geograp
INSERT INTO "usage" VALUES('EPSG','5081','geodetic_crs','EPSG','7040','EPSG','1097','EPSG','1189');
INSERT INTO "geodetic_crs" VALUES('EPSG','7041','RGFG95 (lon-lat)',NULL,'geographic 2D','EPSG','6424','EPSG','6624',NULL,0);
INSERT INTO "usage" VALUES('EPSG','5082','geodetic_crs','EPSG','7041','EPSG','1097','EPSG','1189');
-INSERT INTO "geodetic_crs" VALUES('EPSG','7042','RGF93 (lon-lat)',NULL,'geographic 3D','EPSG','6426','EPSG','6171',NULL,0);
+INSERT INTO "geodetic_crs" VALUES('EPSG','7042','RGF93 v1 (lon-lat)',NULL,'geographic 3D','EPSG','6426','EPSG','6171',NULL,0);
INSERT INTO "usage" VALUES('EPSG','5083','geodetic_crs','EPSG','7042','EPSG','1096','EPSG','1189');
INSERT INTO "geodetic_crs" VALUES('EPSG','7071','RGTAAF07',NULL,'geocentric','EPSG','6500','EPSG','1113',NULL,0);
INSERT INTO "usage" VALUES('EPSG','5098','geodetic_crs','EPSG','7071','EPSG','4246','EPSG','1027');
@@ -1526,7 +1526,7 @@ INSERT INTO "geodetic_crs" VALUES('EPSG','7072','RGTAAF07',NULL,'geographic 3D',
INSERT INTO "usage" VALUES('EPSG','5099','geodetic_crs','EPSG','7072','EPSG','4246','EPSG','1182');
INSERT INTO "geodetic_crs" VALUES('EPSG','7073','RGTAAF07',NULL,'geographic 2D','EPSG','6422','EPSG','1113',NULL,0);
INSERT INTO "usage" VALUES('EPSG','5100','geodetic_crs','EPSG','7073','EPSG','4246','EPSG','1183');
-INSERT INTO "geodetic_crs" VALUES('EPSG','7084','RGF93 (lon-lat)',NULL,'geographic 2D','EPSG','6424','EPSG','6171',NULL,0);
+INSERT INTO "geodetic_crs" VALUES('EPSG','7084','RGF93 v1 (lon-lat)',NULL,'geographic 2D','EPSG','6424','EPSG','6171',NULL,0);
INSERT INTO "usage" VALUES('EPSG','5110','geodetic_crs','EPSG','7084','EPSG','1096','EPSG','1189');
INSERT INTO "geodetic_crs" VALUES('EPSG','7085','RGAF09 (lon-lat)',NULL,'geographic 3D','EPSG','6426','EPSG','1073',NULL,0);
INSERT INTO "usage" VALUES('EPSG','5111','geodetic_crs','EPSG','7085','EPSG','2824','EPSG','1189');
@@ -2132,3 +2132,23 @@ INSERT INTO "geodetic_crs" VALUES('EPSG','9758','ECML14_NB-IRF',NULL,'geographic
INSERT INTO "usage" VALUES('EPSG','16495','geodetic_crs','EPSG','9758','EPSG','4621','EPSG','1141');
INSERT INTO "geodetic_crs" VALUES('EPSG','9763','EWR2-IRF',NULL,'geographic 2D','EPSG','6422','EPSG','1311',NULL,0);
INSERT INTO "usage" VALUES('EPSG','16507','geodetic_crs','EPSG','9763','EPSG','4622','EPSG','1141');
+INSERT INTO "geodetic_crs" VALUES('EPSG','9775','RGF93 v2',NULL,'geocentric','EPSG','6500','EPSG','1312',NULL,0);
+INSERT INTO "usage" VALUES('EPSG','16642','geodetic_crs','EPSG','9775','EPSG','1096','EPSG','1027');
+INSERT INTO "geodetic_crs" VALUES('EPSG','9776','RGF93 v2',NULL,'geographic 3D','EPSG','6423','EPSG','1312',NULL,0);
+INSERT INTO "usage" VALUES('EPSG','16641','geodetic_crs','EPSG','9776','EPSG','1096','EPSG','1182');
+INSERT INTO "geodetic_crs" VALUES('EPSG','9777','RGF93 v2',NULL,'geographic 2D','EPSG','6422','EPSG','1312',NULL,0);
+INSERT INTO "usage" VALUES('EPSG','16643','geodetic_crs','EPSG','9777','EPSG','1096','EPSG','1183');
+INSERT INTO "geodetic_crs" VALUES('EPSG','9778','RGF93 v2 (lon-lat)',NULL,'geographic 3D','EPSG','6426','EPSG','1312',NULL,0);
+INSERT INTO "usage" VALUES('EPSG','16647','geodetic_crs','EPSG','9778','EPSG','1096','EPSG','1189');
+INSERT INTO "geodetic_crs" VALUES('EPSG','9779','RGF93 v2 (lon-lat)',NULL,'geographic 2D','EPSG','6424','EPSG','1312',NULL,0);
+INSERT INTO "usage" VALUES('EPSG','16646','geodetic_crs','EPSG','9779','EPSG','1096','EPSG','1189');
+INSERT INTO "geodetic_crs" VALUES('EPSG','9780','RGF93 v2b',NULL,'geocentric','EPSG','6500','EPSG','1313',NULL,0);
+INSERT INTO "usage" VALUES('EPSG','16649','geodetic_crs','EPSG','9780','EPSG','1096','EPSG','1027');
+INSERT INTO "geodetic_crs" VALUES('EPSG','9781','RGF93 v2b',NULL,'geographic 3D','EPSG','6423','EPSG','1313',NULL,0);
+INSERT INTO "usage" VALUES('EPSG','16650','geodetic_crs','EPSG','9781','EPSG','1096','EPSG','1182');
+INSERT INTO "geodetic_crs" VALUES('EPSG','9782','RGF93 v2b',NULL,'geographic 2D','EPSG','6422','EPSG','1313',NULL,0);
+INSERT INTO "usage" VALUES('EPSG','16651','geodetic_crs','EPSG','9782','EPSG','1096','EPSG','1183');
+INSERT INTO "geodetic_crs" VALUES('EPSG','9783','RGF93 v2b (lon-lat)',NULL,'geographic 3D','EPSG','6426','EPSG','1313',NULL,0);
+INSERT INTO "usage" VALUES('EPSG','16652','geodetic_crs','EPSG','9783','EPSG','1096','EPSG','1189');
+INSERT INTO "geodetic_crs" VALUES('EPSG','9784','RGF93 v2b (lon-lat)',NULL,'geographic 2D','EPSG','6424','EPSG','1313',NULL,0);
+INSERT INTO "usage" VALUES('EPSG','16653','geodetic_crs','EPSG','9784','EPSG','1096','EPSG','1189');
diff --git a/data/sql/geodetic_datum.sql b/data/sql/geodetic_datum.sql
index f7971981..3313816f 100644
--- a/data/sql/geodetic_datum.sql
+++ b/data/sql/geodetic_datum.sql
@@ -336,6 +336,10 @@ INSERT INTO "geodetic_datum" VALUES('EPSG','1310','ECML14_NB Intermediate Refere
INSERT INTO "usage" VALUES('EPSG','16494','geodetic_datum','EPSG','1310','EPSG','4621','EPSG','1141');
INSERT INTO "geodetic_datum" VALUES('EPSG','1311','EWR2 Intermediate Reference Frame',NULL,'EPSG','7019','EPSG','8901','2021-01-01',NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','16506','geodetic_datum','EPSG','1311','EPSG','4622','EPSG','1141');
+INSERT INTO "geodetic_datum" VALUES('EPSG','1312','Reseau Geodesique Francais 1993 v2',NULL,'EPSG','7019','EPSG','8901','2010-06-18',NULL,NULL,0);
+INSERT INTO "usage" VALUES('EPSG','16636','geodetic_datum','EPSG','1312','EPSG','1096','EPSG','1027');
+INSERT INTO "geodetic_datum" VALUES('EPSG','1313','Reseau Geodesique Francais 1993 v2b',NULL,'EPSG','7019','EPSG','8901','2021-01-05',NULL,NULL,0);
+INSERT INTO "usage" VALUES('EPSG','16637','geodetic_datum','EPSG','1313','EPSG','1096','EPSG','1027');
INSERT INTO "geodetic_datum" VALUES('EPSG','6001','Not specified (based on Airy 1830 ellipsoid)',NULL,'EPSG','7001','EPSG','8901',NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','13422','geodetic_datum','EPSG','6001','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6002','Not specified (based on Airy Modified 1849 ellipsoid)',NULL,'EPSG','7002','EPSG','8901',NULL,NULL,NULL,0);
@@ -524,7 +528,7 @@ INSERT INTO "geodetic_datum" VALUES('EPSG','6169','American Samoa 1962',NULL,'EP
INSERT INTO "usage" VALUES('EPSG','13514','geodetic_datum','EPSG','6169','EPSG','3109','EPSG','1153');
INSERT INTO "geodetic_datum" VALUES('EPSG','6170','Sistema de Referencia Geocentrico para America del Sur 1995',NULL,'EPSG','7019','EPSG','8901','1995-05-26',NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','13515','geodetic_datum','EPSG','6170','EPSG','3448','EPSG','1027');
-INSERT INTO "geodetic_datum" VALUES('EPSG','6171','Reseau Geodesique Francais 1993',NULL,'EPSG','7019','EPSG','8901','1993-01-01',NULL,NULL,0);
+INSERT INTO "geodetic_datum" VALUES('EPSG','6171','Reseau Geodesique Francais 1993 v1',NULL,'EPSG','7019','EPSG','8901','1993-01-01',NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','13516','geodetic_datum','EPSG','6171','EPSG','1096','EPSG','1027');
INSERT INTO "geodetic_datum" VALUES('EPSG','6172','Posiciones Geodesicas Argentinas',NULL,'EPSG','7019','EPSG','8901','1994-01-01',NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13517','geodetic_datum','EPSG','6172','EPSG','1033','EPSG','1180');
diff --git a/data/sql/grid_alternatives.sql b/data/sql/grid_alternatives.sql
index 9bfcf640..8a929de9 100644
--- a/data/sql/grid_alternatives.sql
+++ b/data/sql/grid_alternatives.sql
@@ -134,7 +134,12 @@ VALUES
-- Vertical grids
('RAC09.mnt','fr_ign_RAC09.tif','RAC09.gtx','GTiff','geoid_like',0,NULL,'https://cdn.proj.org/fr_ign_RAC09.tif',1,1,NULL),
('RAF09.mnt','fr_ign_RAF09.tif','RAF09.gtx','GTiff','geoid_like',0,NULL,'https://cdn.proj.org/fr_ign_RAF09.tif',1,1,NULL),
-('RAF18.tac','fr_ign_RAF18.tif','RAF18.gtx','GTiff','geoid_like',0,NULL,'https://cdn.proj.org/fr_ign_RAF18.tif',1,1,NULL),
+('RAF18.mnt','fr_ign_RAF18.tif','RAF18.gtx','GTiff','geoid_like',0,NULL,'https://cdn.proj.org/fr_ign_RAF18.tif',1,1,NULL),
+('RAF18b.mnt','fr_ign_RAF18b.tif',NULL,'GTiff','geoid_like',0,NULL,'https://cdn.proj.org/fr_ign_RAF18b.tif',1,1,NULL),
+-- The following is a bit an abusive mapping. The ggf97a.txt is the one pointed for the "RGF93 v1 to NGF-IGN69 height" transformation
+-- but we have never ingested that grid. So we point to RAF18.mnt instead...
+-- If we didn't do this, we wouldn't get a grid at all, since RAF09 and RAF18 are now only available for RGF93 v2
+('ggf97a.txt','fr_ign_RAF18.tif','RAF18.gtx','GTiff','geoid_like',0,NULL,'https://cdn.proj.org/fr_ign_RAF18.tif',1,1,NULL),
('gg10_gtbt.txt','fr_ign_RAGTBT2016.tif','RAGTBT2016.gtx','GTiff','geoid_like',0,NULL,'https://cdn.proj.org/fr_ign_RAGTBT2016.tif',1,1,NULL),
('RAGTBT2016.mnt','fr_ign_RAGTBT2016.tif','RAGTBT2016.gtx','GTiff','geoid_like',0,NULL,'https://cdn.proj.org/fr_ign_RAGTBT2016.tif',1,1,NULL),
('gg10_ld.txt','fr_ign_RALD2016.tif','RALD2016.gtx','GTiff','geoid_like',0,NULL,'https://cdn.proj.org/fr_ign_RALD2016.tif',1,1,NULL),
diff --git a/data/sql/grid_transformation.sql b/data/sql/grid_transformation.sql
index 8b5b533a..6877aa5d 100644
--- a/data/sql/grid_transformation.sql
+++ b/data/sql/grid_transformation.sql
@@ -152,22 +152,22 @@ INSERT INTO "grid_transformation" VALUES('EPSG','1688','ATS77 to WGS 84 (1)','Pa
INSERT INTO "usage" VALUES('EPSG','8609','grid_transformation','EPSG','1688','EPSG','1447','EPSG','1151');
INSERT INTO "grid_transformation" VALUES('EPSG','1689','ATS77 to WGS 84 (2)','Parameter file is from ATS77 to NAD83(CSRS)v2 (2) (code 9236) assuming that NAD83(CSRS)v2 is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9615','NTv2','EPSG','4122','EPSG','4326',1.5,'EPSG','8656','Latitude and longitude difference file','PE7783V2.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Can PEI',0);
INSERT INTO "usage" VALUES('EPSG','8610','grid_transformation','EPSG','1689','EPSG','1533','EPSG','1151');
-INSERT INTO "grid_transformation" VALUES('EPSG','1690','NAD27(76) to WGS 84 (1)','Parameter file is from NAD27(76) to NAD83 (1) (code 1463) assuming that NAD83 is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9615','NTv2','EPSG','4608','EPSG','4326',1.0,'EPSG','8656','Latitude and longitude difference file','May76v20.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Can On',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1690','NAD27(76) to WGS 84 (1)','Parameter file is from NAD27(76) to NAD83 (1) (code 1463) assuming that NAD83 is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9615','NTv2','EPSG','4608','EPSG','4326',2.0,'EPSG','8656','Latitude and longitude difference file','May76v20.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Can On',0);
INSERT INTO "usage" VALUES('EPSG','8611','grid_transformation','EPSG','1690','EPSG','1367','EPSG','1252');
INSERT INTO "grid_transformation" VALUES('EPSG','1691','NAD27(CGQ77) to WGS 84 (3)','Parameter file is from NAD27(CGQ77) to NAD83(CSRS)v2 (1) (code 9240) assuming that NAD83(CSRS)v2 is equivalent to WGS 84 within the accuracy of the transformation. Also distributed with file name CGQ77-98.gsb.','EPSG','9615','NTv2','EPSG','4609','EPSG','4326',1.5,'EPSG','8656','Latitude and longitude difference file','CQ77NA83.GSB',NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Can Qc NT2',0);
-INSERT INTO "usage" VALUES('EPSG','8612','grid_transformation','EPSG','1691','EPSG','1368','EPSG','1151');
+INSERT INTO "usage" VALUES('EPSG','8612','grid_transformation','EPSG','1691','EPSG','1368','EPSG','1252');
INSERT INTO "grid_transformation" VALUES('EPSG','1692','NAD27 to WGS 84 (34)','Parameter file is from NAD27 to NAD83(CSRS)v2 (1) (code 9239) assuming that NAD83(CSRS)v2 is equivalent to WGS 84 within the accuracy of the transformation. Also distributed as QUE27-98.gsb.','EPSG','9615','NTv2','EPSG','4267','EPSG','4326',1.5,'EPSG','8656','Latitude and longitude difference file','NA27SCRS.GSB',NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Can QC',0);
-INSERT INTO "usage" VALUES('EPSG','8613','grid_transformation','EPSG','1692','EPSG','1368','EPSG','1151');
-INSERT INTO "grid_transformation" VALUES('EPSG','1693','NAD27 to WGS 84 (33)','Parameter file is from NAD27 to NAD83 (4) (code 1313) assuming that NAD83 is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9615','NTv2','EPSG','4267','EPSG','4326',1.0,'EPSG','8656','Latitude and longitude difference file','NTv2_0.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Can',0);
+INSERT INTO "usage" VALUES('EPSG','8613','grid_transformation','EPSG','1692','EPSG','1368','EPSG','1252');
+INSERT INTO "grid_transformation" VALUES('EPSG','1693','NAD27 to WGS 84 (33)','Parameter file is from NAD27 to NAD83 (4) (code 1313) assuming that NAD83 is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9615','NTv2','EPSG','4267','EPSG','4326',2.0,'EPSG','8656','Latitude and longitude difference file','NTv2_0.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Can',0);
INSERT INTO "usage" VALUES('EPSG','8614','grid_transformation','EPSG','1693','EPSG','4517','EPSG','1252');
INSERT INTO "grid_transformation" VALUES('EPSG','1694','American Samoa 1962 to WGS 84 (2)','Parameter files are from American Samoa 1962 to NAD83(HARN) (1) (code 1578), but for many purposes NAD83(HARN) can be considered to be coincident with WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4169','EPSG','4326',5.0,'EPSG','8657','Latitude difference file','wshpgn.las','EPSG','8658','Longitude difference file','wshpgn.los',NULL,NULL,'EPSG-Asm W',0);
INSERT INTO "usage" VALUES('EPSG','8615','grid_transformation','EPSG','1694','EPSG','2288','EPSG','1252');
INSERT INTO "grid_transformation" VALUES('EPSG','1695','American Samoa 1962 to WGS 84 (3)','Parameter files are from American Samoa 1962 to NAD83(HARN) (2) (code 1579), but for many purposes NAD83(HARN) can be considered to be coincident with WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4169','EPSG','4326',5.0,'EPSG','8657','Latitude difference file','eshpgn.las','EPSG','8658','Longitude difference file','eshpgn.los',NULL,NULL,'EPSG-Asm E',0);
INSERT INTO "usage" VALUES('EPSG','8616','grid_transformation','EPSG','1695','EPSG','2289','EPSG','1252');
INSERT INTO "grid_transformation" VALUES('EPSG','1696','NAD83 to WGS 84 (6)','Parameter file is from NAD83 to NAD83(CSRS)v2 (1) (code 9241) assuming that NAD83(CSRS)v2 is equivalent to WGS 84 within the accuracy of the transformation. Also distributed with file name NAD83-98.gsb.','EPSG','9615','NTv2','EPSG','4269','EPSG','4326',1.5,'EPSG','8656','Latitude and longitude difference file','NA83SCRS.GSB',NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Can QC',0);
-INSERT INTO "usage" VALUES('EPSG','8617','grid_transformation','EPSG','1696','EPSG','1368','EPSG','1151');
-INSERT INTO "grid_transformation" VALUES('EPSG','1697','NAD83 to WGS 84 (7)','Parameter file is from NAD83 to NAD83(CSRS8)v3 (2) (code 9243) assuming that NAD83(CSRS)v3 is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9615','NTv2','EPSG','4269','EPSG','4326',1.5,'EPSG','8656','Latitude and longitude difference file','SK83-98.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Can SK',0);
-INSERT INTO "usage" VALUES('EPSG','8618','grid_transformation','EPSG','1697','EPSG','2375','EPSG','1151');
+INSERT INTO "usage" VALUES('EPSG','8617','grid_transformation','EPSG','1696','EPSG','1368','EPSG','1252');
+INSERT INTO "grid_transformation" VALUES('EPSG','1697','NAD83 to WGS 84 (7)','Parameter file is from NAD83 to NAD83(CSRS)v3 (2) (code 9243) assuming that NAD83(CSRS)v3 is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9615','NTv2','EPSG','4269','EPSG','4326',1.5,'EPSG','8656','Latitude and longitude difference file','SK83-98.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Can SK',0);
+INSERT INTO "usage" VALUES('EPSG','8618','grid_transformation','EPSG','1697','EPSG','2375','EPSG','1252');
INSERT INTO "grid_transformation" VALUES('EPSG','1698','St. George Island to WGS 84 (1)','Parameter files are from St. George Island to NAD83 (1) (code 1457) assuming that NAD83 is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4138','EPSG','4326',1.5,'EPSG','8657','Latitude difference file','stgeorge.las','EPSG','8658','Longitude difference file','stgeorge.los',NULL,NULL,'EPSG-Usa AK StG',0);
INSERT INTO "usage" VALUES('EPSG','8619','grid_transformation','EPSG','1698','EPSG','1331','EPSG','1252');
INSERT INTO "grid_transformation" VALUES('EPSG','1699','St. Lawrence Island to WGS 84 (1)','Parameter files are from St. Lawrence Island to NAD83 (1) (code 1455) assuming that NAD83 is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4136','EPSG','4326',1.5,'EPSG','8657','Latitude difference file','stlrnc.las','EPSG','8658','Longitude difference file','stlrnc.los',NULL,NULL,'EPSG-Usa AK StL',0);
@@ -175,9 +175,9 @@ INSERT INTO "usage" VALUES('EPSG','8620','grid_transformation','EPSG','1699','EP
INSERT INTO "grid_transformation" VALUES('EPSG','1700','St. Paul Island to WGS 84 (1)','Parameter files are from St. Paul Island to NAD83 (1) (code 1456) assuming that NAD83 is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4137','EPSG','4326',1.5,'EPSG','8657','Latitude difference file','stpaul.las','EPSG','8658','Longitude difference file','stpaul.los',NULL,NULL,'EPSG-Usa AK StP',0);
INSERT INTO "usage" VALUES('EPSG','8621','grid_transformation','EPSG','1700','EPSG','1333','EPSG','1252');
INSERT INTO "grid_transformation" VALUES('EPSG','1702','NAD83 to WGS 84 (8)','Parameter file is from NAD83 to NAD83(CSRS)v4 (3) (code 9244) assuming that NAD83(CSRS)v4 is equivalent to WGS 84 within the accuracy of the transformation. This file AB_CSRS.DAC will need to be renamed to AB_CSRS.gsb to run in some software.','EPSG','9615','NTv2','EPSG','4269','EPSG','4326',1.5,'EPSG','8656','Latitude and longitude difference file','AB_CSRS.DAC',NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Can AB',0);
-INSERT INTO "usage" VALUES('EPSG','8623','grid_transformation','EPSG','1702','EPSG','2376','EPSG','1151');
+INSERT INTO "usage" VALUES('EPSG','8623','grid_transformation','EPSG','1702','EPSG','2376','EPSG','1252');
INSERT INTO "grid_transformation" VALUES('EPSG','1703','NAD27 to WGS 84 (32)','Parameter file is from NAD27 to NAD83(CSRS)v3 (2) (code 9242) assuming that NAD83(CSRS)v3 is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9615','NTv2','EPSG','4267','EPSG','4326',1.5,'EPSG','8656','Latitude and longitude difference file','SK27-98.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Can SK',0);
-INSERT INTO "usage" VALUES('EPSG','8624','grid_transformation','EPSG','1703','EPSG','2375','EPSG','1151');
+INSERT INTO "usage" VALUES('EPSG','8624','grid_transformation','EPSG','1703','EPSG','2375','EPSG','1252');
INSERT INTO "grid_transformation" VALUES('EPSG','1704','NAD83 to NAD83(HARN) (40)','Uses NADCON method which expects longitudes positive west; EPSG GeogCRSs NAD83 (code 4269) and NAD83(HARN) (code 4152) have longitudes positive east. May be taken as approximate transformation NAD83-WGS 84 - see code 1708.','EPSG','9613','NADCON','EPSG','4269','EPSG','4152',0.05,'EPSG','8657','Latitude difference file','arhpgn.las','EPSG','8658','Longitude difference file','arhpgn.los',NULL,NULL,'NGS-Usa AR',0);
INSERT INTO "usage" VALUES('EPSG','8625','grid_transformation','EPSG','1704','EPSG','1374','EPSG','1027');
INSERT INTO "grid_transformation" VALUES('EPSG','1705','NAD83 to NAD83(HARN) (41)','Uses NADCON method which expects longitudes positive west; EPSG GeogCRSs NAD83 (code 4269) and NAD83(HARN) (code 4152) have longitudes positive east. May be taken as approximate transformation NAD83-WGS 84 - see code 1709.','EPSG','9613','NADCON','EPSG','4269','EPSG','4152',0.05,'EPSG','8657','Latitude difference file','iahpgn.las','EPSG','8658','Longitude difference file','iahpgn.los',NULL,NULL,'NGS-Usa IA',0);
@@ -186,91 +186,91 @@ INSERT INTO "grid_transformation" VALUES('EPSG','1706','NAD83 to NAD83(HARN) (42
INSERT INTO "usage" VALUES('EPSG','8627','grid_transformation','EPSG','1706','EPSG','1392','EPSG','1027');
INSERT INTO "grid_transformation" VALUES('EPSG','1707','NAD83 to NAD83(HARN) (43)','Uses NADCON method which expects longitudes positive west; EPSG GeogCRSs NAD83 (code 4269) and NAD83(HARN) (code 4152) have longitudes positive east. May be taken as approximate transformation NAD83-WGS 84 - see code 1711.','EPSG','9613','NADCON','EPSG','4269','EPSG','4152',0.05,'EPSG','8657','Latitude difference file','mohpgn.las','EPSG','8658','Longitude difference file','mohpgn.los',NULL,NULL,'NGS-Usa MO',0);
INSERT INTO "usage" VALUES('EPSG','8628','grid_transformation','EPSG','1707','EPSG','1394','EPSG','1027');
-INSERT INTO "grid_transformation" VALUES('EPSG','1708','NAD83 to WGS 84 (12)','Parameter files are from NAD83 to NAD83(HARN) (40) (code 1704) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','arhpgn.las','EPSG','8658','Longitude difference file','arhpgn.los',NULL,NULL,'EPSG-USA Ar',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1708','NAD83 to WGS 84 (12)','Parameter files are from NAD83 to NAD83(HARN) (40) (code 1704) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','arhpgn.las','EPSG','8658','Longitude difference file','arhpgn.los',NULL,NULL,'EPSG-USA Ar',0);
INSERT INTO "usage" VALUES('EPSG','8629','grid_transformation','EPSG','1708','EPSG','1374','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1709','NAD83 to WGS 84 (13)','Parameter files are from NAD83 to NAD83(HARN) (41) (code 1705) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','iahpgn.las','EPSG','8658','Longitude difference file','iahpgn.los',NULL,NULL,'EPSG-Usa IA',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1709','NAD83 to WGS 84 (13)','Parameter files are from NAD83 to NAD83(HARN) (41) (code 1705) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','iahpgn.las','EPSG','8658','Longitude difference file','iahpgn.los',NULL,NULL,'EPSG-Usa IA',0);
INSERT INTO "usage" VALUES('EPSG','8630','grid_transformation','EPSG','1709','EPSG','1384','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1710','NAD83 to WGS 84 (14)','Parameter files are from NAD83 to NAD83(HARN) (42) (code 1706) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','mnhpgn.las','EPSG','8658','Longitude difference file','mnhpgn.los',NULL,NULL,'EPSG-Usa MN',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1710','NAD83 to WGS 84 (14)','Parameter files are from NAD83 to NAD83(HARN) (42) (code 1706) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','mnhpgn.las','EPSG','8658','Longitude difference file','mnhpgn.los',NULL,NULL,'EPSG-Usa MN',0);
INSERT INTO "usage" VALUES('EPSG','8631','grid_transformation','EPSG','1710','EPSG','1392','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1711','NAD83 to WGS 84 (15)','Parameter files are from NAD83 to NAD83(HARN) (43) (code 1707) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','mohpgn.las','EPSG','8658','Longitude difference file','mohpgn.los',NULL,NULL,'EPSG-Usa MO',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1711','NAD83 to WGS 84 (15)','Parameter files are from NAD83 to NAD83(HARN) (43) (code 1707) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','mohpgn.las','EPSG','8658','Longitude difference file','mohpgn.los',NULL,NULL,'EPSG-Usa MO',0);
INSERT INTO "usage" VALUES('EPSG','8632','grid_transformation','EPSG','1711','EPSG','1394','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1712','NAD83 to WGS 84 (16)','Parameter files are from NAD83 to NAD83(HARN) (5) (code 1478) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','cohpgn.las','EPSG','8658','Longitude difference file','cohpgn.los',NULL,NULL,'EPSG-Usa CO',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1712','NAD83 to WGS 84 (16)','Parameter files are from NAD83 to NAD83(HARN) (5) (code 1478) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','cohpgn.las','EPSG','8658','Longitude difference file','cohpgn.los',NULL,NULL,'EPSG-Usa CO',0);
INSERT INTO "usage" VALUES('EPSG','8633','grid_transformation','EPSG','1712','EPSG','1376','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1713','NAD83 to WGS 84 (17)','Parameter files are from NAD83 to NAD83(HARN) (6) (code 1479) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','gahpgn.las','EPSG','8658','Longitude difference file','gahpgn.los',NULL,NULL,'EPSG-Usa GA',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1713','NAD83 to WGS 84 (17)','Parameter files are from NAD83 to NAD83(HARN) (6) (code 1479) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','gahpgn.las','EPSG','8658','Longitude difference file','gahpgn.los',NULL,NULL,'EPSG-Usa GA',0);
INSERT INTO "usage" VALUES('EPSG','8634','grid_transformation','EPSG','1713','EPSG','1380','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1714','NAD83 to WGS 84 (18)','Parameter files are from NAD83 to NAD83(HARN) (7) (code 1480) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','flhpgn.las','EPSG','8658','Longitude difference file','flhpgn.los',NULL,NULL,'EPSG-Usa FL',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1714','NAD83 to WGS 84 (18)','Parameter files are from NAD83 to NAD83(HARN) (7) (code 1480) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','flhpgn.las','EPSG','8658','Longitude difference file','flhpgn.los',NULL,NULL,'EPSG-Usa FL',0);
INSERT INTO "usage" VALUES('EPSG','8635','grid_transformation','EPSG','1714','EPSG','1379','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1715','NAD83 to WGS 84 (19)','Parameter files are from NAD83 to NAD83(HARN) (8) (code 1481) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','emhpgn.las','EPSG','8658','Longitude difference file','emhpgn.los',NULL,NULL,'EPSG-Usa ID MT e',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1715','NAD83 to WGS 84 (19)','Parameter files are from NAD83 to NAD83(HARN) (8) (code 1481) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','emhpgn.las','EPSG','8658','Longitude difference file','emhpgn.los',NULL,NULL,'EPSG-Usa ID MT e',0);
INSERT INTO "usage" VALUES('EPSG','8636','grid_transformation','EPSG','1715','EPSG','2382','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1716','NAD83 to WGS 84 (20)','Parameter files are from NAD83 to NAD83(HARN) (9) (code 1482) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','wmhpgn.las','EPSG','8658','Longitude difference file','wmhpgn.los',NULL,NULL,'EPSG-Usa ID MT w',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1716','NAD83 to WGS 84 (20)','Parameter files are from NAD83 to NAD83(HARN) (9) (code 1482) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','wmhpgn.las','EPSG','8658','Longitude difference file','wmhpgn.los',NULL,NULL,'EPSG-Usa ID MT w',0);
INSERT INTO "usage" VALUES('EPSG','8637','grid_transformation','EPSG','1716','EPSG','2383','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1717','NAD83 to WGS 84 (21)','Parameter files are from NAD83 to NAD83(HARN) (1) (code 1474) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','alhpgn.las','EPSG','8658','Longitude difference file','alhpgn.los',NULL,NULL,'EPSG-Usa AL',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1717','NAD83 to WGS 84 (21)','Parameter files are from NAD83 to NAD83(HARN) (1) (code 1474) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','alhpgn.las','EPSG','8658','Longitude difference file','alhpgn.los',NULL,NULL,'EPSG-Usa AL',0);
INSERT INTO "usage" VALUES('EPSG','8638','grid_transformation','EPSG','1717','EPSG','1372','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1718','NAD83 to WGS 84 (22)','Parameter files are from NAD83 to NAD83(HARN) (10) (code 1483) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','kyhpgn.las','EPSG','8658','Longitude difference file','kyhpgn.los',NULL,NULL,'EPSG-Usa KY',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1718','NAD83 to WGS 84 (22)','Parameter files are from NAD83 to NAD83(HARN) (10) (code 1483) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','kyhpgn.las','EPSG','8658','Longitude difference file','kyhpgn.los',NULL,NULL,'EPSG-Usa KY',0);
INSERT INTO "usage" VALUES('EPSG','8639','grid_transformation','EPSG','1718','EPSG','1386','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1719','NAD83 to WGS 84 (23)','Parameter files are from NAD83 to NAD83(HARN) (11) (code 1484) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','lahpgn.las','EPSG','8658','Longitude difference file','lahpgn.los',NULL,NULL,'EPSG-Usa LA',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1719','NAD83 to WGS 84 (23)','Parameter files are from NAD83 to NAD83(HARN) (11) (code 1484) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','lahpgn.las','EPSG','8658','Longitude difference file','lahpgn.los',NULL,NULL,'EPSG-Usa LA',0);
INSERT INTO "usage" VALUES('EPSG','8640','grid_transformation','EPSG','1719','EPSG','1387','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1720','NAD83 to WGS 84 (24)','Parameter files are from NAD83 to NAD83(HARN) (12) (code 1485) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','mdhpgn.las','EPSG','8658','Longitude difference file','mdhpgn.los',NULL,NULL,'EPSG-Usa DE MD',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1720','NAD83 to WGS 84 (24)','Parameter files are from NAD83 to NAD83(HARN) (12) (code 1485) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','mdhpgn.las','EPSG','8658','Longitude difference file','mdhpgn.los',NULL,NULL,'EPSG-Usa DE MD',0);
INSERT INTO "usage" VALUES('EPSG','8641','grid_transformation','EPSG','1720','EPSG','2377','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1721','NAD83 to WGS 84 (25)','Parameter files are from NAD83 to NAD83(HARN) (13) (code 1486) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','mehpgn.las','EPSG','8658','Longitude difference file','mehpgn.los',NULL,NULL,'EPSG-Usa ME',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1721','NAD83 to WGS 84 (25)','Parameter files are from NAD83 to NAD83(HARN) (13) (code 1486) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','mehpgn.las','EPSG','8658','Longitude difference file','mehpgn.los',NULL,NULL,'EPSG-Usa ME',0);
INSERT INTO "usage" VALUES('EPSG','8642','grid_transformation','EPSG','1721','EPSG','1388','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1722','NAD83 to WGS 84 (26)','Parameter files are from NAD83 to NAD83(HARN) (14) (code 1487) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','mihpgn.las','EPSG','8658','Longitude difference file','mihpgn.los',NULL,NULL,'EPSG-Usa MI',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1722','NAD83 to WGS 84 (26)','Parameter files are from NAD83 to NAD83(HARN) (14) (code 1487) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','mihpgn.las','EPSG','8658','Longitude difference file','mihpgn.los',NULL,NULL,'EPSG-Usa MI',0);
INSERT INTO "usage" VALUES('EPSG','8643','grid_transformation','EPSG','1722','EPSG','1391','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1723','NAD83 to WGS 84 (27)','Parameter files are from NAD83 to NAD83(HARN) (15) (code 1488) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','mshpgn.las','EPSG','8658','Longitude difference file','mshpgn.los',NULL,NULL,'EPSG-Usa MS',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1723','NAD83 to WGS 84 (27)','Parameter files are from NAD83 to NAD83(HARN) (15) (code 1488) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','mshpgn.las','EPSG','8658','Longitude difference file','mshpgn.los',NULL,NULL,'EPSG-Usa MS',0);
INSERT INTO "usage" VALUES('EPSG','8644','grid_transformation','EPSG','1723','EPSG','1393','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1724','NAD83 to WGS 84 (28)','Parameter files are from NAD83 to NAD83(HARN) (16) (code 1489) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','nbhpgn.las','EPSG','8658','Longitude difference file','nbhpgn.los',NULL,NULL,'EPSG-Usa NE',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1724','NAD83 to WGS 84 (28)','Parameter files are from NAD83 to NAD83(HARN) (16) (code 1489) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','nbhpgn.las','EPSG','8658','Longitude difference file','nbhpgn.los',NULL,NULL,'EPSG-Usa NE',0);
INSERT INTO "usage" VALUES('EPSG','8645','grid_transformation','EPSG','1724','EPSG','1396','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1725','NAD83 to WGS 84 (29)','Parameter files are from NAD83 to NAD83(HARN) (17) (code 1490) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','nehpgn.las','EPSG','8658','Longitude difference file','nehpgn.los',NULL,NULL,'EPSG-Usa NewEng',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1725','NAD83 to WGS 84 (29)','Parameter files are from NAD83 to NAD83(HARN) (17) (code 1490) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','nehpgn.las','EPSG','8658','Longitude difference file','nehpgn.los',NULL,NULL,'EPSG-Usa NewEng',0);
INSERT INTO "usage" VALUES('EPSG','8646','grid_transformation','EPSG','1725','EPSG','2378','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1726','NAD83 to WGS 84 (30)','Parameter files are from NAD83 to NAD83(HARN) (18) (code 1491) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','nmhpgn.las','EPSG','8658','Longitude difference file','nmhpgn.los',NULL,NULL,'EPSG-Usa NM',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1726','NAD83 to WGS 84 (30)','Parameter files are from NAD83 to NAD83(HARN) (18) (code 1491) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','nmhpgn.las','EPSG','8658','Longitude difference file','nmhpgn.los',NULL,NULL,'EPSG-Usa NM',0);
INSERT INTO "usage" VALUES('EPSG','8647','grid_transformation','EPSG','1726','EPSG','1400','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1727','NAD83 to WGS 84 (31)','Parameter files are from NAD83 to NAD83(HARN) (19) (code 1492) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','nyhpgn.las','EPSG','8658','Longitude difference file','nyhpgn.los',NULL,NULL,'EPSG-Usa NY',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1727','NAD83 to WGS 84 (31)','Parameter files are from NAD83 to NAD83(HARN) (19) (code 1492) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','nyhpgn.las','EPSG','8658','Longitude difference file','nyhpgn.los',NULL,NULL,'EPSG-Usa NY',0);
INSERT INTO "usage" VALUES('EPSG','8648','grid_transformation','EPSG','1727','EPSG','1401','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1728','NAD83 to WGS 84 (32)','Parameter files are from NAD83 to NAD83(HARN) (2) (code 1475) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','azhpgn.las','EPSG','8658','Longitude difference file','azhpgn.los',NULL,NULL,'EPSG-Usa AZ',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1728','NAD83 to WGS 84 (32)','Parameter files are from NAD83 to NAD83(HARN) (2) (code 1475) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','azhpgn.las','EPSG','8658','Longitude difference file','azhpgn.los',NULL,NULL,'EPSG-Usa AZ',0);
INSERT INTO "usage" VALUES('EPSG','8649','grid_transformation','EPSG','1728','EPSG','1373','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1729','NAD83 to WGS 84 (33)','Parameter files are from NAD83 to NAD83(HARN) (20) (code 1493) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','ndhpgn.las','EPSG','8658','Longitude difference file','ndhpgn.los',NULL,NULL,'EPSG-Usa ND',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1729','NAD83 to WGS 84 (33)','Parameter files are from NAD83 to NAD83(HARN) (20) (code 1493) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','ndhpgn.las','EPSG','8658','Longitude difference file','ndhpgn.los',NULL,NULL,'EPSG-Usa ND',0);
INSERT INTO "usage" VALUES('EPSG','8650','grid_transformation','EPSG','1729','EPSG','1403','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1730','NAD83 to WGS 84 (34)','Parameter files are from NAD83 to NAD83(HARN) (21) (code 1494) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','okhpgn.las','EPSG','8658','Longitude difference file','okhpgn.los',NULL,NULL,'EPSG-Usa OK',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1730','NAD83 to WGS 84 (34)','Parameter files are from NAD83 to NAD83(HARN) (21) (code 1494) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','okhpgn.las','EPSG','8658','Longitude difference file','okhpgn.los',NULL,NULL,'EPSG-Usa OK',0);
INSERT INTO "usage" VALUES('EPSG','8651','grid_transformation','EPSG','1730','EPSG','1405','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1731','NAD83 to WGS 84 (35)','Parameter files are from NAD83 to NAD83(HARN) (22) (code 1495) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','pvhpgn.las','EPSG','8658','Longitude difference file','pvhpgn.los',NULL,NULL,'EPSG-PRVI',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1731','NAD83 to WGS 84 (35)','Parameter files are from NAD83 to NAD83(HARN) (22) (code 1495) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','pvhpgn.las','EPSG','8658','Longitude difference file','pvhpgn.los',NULL,NULL,'EPSG-PRVI',0);
INSERT INTO "usage" VALUES('EPSG','8652','grid_transformation','EPSG','1731','EPSG','3634','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1732','NAD83 to WGS 84 (36)','Parameter files are from NAD83 to NAD83(HARN) (23) (code 1496) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','sdhpgn.las','EPSG','8658','Longitude difference file','sdhpgn.los',NULL,NULL,'EPSG-Usa SD',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1732','NAD83 to WGS 84 (36)','Parameter files are from NAD83 to NAD83(HARN) (23) (code 1496) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','sdhpgn.las','EPSG','8658','Longitude difference file','sdhpgn.los',NULL,NULL,'EPSG-Usa SD',0);
INSERT INTO "usage" VALUES('EPSG','8653','grid_transformation','EPSG','1732','EPSG','1410','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1733','NAD83 to WGS 84 (37)','Parameter files are from NAD83 to NAD83(HARN) (24) (code 1497) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','tnhpgn.las','EPSG','8658','Longitude difference file','tnhpgn.los',NULL,NULL,'EPSG-Usa TN',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1733','NAD83 to WGS 84 (37)','Parameter files are from NAD83 to NAD83(HARN) (24) (code 1497) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','tnhpgn.las','EPSG','8658','Longitude difference file','tnhpgn.los',NULL,NULL,'EPSG-Usa TN',0);
INSERT INTO "usage" VALUES('EPSG','8654','grid_transformation','EPSG','1733','EPSG','1411','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1734','NAD83 to WGS 84 (38)','Parameter files are from NAD83 to NAD83(HARN) (25) (code 1498) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','ethpgn.las','EPSG','8658','Longitude difference file','ethpgn.los',NULL,NULL,'EPSG-Usa TX e',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1734','NAD83 to WGS 84 (38)','Parameter files are from NAD83 to NAD83(HARN) (25) (code 1498) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','ethpgn.las','EPSG','8658','Longitude difference file','ethpgn.los',NULL,NULL,'EPSG-Usa TX e',0);
INSERT INTO "usage" VALUES('EPSG','8655','grid_transformation','EPSG','1734','EPSG','2379','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1735','NAD83 to WGS 84 (39)','Parameter files are from NAD83 to NAD83(HARN) (26) (code 1499) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','wthpgn.las','EPSG','8658','Longitude difference file','wthpgn.los',NULL,NULL,'EPSG-Usa TX w',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1735','NAD83 to WGS 84 (39)','Parameter files are from NAD83 to NAD83(HARN) (26) (code 1499) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','wthpgn.las','EPSG','8658','Longitude difference file','wthpgn.los',NULL,NULL,'EPSG-Usa TX w',0);
INSERT INTO "usage" VALUES('EPSG','8656','grid_transformation','EPSG','1735','EPSG','2380','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1736','NAD83 to WGS 84 (40)','Parameter files are from NAD83 to NAD83(HARN) (27) (code 1500) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','vahpgn.las','EPSG','8658','Longitude difference file','vahpgn.los',NULL,NULL,'EPSG-Usa VA',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1736','NAD83 to WGS 84 (40)','Parameter files are from NAD83 to NAD83(HARN) (27) (code 1500) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','vahpgn.las','EPSG','8658','Longitude difference file','vahpgn.los',NULL,NULL,'EPSG-Usa VA',0);
INSERT INTO "usage" VALUES('EPSG','8657','grid_transformation','EPSG','1736','EPSG','1415','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1737','NAD83 to WGS 84 (41)','Parameter files are from NAD83 to NAD83(HARN) (28) (code 1501) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','wohpgn.las','EPSG','8658','Longitude difference file','wohpgn.los',NULL,NULL,'EPSG-Usa OR WA',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1737','NAD83 to WGS 84 (41)','Parameter files are from NAD83 to NAD83(HARN) (28) (code 1501) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','wohpgn.las','EPSG','8658','Longitude difference file','wohpgn.los',NULL,NULL,'EPSG-Usa OR WA',0);
INSERT INTO "usage" VALUES('EPSG','8658','grid_transformation','EPSG','1737','EPSG','2381','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1738','NAD83 to WGS 84 (42)','Parameter files are from NAD83 to NAD83(HARN) (29) (code 1502) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','wihpgn.las','EPSG','8658','Longitude difference file','wihpgn.los',NULL,NULL,'EPSG-Usa WI',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1738','NAD83 to WGS 84 (42)','Parameter files are from NAD83 to NAD83(HARN) (29) (code 1502) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','wihpgn.las','EPSG','8658','Longitude difference file','wihpgn.los',NULL,NULL,'EPSG-Usa WI',0);
INSERT INTO "usage" VALUES('EPSG','8659','grid_transformation','EPSG','1738','EPSG','1418','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1739','NAD83 to WGS 84 (43)','Parameter files are from NAD83 to NAD83(HARN) (3) (code 1476) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','cnhpgn.las','EPSG','8658','Longitude difference file','cnhpgn.los',NULL,NULL,'EPSG-Usa CA n',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1739','NAD83 to WGS 84 (43)','Parameter files are from NAD83 to NAD83(HARN) (3) (code 1476) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','cnhpgn.las','EPSG','8658','Longitude difference file','cnhpgn.los',NULL,NULL,'EPSG-Usa CA n',0);
INSERT INTO "usage" VALUES('EPSG','8660','grid_transformation','EPSG','1739','EPSG','2297','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1740','NAD83 to WGS 84 (44)','Parameter files are from NAD83 to NAD83(HARN) (30) (code 1503) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','wyhpgn.las','EPSG','8658','Longitude difference file','wyhpgn.los',NULL,NULL,'EPSG-Usa WY',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1740','NAD83 to WGS 84 (44)','Parameter files are from NAD83 to NAD83(HARN) (30) (code 1503) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','wyhpgn.las','EPSG','8658','Longitude difference file','wyhpgn.los',NULL,NULL,'EPSG-Usa WY',0);
INSERT INTO "usage" VALUES('EPSG','8661','grid_transformation','EPSG','1740','EPSG','1419','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1741','NAD83 to WGS 84 (45)','Parameter files are from NAD83 to NAD83(HARN) (31) (code 1520) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','hihpgn.las','EPSG','8658','Longitude difference file','hihpgn.los',NULL,NULL,'EPSG-Usa HI',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1741','NAD83 to WGS 84 (45)','Parameter files are from NAD83 to NAD83(HARN) (31) (code 1520) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','hihpgn.las','EPSG','8658','Longitude difference file','hihpgn.los',NULL,NULL,'EPSG-Usa HI',0);
INSERT INTO "usage" VALUES('EPSG','8662','grid_transformation','EPSG','1741','EPSG','1334','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1742','NAD83 to WGS 84 (46)','Parameter files are from NAD83 to NAD83(HARN) (32) (code 1521) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','inhpgn.las','EPSG','8658','Longitude difference file','inhpgn.los',NULL,NULL,'EPSG-Usa IN',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1742','NAD83 to WGS 84 (46)','Parameter files are from NAD83 to NAD83(HARN) (32) (code 1521) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','inhpgn.las','EPSG','8658','Longitude difference file','inhpgn.los',NULL,NULL,'EPSG-Usa IN',0);
INSERT INTO "usage" VALUES('EPSG','8663','grid_transformation','EPSG','1742','EPSG','1383','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1743','NAD83 to WGS 84 (47)','Parameter files are from NAD83 to NAD83(HARN) (33) (code 1522) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','kshpgn.las','EPSG','8658','Longitude difference file','kshpgn.los',NULL,NULL,'EPSG-Usa KS',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1743','NAD83 to WGS 84 (47)','Parameter files are from NAD83 to NAD83(HARN) (33) (code 1522) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','kshpgn.las','EPSG','8658','Longitude difference file','kshpgn.los',NULL,NULL,'EPSG-Usa KS',0);
INSERT INTO "usage" VALUES('EPSG','8664','grid_transformation','EPSG','1743','EPSG','1385','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1744','NAD83 to WGS 84 (48)','Parameter files are from NAD83 to NAD83(HARN) (34) (code 1523) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','nvhpgn.las','EPSG','8658','Longitude difference file','nvhpgn.los',NULL,NULL,'EPSG-Usa NV',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1744','NAD83 to WGS 84 (48)','Parameter files are from NAD83 to NAD83(HARN) (34) (code 1523) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','nvhpgn.las','EPSG','8658','Longitude difference file','nvhpgn.los',NULL,NULL,'EPSG-Usa NV',0);
INSERT INTO "usage" VALUES('EPSG','8665','grid_transformation','EPSG','1744','EPSG','1397','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1745','NAD83 to WGS 84 (49)','Parameter files are from NAD83 to NAD83(HARN) (35) (code 1524) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','ohhpgn.las','EPSG','8658','Longitude difference file','ohhpgn.los',NULL,NULL,'EPSG-Usa OH',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1745','NAD83 to WGS 84 (49)','Parameter files are from NAD83 to NAD83(HARN) (35) (code 1524) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','ohhpgn.las','EPSG','8658','Longitude difference file','ohhpgn.los',NULL,NULL,'EPSG-Usa OH',0);
INSERT INTO "usage" VALUES('EPSG','8666','grid_transformation','EPSG','1745','EPSG','1404','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1746','NAD83 to WGS 84 (50)','Parameter files are from NAD83 to NAD83(HARN) (36) (code 1525) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','uthpgn.las','EPSG','8658','Longitude difference file','uthpgn.los',NULL,NULL,'EPSG-Usa UT',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1746','NAD83 to WGS 84 (50)','Parameter files are from NAD83 to NAD83(HARN) (36) (code 1525) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','uthpgn.las','EPSG','8658','Longitude difference file','uthpgn.los',NULL,NULL,'EPSG-Usa UT',0);
INSERT INTO "usage" VALUES('EPSG','8667','grid_transformation','EPSG','1746','EPSG','1413','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1747','NAD83 to WGS 84 (51)','Parameter files are from NAD83 to NAD83(HARN) (37) (code 1526) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','wvhpgn.las','EPSG','8658','Longitude difference file','wvhpgn.los',NULL,NULL,'EPSG-Usa WV',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1747','NAD83 to WGS 84 (51)','Parameter files are from NAD83 to NAD83(HARN) (37) (code 1526) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','wvhpgn.las','EPSG','8658','Longitude difference file','wvhpgn.los',NULL,NULL,'EPSG-Usa WV',0);
INSERT INTO "usage" VALUES('EPSG','8668','grid_transformation','EPSG','1747','EPSG','1417','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1748','NAD83 to WGS 84 (52)','Parameter files are from NAD83 to NAD83(HARN) (38) (code 1553) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','ilhpgn.las','EPSG','8658','Longitude difference file','ilhpgn.los',NULL,NULL,'EPSG-Usa IL',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1748','NAD83 to WGS 84 (52)','Parameter files are from NAD83 to NAD83(HARN) (38) (code 1553) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','ilhpgn.las','EPSG','8658','Longitude difference file','ilhpgn.los',NULL,NULL,'EPSG-Usa IL',0);
INSERT INTO "usage" VALUES('EPSG','8669','grid_transformation','EPSG','1748','EPSG','1382','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1749','NAD83 to WGS 84 (53)','Parameter files are from NAD83 to NAD83(HARN) (39) (code 1554) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','njhpgn.las','EPSG','8658','Longitude difference file','njhpgn.los',NULL,NULL,'EPSG-Usa NJ',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1749','NAD83 to WGS 84 (53)','Parameter files are from NAD83 to NAD83(HARN) (39) (code 1554) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','njhpgn.las','EPSG','8658','Longitude difference file','njhpgn.los',NULL,NULL,'EPSG-Usa NJ',0);
INSERT INTO "usage" VALUES('EPSG','8670','grid_transformation','EPSG','1749','EPSG','1399','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','1750','NAD83 to WGS 84 (54)','Parameter files are from NAD83 to NAD83(HARN) (4) (code 1477) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','cshpgn.las','EPSG','8658','Longitude difference file','cshpgn.los',NULL,NULL,'EPSG-Usa CA s',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','1750','NAD83 to WGS 84 (54)','Parameter files are from NAD83 to NAD83(HARN) (4) (code 1477) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','cshpgn.las','EPSG','8658','Longitude difference file','cshpgn.los',NULL,NULL,'EPSG-Usa CA s',0);
INSERT INTO "usage" VALUES('EPSG','8671','grid_transformation','EPSG','1750','EPSG','2298','EPSG','1252');
INSERT INTO "grid_transformation" VALUES('EPSG','1752','NAD83 to NAD83(CSRS98) (3)','This gridded difference file AB_CSRS.DAC will need to be renamed to AB_CSRS.gsb to run in some software suites. Formats identical, but AB file is provincial fit only. Can be taken as an approximate transformation NAD83 to WGS 84 - see code 1702.','EPSG','9615','NTv2','EPSG','4269','EPSG','4140',NULL,'EPSG','8656','Latitude and longitude difference file','AB_CSRS.DAC',NULL,NULL,NULL,NULL,NULL,NULL,'AB Env-Can AB',1);
INSERT INTO "usage" VALUES('EPSG','8673','grid_transformation','EPSG','1752','EPSG','2376','EPSG','1025');
@@ -508,9 +508,9 @@ INSERT INTO "grid_transformation" VALUES('EPSG','8364','S-JTSK [JTSK03] to S-JTS
INSERT INTO "usage" VALUES('EPSG','10511','grid_transformation','EPSG','8364','EPSG','1211','EPSG','1079');
INSERT INTO "grid_transformation" VALUES('EPSG','8369','BD72 to ETRS89 (3)','File name is lower case and despite its name is between geographic CRSs. (Similarly-named file in upper case BD72LB72_ETRS89LB08 operates in projected CRS domain).','EPSG','9615','NTv2','EPSG','4313','EPSG','4258',0.01,'EPSG','8656','Latitude and longitude difference file','bd72lb72_etrs89lb08.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'IGN-Bel 0.01m',0);
INSERT INTO "usage" VALUES('EPSG','10516','grid_transformation','EPSG','8369','EPSG','1347','EPSG','1150');
-INSERT INTO "grid_transformation" VALUES('EPSG','8371','RGF93 to NGF-IGN69 height (2)','Replaces RGF93 to NGF-IGN69 height (1) (code 10000). Accuracy at each 0.0333333333333° in longitude and 0.025° in latitude grid node is given within the geoid model file. Recommended interpolation method given in file RAF09.xml.','EPSG','1073','Geographic3D to GravityRelatedHeight (IGN2009)','EPSG','4965','EPSG','5720',0.02,'EPSG','8666','Geoid (height correction) model file','RAF09.mnt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Fra 09',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','8371','RGF93 v2 to NGF-IGN69 height (2)','Replaces ggf97a geoid model [RGF93 v1 to NGF IGN69 height (1) (code 10000)]. Replaced by RAF18 model. Accuracy at each 0.0333333333333° in longitude and 0.025° in latitude grid node is given within the model file.','EPSG','1073','Geographic3D to GravityRelatedHeight (IGN2009)','EPSG','9776','EPSG','5720',0.02,'EPSG','8666','Geoid (height correction) model file','RAF09.mnt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Fra 09',0);
INSERT INTO "usage" VALUES('EPSG','10517','grid_transformation','EPSG','8371','EPSG','1326','EPSG','1133');
-INSERT INTO "grid_transformation" VALUES('EPSG','8372','RGF93 to NGF-IGN78 height (2)','Replaces RGF93 to NGF-IGN78 height (1) (code 10002). Accuracy at each grid node is given within the geoid model file. Recommended interpolation method given in RAC09.xml. For reversible alternative see RGF93 to RGF93 + NGF-IGN78 height (2) (code 9639).','EPSG','1073','Geographic3D to GravityRelatedHeight (IGN2009)','EPSG','4965','EPSG','5721',0.05,'EPSG','8666','Geoid (height correction) model file','RAC09.mnt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Fra Cor 09',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','8372','RGF93 v2 to NGF-IGN78 height (2)','Replaces ggf97a model [RGF93 v1 to NGF-IGN78 height (1) (code 10002)]. Accuracy at each grid node is given in the geoid model file. For reversible alternative see RGF93 v2 to RGF93 v2 + NGF-IGN78 height (2) (code 9639).','EPSG','1073','Geographic3D to GravityRelatedHeight (IGN2009)','EPSG','9776','EPSG','5721',0.05,'EPSG','8666','Geoid (height correction) model file','RAC09.mnt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Fra Cor 09',0);
INSERT INTO "usage" VALUES('EPSG','10518','grid_transformation','EPSG','8372','EPSG','1327','EPSG','1133');
INSERT INTO "grid_transformation" VALUES('EPSG','8444','GDA94 to GDA2020 (4)','See GDA94 to GDA2020 (1) (code 8048) for transformation using Helmert method which gives identical results.','EPSG','9615','NTv2','EPSG','4283','EPSG','7844',0.05,'EPSG','8656','Latitude and longitude difference file','GDA94_GDA2020_conformal_christmas_island.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'ICSM-Cxr Conf',0);
INSERT INTO "usage" VALUES('EPSG','10564','grid_transformation','EPSG','8444','EPSG','4169','EPSG','1027');
@@ -550,7 +550,7 @@ INSERT INTO "grid_transformation" VALUES('EPSG','8669','NAD83 to NAD83(HARN) (50
INSERT INTO "usage" VALUES('EPSG','10761','grid_transformation','EPSG','8669','EPSG','3634','EPSG','1027');
INSERT INTO "grid_transformation" VALUES('EPSG','8676','Canada velocity grid v6','','EPSG','1070','Point motion by grid (Canada NTv2_Vel)','EPSG','8251','EPSG','8251',0.01,'EPSG','1050','Point motion velocity grid file','cvg60.cvb',NULL,NULL,NULL,NULL,NULL,NULL,'NRC-Can cvg6.0',0);
INSERT INTO "usage" VALUES('EPSG','10767','grid_transformation','EPSG','8676','EPSG','4618','EPSG','1058');
-INSERT INTO "grid_transformation" VALUES('EPSG','8885','RGF93 to NGF-IGN69 height (3)','Replaces RGF93 to NGF-IGN69 height (2) (code 8371). Accuracy at each grid node is given within the geoid model file. Recommended interpolation method is bilinear. For reversible alternative see RGF93 to RGF93 + NGF-IGN69 height (3) (code 9638).','EPSG','1073','Geographic3D to GravityRelatedHeight (IGN2009)','EPSG','4965','EPSG','5720',0.01,'EPSG','8666','Geoid (height correction) model file','RAF18.tac',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Fra 18',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','8885','RGF93 v2 to NGF-IGN69 height (3)','Replaces RAF09 geoid model [RGF93 v2 to NGF-IGN69 height (2) (code 8371)]. Replaced by RAF18b model. May also be found with filename RAF18.tac. For reversible alternative see RGF93 v2 to RGF93 v2 + NGF-IGN69 height (3) (code 9638).','EPSG','1073','Geographic3D to GravityRelatedHeight (IGN2009)','EPSG','9776','EPSG','5720',0.01,'EPSG','8666','Geoid (height correction) model file','RAF18.mnt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Fra 18',0);
INSERT INTO "usage" VALUES('EPSG','14492','grid_transformation','EPSG','8885','EPSG','1326','EPSG','1133');
INSERT INTO "grid_transformation" VALUES('EPSG','9105','ATS77 to NAD83 (1)','','EPSG','9615','NTv2','EPSG','4122','EPSG','4269',0.5,'EPSG','8656','Latitude and longitude difference file','GS7783.GSB',NULL,NULL,NULL,NULL,NULL,NULL,'NSGC-Can NS',0);
INSERT INTO "usage" VALUES('EPSG','10919','grid_transformation','EPSG','9105','EPSG','2313','EPSG','1027');
@@ -738,7 +738,7 @@ INSERT INTO "grid_transformation" VALUES('EPSG','9325','NZGD2000 to NZVD2009 hei
INSERT INTO "usage" VALUES('EPSG','14379','grid_transformation','EPSG','9325','EPSG','1175','EPSG','1133');
INSERT INTO "grid_transformation" VALUES('EPSG','9326','NZGD2000 to NZVD2016 height (2)','Defines NZVD2016 vertical datum (datum code 1169, CRS code 7839). Supersedes NZGD2000 to NZVD2016 height (1) (code 7840) after change of grid file format. For reversible alternative to this CT see NZGD2000 to NZGD2000 + NZVD2016 height (2) (code 9628).','EPSG','9665','Geographic3D to GravityRelatedHeight (gtx)','EPSG','4959','EPSG','7839',0.1,'EPSG','8666','Geoid (height correction) model file','nzgeoid2016.gtx',NULL,NULL,NULL,NULL,NULL,NULL,'LINZ-NZ 2016 gtx',0);
INSERT INTO "usage" VALUES('EPSG','14382','grid_transformation','EPSG','9326','EPSG','1175','EPSG','1133');
-INSERT INTO "grid_transformation" VALUES('EPSG','9327','NTF to RGF93 (1)','May be emulated using NTv2 method - see tfm code 15958.','EPSG','1087','Geocentric translation by Grid Interpolation (IGN)','EPSG','4275','EPSG','4171',1.0,'EPSG','8727','Geocentric translation file','gr3df97a.txt',NULL,NULL,NULL,NULL,'EPSG','4171','IGN-Fra 1m',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','9327','NTF to RGF93 v1 (1)','May be emulated using NTv2 method - see tfm code 15958.','EPSG','1087','Geocentric translation by Grid Interpolation (IGN)','EPSG','4275','EPSG','4171',1.0,'EPSG','8727','Geocentric translation file','gr3df97a.txt',NULL,NULL,NULL,NULL,'EPSG','4171','IGN-Fra 1m',0);
INSERT INTO "usage" VALUES('EPSG','13956','grid_transformation','EPSG','9327','EPSG','3694','EPSG','1041');
INSERT INTO "grid_transformation" VALUES('EPSG','9328','NEA74 Noumea to RGNC91-93 (3)','Developed in July 2002 and officially adopted in August 2005. May be emulated using NTv2 method - see RGNC91-93 to NEA74 Noumea (4) (code 1295).','EPSG','1087','Geocentric translation by Grid Interpolation (IGN)','EPSG','4644','EPSG','4749',0.05,'EPSG','8727','Geocentric translation file','gr3dnc03a.mnt',NULL,NULL,NULL,NULL,'EPSG','4749','BGN-Ncl 0.05m',0);
INSERT INTO "usage" VALUES('EPSG','13957','grid_transformation','EPSG','9328','EPSG','2823','EPSG','1031');
@@ -1006,9 +1006,9 @@ INSERT INTO "grid_transformation" VALUES('EPSG','9636','RGAF09 to IGN 2008 LD he
INSERT INTO "usage" VALUES('EPSG','14485','grid_transformation','EPSG','9636','EPSG','2893','EPSG','1270');
INSERT INTO "grid_transformation" VALUES('EPSG','9637','RGAF09 to RGAF09 + Martinique 1987 height (2)','Reversible alternative to RGAF09 to Martinique 1987 height (2) (code 9136).','EPSG','1095','Geog3D to Geog2D+GravityRelatedHeight (IGN2009)','EPSG','5488','EPSG','9537',0.05,'EPSG','8666','Geoid (height correction) model file','RAMART2016.mnt',NULL,NULL,NULL,NULL,'EPSG','5489','IGN Mtq 2016',0);
INSERT INTO "usage" VALUES('EPSG','14487','grid_transformation','EPSG','9637','EPSG','3276','EPSG','1270');
-INSERT INTO "grid_transformation" VALUES('EPSG','9638','RGF93 to RGF93 + NGF-IGN69 height (3)','Reversible alternative to RGF93 to NGF-IGN69 height (3) (code 8885).','EPSG','1095','Geog3D to Geog2D+GravityRelatedHeight (IGN2009)','EPSG','4965','EPSG','9538',0.01,'EPSG','8666','Geoid (height correction) model file','RAF18.tac',NULL,NULL,NULL,NULL,'EPSG','4171','IGN Fra 18',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','9638','RGF93 v2 to RGF93 v2 + NGF-IGN69 height (3)','Reversible alternative to RGF93 v2 to NGF-IGN69 height (3) (code 8885). May also be found with filename RAF18.tac.','EPSG','1095','Geog3D to Geog2D+GravityRelatedHeight (IGN2009)','EPSG','9776','EPSG','9538',0.01,'EPSG','8666','Geoid (height correction) model file','RAF18.mnt',NULL,NULL,NULL,NULL,'EPSG','9777','IGN Fra 18',0);
INSERT INTO "usage" VALUES('EPSG','15078','grid_transformation','EPSG','9638','EPSG','1326','EPSG','1270');
-INSERT INTO "grid_transformation" VALUES('EPSG','9639','RGF93 to RGF93 + NGF-IGN78 height (2)','Reversible alternative to RGF93 to NGF-IGN78 height (2) (code 8372).','EPSG','1095','Geog3D to Geog2D+GravityRelatedHeight (IGN2009)','EPSG','4965','EPSG','9539',0.05,'EPSG','8666','Geoid (height correction) model file','RAC09.mnt',NULL,NULL,NULL,NULL,'EPSG','4171','IGN Fra Cor 09',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','9639','RGF93 v2 to RGF93 v2 + NGF-IGN78 height (2)','Reversible alternative to RGF93 v2 to NGF-IGN78 height (2) (code 8372).','EPSG','1095','Geog3D to Geog2D+GravityRelatedHeight (IGN2009)','EPSG','9776','EPSG','9539',0.05,'EPSG','8666','Geoid (height correction) model file','RAC09.mnt',NULL,NULL,NULL,NULL,'EPSG','9777','IGN Fra Cor 09',0);
INSERT INTO "usage" VALUES('EPSG','15079','grid_transformation','EPSG','9639','EPSG','1327','EPSG','1270');
INSERT INTO "grid_transformation" VALUES('EPSG','9640','RGNC91-93 to RGNC91-93 + NGNC08 height (1)','Reversible alternative to RGNC91-93 to NGNC08 height (1) (code 9352).','EPSG','1095','Geog3D to Geog2D+GravityRelatedHeight (IGN2009)','EPSG','4907','EPSG','9540',0.03,'EPSG','8666','Geoid (height correction) model file','Ranc08_Circe.mnt',NULL,NULL,NULL,NULL,'EPSG','4749','BGN-Ncl RANC08',0);
INSERT INTO "usage" VALUES('EPSG','14496','grid_transformation','EPSG','9640','EPSG','3430','EPSG','1270');
@@ -1108,13 +1108,17 @@ INSERT INTO "grid_transformation" VALUES('EPSG','9759','ETRS89 to ECML14_NB-IRF
INSERT INTO "usage" VALUES('EPSG','16500','grid_transformation','EPSG','9759','EPSG','4621','EPSG','1141');
INSERT INTO "grid_transformation" VALUES('EPSG','9764','ETRS89 to EWR2-IRF (1)','In conjunction with the EWR2-TM map projection (code 9765) applied to EWR2-IRF (code 9763), emulates the EWR2 Snake projection. Applied to ETRS89 (as realized through the OSNet v2009 CORS) defines EWR2-IRF hence is errorless.','EPSG','9615','NTv2','EPSG','4258','EPSG','9763',0.0,'EPSG','8656','Latitude and longitude difference file','TN15-ETRS89-to-EWR2-IRF.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'NR-Gbr EWR2 OSNet2009',0);
INSERT INTO "usage" VALUES('EPSG','16505','grid_transformation','EPSG','9764','EPSG','4622','EPSG','1141');
+INSERT INTO "grid_transformation" VALUES('EPSG','9786','RGF93 v2b to NGF-IGN69 height (4)','Replaces RAF18 geoid model [RGF93 v2 to NGF-IGN69 height (3)]. Accuracy at each grid node is in the geoid model file. Recommended interpolation method is bilinear. For reversible alternative see RGF93 v2b to RGF93 v2b + NGF-IGN69 height (4) (code 9787).','EPSG','1073','Geographic3D to GravityRelatedHeight (IGN2009)','EPSG','9781','EPSG','5720',0.01,'EPSG','8666','Geoid (height correction) model file','RAF18b.mnt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Fra 18b',0);
+INSERT INTO "usage" VALUES('EPSG','16689','grid_transformation','EPSG','9786','EPSG','1326','EPSG','1133');
+INSERT INTO "grid_transformation" VALUES('EPSG','9787','RGF93 v2b to RGF93 v2b + NGF-IGN69 height (4)','Reversible alternative to RGF93 v2b to NGF-IGN69 height (4) (CT code 9786). Replaces RGF93 v2 to RGF93 v2 + NGF-IGN69 height (3) (CT code 9638).','EPSG','1095','Geog3D to Geog2D+GravityRelatedHeight (IGN2009)','EPSG','9781','EPSG','9785',0.01,'EPSG','8666','Geoid (height correction) model file','RAF18b.mnt',NULL,NULL,NULL,NULL,'EPSG','9782','IGN Fra 18b',0);
+INSERT INTO "usage" VALUES('EPSG','16690','grid_transformation','EPSG','9787','EPSG','1326','EPSG','1270');
INSERT INTO "grid_transformation" VALUES('EPSG','9795','NAD83 to NAD83(CSRS)v7 (1)','Also distributed through Alberta Environment and Parks Lands Division named ABCSRSV7.DAC.','EPSG','9615','NTv2','EPSG','4269','EPSG','8255',0.1,'EPSG','8656','Latitude and longitude difference file','ABCSRSV7.GSB',NULL,NULL,NULL,NULL,NULL,NULL,'NRCan-Can AB',0);
INSERT INTO "usage" VALUES('EPSG','16635','grid_transformation','EPSG','9795','EPSG','2376','EPSG','1031');
-INSERT INTO "grid_transformation" VALUES('EPSG','10000','RGF93 to NGF-IGN69 height (1)','May be used for transformations from WGS 84 to NGF-IGN69 height. Accuracy at each 0.1 deg x 0.1 degree grid node is given within the geoid model file.','EPSG','9664','Geographic3D to GravityRelatedHeight (IGN1997)','EPSG','4965','EPSG','5720',0.5,'EPSG','8666','Geoid (height correction) model file','ggf97a.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Fra',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','10000','RGF93 v1 to NGF-IGN69 height (1)','May be used for transformations from WGS 84 to NGF-IGN69 height. Accuracy at each 0.1 deg x 0.1 degree grid node is given within the geoid model file.','EPSG','9664','Geographic3D to GravityRelatedHeight (IGN1997)','EPSG','4965','EPSG','5720',0.5,'EPSG','8666','Geoid (height correction) model file','ggf97a.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Fra',0);
INSERT INTO "usage" VALUES('EPSG','11001','grid_transformation','EPSG','10000','EPSG','1326','EPSG','1133');
INSERT INTO "grid_transformation" VALUES('EPSG','10001','ETRS89 to NGF-IGN69 height (1)','Parameter values taken from RGF93 to NGF-IGN69 height (1) (code 10000) assuming that RGF93 is equivalent to ETRS89 within the accuracy of the transformation. Accuracy at each 0.1 deg x 0.1 degree grid node is given within the geoid model file.','EPSG','9664','Geographic3D to GravityRelatedHeight (IGN1997)','EPSG','4937','EPSG','5720',0.5,'EPSG','8666','Geoid (height correction) model file','ggf97a.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Fra',0);
INSERT INTO "usage" VALUES('EPSG','11002','grid_transformation','EPSG','10001','EPSG','1326','EPSG','1133');
-INSERT INTO "grid_transformation" VALUES('EPSG','10002','RGF93 to NGF-IGN78 height (1)','May be used for transformations from WGS 84 to NGF-IGN78 height. Accuracy at each 0.1 deg x 0.1 degree grid node is given within the geoid model file.','EPSG','9664','Geographic3D to GravityRelatedHeight (IGN1997)','EPSG','4965','EPSG','5721',0.5,'EPSG','8666','Geoid (height correction) model file','ggf97a_corse.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Fra Cor',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','10002','RGF93 v1 to NGF-IGN78 height (1)','May be used for transformations from WGS 84 to NGF-IGN78 height. Accuracy at each 0.1 deg x 0.1 degree grid node is given within the geoid model file.','EPSG','9664','Geographic3D to GravityRelatedHeight (IGN1997)','EPSG','4965','EPSG','5721',0.5,'EPSG','8666','Geoid (height correction) model file','ggf97a_corse.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Fra Cor',0);
INSERT INTO "usage" VALUES('EPSG','11003','grid_transformation','EPSG','10002','EPSG','1327','EPSG','1133');
INSERT INTO "grid_transformation" VALUES('EPSG','10003','ETRS89 to NGF-IGN78 height (1)','Parameter values taken from RGF93 to NGF-IGN78 height (1) (code 10002) assuming that RGF93 is equivalent to ETRS89 within the accuracy of the transformation. Accuracy at each 0.1 deg x 0.1 degree grid node is given within the geoid model file.','EPSG','9664','Geographic3D to GravityRelatedHeight (IGN1997)','EPSG','4937','EPSG','5721',0.5,'EPSG','8666','Geoid (height correction) model file','ggf97a_corse.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Fra Cor',0);
INSERT INTO "usage" VALUES('EPSG','11004','grid_transformation','EPSG','10003','EPSG','1327','EPSG','1133');
@@ -1300,24 +1304,24 @@ INSERT INTO "grid_transformation" VALUES('EPSG','15786','AGD66 to WGS 84 (17)','
INSERT INTO "usage" VALUES('EPSG','11797','grid_transformation','EPSG','15786','EPSG','2575','EPSG','1252');
INSERT INTO "grid_transformation" VALUES('EPSG','15834','NAD83 to NAD83(HARN) (44)','Uses NADCON method which expects longitudes positive west; EPSG GeogCRSs NAD83 (code 4269) and NAD83(HARN) (code 4152) have longitudes positive east. May be taken as approximate transformation NAD83-WGS 84 - see code 15835.','EPSG','9613','NADCON','EPSG','4269','EPSG','4152',0.05,'EPSG','8657','Latitude difference file','nchpgn.las','EPSG','8658','Longitude difference file','nchpgn.los',NULL,NULL,'NGS-Usa NC',0);
INSERT INTO "usage" VALUES('EPSG','11845','grid_transformation','EPSG','15834','EPSG','1402','EPSG','1027');
-INSERT INTO "grid_transformation" VALUES('EPSG','15835','NAD83 to WGS 84 (55)','Parameter files are from NAD83 to NAD83(HARN) (44) (code 15834) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','nchpgn.las','EPSG','8658','Longitude difference file','nchpgn.los',NULL,NULL,'OGP-Usa NC',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','15835','NAD83 to WGS 84 (55)','Parameter files are from NAD83 to NAD83(HARN) (44) (code 15834) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','nchpgn.las','EPSG','8658','Longitude difference file','nchpgn.los',NULL,NULL,'OGP-Usa NC',0);
INSERT INTO "usage" VALUES('EPSG','11846','grid_transformation','EPSG','15835','EPSG','1402','EPSG','1252');
INSERT INTO "grid_transformation" VALUES('EPSG','15836','NAD83 to NAD83(HARN) (45)','Uses NADCON method which expects longitudes positive west; EPSG GeogCRSs NAD83 (code 4269) and NAD83(HARN) (code 4152) have longitudes positive east. May be taken as approximate transformation NAD83-WGS 84 - see code 15837.','EPSG','9613','NADCON','EPSG','4269','EPSG','4152',0.05,'EPSG','8657','Latitude difference file','schpgn.las','EPSG','8658','Longitude difference file','schpgn.los',NULL,NULL,'NGS-Usa SC',0);
INSERT INTO "usage" VALUES('EPSG','11847','grid_transformation','EPSG','15836','EPSG','1409','EPSG','1027');
-INSERT INTO "grid_transformation" VALUES('EPSG','15837','NAD83 to WGS 84 (56)','Parameter files are from NAD83 to NAD83(HARN) (45) (code 15836) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','schpgn.las','EPSG','8658','Longitude difference file','schpgn.los',NULL,NULL,'OGP-Usa SC',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','15837','NAD83 to WGS 84 (56)','Parameter files are from NAD83 to NAD83(HARN) (45) (code 15836) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','schpgn.las','EPSG','8658','Longitude difference file','schpgn.los',NULL,NULL,'OGP-Usa SC',0);
INSERT INTO "usage" VALUES('EPSG','11848','grid_transformation','EPSG','15837','EPSG','1409','EPSG','1252');
INSERT INTO "grid_transformation" VALUES('EPSG','15838','NAD83 to NAD83(HARN) (46)','Uses NADCON method which expects longitudes positive west; EPSG GeogCRSs NAD83 (code 4269) and NAD83(HARN) (code 4152) have longitudes positive east. May be taken as approximate transformation NAD83-WGS 84 - see code 15839.','EPSG','9613','NADCON','EPSG','4269','EPSG','4152',0.05,'EPSG','8657','Latitude difference file','pahpgn.las','EPSG','8658','Longitude difference file','pahpgn.los',NULL,NULL,'NGS-Usa PA',0);
INSERT INTO "usage" VALUES('EPSG','11849','grid_transformation','EPSG','15838','EPSG','1407','EPSG','1027');
-INSERT INTO "grid_transformation" VALUES('EPSG','15839','NAD83 to WGS 84 (57)','Parameter files are from NAD83 to NAD83(HARN) (46) (code 15838) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',1.0,'EPSG','8657','Latitude difference file','pahpgn.las','EPSG','8658','Longitude difference file','pahpgn.los',NULL,NULL,'OGP-Usa PA',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','15839','NAD83 to WGS 84 (57)','Parameter files are from NAD83 to NAD83(HARN) (46) (code 15838) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4269','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','pahpgn.las','EPSG','8658','Longitude difference file','pahpgn.los',NULL,NULL,'OGP-Usa PA',0);
INSERT INTO "usage" VALUES('EPSG','11850','grid_transformation','EPSG','15839','EPSG','1407','EPSG','1252');
-INSERT INTO "grid_transformation" VALUES('EPSG','15840','Old Hawaiian to WGS 84 (8)','Transformation steps are from Old Hawaiian to NAD83 (1) (code 1454) assuming that NAD83 is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4135','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','hawaii.las','EPSG','8658','Longitude difference file','hawaii.los',NULL,NULL,'OGP-Usa HI 2m',0);
-INSERT INTO "usage" VALUES('EPSG','11851','grid_transformation','EPSG','15840','EPSG','1334','EPSG','1042');
-INSERT INTO "grid_transformation" VALUES('EPSG','15841','Puerto Rico to WGS 84 (4)','Transformation steps are from Puerto Rico to NAD83 (1) (code 1461) assuming that NAD83 is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4139','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','prvi.las','EPSG','8658','Longitude difference file','prvi.los',NULL,NULL,'OGP-Pri 2m',0);
-INSERT INTO "usage" VALUES('EPSG','11852','grid_transformation','EPSG','15841','EPSG','3294','EPSG','1042');
-INSERT INTO "grid_transformation" VALUES('EPSG','15851','NAD27 to WGS 84 (79)','Transformation taken from NAD27 to NAD83 (1) (code 1241) assuming that NAD83 is equivalent to WGS 84 within the accuracy of this tfm. Uses NADCON method which expects longitudes positive west; EPSG CRS codes 4267 and 4326 have longitudes positive east.','EPSG','9613','NADCON','EPSG','4267','EPSG','4326',5.0,'EPSG','8657','Latitude difference file','conus.las','EPSG','8658','Longitude difference file','conus.los',NULL,NULL,'OGP-Usa Conus',0);
-INSERT INTO "usage" VALUES('EPSG','11862','grid_transformation','EPSG','15851','EPSG','2374','EPSG','1045');
-INSERT INTO "grid_transformation" VALUES('EPSG','15864','NAD27 to WGS 84 (85)','Transformation taken from NAD27 to NAD83 (2) (code 1243) assuming that NAD83 is equivalent to WGS 84 within the accuracy of this tfm. Uses NADCON method which expects longitudes positive west; EPSG CRS codes 4267 and 4326 have longitudes positive east.','EPSG','9613','NADCON','EPSG','4267','EPSG','4326',5.0,'EPSG','8657','Latitude difference file','alaska.las','EPSG','8658','Longitude difference file','alaska.los',NULL,NULL,'OGP-Usa AK',0);
-INSERT INTO "usage" VALUES('EPSG','11875','grid_transformation','EPSG','15864','EPSG','2373','EPSG','1032');
+INSERT INTO "grid_transformation" VALUES('EPSG','15840','Old Hawaiian to WGS 84 (8)','Parameter files are from Old Hawaiian to NAD83 (1) (code 1454) assuming that NAD83 is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4135','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','hawaii.las','EPSG','8658','Longitude difference file','hawaii.los',NULL,NULL,'OGP-Usa HI 2m',0);
+INSERT INTO "usage" VALUES('EPSG','11851','grid_transformation','EPSG','15840','EPSG','1334','EPSG','1252');
+INSERT INTO "grid_transformation" VALUES('EPSG','15841','Puerto Rico to WGS 84 (4)','Parameter files are from Puerto Rico to NAD83 (1) (code 1461) assuming that NAD83 is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9613','NADCON','EPSG','4139','EPSG','4326',2.0,'EPSG','8657','Latitude difference file','prvi.las','EPSG','8658','Longitude difference file','prvi.los',NULL,NULL,'OGP-Pri 2m',0);
+INSERT INTO "usage" VALUES('EPSG','11852','grid_transformation','EPSG','15841','EPSG','3294','EPSG','1252');
+INSERT INTO "grid_transformation" VALUES('EPSG','15851','NAD27 to WGS 84 (79)','Parameter files are from NAD27 to NAD83 (1) (code 1241) assuming that NAD83 is equivalent to WGS 84 within the accuracy of this tfm. Uses NADCON method which expects longitudes positive west; EPSG CRS codes 4267 and 4326 have longitudes positive east.','EPSG','9613','NADCON','EPSG','4267','EPSG','4326',5.0,'EPSG','8657','Latitude difference file','conus.las','EPSG','8658','Longitude difference file','conus.los',NULL,NULL,'OGP-Usa Conus',0);
+INSERT INTO "usage" VALUES('EPSG','11862','grid_transformation','EPSG','15851','EPSG','2374','EPSG','1252');
+INSERT INTO "grid_transformation" VALUES('EPSG','15864','NAD27 to WGS 84 (85)','Parameter files are from NAD27 to NAD83 (2) (code 1243) assuming that NAD83 is equivalent to WGS 84 within the accuracy of this tfm. Uses NADCON method which expects longitudes positive west; EPSG CRS codes 4267 and 4326 have longitudes positive east.','EPSG','9613','NADCON','EPSG','4267','EPSG','4326',5.0,'EPSG','8657','Latitude difference file','alaska.las','EPSG','8658','Longitude difference file','alaska.los',NULL,NULL,'OGP-Usa AK',0);
+INSERT INTO "usage" VALUES('EPSG','11875','grid_transformation','EPSG','15864','EPSG','2373','EPSG','1252');
INSERT INTO "grid_transformation" VALUES('EPSG','15895','ED50 to ETRS89 (11)','May be taken as approximate transformation ED50 to WGS 84 - see code 15907. NOTE: Parameter file is non-conformant with NTv2 specification - replaced by ED50 to ETRS89 (12) (code 15932).','EPSG','9615','NTv2','EPSG','4230','EPSG','4258',0.2,'EPSG','8656','Latitude and longitude difference file','sped2et.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'IGN-Esp',1);
INSERT INTO "usage" VALUES('EPSG','11906','grid_transformation','EPSG','15895','EPSG','3429','EPSG','1152');
INSERT INTO "grid_transformation" VALUES('EPSG','15907','ED50 to WGS 84 (40)','Parameter values from ED50 to ETRS89 (11) (code 15895). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation. NOTE: Parameter file is non-conformant with NTv2 specification - replaced by ED50 to WGS 84 (41).','EPSG','9615','NTv2','EPSG','4230','EPSG','4326',1.0,'EPSG','8656','Latitude and longitude difference file','sped2et.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'OGP-Esp',1);
@@ -1344,7 +1348,7 @@ INSERT INTO "grid_transformation" VALUES('EPSG','15954','RD/83 to WGS 84 (1)','T
INSERT INTO "usage" VALUES('EPSG','11965','grid_transformation','EPSG','15954','EPSG','2545','EPSG','1041');
INSERT INTO "grid_transformation" VALUES('EPSG','15955','PD/83 to WGS 84 (1)','These parameter values are taken from DHDN to ETRS89 (8) (code 15948) as PD/83 and ETRS89 may be considered equivalent to DHDN and WGS 84 respectively within the accuracy of the transformation.','EPSG','9615','NTv2','EPSG','4746','EPSG','4326',1.0,'EPSG','8656','Latitude and longitude difference file','BETA2007.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'OGP-Deu BeTA2007',0);
INSERT INTO "usage" VALUES('EPSG','11966','grid_transformation','EPSG','15955','EPSG','2544','EPSG','1041');
-INSERT INTO "grid_transformation" VALUES('EPSG','15958','RGF93 to NTF (2)','Emulation using NTv2 method of transformation NTF to RGF93 (1), code 9327. Note that grid file parameters are of opposite sign. May be taken as approximate transformation to ETRS89 or WGS 84 - see tfm codes 15959 and 15960.','EPSG','9615','NTv2','EPSG','4171','EPSG','4275',1.0,'EPSG','8656','Latitude and longitude difference file','rgf93_ntf.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'ESRI-Fra 1m emulation',0);
+INSERT INTO "grid_transformation" VALUES('EPSG','15958','RGF93 v1 to NTF (2)','Emulation using NTv2 method of transformation NTF to RGF93 v1 (1), code 9327. Note that grid file parameters are of opposite sign. May be taken as approximate transformation to ETRS89 or WGS 84 - see tfm codes 15959 and 15960.','EPSG','9615','NTv2','EPSG','4171','EPSG','4275',1.0,'EPSG','8656','Latitude and longitude difference file','rgf93_ntf.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'ESRI-Fra 1m emulation',0);
INSERT INTO "usage" VALUES('EPSG','11969','grid_transformation','EPSG','15958','EPSG','3694','EPSG','1041');
INSERT INTO "grid_transformation" VALUES('EPSG','15959','ETRS89 to NTF (3)','These parameter values are taken from RGF93 to NTF (2) (code 15958) as RGF93 may be considered equivalent to ETRS89 within the accuracy of the transformation.','EPSG','9615','NTv2','EPSG','4258','EPSG','4275',1.0,'EPSG','8656','Latitude and longitude difference file','rgf93_ntf.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Fra 1m emulation',0);
INSERT INTO "usage" VALUES('EPSG','11970','grid_transformation','EPSG','15959','EPSG','3694','EPSG','1041');
diff --git a/data/sql/helmert_transformation.sql b/data/sql/helmert_transformation.sql
index 597af59e..b986e531 100644
--- a/data/sql/helmert_transformation.sql
+++ b/data/sql/helmert_transformation.sql
@@ -512,7 +512,7 @@ INSERT INTO "usage" VALUES('EPSG','8250','helmert_transformation','EPSG','1329',
INSERT INTO "helmert_transformation" VALUES('EPSG','1330','Malongo 1987 to WGS 84 (1)','Derived at Station Y in April 1989 using 572 transit satellite passes. Computed value for dZ was -96.42 but -96.38 has been utilised. Replaced Malongo 1987 to WGS 84 (3) (code 15791) in 1989. Replaced by Malongo 1987 to WGS 84 (2) (code 1557) in 1990.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4259','EPSG','4326',10.0,-252.95,-4.11,-96.38,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'CHV-Ago Cab89',0);
INSERT INTO "usage" VALUES('EPSG','8251','helmert_transformation','EPSG','1330','EPSG','3180','EPSG','1136');
INSERT INTO "helmert_transformation" VALUES('EPSG','1331','EST92 to ETRS89 (1)','','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4133','EPSG','4258',0.1,0.0,0.0,0.0,'EPSG','9001',0.0,0.0,0.0,'EPSG','9104',0.0,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'UT-Est',0);
-INSERT INTO "usage" VALUES('EPSG','8252','helmert_transformation','EPSG','1331','EPSG','3246','EPSG','1024');
+INSERT INTO "usage" VALUES('EPSG','8252','helmert_transformation','EPSG','1331','EPSG','3246','EPSG','1161');
INSERT INTO "helmert_transformation" VALUES('EPSG','1332','Pulkovo 1942 to EST92 (1)','','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4284','EPSG','4133',9.0,21.53219,-97.00027,-60.74046,'EPSG','9001',-0.99548,-0.58147,-0.2418,'EPSG','9104',-4.5981,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'UT-Est',0);
INSERT INTO "usage" VALUES('EPSG','8253','helmert_transformation','EPSG','1332','EPSG','3246','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('EPSG','1333','EST92 to WGS 84 (1)','','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4133','EPSG','4326',0.5,0.055,-0.541,-0.185,'EPSG','9001',-0.0183,0.0003,0.007,'EPSG','9104',-0.014,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'UT-Est',0);
@@ -591,7 +591,7 @@ INSERT INTO "usage" VALUES('EPSG','8449','helmert_transformation','EPSG','1528',
INSERT INTO "helmert_transformation" VALUES('EPSG','1529','Hito XVIII to WGS 84 (1)','Derived through ties at 3 stations (RC03, TOTAL11 and MP12) to 3 IGS stations in November 1995','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4254','EPSG','4326',0.5,18.38,192.45,96.82,'EPSG','9001',0.056,-0.142,-0.2,'EPSG','9104',-0.0013,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'TOT-Arg TdF',0);
INSERT INTO "usage" VALUES('EPSG','8450','helmert_transformation','EPSG','1529','EPSG','2357','EPSG','1136');
INSERT INTO "helmert_transformation" VALUES('EPSG','1530','NAD27 to WGS 84 (30)','','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4267','EPSG','4326',3.0,-4.2,135.4,181.9,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'ICH-Cub',0);
-INSERT INTO "usage" VALUES('EPSG','8451','helmert_transformation','EPSG','1530','EPSG','1077','EPSG','1252');
+INSERT INTO "usage" VALUES('EPSG','8451','helmert_transformation','EPSG','1530','EPSG','1077','EPSG','1158');
INSERT INTO "helmert_transformation" VALUES('EPSG','1531','Nahrwan 1967 to WGS 84 (4)','Parameter values adopted by Total are mean of those derived by Oceonics and Geoid through ties at platform AK1 to 4 IGS stations in March 1995.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4270','EPSG','4326',0.5,-245.0,-153.9,382.8,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'TOT-UAE Abk',0);
INSERT INTO "usage" VALUES('EPSG','8452','helmert_transformation','EPSG','1531','EPSG','2392','EPSG','1136');
INSERT INTO "helmert_transformation" VALUES('EPSG','1532','M''poraloko to WGS 84 (2)','Derived as mean of Doris determinations at 3 stations in Port Gentil area in 1994.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4266','EPSG','4326',0.5,-80.7,-132.5,41.1,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Elf-Gab94',0);
@@ -666,7 +666,7 @@ INSERT INTO "helmert_transformation" VALUES('EPSG','1571','Amersfoort to ETRS89
INSERT INTO "usage" VALUES('EPSG','8492','helmert_transformation','EPSG','1571','EPSG','1172','EPSG','1035');
INSERT INTO "helmert_transformation" VALUES('EPSG','1577','American Samoa 1962 to WGS 84 (1)','Transformation based on observations at 2 stations in 1993. One sigma uncertainty is 25m in each axis.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4169','EPSG','4326',44.0,-115.0,118.0,426.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'NIMA-Asm',0);
INSERT INTO "usage" VALUES('EPSG','8498','helmert_transformation','EPSG','1577','EPSG','3109','EPSG','1160');
-INSERT INTO "helmert_transformation" VALUES('EPSG','1580','NAD83(HARN) to WGS 84 (1)','For many purposes NAD83(HARN) can be considered to be coincident with WGS 84.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4152','EPSG','4326',1.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Usa',0);
+INSERT INTO "helmert_transformation" VALUES('EPSG','1580','NAD83(HARN) to WGS 84 (1)','For many purposes NAD83(HARN) can be considered to be coincident with WGS 84.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4152','EPSG','4326',2.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Usa',0);
INSERT INTO "usage" VALUES('EPSG','8501','helmert_transformation','EPSG','1580','EPSG','1337','EPSG','1252');
INSERT INTO "helmert_transformation" VALUES('EPSG','1581','SIRGAS 1995 to WGS 84 (1)','Accuracy 1m in each axis.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4170','EPSG','4326',2.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'NIMA-S America',0);
INSERT INTO "usage" VALUES('EPSG','8502','helmert_transformation','EPSG','1581','EPSG','3448','EPSG','1160');
@@ -684,7 +684,7 @@ INSERT INTO "helmert_transformation" VALUES('EPSG','1587','Deir ez Zor to WGS 84
INSERT INTO "usage" VALUES('EPSG','8508','helmert_transformation','EPSG','1587','EPSG','2328','EPSG','1136');
INSERT INTO "helmert_transformation" VALUES('EPSG','1588','ED50 to ETRS89 (1)','Included in Statens Kartverk programme wsktrans from 1997. The same parameter values were adopted for ED50 to WGS84 (variant 23) transformation offshore Norway north of 62N from April 2001 - see code 1612.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4230','EPSG','4258',1.0,-116.641,-56.931,-110.559,'EPSG','9001',4.327,4.464,-4.444,'EPSG','9109',-3.52,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'NMA-Nor N65 1997',0);
INSERT INTO "usage" VALUES('EPSG','8509','helmert_transformation','EPSG','1588','EPSG','2332','EPSG','1041');
-INSERT INTO "helmert_transformation" VALUES('EPSG','1591','RGF93 to ETRS89 (1)','RGF93 is a national realization of ETRS89. May be taken as approximate transformation RGF93 to WGS 84 - see code 1671.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4171','EPSG','4258',0.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'IGN-Fra',0);
+INSERT INTO "helmert_transformation" VALUES('EPSG','1591','RGF93 v1 to ETRS89 (1)','RGF93 v1 is a national realization of ETRS89. May be taken as approximate transformation RGF93 v1 to WGS 84 - see code 1671.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4171','EPSG','4258',0.1,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'IGN-Fra',0);
INSERT INTO "usage" VALUES('EPSG','8512','helmert_transformation','EPSG','1591','EPSG','1096','EPSG','1161');
INSERT INTO "helmert_transformation" VALUES('EPSG','1592','Timbalai 1948 to WGS 84 (2)','Originally used by BSP offshore only, use extended to onshore in 2010.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4298','EPSG','4326',5.0,-678.0,670.0,-48.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BSP-Brn',0);
INSERT INTO "usage" VALUES('EPSG','8513','helmert_transformation','EPSG','1592','EPSG','1055','EPSG','1136');
@@ -814,7 +814,7 @@ INSERT INTO "helmert_transformation" VALUES('EPSG','1668','AGD66 to WGS 84 (15)'
INSERT INTO "usage" VALUES('EPSG','8589','helmert_transformation','EPSG','1668','EPSG','2284','EPSG','1252');
INSERT INTO "helmert_transformation" VALUES('EPSG','1669','AGD84 to WGS 84 (7)','Parameter values from AGD84 to GDA94 (2) (code 1280). Approximation assuming WGS 84 is equivalent to GDA94; ignores low accuracy of the WGS 84 ensemble and inconsistent application of tectonic plate motion. Replaces AGD84 to WGS 84 (2) (code 1236).','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4203','EPSG','4326',3.0,-117.763,-51.51,139.061,'EPSG','9001',-0.292,-0.443,-0.277,'EPSG','9104',-0.191,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Aus 1m',0);
INSERT INTO "usage" VALUES('EPSG','8590','helmert_transformation','EPSG','1669','EPSG','2576','EPSG','1252');
-INSERT INTO "helmert_transformation" VALUES('EPSG','1671','RGF93 to WGS 84 (1)','Parameter values from RGF93 to ETRS89 (1) (code 1591) assuming that ETRS89 is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4171','EPSG','4326',1.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Fra',0);
+INSERT INTO "helmert_transformation" VALUES('EPSG','1671','RGF93 v1 to WGS 84 (1)','Approximation at the 1m level assuming that ETRS89 is equivalent to WGS 84 within the accuracy of the transformation. (RGF93 v1 is a national realization of ETRS89).','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4171','EPSG','4326',1.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Fra',0);
INSERT INTO "usage" VALUES('EPSG','8592','helmert_transformation','EPSG','1671','EPSG','1096','EPSG','1252');
INSERT INTO "helmert_transformation" VALUES('EPSG','1672','Amersfoort to WGS 84 (2)','Parameter values from Amersfoort to ETRS89 (1) (code 1751) assuming that ETRS89 is equivalent to WGS 84 within the accuracy of the transformation. Replaces Amersfoort to WGS 84 (1) (code 1112). Replaced by Amersfoort to WGS 84 (3) (code 15934).','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4289','EPSG','4326',1.0,565.04,49.91,465.84,'EPSG','9001',1.9848,-1.7439,9.0587,'EPSG','9109',4.0772,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Nld',0);
INSERT INTO "usage" VALUES('EPSG','8593','helmert_transformation','EPSG','1672','EPSG','1275','EPSG','1252');
@@ -999,7 +999,7 @@ INSERT INTO "helmert_transformation" VALUES('EPSG','1839','Beduaram to WGS 72BE
INSERT INTO "usage" VALUES('EPSG','8760','helmert_transformation','EPSG','1839','EPSG','2771','EPSG','1136');
INSERT INTO "helmert_transformation" VALUES('EPSG','1840','QND95 to WGS 84 (1)','Transformation defines QND95. May be approximated to 1m throughout Qatar by geocentric translation transformation with dX=-127.78098m, dY=-283.37477m, dZ=+21.24081m.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4614','EPSG','4326',0.0,-119.4248,-303.65872,-11.00061,'EPSG','9001',1.164298,0.174458,1.096259,'EPSG','9104',3.657065,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'CGIS-Qat',0);
INSERT INTO "usage" VALUES('EPSG','8761','helmert_transformation','EPSG','1840','EPSG','1346','EPSG','1113');
-INSERT INTO "helmert_transformation" VALUES('EPSG','1842','NAD83(CSRS) to WGS 84 (1)','For many purposes NAD83(CSRS) can be considered to be coincident with WGS 84.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4617','EPSG','4326',1.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Can',0);
+INSERT INTO "helmert_transformation" VALUES('EPSG','1842','NAD83(CSRS) to WGS 84 (1)','For many purposes NAD83(CSRS) can be considered to be coincident with WGS 84.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4617','EPSG','4326',2.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Can',0);
INSERT INTO "usage" VALUES('EPSG','8763','helmert_transformation','EPSG','1842','EPSG','1061','EPSG','1252');
INSERT INTO "helmert_transformation" VALUES('EPSG','1852','Timbalai 1948 to WGS 84 (4)','Derived by Racal Survey for SSB at 24 coastal stations (including Timbalai fundamental point and 6 other primary triangulation stations) between in Sabah (Kudat southwards) and Sarawak (Sibu northwards).','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4298','EPSG','4326',5.0,-533.4,669.2,-52.5,'EPSG','9001',0.0,0.0,4.28,'EPSG','9104',9.4,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SSB-Mys E',0);
INSERT INTO "usage" VALUES('EPSG','8773','helmert_transformation','EPSG','1852','EPSG','2780','EPSG','1136');
@@ -1054,7 +1054,7 @@ INSERT INTO "usage" VALUES('EPSG','8797','helmert_transformation','EPSG','1876',
INSERT INTO "helmert_transformation" VALUES('EPSG','1877','SAD69 to WGS 84 (14)','Derived by Brazilian Institute of Geography and Statistics (IBGE) in 1989 at Chua origin point. In use by Shell throughout Brazil. For use by Petrobras and ANP, replaced by tfm code 5882 from 1994.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4618','EPSG','4326',5.0,-66.87,4.37,-38.52,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'IGBE-Bra',0);
INSERT INTO "usage" VALUES('EPSG','8798','helmert_transformation','EPSG','1877','EPSG','1053','EPSG','1210');
INSERT INTO "helmert_transformation" VALUES('EPSG','1878','SWEREF99 to ETRS89 (1)','Can be taken as an approximate transformation SWEREF99 to WGS 84 - see code 1879.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4619','EPSG','4258',0.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'NLS-Swe',0);
-INSERT INTO "usage" VALUES('EPSG','8799','helmert_transformation','EPSG','1878','EPSG','1225','EPSG','1027');
+INSERT INTO "usage" VALUES('EPSG','8799','helmert_transformation','EPSG','1878','EPSG','1225','EPSG','1161');
INSERT INTO "helmert_transformation" VALUES('EPSG','1879','SWEREF99 to WGS 84 (1)','Parameter values taken from SWEREF to ETRS89 (1) (code 1878) assuming that ETRS89 is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4619','EPSG','4326',1.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Swe',0);
INSERT INTO "usage" VALUES('EPSG','8800','helmert_transformation','EPSG','1879','EPSG','1225','EPSG','1252');
INSERT INTO "helmert_transformation" VALUES('EPSG','1880','Point 58 to WGS 84 (1)','Derived at one point in each of Burkina Faso and Niger. Accuracy 25m in each axis.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4620','EPSG','4326',44.0,-106.0,-129.0,165.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'NIMA-Bfa Ner',0);
@@ -1088,9 +1088,9 @@ INSERT INTO "usage" VALUES('EPSG','8819','helmert_transformation','EPSG','1898',
INSERT INTO "helmert_transformation" VALUES('EPSG','1899','Segara to WGS 84 (3)','','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4613','EPSG','4326',10.0,-403.4,681.12,46.56,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shl-Idn Kal NE',0);
INSERT INTO "usage" VALUES('EPSG','8820','helmert_transformation','EPSG','1899','EPSG','2770','EPSG','1136');
INSERT INTO "helmert_transformation" VALUES('EPSG','1900','NAD83(HARN) to WGS 84 (2)','Approximation derived ignoring time-dependent parameters and assuming ITRF94(1996.0) and WGS 84, plus NAD83(CORS94) and NAD83(HARN), can be considered the same within the accuracy of the transformation. Replaced by NAD83(HARN) to WGS 84 (3) (code 1901).','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4152','EPSG','4326',1.0,-0.9738,1.9453,0.5486,'EPSG','9001',-1.3357e-07,-4.872e-08,-5.507e-08,'EPSG','9101',0.0,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'NGS-Usa ITRF94',0);
-INSERT INTO "usage" VALUES('EPSG','8821','helmert_transformation','EPSG','1900','EPSG','1323','EPSG','1252');
+INSERT INTO "usage" VALUES('EPSG','8821','helmert_transformation','EPSG','1900','EPSG','1323','EPSG','1159');
INSERT INTO "helmert_transformation" VALUES('EPSG','1901','NAD83(HARN) to WGS 84 (3)','Approximation derived from tfm code 6864 ignoring time-dependent parameters and assuming ITRF96(1997.0) and WGS 84, plus NAD83(CORS96) and NAD83(HARN), can be considered the same within the accuracy of the tfm. In USA only replaces tfm code 1900.','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4152','EPSG','4326',1.0,-0.991,1.9072,0.5129,'EPSG','9001',-1.25033e-07,-4.6785e-08,-5.6529e-08,'EPSG','9101',0.0,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'NGS-Usa ITRF96',0);
-INSERT INTO "usage" VALUES('EPSG','8822','helmert_transformation','EPSG','1901','EPSG','1323','EPSG','1252');
+INSERT INTO "usage" VALUES('EPSG','8822','helmert_transformation','EPSG','1901','EPSG','1323','EPSG','1159');
INSERT INTO "helmert_transformation" VALUES('EPSG','1902','Manoca 1962 to WGS 72BE (1)','Derived at 6 stations using Transit in 1977.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4193','EPSG','4324',5.0,-56.7,-171.8,-40.6,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GOC-Cmr',0);
INSERT INTO "usage" VALUES('EPSG','8823','helmert_transformation','EPSG','1902','EPSG','2555','EPSG','1136');
INSERT INTO "helmert_transformation" VALUES('EPSG','1903','Fort Marigot to WGS 84 (1)','','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4621','EPSG','4326',10.0,137.0,248.0,-430.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'IGN-Glp',0);
@@ -1180,7 +1180,7 @@ INSERT INTO "usage" VALUES('EPSG','8865','helmert_transformation','EPSG','1944',
INSERT INTO "helmert_transformation" VALUES('EPSG','1945','Datum 73 to WGS 84 (2)','Parameter values from Datum 73 to ETRS89 (2) (code 1792). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4274','EPSG','4326',NULL,-231.0,102.6,29.8,'EPSG','9001',0.615,-0.198,0.881,'EPSG','9104',1.79,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Prt 2001',1);
INSERT INTO "usage" VALUES('EPSG','8866','helmert_transformation','EPSG','1945','EPSG','1294','EPSG','1041');
INSERT INTO "helmert_transformation" VALUES('EPSG','1946','NAD83(CSRS) to WGS 84 (2)','Approximation derived from tfm code 6864 ignoring time-dependent parameters and assuming ITRF96(1997.0) and WGS 84 can be considered the same within the accuracy of the transformation.','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4617','EPSG','4326',1.0,-0.991,1.9072,0.5129,'EPSG','9001',-1.25033e-07,-4.6785e-08,-5.6529e-08,'EPSG','9101',0.0,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'NGS-Usa ITRF96',0);
-INSERT INTO "usage" VALUES('EPSG','8867','helmert_transformation','EPSG','1946','EPSG','1061','EPSG','1252');
+INSERT INTO "usage" VALUES('EPSG','8867','helmert_transformation','EPSG','1946','EPSG','1061','EPSG','1159');
INSERT INTO "helmert_transformation" VALUES('EPSG','1950','NAD83 to NAD83(CSRS) (4)','Used as part of NAD27 to/from WGS 84 transformation for offshore oil operations - see code 8647.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4269','EPSG','4617',2.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Can E Off',0);
INSERT INTO "usage" VALUES('EPSG','8871','helmert_transformation','EPSG','1950','EPSG','2831','EPSG','1136');
INSERT INTO "helmert_transformation" VALUES('EPSG','1951','Hjorsey 1955 to WGS 84 (1)','Derived at 6 stations. Accuracy 3m, 3m and 5m in X, Y and Z axes. Replaced by Hjorsey 1955 to WGS 84 (2) (code 6909).','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4658','EPSG','4326',7.0,-73.0,46.0,-86.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'DMA-Isl',0);
@@ -1580,7 +1580,7 @@ INSERT INTO "usage" VALUES('EPSG','9457','helmert_transformation','EPSG','5521',
INSERT INTO "helmert_transformation" VALUES('EPSG','5553','PNG94 to WGS 84 (1)','Exact in 1994 but due to significant and variable tectonic activity in PNG, in 2011 PNG94 and WGS 84 differ generally by 2m but in areas of significant tectonic activity differences can exceed 9m.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','5546','EPSG','4326',2.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'OGP-PNG',0);
INSERT INTO "usage" VALUES('EPSG','9470','helmert_transformation','EPSG','5553','EPSG','1187','EPSG','1252');
INSERT INTO "helmert_transformation" VALUES('EPSG','5584','MOLDREF99 to ETRS89 (1)','MOLDREF is a densification of ETRS89 in Moldova.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4023','EPSG','4258',0.1,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'OGP-Mda',0);
-INSERT INTO "usage" VALUES('EPSG','9472','helmert_transformation','EPSG','5584','EPSG','1162','EPSG','1031');
+INSERT INTO "usage" VALUES('EPSG','9472','helmert_transformation','EPSG','5584','EPSG','1162','EPSG','1161');
INSERT INTO "helmert_transformation" VALUES('EPSG','5585','MOLDREF99 to WGS 84 (1)','Parameter values from MOLDREF99 to ETRS89 (1) (code 5584). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4023','EPSG','4326',1.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'OGP-Mda',0);
INSERT INTO "usage" VALUES('EPSG','9473','helmert_transformation','EPSG','5585','EPSG','1162','EPSG','1041');
INSERT INTO "helmert_transformation" VALUES('EPSG','5586','Pulkovo 1942 to UCS-2000 (1)','UCS-2000 is defined to be approximately consistent with Pulkovo 1942 and this transformation''s accuracy is due to deformation of the Pulkovo system across Ukranian territory.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4284','EPSG','5561',3.5,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'OGP-Ukr',0);
@@ -2089,13 +2089,13 @@ INSERT INTO "usage" VALUES('EPSG','10571','helmert_transformation','EPSG','8452'
INSERT INTO "helmert_transformation" VALUES('EPSG','8674','La Canoa to PSAD56 (1)','In Venezuela PSAD56 is coincident with La Canoa.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4247','EPSG','4248',0.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'LAG-Ven E',0);
INSERT INTO "usage" VALUES('EPSG','10766','helmert_transformation','EPSG','8674','EPSG','3327','EPSG','1027');
INSERT INTO "helmert_transformation" VALUES('EPSG','8680','MGI 1901 to ETRS89 (7)','Derived at 1385 points across the area of Bosnia and Herzegovina. May be taken as approximate transformation MGI 1901 to WGS 84 (see code 8823).','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','3906','EPSG','4258',1.0,489.88,183.912,533.711,'EPSG','9001',5.76545,4.69994,-12.58211,'EPSG','9104',1.00646,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'FGA-Bih',0);
-INSERT INTO "usage" VALUES('EPSG','10768','helmert_transformation','EPSG','8680','EPSG','1050','EPSG','1252');
+INSERT INTO "usage" VALUES('EPSG','10768','helmert_transformation','EPSG','8680','EPSG','1050','EPSG','1056');
INSERT INTO "helmert_transformation" VALUES('EPSG','8681','MGI 1901 to WGS 84 (12)','Parameter values from MGI 1901 to ETRS89 (7) (code 8680). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','3906','EPSG','4258',1.0,489.88,183.912,533.711,'EPSG','9001',5.76545,4.69994,-12.58211,'EPSG','9104',1.00646,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'FGA-Bih',1);
INSERT INTO "usage" VALUES('EPSG','10769','helmert_transformation','EPSG','8681','EPSG','1050','EPSG','1252');
INSERT INTO "helmert_transformation" VALUES('EPSG','8688','MGI 1901 to WGS 84 (12)','Parameter values from MGI to Slovenia 1996 (12) (tfm code 8689) assuming Slovenia 1996 and WGS 84 can be considered the same to within the accuracy of the transformation.','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','3906','EPSG','4326',1.0,476.08,125.947,417.81,'EPSG','9001',-4.610862,-2.388137,11.942335,'EPSG','9104',9.896638,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GuRS-Svn 2010',0);
INSERT INTO "usage" VALUES('EPSG','10770','helmert_transformation','EPSG','8688','EPSG','3307','EPSG','1252');
INSERT INTO "helmert_transformation" VALUES('EPSG','8689','MGI 1901 to Slovenia 1996 (12)','Derived at 479 nodes of Delauney triangulation generated from 1958 control points. Replaces MGI 1901 to Slovenia 1996 (1) (code 3916). May be taken as approximate transformation MGI 1901 to WGS 84 (see code 8688).','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','3906','EPSG','4765',1.0,476.08,125.947,417.81,'EPSG','9001',-4.610862,-2.388137,11.942335,'EPSG','9104',9.896638,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GuRS-Svn 2010',0);
-INSERT INTO "usage" VALUES('EPSG','10771','helmert_transformation','EPSG','8689','EPSG','3307','EPSG','1252');
+INSERT INTO "usage" VALUES('EPSG','10771','helmert_transformation','EPSG','8689','EPSG','3307','EPSG','1158');
INSERT INTO "helmert_transformation" VALUES('EPSG','8695','Camacupa 1948 to Camacupa 2015 (1)','Concatenation of transformations 1327 and 8882.','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4220','EPSG','8694',5.8,42.899,-214.863,-11.927,'EPSG','9001',-1.844,0.648,-6.37,'EPSG','9104',0.169,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'IOGP-Ago',0);
INSERT INTO "usage" VALUES('EPSG','10772','helmert_transformation','EPSG','8695','EPSG','2324','EPSG','1027');
INSERT INTO "helmert_transformation" VALUES('EPSG','8696','Camacupa 1948 to Camacupa 2015 (2)','Concatenation of transformations 1324 and 8882.','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4220','EPSG','8694',4.2,45.799,-212.263,-11.927,'EPSG','9001',-1.844,0.648,-6.37,'EPSG','9104',0.169,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'IOGP-Ago B15',0);
@@ -2432,6 +2432,30 @@ INSERT INTO "helmert_transformation" VALUES('EPSG','9751','CR05 to CR-SIRGAS (1)
INSERT INTO "usage" VALUES('EPSG','15596','helmert_transformation','EPSG','9751','EPSG','1074','EPSG','1035');
INSERT INTO "helmert_transformation" VALUES('EPSG','9752','CR05 to WGS 84 (2)','Parameter vales are from CR05 to CR-SIRGAS (1) (code 9751) assuming that CR-SIRGAS (ITRF08 (IGb08)@2014.59) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','5365','EPSG','4326',1.0,-0.16959,0.35312,0.51846,'EPSG','9001',-0.03385,0.16325,-0.03446,'EPSG','9104',0.03693,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'IGN-Cri 2014',0);
INSERT INTO "usage" VALUES('EPSG','15832','helmert_transformation','EPSG','9752','EPSG','1074','EPSG','1041');
+INSERT INTO "helmert_transformation" VALUES('EPSG','9768','Kyrg-06 to WGS 84 (1)','For many purposes Kyrg-06 can be considered to be coincident with WGS 84. This approximation ignores the low accuracy of the WGS 84 ensemble and the application of tectonic plate motion to WGS 84 data.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','7686','EPSG','4326',1.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Kgz',0);
+INSERT INTO "usage" VALUES('EPSG','16666','helmert_transformation','EPSG','9768','EPSG','1137','EPSG','1252');
+INSERT INTO "helmert_transformation" VALUES('EPSG','9769','RGWF96 to WGS 84 (1)','For many purposes RGWF96 can be considered to be coincident with WGS 84. This approximation ignores the low accuracy of the WGS 84 ensemble and the application of tectonic plate motion to WGS 84 data.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','8900','EPSG','4326',1.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Wlf',0);
+INSERT INTO "usage" VALUES('EPSG','16667','helmert_transformation','EPSG','9769','EPSG','1255','EPSG','1252');
+INSERT INTO "helmert_transformation" VALUES('EPSG','9770','RGTAAF07 to WGS 84 (1)','For many purposes RGTAAF07 can be considered to be coincident with WGS 84. This approximation ignores the low accuracy of the WGS 84 ensemble and the application of tectonic plate motion to WGS 84 data.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','7073','EPSG','4326',1.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Atf',0);
+INSERT INTO "usage" VALUES('EPSG','16668','helmert_transformation','EPSG','9770','EPSG','4246','EPSG','1252');
+INSERT INTO "helmert_transformation" VALUES('EPSG','9771','TGD2005 to WGS 84 (1)','For many purposes TGD2005 can be considered to be coincident with WGS 84. This approximation ignores the low accuracy of the WGS 84 ensemble and the application of tectonic plate motion to WGS 84 data.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','5886','EPSG','4326',1.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Ton',0);
+INSERT INTO "usage" VALUES('EPSG','16669','helmert_transformation','EPSG','9771','EPSG','1234','EPSG','1252');
+INSERT INTO "helmert_transformation" VALUES('EPSG','9772','ETRF2000-PL to WGS 84 (1)','For many purposes ETRF2000-PL can be considered to be coincident with WGS 84. This approximation ignores the low accuracy of the WGS 84 ensemble and the application of tectonic plate motion to WGS 84 data.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','9702','EPSG','4326',1.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Pol',0);
+INSERT INTO "usage" VALUES('EPSG','16670','helmert_transformation','EPSG','9772','EPSG','1192','EPSG','1252');
+INSERT INTO "helmert_transformation" VALUES('EPSG','9773','GSK-2011 to WGS 84 (1)','For many purposes GSK-2011 can be considered to be coincident with WGS 84. This approximation ignores the low accuracy of the WGS 84 ensemble and the application of tectonic plate motion to WGS 84 data.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','7683','EPSG','4326',1.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Rus',0);
+INSERT INTO "usage" VALUES('EPSG','16671','helmert_transformation','EPSG','9773','EPSG','1198','EPSG','1252');
+INSERT INTO "helmert_transformation" VALUES('EPSG','9774','NAD83(2011) to WGS 84 (1)','For many purposes NAD83(2011) can be considered to be coincident with WGS 84. This approximation ignores the ~2.2m offset of NAD83 from the geocentre, the low accuracy of the WGS 84 ensemble and the application of tectonic plate motion to WGS 84 data.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','6318','EPSG','4326',2.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Usa Conus AK PRVI',0);
+INSERT INTO "usage" VALUES('EPSG','16675','helmert_transformation','EPSG','9774','EPSG','1511','EPSG','1252');
+INSERT INTO "helmert_transformation" VALUES('EPSG','9788','RGF93 v2 to RGF93 v2b','Derived at 465 permanent GNSS stations. In use from 2021-01-05.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','9777','EPSG','9782',0.005,-0.017,0.058,0.009,'EPSG','9001',0.001305,0.00068,-0.001467,'EPSG','9104',-0.00072,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'IGN-Fra',0);
+INSERT INTO "usage" VALUES('EPSG','16601','helmert_transformation','EPSG','9788','EPSG','1096','EPSG','1179');
+INSERT INTO "helmert_transformation" VALUES('EPSG','9789','RGF93 v2 to ETRS89 (1)','RGF93 v2 is a national realization of ETRS89. May be taken as approximate transformation RGF93 v2 to WGS 84 - see code 9791.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','9777','EPSG','4258',0.02,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'IGN-Fra',0);
+INSERT INTO "usage" VALUES('EPSG','16638','helmert_transformation','EPSG','9789','EPSG','1096','EPSG','1161');
+INSERT INTO "helmert_transformation" VALUES('EPSG','9790','RGF93 v2b to ETRS89 (1)','RGF93 v2b is a national realization of ETRS89. May be taken as approximate transformation RGF93 v2b to WGS 84 - see CT code 9792.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','9782','EPSG','4258',0.01,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'IGN-Fra',0);
+INSERT INTO "usage" VALUES('EPSG','16656','helmert_transformation','EPSG','9790','EPSG','1096','EPSG','1161');
+INSERT INTO "helmert_transformation" VALUES('EPSG','9791','RGF93 v2 to WGS 84 (1)','Approximation at the 1m level assuming that ETRS89 is equivalent to WGS 84 within the accuracy of the transformation. (RGF93 v2 is a national realization of ETRS89).','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','9777','EPSG','4326',1.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Fra',0);
+INSERT INTO "usage" VALUES('EPSG','16612','helmert_transformation','EPSG','9791','EPSG','1096','EPSG','1252');
+INSERT INTO "helmert_transformation" VALUES('EPSG','9792','RGF93 v2b to WGS 84 (1)','Approximation at the 1m level assuming that ETRS89 is equivalent to WGS 84 within the accuracy of the transformation. (RGF93 v2b is a national realization of ETRS89).','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','9782','EPSG','4326',1.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Fra',0);
+INSERT INTO "usage" VALUES('EPSG','16613','helmert_transformation','EPSG','9792','EPSG','1096','EPSG','1252');
INSERT INTO "helmert_transformation" VALUES('EPSG','10085','Trinidad 1903 to WGS 84 (2)','Parameter values provided to EOG by Trinidad Ministry of Energy and Energy Industries. Used by EOG offshore Trinidad (including Pelican, Kiskadee and Ibis fields) since 1996.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4302','EPSG','4326',3.0,-61.0,285.2,471.6,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EOG-Tto Trin',0);
INSERT INTO "usage" VALUES('EPSG','11086','helmert_transformation','EPSG','10085','EPSG','1339','EPSG','1136');
INSERT INTO "helmert_transformation" VALUES('EPSG','10086','JAD69 to WGS 72 (1)','Derived in 1977 through Transit observations at 2 stations by US DMA.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4242','EPSG','4322',15.0,48.0,208.0,382.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SD-Jam',0);
@@ -2873,8 +2897,8 @@ INSERT INTO "helmert_transformation" VALUES('EPSG','15929','BD72 to WGS 84 (3)',
INSERT INTO "usage" VALUES('EPSG','11940','helmert_transformation','EPSG','15929','EPSG','1347','EPSG','1041');
INSERT INTO "helmert_transformation" VALUES('EPSG','15930','NAD83(HARN) to NAD83(NSRS2007) (1)','Accuracy 0.1 to 0.2m in California, 0.05-0.11 in Oregon, elsewhere better than 0.05m.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4152','EPSG','4326',0.1,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'OGP-USA conus',1);
INSERT INTO "usage" VALUES('EPSG','11941','helmert_transformation','EPSG','15930','EPSG','1323','EPSG','1032');
-INSERT INTO "helmert_transformation" VALUES('EPSG','15931','NAD83(NSRS2007) to WGS 84 (1)','Approximation at the +/- 1m level assuming that NAD83(NSRS2007) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4759','EPSG','4326',1.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'OGP-USA conus AK',0);
-INSERT INTO "usage" VALUES('EPSG','11942','helmert_transformation','EPSG','15931','EPSG','1511','EPSG','1041');
+INSERT INTO "helmert_transformation" VALUES('EPSG','15931','NAD83(NSRS2007) to WGS 84 (1)','Approximation assuming that NAD83(NSRS2007) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4759','EPSG','4326',2.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'OGP-USA conus AK',0);
+INSERT INTO "usage" VALUES('EPSG','11942','helmert_transformation','EPSG','15931','EPSG','1511','EPSG','1252');
INSERT INTO "helmert_transformation" VALUES('EPSG','15934','Amersfoort to WGS 84 (3)','Parameter values from Amersfoort to ETRS89 (3) (tfm code 15739) assuming that ETRS89 is equivalent to WGS 84 within the accuracy of the transformation. Replaces Amersfoort to WGS 84 (2) (code 1672). Replaced by Amersfoort to WGS 84 (4) (tfm code 4833).','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4289','EPSG','4326',1.0,565.2369,50.0087,465.658,'EPSG','9001',1.9725,-1.7004,9.0677,'EPSG','9109',4.0812,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'OGP-Nld',0);
INSERT INTO "usage" VALUES('EPSG','11945','helmert_transformation','EPSG','15934','EPSG','1275','EPSG','1252');
INSERT INTO "helmert_transformation" VALUES('EPSG','15935','Beijing 1954 to WGS 84 (5)','Concatenated via WGS 72BE. Recomputation by Shelltech in 1981 of SSB 1980 observation.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4214','EPSG','4326',10.0,18.0,-136.8,-73.7,'EPSG','9001',0.0,0.0,0.814,'EPSG','9104',-0.38,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shlt-Chn BeiBu',0);
@@ -2918,7 +2942,7 @@ INSERT INTO "usage" VALUES('EPSG','11985','helmert_transformation','EPSG','15975
INSERT INTO "helmert_transformation" VALUES('EPSG','15976','Slovenia 1996 to WGS 84 (1)','Approximation at the +/- 1m level assuming that ETRS89 is equivalent to WGS 84.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4765','EPSG','4326',1.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'OGP-Svn',0);
INSERT INTO "usage" VALUES('EPSG','11986','helmert_transformation','EPSG','15976','EPSG','1212','EPSG','1041');
INSERT INTO "helmert_transformation" VALUES('EPSG','15977','Slovenia 1996 to ETRS89 (1)','Slovenia 1996 is a local densification of ETRS89.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4765','EPSG','4258',0.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'OGP-Svn',0);
-INSERT INTO "usage" VALUES('EPSG','11987','helmert_transformation','EPSG','15977','EPSG','1212','EPSG','1041');
+INSERT INTO "usage" VALUES('EPSG','11987','helmert_transformation','EPSG','15977','EPSG','1212','EPSG','1161');
INSERT INTO "helmert_transformation" VALUES('EPSG','15978','NAD27 to WGS 84 (88)','','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4267','EPSG','4326',1.0,2.478,149.752,197.726,'EPSG','9001',-0.526,-0.498,0.501,'EPSG','9104',0.685,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'ONHG-Cub',0);
INSERT INTO "usage" VALUES('EPSG','11988','helmert_transformation','EPSG','15978','EPSG','1077','EPSG','1041');
INSERT INTO "helmert_transformation" VALUES('EPSG','15979','AGD66 to GDA94 (12)','Use only offshore: onshore, transformations 1458 (ACT), 1594 (Tas), 1460 (NSW and Vic) and 1595 (NT) are more accurate.','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4202','EPSG','4283',3.0,-117.808,-51.536,137.784,'EPSG','9001',-0.303,-0.446,-0.234,'EPSG','9104',-0.29,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'ICSM-Aus off',0);
diff --git a/data/sql/metadata.sql b/data/sql/metadata.sql
index 373c92b7..7be5382e 100644
--- a/data/sql/metadata.sql
+++ b/data/sql/metadata.sql
@@ -9,8 +9,8 @@
INSERT INTO "metadata" VALUES('DATABASE.LAYOUT.VERSION.MAJOR', 1);
INSERT INTO "metadata" VALUES('DATABASE.LAYOUT.VERSION.MINOR', 1);
-INSERT INTO "metadata" VALUES('EPSG.VERSION', 'v10.033');
-INSERT INTO "metadata" VALUES('EPSG.DATE', '2021-08-26');
+INSERT INTO "metadata" VALUES('EPSG.VERSION', 'v10.035');
+INSERT INTO "metadata" VALUES('EPSG.DATE', '2021-09-10');
-- The value of ${PROJ_VERSION} is substituted at build time by the actual
-- value.
diff --git a/data/sql/projected_crs.sql b/data/sql/projected_crs.sql
index b14d0677..53a6895a 100644
--- a/data/sql/projected_crs.sql
+++ b/data/sql/projected_crs.sql
@@ -308,7 +308,7 @@ INSERT INTO "projected_crs" VALUES('EPSG','2152','NAD83(CSRS98) / UTM zone 12N',
INSERT INTO "usage" VALUES('EPSG','1176','projected_crs','EPSG','2152','EPSG','1507','EPSG','1142');
INSERT INTO "projected_crs" VALUES('EPSG','2153','NAD83(CSRS98) / UTM zone 11N',NULL,'EPSG','4400','EPSG','4140','EPSG','16011',NULL,1);
INSERT INTO "usage" VALUES('EPSG','1177','projected_crs','EPSG','2153','EPSG','1508','EPSG','1142');
-INSERT INTO "projected_crs" VALUES('EPSG','2154','RGF93 / Lambert-93',NULL,'EPSG','4499','EPSG','4171','EPSG','18085',NULL,0);
+INSERT INTO "projected_crs" VALUES('EPSG','2154','RGF93 v1 / Lambert-93',NULL,'EPSG','4499','EPSG','4171','EPSG','18085',NULL,0);
INSERT INTO "usage" VALUES('EPSG','1178','projected_crs','EPSG','2154','EPSG','1096','EPSG','1142');
INSERT INTO "projected_crs" VALUES('EPSG','2155','American Samoa 1962 / American Samoa Lambert',NULL,'EPSG','4497','EPSG','4169','EPSG','15300',NULL,1);
INSERT INTO "usage" VALUES('EPSG','1179','projected_crs','EPSG','2155','EPSG','1027','EPSG','1142');
@@ -3703,23 +3703,23 @@ INSERT INTO "projected_crs" VALUES('EPSG','3912','MGI 1901 / Slovene National Gr
INSERT INTO "usage" VALUES('EPSG','2890','projected_crs','EPSG','3912','EPSG','1212','EPSG','1092');
INSERT INTO "projected_crs" VALUES('EPSG','3920','Puerto Rico / UTM zone 20N',NULL,'EPSG','4400','EPSG','4139','EPSG','16020',NULL,0);
INSERT INTO "usage" VALUES('EPSG','2891','projected_crs','EPSG','3920','EPSG','3329','EPSG','1142');
-INSERT INTO "projected_crs" VALUES('EPSG','3942','RGF93 / CC42',NULL,'EPSG','4499','EPSG','4171','EPSG','18101',NULL,0);
+INSERT INTO "projected_crs" VALUES('EPSG','3942','RGF93 v1 / CC42',NULL,'EPSG','4499','EPSG','4171','EPSG','18101',NULL,0);
INSERT INTO "usage" VALUES('EPSG','2892','projected_crs','EPSG','3942','EPSG','3545','EPSG','1054');
-INSERT INTO "projected_crs" VALUES('EPSG','3943','RGF93 / CC43',NULL,'EPSG','4499','EPSG','4171','EPSG','18102',NULL,0);
+INSERT INTO "projected_crs" VALUES('EPSG','3943','RGF93 v1 / CC43',NULL,'EPSG','4499','EPSG','4171','EPSG','18102',NULL,0);
INSERT INTO "usage" VALUES('EPSG','2893','projected_crs','EPSG','3943','EPSG','3546','EPSG','1054');
-INSERT INTO "projected_crs" VALUES('EPSG','3944','RGF93 / CC44',NULL,'EPSG','4499','EPSG','4171','EPSG','18103',NULL,0);
+INSERT INTO "projected_crs" VALUES('EPSG','3944','RGF93 v1 / CC44',NULL,'EPSG','4499','EPSG','4171','EPSG','18103',NULL,0);
INSERT INTO "usage" VALUES('EPSG','2894','projected_crs','EPSG','3944','EPSG','3547','EPSG','1054');
-INSERT INTO "projected_crs" VALUES('EPSG','3945','RGF93 / CC45',NULL,'EPSG','4499','EPSG','4171','EPSG','18104',NULL,0);
+INSERT INTO "projected_crs" VALUES('EPSG','3945','RGF93 v1 / CC45',NULL,'EPSG','4499','EPSG','4171','EPSG','18104',NULL,0);
INSERT INTO "usage" VALUES('EPSG','2895','projected_crs','EPSG','3945','EPSG','3548','EPSG','1054');
-INSERT INTO "projected_crs" VALUES('EPSG','3946','RGF93 / CC46',NULL,'EPSG','4499','EPSG','4171','EPSG','18105',NULL,0);
+INSERT INTO "projected_crs" VALUES('EPSG','3946','RGF93 v1 / CC46',NULL,'EPSG','4499','EPSG','4171','EPSG','18105',NULL,0);
INSERT INTO "usage" VALUES('EPSG','2896','projected_crs','EPSG','3946','EPSG','3549','EPSG','1054');
-INSERT INTO "projected_crs" VALUES('EPSG','3947','RGF93 / CC47',NULL,'EPSG','4499','EPSG','4171','EPSG','18106',NULL,0);
+INSERT INTO "projected_crs" VALUES('EPSG','3947','RGF93 v1 / CC47',NULL,'EPSG','4499','EPSG','4171','EPSG','18106',NULL,0);
INSERT INTO "usage" VALUES('EPSG','2897','projected_crs','EPSG','3947','EPSG','3550','EPSG','1054');
-INSERT INTO "projected_crs" VALUES('EPSG','3948','RGF93 / CC48',NULL,'EPSG','4499','EPSG','4171','EPSG','18107',NULL,0);
+INSERT INTO "projected_crs" VALUES('EPSG','3948','RGF93 v1 / CC48',NULL,'EPSG','4499','EPSG','4171','EPSG','18107',NULL,0);
INSERT INTO "usage" VALUES('EPSG','2898','projected_crs','EPSG','3948','EPSG','3551','EPSG','1054');
-INSERT INTO "projected_crs" VALUES('EPSG','3949','RGF93 / CC49',NULL,'EPSG','4499','EPSG','4171','EPSG','18108',NULL,0);
+INSERT INTO "projected_crs" VALUES('EPSG','3949','RGF93 v1 / CC49',NULL,'EPSG','4499','EPSG','4171','EPSG','18108',NULL,0);
INSERT INTO "usage" VALUES('EPSG','2899','projected_crs','EPSG','3949','EPSG','3552','EPSG','1054');
-INSERT INTO "projected_crs" VALUES('EPSG','3950','RGF93 / CC50',NULL,'EPSG','4499','EPSG','4171','EPSG','18109',NULL,0);
+INSERT INTO "projected_crs" VALUES('EPSG','3950','RGF93 v1 / CC50',NULL,'EPSG','4499','EPSG','4171','EPSG','18109',NULL,0);
INSERT INTO "usage" VALUES('EPSG','2900','projected_crs','EPSG','3950','EPSG','3553','EPSG','1054');
INSERT INTO "projected_crs" VALUES('EPSG','3968','NAD83 / Virginia Lambert',NULL,'EPSG','4499','EPSG','4269','EPSG','3967',NULL,0);
INSERT INTO "usage" VALUES('EPSG','2901','projected_crs','EPSG','3968','EPSG','1415','EPSG','1135');
@@ -7331,6 +7331,46 @@ INSERT INTO "projected_crs" VALUES('EPSG','9761','ECML14_NB Grid',NULL,'EPSG','4
INSERT INTO "usage" VALUES('EPSG','16498','projected_crs','EPSG','9761','EPSG','4621','EPSG','1141');
INSERT INTO "projected_crs" VALUES('EPSG','9766','EWR2 Grid',NULL,'EPSG','4400','EPSG','9763','EPSG','9765',NULL,0);
INSERT INTO "usage" VALUES('EPSG','16509','projected_crs','EPSG','9766','EPSG','4622','EPSG','1141');
+INSERT INTO "projected_crs" VALUES('EPSG','9793','RGF93 v2 / Lambert-93',NULL,'EPSG','4499','EPSG','9777','EPSG','18085',NULL,0);
+INSERT INTO "usage" VALUES('EPSG','16614','projected_crs','EPSG','9793','EPSG','1096','EPSG','1142');
+INSERT INTO "projected_crs" VALUES('EPSG','9794','RGF93 v2b / Lambert-93',NULL,'EPSG','4499','EPSG','9782','EPSG','18085',NULL,0);
+INSERT INTO "usage" VALUES('EPSG','16615','projected_crs','EPSG','9794','EPSG','1096','EPSG','1142');
+INSERT INTO "projected_crs" VALUES('EPSG','9822','RGF93 v2 / CC42',NULL,'EPSG','4499','EPSG','9777','EPSG','18101',NULL,0);
+INSERT INTO "usage" VALUES('EPSG','16616','projected_crs','EPSG','9822','EPSG','3545','EPSG','1054');
+INSERT INTO "projected_crs" VALUES('EPSG','9823','RGF93 v2 / CC43',NULL,'EPSG','4499','EPSG','9777','EPSG','18102',NULL,0);
+INSERT INTO "usage" VALUES('EPSG','16617','projected_crs','EPSG','9823','EPSG','3546','EPSG','1054');
+INSERT INTO "projected_crs" VALUES('EPSG','9824','RGF93 v2 / CC44',NULL,'EPSG','4499','EPSG','9777','EPSG','18103',NULL,0);
+INSERT INTO "usage" VALUES('EPSG','16618','projected_crs','EPSG','9824','EPSG','3547','EPSG','1054');
+INSERT INTO "projected_crs" VALUES('EPSG','9825','RGF93 v2 / CC45',NULL,'EPSG','4499','EPSG','9777','EPSG','18104',NULL,0);
+INSERT INTO "usage" VALUES('EPSG','16619','projected_crs','EPSG','9825','EPSG','3548','EPSG','1054');
+INSERT INTO "projected_crs" VALUES('EPSG','9826','RGF93 v2 / CC46',NULL,'EPSG','4499','EPSG','9777','EPSG','18105',NULL,0);
+INSERT INTO "usage" VALUES('EPSG','16620','projected_crs','EPSG','9826','EPSG','3549','EPSG','1054');
+INSERT INTO "projected_crs" VALUES('EPSG','9827','RGF93 v2 / CC47',NULL,'EPSG','4499','EPSG','9777','EPSG','18106',NULL,0);
+INSERT INTO "usage" VALUES('EPSG','16621','projected_crs','EPSG','9827','EPSG','3550','EPSG','1054');
+INSERT INTO "projected_crs" VALUES('EPSG','9828','RGF93 v2 / CC48',NULL,'EPSG','4499','EPSG','9777','EPSG','18107',NULL,0);
+INSERT INTO "usage" VALUES('EPSG','16622','projected_crs','EPSG','9828','EPSG','3551','EPSG','1054');
+INSERT INTO "projected_crs" VALUES('EPSG','9829','RGF93 v2 / CC49',NULL,'EPSG','4499','EPSG','9777','EPSG','18108',NULL,0);
+INSERT INTO "usage" VALUES('EPSG','16623','projected_crs','EPSG','9829','EPSG','3552','EPSG','1054');
+INSERT INTO "projected_crs" VALUES('EPSG','9830','RGF93 v2 / CC50',NULL,'EPSG','4499','EPSG','9777','EPSG','18109',NULL,0);
+INSERT INTO "usage" VALUES('EPSG','16624','projected_crs','EPSG','9830','EPSG','3553','EPSG','1054');
+INSERT INTO "projected_crs" VALUES('EPSG','9842','RGF93 v2b / CC42',NULL,'EPSG','4499','EPSG','9782','EPSG','18101',NULL,0);
+INSERT INTO "usage" VALUES('EPSG','16625','projected_crs','EPSG','9842','EPSG','3545','EPSG','1054');
+INSERT INTO "projected_crs" VALUES('EPSG','9843','RGF93 v2b / CC43',NULL,'EPSG','4499','EPSG','9782','EPSG','18102',NULL,0);
+INSERT INTO "usage" VALUES('EPSG','16626','projected_crs','EPSG','9843','EPSG','3546','EPSG','1054');
+INSERT INTO "projected_crs" VALUES('EPSG','9844','RGF93 v2b / CC44',NULL,'EPSG','4499','EPSG','9782','EPSG','18103',NULL,0);
+INSERT INTO "usage" VALUES('EPSG','16627','projected_crs','EPSG','9844','EPSG','3547','EPSG','1054');
+INSERT INTO "projected_crs" VALUES('EPSG','9845','RGF93 v2b / CC45',NULL,'EPSG','4499','EPSG','9782','EPSG','18104',NULL,0);
+INSERT INTO "usage" VALUES('EPSG','16628','projected_crs','EPSG','9845','EPSG','3548','EPSG','1054');
+INSERT INTO "projected_crs" VALUES('EPSG','9846','RGF93 v2b / CC46',NULL,'EPSG','4499','EPSG','9782','EPSG','18105',NULL,0);
+INSERT INTO "usage" VALUES('EPSG','16629','projected_crs','EPSG','9846','EPSG','3549','EPSG','1054');
+INSERT INTO "projected_crs" VALUES('EPSG','9847','RGF93 v2b / CC47',NULL,'EPSG','4499','EPSG','9782','EPSG','18106',NULL,0);
+INSERT INTO "usage" VALUES('EPSG','16630','projected_crs','EPSG','9847','EPSG','3550','EPSG','1054');
+INSERT INTO "projected_crs" VALUES('EPSG','9848','RGF93 v2b / CC48',NULL,'EPSG','4499','EPSG','9782','EPSG','18107',NULL,0);
+INSERT INTO "usage" VALUES('EPSG','16631','projected_crs','EPSG','9848','EPSG','3551','EPSG','1054');
+INSERT INTO "projected_crs" VALUES('EPSG','9849','RGF93 v2b / CC49',NULL,'EPSG','4499','EPSG','9782','EPSG','18108',NULL,0);
+INSERT INTO "usage" VALUES('EPSG','16632','projected_crs','EPSG','9849','EPSG','3552','EPSG','1054');
+INSERT INTO "projected_crs" VALUES('EPSG','9850','RGF93 v2b / CC50',NULL,'EPSG','4499','EPSG','9782','EPSG','18109',NULL,0);
+INSERT INTO "usage" VALUES('EPSG','16633','projected_crs','EPSG','9850','EPSG','3553','EPSG','1054');
INSERT INTO "projected_crs" VALUES('EPSG','20004','Pulkovo 1995 / Gauss-Kruger zone 4',NULL,'EPSG','4530','EPSG','4200','EPSG','16204',NULL,0);
INSERT INTO "usage" VALUES('EPSG','6177','projected_crs','EPSG','20004','EPSG','1763','EPSG','1211');
INSERT INTO "projected_crs" VALUES('EPSG','20005','Pulkovo 1995 / Gauss-Kruger zone 5',NULL,'EPSG','4530','EPSG','4200','EPSG','16205',NULL,0);
diff --git a/data/sql/scope.sql b/data/sql/scope.sql
index 79e4b653..98331299 100644
--- a/data/sql/scope.sql
+++ b/data/sql/scope.sql
@@ -169,7 +169,7 @@ INSERT INTO "scope" VALUES('EPSG','1189','GIS.',0);
INSERT INTO "scope" VALUES('EPSG','1190','Geological analysis.',0);
INSERT INTO "scope" VALUES('EPSG','1191','Graticule coordinates expressed in simple Cartesian form.',0);
INSERT INTO "scope" VALUES('EPSG','1192','Graticule coordinates in rectangular Cartesian form.',0);
-INSERT INTO "scope" VALUES('EPSG','1193','Geological analysis.',0);
+INSERT INTO "scope" VALUES('EPSG','1193','Geological analysis.',1);
INSERT INTO "scope" VALUES('EPSG','1194','Spatial referencing in and around city and county of San Francisco.',0);
INSERT INTO "scope" VALUES('EPSG','1195','Environmental science - used as basis for EASE grid.',0);
INSERT INTO "scope" VALUES('EPSG','1196','Highway engineering.',0);
@@ -228,7 +228,7 @@ INSERT INTO "scope" VALUES('EPSG','1248','Municipal spatial referencing.',0);
INSERT INTO "scope" VALUES('EPSG','1249','Minerals management (including oil and gas exploration and production).',0);
INSERT INTO "scope" VALUES('EPSG','1250','Metrication of RSO grid.',0);
INSERT INTO "scope" VALUES('EPSG','1251','Marine navigation.',0);
-INSERT INTO "scope" VALUES('EPSG','1252','Approximation assuming equality between plate-fixed static and earth-fixed dynamic CRSs.',0);
+INSERT INTO "scope" VALUES('EPSG','1252','(null/copy) Approximation for medium and low accuracy applications assuming equality between plate-fixed static and earth-fixed dynamic CRSs, ignoring static/dynamic CRS differences.',0);
INSERT INTO "scope" VALUES('EPSG','1253','Approximation at the 1m level.',0);
INSERT INTO "scope" VALUES('EPSG','1254','Antarctic Digital Database and small scale topographic mapping.',0);
INSERT INTO "scope" VALUES('EPSG','1255','Transformation of coordinates at 0.02m level of accuracy.',0);
diff --git a/data/sql/supersession.sql b/data/sql/supersession.sql
index 76af95a2..b24e4aeb 100644
--- a/data/sql/supersession.sql
+++ b/data/sql/supersession.sql
@@ -112,7 +112,7 @@ INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1256','helmer
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1951','helmert_transformation','EPSG','6909','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','5662','helmert_transformation','EPSG','6939','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15938','helmert_transformation','EPSG','6998','EPSG',1);
-INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10000','grid_transformation','EPSG','8371','EPSG',1);
+INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10000','grid_transformation','EPSG','8371','EPSG',0);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15800','helmert_transformation','EPSG','6907','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15897','helmert_transformation','EPSG','6895','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1868','helmert_transformation','EPSG','6976','EPSG',1);
@@ -152,7 +152,7 @@ INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10029','grid_tra
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1766','grid_transformation','EPSG','7788','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10027','grid_transformation','EPSG','7714','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10023','grid_transformation','EPSG','7717','EPSG',1);
-INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10002','grid_transformation','EPSG','8372','EPSG',1);
+INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10002','grid_transformation','EPSG','8372','EPSG',0);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10073','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10038','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10074','grid_transformation','EPSG','5656','EPSG',1);
diff --git a/include/proj/io.hpp b/include/proj/io.hpp
index b07f55ff..6b811b2d 100644
--- a/include/proj/io.hpp
+++ b/include/proj/io.hpp
@@ -892,6 +892,10 @@ class PROJ_GCC_DLL DatabaseContext {
PROJ_INTERNAL bool isKnownName(const std::string &name,
const std::string &tableName) const;
+ PROJ_INTERNAL std::string getName(const std::string &tableName,
+ const std::string &authName,
+ const std::string &code) const;
+
PROJ_INTERNAL std::string getTextDefinition(const std::string &tableName,
const std::string &authName,
const std::string &code) const;
diff --git a/src/iso19111/datum.cpp b/src/iso19111/datum.cpp
index 96952866..ebef94a2 100644
--- a/src/iso19111/datum.cpp
+++ b/src/iso19111/datum.cpp
@@ -1401,17 +1401,32 @@ bool GeodeticReferenceFrame::hasEquivalentNameToUsingAlias(
if (dbContext) {
if (!identifiers().empty()) {
const auto &id = identifiers().front();
- auto aliasesResult =
+
+ const std::string officialNameFromId = dbContext->getName(
+ "geodetic_datum", *(id->codeSpace()), id->code());
+ const auto aliasesResult =
dbContext->getAliases(*(id->codeSpace()), id->code(), nameStr(),
"geodetic_datum", std::string());
- const char *otherName = other->nameStr().c_str();
- for (const auto &aliasResult : aliasesResult) {
- if (metadata::Identifier::isEquivalentName(
- otherName, aliasResult.c_str())) {
- return true;
- }
- }
- return false;
+
+ const auto isNameMatching =
+ [&aliasesResult, &officialNameFromId](const std::string &name) {
+ const char *nameCstr = name.c_str();
+ if (metadata::Identifier::isEquivalentName(
+ nameCstr, officialNameFromId.c_str())) {
+ return true;
+ } else {
+ for (const auto &aliasResult : aliasesResult) {
+ if (metadata::Identifier::isEquivalentName(
+ nameCstr, aliasResult.c_str())) {
+ return true;
+ }
+ }
+ }
+ return false;
+ };
+
+ return isNameMatching(nameStr()) &&
+ isNameMatching(other->nameStr());
} else if (!other->identifiers().empty()) {
auto otherGRF = dynamic_cast<const GeodeticReferenceFrame *>(other);
if (otherGRF) {
diff --git a/src/iso19111/factory.cpp b/src/iso19111/factory.cpp
index 4ea9d2ad..f4228532 100644
--- a/src/iso19111/factory.cpp
+++ b/src/iso19111/factory.cpp
@@ -3430,6 +3430,29 @@ std::list<std::string> DatabaseContext::getAliases(
// ---------------------------------------------------------------------------
+/** \brief Return the 'name' column of a table for an object
+ *
+ * @param tableName Table name/category.
+ * @param authName Authority name of the object.
+ * @param code Code of the object
+ * @return Name (or empty)
+ * @throw FactoryException
+ */
+std::string DatabaseContext::getName(const std::string &tableName,
+ const std::string &authName,
+ const std::string &code) const {
+ std::string sql("SELECT name FROM \"");
+ sql += replaceAll(tableName, "\"", "\"\"");
+ sql += "\" WHERE auth_name = ? AND code = ?";
+ auto res = d->run(sql, {authName, code});
+ if (res.empty()) {
+ return std::string();
+ }
+ return res.front()[0];
+}
+
+// ---------------------------------------------------------------------------
+
/** \brief Return the 'text_definition' column of a table for an object
*
* @param tableName Table name/category.
diff --git a/src/iso19111/operation/coordinateoperationfactory.cpp b/src/iso19111/operation/coordinateoperationfactory.cpp
index 1b1cae9b..b59eeb91 100644
--- a/src/iso19111/operation/coordinateoperationfactory.cpp
+++ b/src/iso19111/operation/coordinateoperationfactory.cpp
@@ -883,12 +883,12 @@ struct SortFunction {
b_name.find("NTF (Paris) to NTF (1)") != std::string::npos) {
return false;
}
- if (a_name.find("NTF (Paris) to RGF93 (1)") != std::string::npos &&
- b_name.find("NTF (Paris) to RGF93 (2)") != std::string::npos) {
+ if (a_name.find("NTF (Paris) to RGF93 v1 (1)") != std::string::npos &&
+ b_name.find("NTF (Paris) to RGF93 v1 (2)") != std::string::npos) {
return true;
}
- if (a_name.find("NTF (Paris) to RGF93 (2)") != std::string::npos &&
- b_name.find("NTF (Paris) to RGF93 (1)") != std::string::npos) {
+ if (a_name.find("NTF (Paris) to RGF93 v1 (2)") != std::string::npos &&
+ b_name.find("NTF (Paris) to RGF93 v1 (1)") != std::string::npos) {
return false;
}
diff --git a/test/cli/testprojinfo b/test/cli/testprojinfo
index 3081966b..2f8c1de5 100755
--- a/test/cli/testprojinfo
+++ b/test/cli/testprojinfo
@@ -372,8 +372,8 @@ $EXE --list-crs projected --bbox -100,40,-90,41 --spatial-test intersects | grep
echo "" >>${OUT}
# Test case where --area has several matches
-echo 'Testing --list-crs projected --area France | grep "RGF93 / Lambert-93\|UTM zone 11N" | sort' >> ${OUT}
-$EXE --list-crs projected --area France | grep "RGF93 / Lambert-93\|UTM zone 11N" | sort >> ${OUT}
+echo 'Testing --list-crs projected --area France | grep "RGF93 v1 / Lambert-93\|UTM zone 11N" | sort' >> ${OUT}
+$EXE --list-crs projected --area France | grep "RGF93 v1 / Lambert-93\|UTM zone 11N" | sort >> ${OUT}
echo "" >>${OUT}
# do 'diff' with distribution results
diff --git a/test/cli/testprojinfo_out.dist b/test/cli/testprojinfo_out.dist
index 2405462d..2cb30c63 100644
--- a/test/cli/testprojinfo_out.dist
+++ b/test/cli/testprojinfo_out.dist
@@ -1155,7 +1155,7 @@ Candidate operations found: 2
-------------------------------------
Operation No. 1:
-INVERSE(DERIVED_FROM(EPSG)):8885, Inverse of RGF93 to NGF-IGN69 height (3), 0.01 m, France - mainland onshore.
+INVERSE(DERIVED_FROM(EPSG)):10000, Inverse of RGF93 v1 to NGF-IGN69 height (1), 0.5 m, France - mainland onshore.
PROJ string:
+proj=pipeline
@@ -1168,7 +1168,7 @@ PROJ string:
-------------------------------------
Operation No. 2:
-unknown id, Transformation from NGF-IGN69 height to RGF93 (ballpark vertical transformation, without ellipsoid height to vertical height correction), unknown accuracy, World, has ballpark transformation
+unknown id, Transformation from NGF-IGN69 height to RGF93 v1 (ballpark vertical transformation, without ellipsoid height to vertical height correction), unknown accuracy, World, has ballpark transformation
PROJ string:
+proj=noop
@@ -1662,6 +1662,6 @@ ESRI:104010 "GCS_IGS08" [deprecated]
Testing --list-crs projected --bbox -100,40,-90,41 --spatial-test intersects | grep "(2011).*Missouri East\|York" | sort
EPSG:6512 "NAD83(2011) / Missouri East"
-Testing --list-crs projected --area France | grep "RGF93 / Lambert-93\|UTM zone 11N" | sort
-EPSG:2154 "RGF93 / Lambert-93"
+Testing --list-crs projected --area France | grep "RGF93 v1 / Lambert-93\|UTM zone 11N" | sort
+EPSG:2154 "RGF93 v1 / Lambert-93"
diff --git a/test/cli/testvarious b/test/cli/testvarious
index 80340369..cbfb2d55 100755
--- a/test/cli/testvarious
+++ b/test/cli/testvarious
@@ -1011,14 +1011,13 @@ EOF
echo "##############################################################" >> ${OUT}
echo "Test effect of --authority (https://github.com/OSGeo/PROJ/issues/2442)" >> ${OUT}
-echo "This test might be a bit fragile if proj.db content changes" >> ${OUT}
-echo "The first result should use the 'WGS_1984_(ITRF08)_To_NAD_1983_2011' (ESRI:108363) operation" >> ${OUT}
+echo "The first result should use the EPSG:8076 operation" >> ${OUT}
echo "and the second one a no-op" >> ${OUT}
-$EXE -E +proj=latlong +datum=WGS84 +no_defs +to +init=epsg:6342 >> ${OUT} <<EOF
--105 40
+$EXE -E ITRF96 ITRF2014 >> ${OUT} <<EOF
+49 2
EOF
-$EXE --authority EPSG -E +proj=latlong +datum=WGS84 +no_defs +to +init=epsg:6342 >> ${OUT} <<EOF
--105 40
+$EXE --authority PROJ -E ITRF96 ITRF2014 >> ${OUT} <<EOF
+49 2
EOF
echo "##############################################################" >> ${OUT}
diff --git a/test/cli/tv_out.dist b/test/cli/tv_out.dist
index 06aa1a2d..a0009dab 100644
--- a/test/cli/tv_out.dist
+++ b/test/cli/tv_out.dist
@@ -487,11 +487,10 @@ Test Colombia Urban
4.8 -74.25 122543.174 80859.033 0.000
##############################################################
Test effect of --authority (https://github.com/OSGeo/PROJ/issues/2442)
-This test might be a bit fragile if proj.db content changes
-The first result should use the 'WGS_1984_(ITRF08)_To_NAD_1983_2011' (ESRI:108363) operation
+The first result should use the EPSG:8076 operation
and the second one a no-op
--105 40 500000.86 4427756.50 0.00
--105 40 500000.00 4427757.22 0.00
+49 2 49d0'0.002"N 2dE 0.018
+49 2 49dN 2dE 0.000
##############################################################
Test effect of --accuracy
##############################################################
diff --git a/test/unit/test_c_api.cpp b/test/unit/test_c_api.cpp
index 600f47ff..4898345c 100644
--- a/test/unit/test_c_api.cpp
+++ b/test/unit/test_c_api.cpp
@@ -5033,13 +5033,12 @@ TEST_F(CApi, proj_create_vertical_crs_ex_with_geog_crs) {
auto name = proj_get_name(P);
ASSERT_TRUE(name != nullptr);
- EXPECT_EQ(
- name,
- std::string("Inverse of UTM zone 11N + "
- "Ballpark geographic offset from NAD83(2011) to WGS 84 + "
- "Conversion from myVertCRS to myVertCRS (metre) + "
- "Transformation from myVertCRS (metre) to WGS 84 + "
- "Ballpark geographic offset from WGS 84 to NAD83(2011)"));
+ EXPECT_EQ(name,
+ std::string("Inverse of UTM zone 11N + "
+ "NAD83(2011) to WGS 84 (1) + "
+ "Conversion from myVertCRS to myVertCRS (metre) + "
+ "Transformation from myVertCRS (metre) to WGS 84 + "
+ "Inverse of NAD83(2011) to WGS 84 (1)"));
auto proj_5 = proj_as_proj_string(m_ctxt, P, PJ_PROJ_5, nullptr);
ASSERT_NE(proj_5, nullptr);
diff --git a/test/unit/test_crs.cpp b/test/unit/test_crs.cpp
index 2ac26d3a..42e6018b 100644
--- a/test/unit/test_crs.cpp
+++ b/test/unit/test_crs.cpp
@@ -2911,9 +2911,14 @@ TEST(crs, projectedCRS_identify_db) {
ASSERT_TRUE(crs != nullptr);
auto factoryAll = AuthorityFactory::create(dbContext, std::string());
auto res = crs->identify(factoryAll);
- ASSERT_GE(res.size(), 1U);
- EXPECT_EQ(res.front().first->getEPSGCode(), 2154);
- EXPECT_EQ(res.front().second, 90);
+ bool found = false;
+ for (const auto &candidate : res) {
+ if (candidate.first->getEPSGCode() == 2154) {
+ found = true;
+ EXPECT_EQ(candidate.second, 90);
+ }
+ }
+ EXPECT_TRUE(found);
}
{
// Identify with DatumEnsemble
@@ -6034,6 +6039,10 @@ TEST(crs, crs_createBoundCRSToWGS84IfPossible) {
"+proj=longlat +datum=WGS84 +geoidgrids=us_nga_egm08_25.tif "
"+vunits=m +no_defs +type=crs");
}
+#ifdef disabled_since_epsg_10_035
+ // There are now too many transformations from NGF-IGN69 height to WGS 84
+ // for createBoundCRSToWGS84IfPossible() to be able to select a
+ // vertical geoidgrid
{
// NTF (Paris) / Lambert zone II + NGF-IGN69 height
auto crs_7421 = factory->createCoordinateReferenceSystem("7421");
@@ -6053,6 +6062,7 @@ TEST(crs, crs_createBoundCRSToWGS84IfPossible) {
"+towgs84=-168,-60,320,0,0,0,0 +units=m "
"+geoidgrids=fr_ign_RAF18.tif +vunits=m +no_defs +type=crs");
}
+#endif
{
auto crs = createVerticalCRS();
EXPECT_EQ(crs->createBoundCRSToWGS84IfPossible(
diff --git a/test/unit/test_factory.cpp b/test/unit/test_factory.cpp
index 32afe0b5..1ecea9d6 100644
--- a/test/unit/test_factory.cpp
+++ b/test/unit/test_factory.cpp
@@ -1552,7 +1552,7 @@ TEST(factory, AuthorityFactory_getDescriptionText) {
EXPECT_THROW(factory->getDescriptionText("-1"),
NoSuchAuthorityCodeException);
EXPECT_EQ(factory->getDescriptionText("10000"),
- "RGF93 to NGF-IGN69 height (1)");
+ "RGF93 v1 to NGF-IGN69 height (1)");
// Several objects have 4326 code, including an area of use, but return
// the CRS one.
diff --git a/test/unit/test_io.cpp b/test/unit/test_io.cpp
index a4fb5f6e..ed059fe3 100644
--- a/test/unit/test_io.cpp
+++ b/test/unit/test_io.cpp
@@ -6389,7 +6389,7 @@ TEST(wkt_parse, wkt1_oracle) {
auto res = crs->identify(factoryAll);
ASSERT_GE(res.size(), 1U);
EXPECT_EQ(res.front().first->getEPSGCode(), 2154);
- EXPECT_EQ(res.front().second, 100);
+ EXPECT_EQ(res.front().second, 90);
}
// ---------------------------------------------------------------------------
diff --git a/test/unit/test_operationfactory.cpp b/test/unit/test_operationfactory.cpp
index b50542c6..2ee5a53c 100644
--- a/test/unit/test_operationfactory.cpp
+++ b/test/unit/test_operationfactory.cpp
@@ -880,7 +880,7 @@ TEST(operation, geogCRS_to_geogCRS_context_concatenated_operation) {
ctxt);
ASSERT_EQ(list.size(), 4U);
- EXPECT_EQ(list[0]->nameStr(), "NTF (Paris) to RGF93 (1)");
+ EXPECT_EQ(list[0]->nameStr(), "NTF (Paris) to RGF93 v1 (1)");
EXPECT_EQ(list[0]->exportToPROJString(PROJStringFormatter::create().get()),
"+proj=pipeline "
"+step +proj=axisswap +order=2,1 "
@@ -895,7 +895,7 @@ TEST(operation, geogCRS_to_geogCRS_context_concatenated_operation) {
"+step +proj=unitconvert +xy_in=rad +xy_out=deg "
"+step +proj=axisswap +order=2,1");
- EXPECT_EQ(list[1]->nameStr(), "NTF (Paris) to RGF93 (2)");
+ EXPECT_EQ(list[1]->nameStr(), "NTF (Paris) to RGF93 v1 (2)");
EXPECT_EQ(list[1]->exportToPROJString(PROJStringFormatter::create().get()),
"+proj=pipeline +step +proj=axisswap +order=2,1 +step "
"+proj=unitconvert +xy_in=grad +xy_out=rad +step +inv "
@@ -1485,7 +1485,7 @@ TEST(operation, geogCRS_3D_to_geogCRS_3D_different_datum_context) {
ctxt);
ASSERT_GE(list.size(), 1U);
EXPECT_EQ(list[0]->nameStr(),
- "RGF93 to ETRS89 (1) + Inverse of CH1903+ to ETRS89 (1)");
+ "RGF93 v1 to ETRS89 (1) + Inverse of CH1903+ to ETRS89 (1)");
// Check that there is no +push +v_3
EXPECT_EQ(list[0]->exportToPROJString(PROJStringFormatter::create().get()),
"+proj=pipeline "
@@ -1526,8 +1526,8 @@ TEST(operation, geocentric_to_geogCRS_3D_different_datum_context) {
ctxt);
ASSERT_GE(list.size(), 1U);
EXPECT_EQ(list[0]->nameStr(),
- "Conversion from RGF93 (geocentric) to RGF93 (geog3D) + "
- "RGF93 to ETRS89 (1) + "
+ "Conversion from RGF93 v1 (geocentric) to RGF93 v1 (geog3D) + "
+ "RGF93 v1 to ETRS89 (1) + "
"Inverse of CH1903+ to ETRS89 (1)");
// Check that there is no +push +v_3
EXPECT_EQ(list[0]->exportToPROJString(PROJStringFormatter::create().get()),
@@ -3759,7 +3759,7 @@ TEST(operation,
if (op->nameStr() ==
"Inverse of unnamed + "
"Transformation from NAD83 to WGS84 + "
- "Ballpark geographic offset from WGS 84 to NAD83(2011) + "
+ "Inverse of NAD83(2011) to WGS 84 (1) + "
"Conversion from NAVD88 height (ftUS) to NAVD88 height + "
"Inverse of NAD83(2011) to NAVD88 height (1) + "
"Conversion from NAD83(2011) (geog3D) to NAD83(2011) "
@@ -4834,9 +4834,8 @@ TEST(operation, compoundCRS_to_geogCRS_3D_context) {
"Geoid09 hybrid model. Replaced by 2012 model (CT code 6326)."
"\n"
"For NAD83(NSRS2007) to WGS 84 (1) (EPSG:15931): "
- "Approximation at the +/- 1m level assuming that "
- "NAD83(NSRS2007) is equivalent to WGS 84 within the accuracy "
- "of the transformation.");
+ "Approximation assuming that NAD83(NSRS2007) is equivalent "
+ "to WGS 84 within the accuracy of the transformation.");
}
// NAD83 + NAVD88 height --> WGS 84
@@ -4898,14 +4897,14 @@ TEST(operation, compoundCRS_to_geogCRS_3D_context) {
auto list = CoordinateOperationFactory::create()->createOperations(
nnSrc,
- authFactory->createCoordinateReferenceSystem("4979"), // WGS 84
+ authFactory->createCoordinateReferenceSystem("4985"), // WGS 72 3D
ctxt);
- ASSERT_GE(list.size(), 2U);
+ ASSERT_GE(list.size(), 1U);
EXPECT_EQ(list[0]->nameStr(),
"Inverse of NAD83(2011) to NAVD88 height (3) + "
- "Inverse of NAD83 to NAD83(2011) (1) + "
- "NAD83 to WGS 84 (1)");
+ "NAD83(2011) to WGS 84 (1) + "
+ "Inverse of WGS 72 to WGS 84 (2)");
EXPECT_EQ(list[0]->exportToPROJString(
PROJStringFormatter::create(
PROJStringFormatter::Convention::PROJ_5,
@@ -4916,25 +4915,10 @@ TEST(operation, compoundCRS_to_geogCRS_3D_context) {
"+step +proj=unitconvert +xy_in=deg +xy_out=rad "
"+step +proj=vgridshift +grids=us_noaa_g2018u0.tif "
"+multiplier=1 "
- "+step +proj=unitconvert +xy_in=rad +xy_out=deg "
- "+step +proj=axisswap +order=2,1");
-
- // Shows vertical step, and then horizontal step
- EXPECT_EQ(list[1]->nameStr(),
- "Inverse of NAD83(2011) to NAVD88 height (3) + "
- "Inverse of NAD83 to NAD83(2011) (1) + "
- "NAD83 to WGS 84 (18)");
- EXPECT_EQ(list[1]->exportToPROJString(
- PROJStringFormatter::create(
- PROJStringFormatter::Convention::PROJ_5,
- authFactory->databaseContext())
- .get()),
- "+proj=pipeline "
- "+step +proj=axisswap +order=2,1 "
- "+step +proj=unitconvert +xy_in=deg +xy_out=rad "
- "+step +proj=vgridshift +grids=us_noaa_g2018u0.tif "
- "+multiplier=1 "
- "+step +proj=hgridshift +grids=us_noaa_FL.tif "
+ "+step +proj=cart +ellps=WGS84 "
+ "+step +inv +proj=helmert +x=0 +y=0 +z=4.5 +rx=0 +ry=0 "
+ "+rz=0.554 +s=0.219 +convention=position_vector "
+ "+step +inv +proj=cart +ellps=WGS72 "
"+step +proj=unitconvert +xy_in=rad +xy_out=deg "
"+step +proj=axisswap +order=2,1");
}