aboutsummaryrefslogtreecommitdiff
path: root/include/proj
diff options
context:
space:
mode:
Diffstat (limited to 'include/proj')
-rw-r--r--include/proj/common.hpp12
-rw-r--r--include/proj/crs.hpp8
-rw-r--r--include/proj/io.hpp12
-rw-r--r--include/proj/metadata.hpp4
-rw-r--r--include/proj/util.hpp9
5 files changed, 31 insertions, 14 deletions
diff --git a/include/proj/common.hpp b/include/proj/common.hpp
index f1e683e7..91756c62 100644
--- a/include/proj/common.hpp
+++ b/include/proj/common.hpp
@@ -277,9 +277,9 @@ using IdentifiedObjectNNPtr = util::nn<IdentifiedObjectPtr>;
*
* \remark Implements IdentifiedObject from \ref ISO_19111_2018
*/
-class IdentifiedObject : public util::BaseObject,
- public util::IComparable,
- public io::IWKTExportable {
+class PROJ_GCC_DLL IdentifiedObject : public util::BaseObject,
+ public util::IComparable,
+ public io::IWKTExportable {
public:
//! @cond Doxygen_Suppress
PROJ_DLL ~IdentifiedObject() override;
@@ -311,14 +311,14 @@ class IdentifiedObject : public util::BaseObject,
//! @cond Doxygen_Suppress
void
formatID(io::WKTFormatter *formatter) const;
- void formatRemarks(io::WKTFormatter *formatter) const;
+ PROJ_INTERNAL void formatRemarks(io::WKTFormatter *formatter) const;
- bool
+ PROJ_INTERNAL bool
_isEquivalentTo(const util::IComparable *other,
util::IComparable::Criterion criterion =
util::IComparable::Criterion::STRICT) const override;
- bool
+ PROJ_INTERNAL bool
_isEquivalentTo(const IdentifiedObject *other,
util::IComparable::Criterion criterion =
util::IComparable::Criterion::STRICT) PROJ_CONST_DECL;
diff --git a/include/proj/crs.hpp b/include/proj/crs.hpp
index bdb36cd4..1066f886 100644
--- a/include/proj/crs.hpp
+++ b/include/proj/crs.hpp
@@ -92,8 +92,9 @@ class PROJ_GCC_DLL CRS : public common::ObjectUsage {
PROJ_DLL GeodeticCRSPtr extractGeodeticCRS() const;
PROJ_DLL GeographicCRSPtr extractGeographicCRS() const;
PROJ_DLL VerticalCRSPtr extractVerticalCRS() const;
- PROJ_DLL CRSNNPtr createBoundCRSToWGS84IfPossible(
- const io::DatabaseContextPtr &dbContext) const;
+ PROJ_DLL CRSNNPtr
+ createBoundCRSToWGS84IfPossible(const io::DatabaseContextPtr &dbContext,
+ bool allowIntermediateCRS) const;
PROJ_DLL CRSNNPtr stripVerticalComponent() const;
PROJ_DLL const BoundCRSPtr &canonicalBoundCRS() PROJ_CONST_DECL;
@@ -101,6 +102,9 @@ class PROJ_GCC_DLL CRS : public common::ObjectUsage {
PROJ_DLL std::list<std::pair<CRSNNPtr, int>>
identify(const io::AuthorityFactoryPtr &authorityFactory) const;
+ PROJ_DLL std::list<CRSNNPtr>
+ getNonDeprecated(const io::DatabaseContextNNPtr &dbContext) const;
+
PROJ_PRIVATE :
//! @cond Doxygen_Suppress
PROJ_INTERNAL const GeodeticCRS *
diff --git a/include/proj/io.hpp b/include/proj/io.hpp
index 26420150..c0d4fef5 100644
--- a/include/proj/io.hpp
+++ b/include/proj/io.hpp
@@ -731,6 +731,15 @@ class PROJ_GCC_DLL DatabaseContext {
PROJ_INTERNAL std::string getTextDefinition(const std::string &tableName,
const std::string &authName,
const std::string &code) const;
+
+ PROJ_INTERNAL std::vector<std::string>
+ getAllowedAuthorities(const std::string &sourceAuthName,
+ const std::string &targetAuthName) const;
+
+ PROJ_INTERNAL std::list<std::pair<std::string, std::string>>
+ getNonDeprecated(const std::string &tableName, const std::string &authName,
+ const std::string &code) const;
+
//! @endcond
protected:
@@ -952,7 +961,8 @@ class PROJ_GCC_DLL AuthorityFactory {
PROJ_INTERNAL operation::CoordinateOperationNNPtr
createCoordinateOperation(const std::string &code, bool allowConcatenated,
- bool usePROJAlternativeGridNames) const;
+ bool usePROJAlternativeGridNames,
+ const std::string &type) const;
INLINED_MAKE_SHARED
diff --git a/include/proj/metadata.hpp b/include/proj/metadata.hpp
index fc86693d..d1b91515 100644
--- a/include/proj/metadata.hpp
+++ b/include/proj/metadata.hpp
@@ -406,6 +406,7 @@ class PROJ_GCC_DLL Identifier : public util::BaseObject,
protected:
PROJ_INTERNAL explicit Identifier(const std::string &codeIn,
const util::PropertyMap &properties);
+ PROJ_INTERNAL explicit Identifier();
PROJ_FRIEND_OPTIONAL(Identifier);
INLINED_MAKE_SHARED
@@ -413,6 +414,9 @@ class PROJ_GCC_DLL Identifier : public util::BaseObject,
PROJ_FRIEND(common::IdentifiedObject);
+ PROJ_INTERNAL static IdentifierNNPtr
+ createFromDescription(const std::string &descriptionIn);
+
private:
PROJ_OPAQUE_PRIVATE_DATA
};
diff --git a/include/proj/util.hpp b/include/proj/util.hpp
index eb7288b2..c2f2b7fe 100644
--- a/include/proj/util.hpp
+++ b/include/proj/util.hpp
@@ -499,12 +499,13 @@ class PropertyMap {
PROJ_PRIVATE :
//! @cond Doxygen_Suppress
- std::map<std::string, BaseObjectNNPtr>::iterator
- find(const std::string &key) const;
- std::map<std::string, BaseObjectNNPtr>::iterator end() const;
+ const BaseObjectNNPtr *
+ get(const std::string &key) const;
// throw(InvalidValueTypeException)
bool getStringValue(const std::string &key, std::string &outVal) const;
+ bool getStringValue(const std::string &key,
+ optional<std::string> &outVal) const;
static PropertyMap createAndSetName(const char *name);
static PropertyMap createAndSetName(const std::string &name);
@@ -513,8 +514,6 @@ class PropertyMap {
private:
PropertyMap &operator=(const PropertyMap &) = delete;
- PropertyMap &set(const std::string &key, const BoxedValue &val);
-
PROJ_OPAQUE_PRIVATE_DATA
};