aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@mines-paris.org>2019-02-07 13:23:19 +0100
committerGitHub <noreply@github.com>2019-02-07 13:23:19 +0100
commit91aa71df8f0c2a3721e921ce96c6b16f28657c05 (patch)
tree3aa91671fad83ae5225489f80731803ffd682d71 /include
parent457b173cbe8fdb790b011d1828a0fd9f8f6221a4 (diff)
parent02efe72181814097284196de9b9b984db0fb3d26 (diff)
downloadPROJ-91aa71df8f0c2a3721e921ce96c6b16f28657c05.tar.gz
PROJ-91aa71df8f0c2a3721e921ce96c6b16f28657c05.zip
Merge pull request #1251 from rouault/add_proj_get_crs_info_list_from_database
Add proj_get_crs_info_list_from_database()
Diffstat (limited to 'include')
-rw-r--r--include/proj/io.hpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/include/proj/io.hpp b/include/proj/io.hpp
index 4120d707..aedf0457 100644
--- a/include/proj/io.hpp
+++ b/include/proj/io.hpp
@@ -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,