aboutsummaryrefslogtreecommitdiff
path: root/include/proj/coordinatesystem.hpp
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2018-11-28 14:52:56 +0100
committerEven Rouault <even.rouault@spatialys.com>2018-11-29 12:10:13 +0100
commitcf855b24d2b901054bee90309cdc5df00dfb3085 (patch)
treecfed6be67bd51c6e8cd198def30d840fe9f67a89 /include/proj/coordinatesystem.hpp
parent6d9a1a909886762cc99e1d8f289e2b60ea787bf7 (diff)
downloadPROJ-cf855b24d2b901054bee90309cdc5df00dfb3085.tar.gz
PROJ-cf855b24d2b901054bee90309cdc5df00dfb3085.zip
C API extensions and renaming
- proj_obj_create_projected_XXXXX() are renamed to proj_obj_create_conversion_snake_case() and just instanciate a Conversion object - Advanced manipulation functions are moved to a dedicated section at bottom of proj.h - New C API needed for GDAL OGRSpatialReference
Diffstat (limited to 'include/proj/coordinatesystem.hpp')
-rw-r--r--include/proj/coordinatesystem.hpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/include/proj/coordinatesystem.hpp b/include/proj/coordinatesystem.hpp
index 89c2f99c..a301adab 100644
--- a/include/proj/coordinatesystem.hpp
+++ b/include/proj/coordinatesystem.hpp
@@ -208,6 +208,9 @@ class PROJ_GCC_DLL CoordinateSystemAxis final
PROJ_INTERNAL static CoordinateSystemAxisNNPtr
createLONG_EAST(const common::UnitOfMeasure &unit);
+ PROJ_INTERNAL CoordinateSystemAxisNNPtr
+ alterUnit(const common::UnitOfMeasure &newUnit) const;
+
//! @endcond
private:
@@ -372,6 +375,13 @@ class PROJ_GCC_DLL EllipsoidalCS final : public CoordinateSystem {
};
PROJ_INTERNAL AxisOrder axisOrder() const;
+
+ PROJ_INTERNAL EllipsoidalCSNNPtr
+ alterAngularUnit(const common::UnitOfMeasure &angularUnit) const;
+
+ PROJ_INTERNAL EllipsoidalCSNNPtr
+ alterLinearUnit(const common::UnitOfMeasure &linearUnit) const;
+
//! @endcond
protected:
@@ -416,6 +426,13 @@ class PROJ_GCC_DLL VerticalCS final : public CoordinateSystem {
PROJ_DLL static VerticalCSNNPtr
createGravityRelatedHeight(const common::UnitOfMeasure &unit);
+ PROJ_PRIVATE :
+ //! @cond Doxygen_Suppress
+ PROJ_INTERNAL VerticalCSNNPtr
+ alterUnit(const common::UnitOfMeasure &unit) const;
+
+ //! @endcond
+
protected:
PROJ_INTERNAL explicit VerticalCS(const CoordinateSystemAxisNNPtr &axisIn);
INLINED_MAKE_SHARED
@@ -460,11 +477,23 @@ class PROJ_GCC_DLL CartesianCS final : public CoordinateSystem {
const CoordinateSystemAxisNNPtr &axis1,
const CoordinateSystemAxisNNPtr &axis2,
const CoordinateSystemAxisNNPtr &axis3);
+
PROJ_DLL static CartesianCSNNPtr
createEastingNorthing(const common::UnitOfMeasure &unit);
+
+ PROJ_DLL static CartesianCSNNPtr
+ createNorthingEasting(const common::UnitOfMeasure &unit);
+
PROJ_DLL static CartesianCSNNPtr
createGeocentric(const common::UnitOfMeasure &unit);
+ PROJ_PRIVATE :
+ //! @cond Doxygen_Suppress
+ PROJ_INTERNAL CartesianCSNNPtr
+ alterUnit(const common::UnitOfMeasure &unit) const;
+
+ //! @endcond
+
protected:
PROJ_INTERNAL explicit CartesianCS(
const std::vector<CoordinateSystemAxisNNPtr> &axisIn);