aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2018-12-03 16:44:21 +0100
committerEven Rouault <even.rouault@spatialys.com>2018-12-03 16:44:21 +0100
commitba111ac8323ff194039a06db87d1fb17ed8175b3 (patch)
tree176a946244be38963714bc75984803655ebdd4a8 /include
parent2d8f295354ce20f2d375a985ff48fd5e7f8b90ca (diff)
downloadPROJ-ba111ac8323ff194039a06db87d1fb17ed8175b3.tar.gz
PROJ-ba111ac8323ff194039a06db87d1fb17ed8175b3.zip
Export to ESRI WKT: make it use verbatim WKT definition from the database when possible
Diffstat (limited to 'include')
-rw-r--r--include/proj/io.hpp19
1 files changed, 13 insertions, 6 deletions
diff --git a/include/proj/io.hpp b/include/proj/io.hpp
index 5fb12a76..ba7e9f53 100644
--- a/include/proj/io.hpp
+++ b/include/proj/io.hpp
@@ -134,6 +134,14 @@ using DatabaseContextNNPtr = util::nn<DatabaseContextPtr>;
// ---------------------------------------------------------------------------
+class WKTNode;
+/** Unique pointer of WKTNode. */
+using WKTNodePtr = std::unique_ptr<WKTNode>;
+/** Non-null unique pointer of WKTNode. */
+using WKTNodeNNPtr = util::nn<WKTNodePtr>;
+
+// ---------------------------------------------------------------------------
+
class WKTFormatter;
/** WKTFormatter unique pointer. */
using WKTFormatterPtr = std::unique_ptr<WKTFormatter>;
@@ -308,6 +316,8 @@ class PROJ_GCC_DLL WKTFormatter {
PROJ_INTERNAL const DatabaseContextPtr &databaseContext() const;
+ PROJ_INTERNAL void ingestWKTNode(const WKTNodeNNPtr &node);
+
//! @endcond
protected:
@@ -555,12 +565,6 @@ class PROJ_GCC_DLL IPROJStringExportable {
// ---------------------------------------------------------------------------
-class WKTNode;
-/** Unique pointer of WKTNode. */
-using WKTNodePtr = std::unique_ptr<WKTNode>;
-/** Non-null unique pointer of WKTNode. */
-using WKTNodeNNPtr = util::nn<WKTNodePtr>;
-
/** \brief Node in the tree-splitted WKT representation.
*/
class PROJ_GCC_DLL WKTNode {
@@ -724,6 +728,9 @@ class PROJ_GCC_DLL DatabaseContext {
PROJ_INTERNAL bool isKnownName(const std::string &name,
const std::string &tableName) const;
+ PROJ_INTERNAL std::string getTextDefinition(const std::string &tableName,
+ const std::string &authName,
+ const std::string &code) const;
//! @endcond
protected: