diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2021-03-27 19:50:42 +0100 |
|---|---|---|
| committer | github-actions[bot] <github-actions[bot]@users.noreply.github.com> | 2021-03-27 18:51:46 +0000 |
| commit | 08c522c210af1d6cb10e9a36aa274bd5d3a00e21 (patch) | |
| tree | 93bd8a4ea08e4980481976531212e2f58ade7adc /scripts/build_db_from_esri.py | |
| parent | 38e507c34194d67b14afb758c2141be732cfd40c (diff) | |
| download | PROJ-08c522c210af1d6cb10e9a36aa274bd5d3a00e21.tar.gz PROJ-08c522c210af1d6cb10e9a36aa274bd5d3a00e21.zip | |
Merge pull request #2611 from rouault/fix_2610
Add mapping of ESRI Equal_Area projection method to EPSG (fixes #2610)
Diffstat (limited to 'scripts/build_db_from_esri.py')
| -rwxr-xr-x | scripts/build_db_from_esri.py | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/scripts/build_db_from_esri.py b/scripts/build_db_from_esri.py index b55a1411..bcc252be 100755 --- a/scripts/build_db_from_esri.py +++ b/scripts/build_db_from_esri.py @@ -1045,6 +1045,38 @@ def import_projcs(): sql = """INSERT INTO "usage" VALUES('ESRI', 'PCRS_%s_USAGE','projected_crs','ESRI','%s','%s','%s','%s','%s');""" % (code, code, extent_auth_name, extent_code, 'EPSG', '1024') all_sql.append(sql) + elif method == 'Equal_Earth': + assert len(parsed_conv_wkt) == 1 + 3 + 2 + False_Easting = parsed_conv_wkt['False_Easting'] + False_Northing = parsed_conv_wkt['False_Northing'] + Central_Meridian = parsed_conv_wkt['Central_Meridian'] + + cs_auth_name, cs_code, uom_code = get_cs(parsed_conv_wkt) + + conv_name = 'unnamed' + conv_auth_name = 'ESRI' + conv_code = code + + sql = """INSERT INTO "conversion" VALUES('ESRI','%s','%s',NULL,'EPSG','1078','Equal Earth','EPSG','8802','Longitude of natural origin',%s,'EPSG','%s','EPSG','8806','False easting',%s,'EPSG','%s','EPSG','8807','False northing',%s,'EPSG','%s',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,%d);""" % ( + code, conv_name, Central_Meridian, ang_uom_code, False_Easting, uom_code, False_Northing, uom_code, deprecated) + + sql_extract = sql[sql.find('NULL'):] + if conv_name != 'unnamed' or sql_extract not in map_conversion_sql_to_code: + all_sql.append(sql) + + sql = """INSERT INTO "usage" VALUES('ESRI', 'CONV_%s_USAGE','conversion','ESRI','%s','%s','%s','%s','%s');""" % (code, code, extent_auth_name, extent_code, 'EPSG', '1024') + all_sql.append(sql) + + map_conversion_sql_to_code[sql_extract] = conv_code + else: + conv_code = map_conversion_sql_to_code[sql_extract] + + sql = """INSERT INTO "projected_crs" VALUES('ESRI','%s','%s',NULL,'%s','%s','%s','%s','%s','%s',NULL,%d);""" % ( + code, esri_name, cs_auth_name, cs_code, geogcs_auth_name, geogcs_code, conv_auth_name, conv_code, deprecated) + all_sql.append(sql) + sql = """INSERT INTO "usage" VALUES('ESRI', 'PCRS_%s_USAGE','projected_crs','ESRI','%s','%s','%s','%s','%s');""" % (code, code, extent_auth_name, extent_code, 'EPSG', '1024') + all_sql.append(sql) + else: sql = """INSERT INTO "projected_crs" VALUES('ESRI','%s','%s',NULL,NULL,NULL,'%s','%s',NULL,NULL,'%s',%d);""" % ( |
