aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2020-10-25 18:06:57 +0100
committerEven Rouault <even.rouault@spatialys.com>2020-10-25 21:17:29 +0100
commit4559a3f702f3f2e2d796d46458a61f38595d6e08 (patch)
tree40f0d59d990727740a2dd7cab6d0ec7c17760c76 /include
parent6476108774c8c947f0197ec1acff781f17e6edde (diff)
downloadPROJ-4559a3f702f3f2e2d796d46458a61f38595d6e08.tar.gz
PROJ-4559a3f702f3f2e2d796d46458a61f38595d6e08.zip
Add +proj=col_urban projection, implementing a EPSG projection method used by a number of projected CRS in Colombia (fixes #589)
Diffstat (limited to 'include')
-rw-r--r--include/proj/internal/coordinateoperation_constants.hpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/include/proj/internal/coordinateoperation_constants.hpp b/include/proj/internal/coordinateoperation_constants.hpp
index 7038ba9f..592f6263 100644
--- a/include/proj/internal/coordinateoperation_constants.hpp
+++ b/include/proj/internal/coordinateoperation_constants.hpp
@@ -519,6 +519,19 @@ static const ParamMapping *const paramsVerticalPerspective[] = {
&paramFalseNorthing, // PROJ addition
nullptr};
+static const ParamMapping paramProjectionPlaneOriginHeight = {
+ EPSG_NAME_PARAMETER_PROJECTION_PLANE_ORIGIN_HEIGHT,
+ EPSG_CODE_PARAMETER_PROJECTION_PLANE_ORIGIN_HEIGHT, nullptr,
+ common::UnitOfMeasure::Type::LINEAR, "h_0"};
+
+static const ParamMapping *const paramsColombiaUrban[] = {
+ &paramLatitudeNatOrigin,
+ &paramLongitudeNatOrigin,
+ &paramFalseEasting,
+ &paramFalseNorthing,
+ &paramProjectionPlaneOriginHeight,
+ nullptr};
+
static const MethodMapping projectionMethodMappings[] = {
{EPSG_NAME_METHOD_TRANSVERSE_MERCATOR, EPSG_CODE_METHOD_TRANSVERSE_MERCATOR,
"Transverse_Mercator", "tmerc", nullptr, paramsNatOriginScaleK},
@@ -820,6 +833,9 @@ static const MethodMapping projectionMethodMappings[] = {
{EPSG_NAME_METHOD_VERTICAL_PERSPECTIVE,
EPSG_CODE_METHOD_VERTICAL_PERSPECTIVE, nullptr, "nsper", nullptr,
paramsVerticalPerspective},
+
+ {EPSG_NAME_METHOD_COLOMBIA_URBAN, EPSG_CODE_METHOD_COLOMBIA_URBAN, nullptr,
+ "col_urban", nullptr, paramsColombiaUrban},
};
#define METHOD_NAME_CODE(method) \
@@ -855,7 +871,7 @@ static const struct MethodNameCode {
METHOD_NAME_CODE(POLAR_STEREOGRAPHIC_VARIANT_A),
METHOD_NAME_CODE(POLAR_STEREOGRAPHIC_VARIANT_B),
METHOD_NAME_CODE(EQUAL_EARTH), METHOD_NAME_CODE(LABORDE_OBLIQUE_MERCATOR),
- METHOD_NAME_CODE(VERTICAL_PERSPECTIVE),
+ METHOD_NAME_CODE(VERTICAL_PERSPECTIVE), METHOD_NAME_CODE(COLOMBIA_URBAN),
// Other conversions
METHOD_NAME_CODE(CHANGE_VERTICAL_UNIT),
METHOD_NAME_CODE(HEIGHT_DEPTH_REVERSAL),
@@ -926,6 +942,7 @@ static const struct ParamNameCode {
PARAM_NAME_CODE(LATITUDE_STD_PARALLEL),
PARAM_NAME_CODE(LONGITUDE_OF_ORIGIN),
PARAM_NAME_CODE(ELLIPSOID_SCALE_FACTOR),
+ PARAM_NAME_CODE(PROJECTION_PLANE_ORIGIN_HEIGHT),
// Parameters of transformations
PARAM_NAME_CODE(SEMI_MAJOR_AXIS_DIFFERENCE),
PARAM_NAME_CODE(FLATTENING_DIFFERENCE),