diff --git a/data/sql/esri.sql b/data/sql/esri.sql index 6f06288121..fc147189a5 100644 --- a/data/sql/esri.sql +++ b/data/sql/esri.sql @@ -2468,32 +2468,32 @@ INSERT INTO "usage" VALUES('ESRI', '104304_USAGE','geodetic_crs','ESRI','104304' INSERT INTO "supersession" VALUES('geodetic_crs','ESRI','104304','geodetic_crs','EPSG','4304','ESRI',1); INSERT INTO "geodetic_crs" VALUES('ESRI','104305','GCS_Voirol_Unifie_1960_Degree',NULL,'geographic 2D','EPSG','6422','ESRI','106011',NULL,1); INSERT INTO "usage" VALUES('ESRI', '104305_USAGE','geodetic_crs','ESRI','104305','EPSG','1365','EPSG','1024'); -INSERT INTO "geodetic_crs" VALUES('ESRI','104602','North_American_1983_3D',NULL,'geographic 2D','EPSG','6422','EPSG','6269',NULL,0); +INSERT INTO "geodetic_crs" VALUES('ESRI','104602','North_American_1983_3D',NULL,'geographic 3D','EPSG','6423','EPSG','6269',NULL,0); INSERT INTO "usage" VALUES('ESRI', '104602_USAGE','geodetic_crs','ESRI','104602','EPSG','1350','EPSG','1024'); -INSERT INTO "geodetic_crs" VALUES('ESRI','104613','EUREF_FIN_3D',NULL,'geographic 2D','EPSG','6422','EPSG','6258',NULL,0); +INSERT INTO "geodetic_crs" VALUES('ESRI','104613','EUREF_FIN_3D',NULL,'geographic 3D','EPSG','6423','EPSG','6258',NULL,0); INSERT INTO "usage" VALUES('ESRI', '104613_USAGE','geodetic_crs','ESRI','104613','EPSG','1095','EPSG','1024'); -INSERT INTO "geodetic_crs" VALUES('ESRI','104644','California_SRS_Epoch_2017.50_(NAD83)_3D',NULL,'geographic 2D','EPSG','6422','ESRI','106012',NULL,0); +INSERT INTO "geodetic_crs" VALUES('ESRI','104644','California_SRS_Epoch_2017.50_(NAD83)_3D',NULL,'geographic 3D','EPSG','6423','ESRI','106012',NULL,0); INSERT INTO "usage" VALUES('ESRI', '104644_USAGE','geodetic_crs','ESRI','104644','ESRI','1','EPSG','1024'); -INSERT INTO "geodetic_crs" VALUES('ESRI','104645','GGD_3D',NULL,'geographic 2D','EPSG','6422','ESRI','106010',NULL,0); +INSERT INTO "geodetic_crs" VALUES('ESRI','104645','GGD_3D',NULL,'geographic 3D','EPSG','6423','ESRI','106010',NULL,0); INSERT INTO "usage" VALUES('ESRI', '104645_USAGE','geodetic_crs','ESRI','104645','EPSG','3251','EPSG','1024'); INSERT INTO "geodetic_datum" VALUES('ESRI','106272','PANAMA08_2011','Panama - ITRF_2008 epoch 2011','EPSG','7019','EPSG','8901',NULL,NULL,NULL,NULL,0); INSERT INTO "usage" VALUES('ESRI', '106272_USAGE','geodetic_datum','ESRI','106272','EPSG','1186','EPSG','1024'); INSERT INTO "geodetic_crs" VALUES('ESRI','104646','GCS_PANAMA08_2011',NULL,'geographic 2D','EPSG','6422','ESRI','106272',NULL,0); INSERT INTO "usage" VALUES('ESRI', '104646_USAGE','geodetic_crs','ESRI','104646','EPSG','1186','EPSG','1024'); -INSERT INTO "geodetic_crs" VALUES('ESRI','104647','ONGD17_3D',NULL,'geographic 2D','EPSG','6422','ESRI','106027',NULL,1); +INSERT INTO "geodetic_crs" VALUES('ESRI','104647','ONGD17_3D',NULL,'geographic 3D','EPSG','6423','ESRI','106027',NULL,1); INSERT INTO "usage" VALUES('ESRI', '104647_USAGE','geodetic_crs','ESRI','104647','EPSG','1183','EPSG','1024'); INSERT INTO "supersession" VALUES('geodetic_crs','ESRI','104647','geodetic_crs','EPSG','9293','ESRI',1); -INSERT INTO "geodetic_crs" VALUES('ESRI','104648','S-JTSK_[JTSK03]_3D',NULL,'geographic 2D','EPSG','6422','EPSG','1201',NULL,0); +INSERT INTO "geodetic_crs" VALUES('ESRI','104648','S-JTSK_[JTSK03]_3D',NULL,'geographic 3D','EPSG','6423','EPSG','1201',NULL,0); INSERT INTO "usage" VALUES('ESRI', '104648_USAGE','geodetic_crs','ESRI','104648','EPSG','1211','EPSG','1024'); -INSERT INTO "geodetic_crs" VALUES('ESRI','104653','MONREF_1997_3D',NULL,'geographic 2D','EPSG','6422','EPSG','6656',NULL,0); +INSERT INTO "geodetic_crs" VALUES('ESRI','104653','MONREF_1997_3D',NULL,'geographic 3D','EPSG','6423','EPSG','6656',NULL,0); INSERT INTO "usage" VALUES('ESRI', '104653_USAGE','geodetic_crs','ESRI','104653','EPSG','1164','EPSG','1024'); -INSERT INTO "geodetic_crs" VALUES('ESRI','104664','Nepal_Nagarkot_3D',NULL,'geographic 2D','EPSG','6422','ESRI','106256',NULL,0); +INSERT INTO "geodetic_crs" VALUES('ESRI','104664','Nepal_Nagarkot_3D',NULL,'geographic 3D','EPSG','6423','ESRI','106256',NULL,0); INSERT INTO "usage" VALUES('ESRI', '104664_USAGE','geodetic_crs','ESRI','104664','EPSG','1171','EPSG','1024'); -INSERT INTO "geodetic_crs" VALUES('ESRI','104693','SLD99_3D',NULL,'geographic 2D','EPSG','6422','EPSG','1053',NULL,0); +INSERT INTO "geodetic_crs" VALUES('ESRI','104693','SLD99_3D',NULL,'geographic 3D','EPSG','6423','EPSG','1053',NULL,0); INSERT INTO "usage" VALUES('ESRI', '104693_USAGE','geodetic_crs','ESRI','104693','EPSG','3310','EPSG','1024'); -INSERT INTO "geodetic_crs" VALUES('ESRI','104696','S_JTSK/05_3D',NULL,'geographic 2D','EPSG','6422','EPSG','1052',NULL,0); +INSERT INTO "geodetic_crs" VALUES('ESRI','104696','S_JTSK/05_3D',NULL,'geographic 3D','EPSG','6423','EPSG','1052',NULL,0); INSERT INTO "usage" VALUES('ESRI', '104696_USAGE','geodetic_crs','ESRI','104696','EPSG','1079','EPSG','1024'); -INSERT INTO "geodetic_crs" VALUES('ESRI','104697','S_JTSK/05_Ferro_3D',NULL,'geographic 2D','EPSG','6422','EPSG','1052',NULL,0); +INSERT INTO "geodetic_crs" VALUES('ESRI','104697','S_JTSK/05_Ferro_3D',NULL,'geographic 3D','EPSG','6423','EPSG','1052',NULL,0); INSERT INTO "usage" VALUES('ESRI', '104697_USAGE','geodetic_crs','ESRI','104697','EPSG','1079','EPSG','1024'); INSERT INTO "geodetic_datum" VALUES('ESRI','106700','D_NAD_1983_HARN_Adj_MN_Anoka','NAD 1983 HARN Adj. Minnesota Anoka','ESRI','107700','EPSG','8901',NULL,NULL,NULL,NULL,0); INSERT INTO "usage" VALUES('ESRI', '106700_USAGE','geodetic_datum','ESRI','106700','EPSG','1392','EPSG','1024'); diff --git a/scripts/build_db_from_esri.py b/scripts/build_db_from_esri.py index 43beb23e18..1db5211031 100755 --- a/scripts/build_db_from_esri.py +++ b/scripts/build_db_from_esri.py @@ -657,6 +657,13 @@ def import_geogcs(): assert is_degree or is_grad, row cs_code = '6422' if is_degree else '6403' + if "CS[ellipsoidal,3]" in wkt2: + assert 'AXIS["Ellipsoidal height (h)",up,ORDER[3],LENGTHUNIT["Meter",1.0]' in wkt2 + cs_code = '6423' + geodetic_crs_type = "geographic 3D" + else: + geodetic_crs_type = "geographic 2D" + deprecated = 1 if row[idx_deprecated] == 'yes' else 0 extent_auth_name, extent_code = find_extent( @@ -712,7 +719,7 @@ def import_geogcs(): if esri_name not in map_geogcs_esri_name_to_auth_code: map_geogcs_esri_name_to_auth_code[esri_name] = ['ESRI', code] - sql = """INSERT INTO "geodetic_crs" VALUES('ESRI','%s','%s',NULL,'geographic 2D','EPSG','%s','%s','%s',NULL,%d);""" % ( + sql = f"""INSERT INTO "geodetic_crs" VALUES('ESRI','%s','%s',NULL,'{geodetic_crs_type}','EPSG','%s','%s','%s',NULL,%d);""" % ( code, esri_name, cs_code, datum_auth_name, datum_code, deprecated) all_sql.append(sql) sql = """INSERT INTO "usage" VALUES('ESRI', '%s_USAGE','geodetic_crs','ESRI','%s','%s','%s','%s','%s');""" % (code, code, extent_auth_name, extent_code, 'EPSG', '1024')