aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2019-10-31 16:16:01 +0100
committerGitHub <noreply@github.com>2019-10-31 16:16:01 +0100
commit8a31e8778b95eb8e857c30f276fbf1e5047f78fe (patch)
tree4e8de19f2973912748dbc21eb0bfa93d7aec73c1 /include
parentbb3da7f1e4a52f12b6df48f4a427a8772e63ab18 (diff)
parent81e06f42c7552494bcb3f466b0b1317341187679 (diff)
downloadPROJ-8a31e8778b95eb8e857c30f276fbf1e5047f78fe.tar.gz
PROJ-8a31e8778b95eb8e857c30f276fbf1e5047f78fe.zip
Merge pull request #1703 from rouault/improve_transformation_with_alternative_vertical_unit_and_direction
Improve transformations with alternative vertical unit and direction
Diffstat (limited to 'include')
-rw-r--r--include/proj/coordinateoperation.hpp3
-rw-r--r--include/proj/internal/coordinateoperation_constants.hpp4
-rw-r--r--include/proj/io.hpp4
3 files changed, 11 insertions, 0 deletions
diff --git a/include/proj/coordinateoperation.hpp b/include/proj/coordinateoperation.hpp
index 6c4c25c2..1ced5333 100644
--- a/include/proj/coordinateoperation.hpp
+++ b/include/proj/coordinateoperation.hpp
@@ -1323,6 +1323,9 @@ class PROJ_GCC_DLL Conversion : public SingleOperation {
createChangeVerticalUnit(const util::PropertyMap &properties,
const common::Scale &factor);
+ PROJ_DLL static ConversionNNPtr
+ createHeightDepthReversal(const util::PropertyMap &properties);
+
PROJ_DLL static ConversionNNPtr createAxisOrderReversal(bool is3D);
PROJ_DLL static ConversionNNPtr
diff --git a/include/proj/internal/coordinateoperation_constants.hpp b/include/proj/internal/coordinateoperation_constants.hpp
index f1925c9b..eb0bb8c5 100644
--- a/include/proj/internal/coordinateoperation_constants.hpp
+++ b/include/proj/internal/coordinateoperation_constants.hpp
@@ -826,6 +826,7 @@ static const struct MethodNameCode {
METHOD_NAME_CODE(VERTICAL_PERSPECTIVE),
// Other conversions
METHOD_NAME_CODE(CHANGE_VERTICAL_UNIT),
+ METHOD_NAME_CODE(HEIGHT_DEPTH_REVERSAL),
METHOD_NAME_CODE(AXIS_ORDER_REVERSAL_2D),
METHOD_NAME_CODE(AXIS_ORDER_REVERSAL_3D),
METHOD_NAME_CODE(GEOGRAPHIC_GEOCENTRIC),
@@ -1153,6 +1154,9 @@ static const MethodMapping otherMethodMappings[] = {
{EPSG_NAME_METHOD_CHANGE_VERTICAL_UNIT,
EPSG_CODE_METHOD_CHANGE_VERTICAL_UNIT, nullptr, nullptr, nullptr,
paramsChangeVerticalUnit},
+ {EPSG_NAME_METHOD_HEIGHT_DEPTH_REVERSAL,
+ EPSG_CODE_METHOD_HEIGHT_DEPTH_REVERSAL, nullptr, nullptr, nullptr,
+ paramsChangeVerticalUnit},
{EPSG_NAME_METHOD_AXIS_ORDER_REVERSAL_2D,
EPSG_CODE_METHOD_AXIS_ORDER_REVERSAL_2D, nullptr, nullptr, nullptr,
nullptr},
diff --git a/include/proj/io.hpp b/include/proj/io.hpp
index 12b3b111..37b94c1e 100644
--- a/include/proj/io.hpp
+++ b/include/proj/io.hpp
@@ -1089,6 +1089,10 @@ class PROJ_GCC_DLL AuthorityFactory {
const std::string &datum_code,
const std::string &geodetic_crs_type) const;
+ PROJ_INTERNAL std::list<crs::VerticalCRSNNPtr>
+ createVerticalCRSFromDatum(const std::string &datum_auth_name,
+ const std::string &datum_code) const;
+
PROJ_INTERNAL std::list<crs::GeodeticCRSNNPtr>
createGeodeticCRSFromEllipsoid(const std::string &ellipsoid_auth_name,
const std::string &ellipsoid_code,