diff options
| author | Kristian Evers <kristianevers@gmail.com> | 2019-02-14 13:43:30 +0100 |
|---|---|---|
| committer | Kristian Evers <kristianevers@gmail.com> | 2019-02-14 13:43:30 +0100 |
| commit | 365526921aa330fbfb185569cbfbb54ca5714f6c (patch) | |
| tree | 75db358cce9695e32d5f4ced13c77dc31939830f /include/proj | |
| parent | 82855db893dd66de9588497e5748e64a9622ea66 (diff) | |
| parent | 94f0d87714a86385a0102f1cbd086f888475912f (diff) | |
| download | PROJ-365526921aa330fbfb185569cbfbb54ca5714f6c.tar.gz PROJ-365526921aa330fbfb185569cbfbb54ca5714f6c.zip | |
Merge remote-tracking branch 'osgeo/master' into remove-t_obs
Diffstat (limited to 'include/proj')
| -rw-r--r-- | include/proj/common.hpp | 5 | ||||
| -rw-r--r-- | include/proj/io.hpp | 36 |
2 files changed, 37 insertions, 4 deletions
diff --git a/include/proj/common.hpp b/include/proj/common.hpp index ad8893f7..d0ecf5d6 100644 --- a/include/proj/common.hpp +++ b/include/proj/common.hpp @@ -366,7 +366,8 @@ using ObjectDomainNNPtr = util::nn<ObjectDomainPtr>; * * \remark Implements ObjectDomain from \ref ISO_19111_2018 */ -class ObjectDomain : public util::BaseObject, public util::IComparable { +class PROJ_GCC_DLL ObjectDomain : public util::BaseObject, + public util::IComparable { public: //! @cond Doxygen_Suppress PROJ_DLL ~ObjectDomain() override; @@ -420,7 +421,7 @@ using ObjectUsageNNPtr = util::nn<ObjectUsagePtr>; * * \remark Implements ObjectUsage from \ref ISO_19111_2018 */ -class ObjectUsage : public IdentifiedObject { +class PROJ_GCC_DLL ObjectUsage : public IdentifiedObject { public: //! @cond Doxygen_Suppress PROJ_DLL ~ObjectUsage() override; diff --git a/include/proj/io.hpp b/include/proj/io.hpp index 4120d707..091efcb7 100644 --- a/include/proj/io.hpp +++ b/include/proj/io.hpp @@ -365,7 +365,7 @@ class PROJ_GCC_DLL PROJStringFormatter { PROJ_DLL ~PROJStringFormatter(); //! @endcond - PROJ_DLL void setUseETMercForTMerc(bool flag); + PROJ_DLL void setUseApproxTMerc(bool flag); PROJ_DLL const std::string &toString() const; @@ -378,7 +378,7 @@ class PROJ_GCC_DLL PROJStringFormatter { PROJ_DLL void startInversion(); PROJ_DLL void stopInversion(); PROJ_INTERNAL bool isInverted() const; - PROJ_INTERNAL bool getUseETMercForTMerc(bool &settingSetOut) const; + PROJ_INTERNAL bool getUseApproxTMerc() const; PROJ_INTERNAL void setCoordinateOperationOptimizations(bool enable); PROJ_DLL void @@ -888,6 +888,38 @@ class PROJ_GCC_DLL AuthorityFactory { PROJ_DLL std::string getDescriptionText(const std::string &code) const; + /** CRS information */ + struct CRSInfo { + /** Authority name */ + std::string authName{}; + /** Code */ + std::string code{}; + /** Name */ + std::string name{}; + /** Type */ + ObjectType type{ObjectType::CRS}; + /** Whether the object is deprecated */ + bool deprecated{}; + /** Whereas the west_lon_degree, south_lat_degree, east_lon_degree and + * north_lat_degree fields are valid. */ + bool bbox_valid{}; + /** Western-most longitude of the area of use, in degrees. */ + double west_lon_degree{}; + /** Southern-most latitude of the area of use, in degrees. */ + double south_lat_degree{}; + /** Eastern-most longitude of the area of use, in degrees. */ + double east_lon_degree{}; + /** Northern-most latitude of the area of use, in degrees. */ + double north_lat_degree{}; + /** Name of the area of use. */ + std::string areaName{}; + /** Name of the projection method for a projected CRS. Might be empty + * even for projected CRS in some cases. */ + std::string projectionMethodName{}; + }; + + PROJ_DLL std::list<CRSInfo> getCRSInfoList() const; + // non-standard PROJ_DLL static AuthorityFactoryNNPtr create(const DatabaseContextNNPtr &context, |
