aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2021-03-27 19:50:42 +0100
committergithub-actions[bot] <github-actions[bot]@users.noreply.github.com>2021-03-27 18:51:46 +0000
commit08c522c210af1d6cb10e9a36aa274bd5d3a00e21 (patch)
tree93bd8a4ea08e4980481976531212e2f58ade7adc /scripts
parent38e507c34194d67b14afb758c2141be732cfd40c (diff)
downloadPROJ-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')
-rwxr-xr-xscripts/build_db_from_esri.py32
-rw-r--r--scripts/build_esri_projection_mapping.py7
2 files changed, 39 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);""" % (
diff --git a/scripts/build_esri_projection_mapping.py b/scripts/build_esri_projection_mapping.py
index 752f9850..3f3d4667 100644
--- a/scripts/build_esri_projection_mapping.py
+++ b/scripts/build_esri_projection_mapping.py
@@ -696,6 +696,13 @@ config_str = """
- Latitude_Of_Center: EPSG_NAME_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN
- Height: EPSG_NAME_PARAMETER_PROJECTION_PLANE_ORIGIN_HEIGHT
+- Equal_Earth:
+ WKT2_name: EPSG_NAME_METHOD_EQUAL_EARTH
+ Params:
+ - False_Easting: EPSG_NAME_PARAMETER_FALSE_EASTING
+ - False_Northing: EPSG_NAME_PARAMETER_FALSE_NORTHING
+ - Central_Meridian: EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN
+
# Missing/unclear mappings