aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNyall Dawson <nyall.dawson@gmail.com>2020-02-26 19:03:51 +1000
committerNyall Dawson <nyall.dawson@gmail.com>2020-02-26 19:03:51 +1000
commit6ed13a5f8e01dcd531e290f634aa72f204ed5eef (patch)
treee71e8b4664795cac9dc5ef25099a0744a955923e
parent414ae2699ccfafdabacd12010acf7ad2f16fd889 (diff)
downloadPROJ-6ed13a5f8e01dcd531e290f634aa72f204ed5eef.tar.gz
PROJ-6ed13a5f8e01dcd531e290f634aa72f204ed5eef.zip
Support conversion of Flat_Polar_Quartic projection method
-rw-r--r--include/proj/internal/coordinateoperation_constants.hpp3
-rw-r--r--include/proj/internal/esri_projection_mappings.hpp11
-rw-r--r--scripts/build_esri_projection_mapping.py7
-rw-r--r--src/proj_constants.h2
4 files changed, 22 insertions, 1 deletions
diff --git a/include/proj/internal/coordinateoperation_constants.hpp b/include/proj/internal/coordinateoperation_constants.hpp
index 00434418..d39ad2ed 100644
--- a/include/proj/internal/coordinateoperation_constants.hpp
+++ b/include/proj/internal/coordinateoperation_constants.hpp
@@ -628,6 +628,9 @@ static const MethodMapping projectionMethodMappings[] = {
EPSG_CODE_METHOD_EQUIDISTANT_CYLINDRICAL_SPHERICAL, "Equirectangular",
"eqc", nullptr, paramsEqc},
+ {PROJ_WKT2_NAME_METHOD_FLAT_POLAR_QUARTIC, 0, "Flat_Polar_Quartic",
+ "mbtfpq", nullptr, paramsLonNatOrigin},
+
{PROJ_WKT2_NAME_METHOD_GALL_STEREOGRAPHIC, 0, "Gall_Stereographic", "gall",
nullptr, paramsLonNatOrigin},
diff --git a/include/proj/internal/esri_projection_mappings.hpp b/include/proj/internal/esri_projection_mappings.hpp
index 707f9c47..a0331911 100644
--- a/include/proj/internal/esri_projection_mappings.hpp
+++ b/include/proj/internal/esri_projection_mappings.hpp
@@ -596,6 +596,15 @@ static const ESRIParamMapping paramsESRI_Aitoff[] = {
EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0},
{nullptr, nullptr, 0, 0.0}};
+static const ESRIParamMapping paramsESRI_Flat_Polar_Quartic[] = {
+ {"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING,
+ EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0},
+ {"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING,
+ EPSG_CODE_PARAMETER_FALSE_NORTHING, 0.0},
+ {"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN,
+ EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, 0.0},
+ {nullptr, nullptr, 0, 0.0}};
+
static const ESRIParamMapping paramsESRI_Craster_Parabolic[] = {
{"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING,
EPSG_CODE_PARAMETER_FALSE_EASTING, 0.0},
@@ -925,6 +934,8 @@ static const ESRIMethodMapping esriMappings[] = {
EPSG_CODE_METHOD_ORTHOGRAPHIC, paramsESRI_Orthographic},
{"Winkel_Tripel", "Winkel Tripel", 0, paramsESRI_Winkel_Tripel},
{"Aitoff", "Aitoff", 0, paramsESRI_Aitoff},
+ {"Flat_Polar_Quartic", PROJ_WKT2_NAME_METHOD_FLAT_POLAR_QUARTIC, 0,
+ paramsESRI_Flat_Polar_Quartic},
{"Craster_Parabolic", "Craster Parabolic", 0, paramsESRI_Craster_Parabolic},
{"Gnomonic", PROJ_WKT2_NAME_METHOD_GNOMONIC, 0, paramsESRI_Gnomonic},
{"Times", PROJ_WKT2_NAME_METHOD_TIMES, 0, paramsESRI_Times},
diff --git a/scripts/build_esri_projection_mapping.py b/scripts/build_esri_projection_mapping.py
index 84eba426..216701a9 100644
--- a/scripts/build_esri_projection_mapping.py
+++ b/scripts/build_esri_projection_mapping.py
@@ -442,7 +442,12 @@ config_str = """
# Hammer_Aitoff: not handled
-# Flat_Polar_Quartic: not handled
+- Flat_Polar_Quartic:
+ WKT2_name: PROJ_WKT2_NAME_METHOD_FLAT_POLAR_QUARTIC
+ Params:
+ - False_Easting: EPSG_NAME_PARAMETER_FALSE_EASTING
+ - False_Northing: EPSG_NAME_PARAMETER_FALSE_NORTHING
+ - Central_Meridian: EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN
- Craster_Parabolic:
WKT2_name: "Craster Parabolic"
diff --git a/src/proj_constants.h b/src/proj_constants.h
index 5b95cda6..ca1455c3 100644
--- a/src/proj_constants.h
+++ b/src/proj_constants.h
@@ -109,6 +109,8 @@
"Equidistant Cylindrical (Spherical)"
#define EPSG_CODE_METHOD_EQUIDISTANT_CYLINDRICAL_SPHERICAL 1029
+#define PROJ_WKT2_NAME_METHOD_FLAT_POLAR_QUARTIC "Flat Polar Quartic"
+
#define PROJ_WKT2_NAME_METHOD_GALL_STEREOGRAPHIC "Gall Stereographic"
#define PROJ_WKT2_NAME_METHOD_GOODE_HOMOLOSINE "Goode Homolosine"