diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2020-10-25 18:06:57 +0100 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2020-10-25 21:17:29 +0100 |
| commit | 4559a3f702f3f2e2d796d46458a61f38595d6e08 (patch) | |
| tree | 40f0d59d990727740a2dd7cab6d0ec7c17760c76 /include | |
| parent | 6476108774c8c947f0197ec1acff781f17e6edde (diff) | |
| download | PROJ-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.hpp | 19 |
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[] = { ¶mFalseNorthing, // 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[] = { + ¶mLatitudeNatOrigin, + ¶mLongitudeNatOrigin, + ¶mFalseEasting, + ¶mFalseNorthing, + ¶mProjectionPlaneOriginHeight, + 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), |
