aboutsummaryrefslogtreecommitdiff
path: root/src/iso19111
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2022-01-06 22:43:25 +0100
committerEven Rouault <even.rouault@spatialys.com>2022-01-06 22:43:25 +0100
commit5df594d25d8e362a3e4501cb2736dad88a7b0fc6 (patch)
treebfe769907691083bc9b0169847b568f939fcef05 /src/iso19111
parent1254a211beac3f479d193794508a3fcea4f8790f (diff)
downloadPROJ-5df594d25d8e362a3e4501cb2736dad88a7b0fc6.tar.gz
PROJ-5df594d25d8e362a3e4501cb2736dad88a7b0fc6.zip
proj_get_crs_info_list_from_database(): report PJ_TYPE_GEODETIC_CRS for IAU_2015 -ocentric geodetic CRS (fixes #3012)
Diffstat (limited to 'src/iso19111')
-rw-r--r--src/iso19111/c_api.cpp4
-rw-r--r--src/iso19111/factory.cpp2
2 files changed, 6 insertions, 0 deletions
diff --git a/src/iso19111/c_api.cpp b/src/iso19111/c_api.cpp
index e9d8edc2..b8173def 100644
--- a/src/iso19111/c_api.cpp
+++ b/src/iso19111/c_api.cpp
@@ -2828,6 +2828,9 @@ proj_get_crs_info_list_from_database(PJ_CONTEXT *ctx, const char *auth_name,
AuthorityFactory::ObjectType::GEOCENTRIC_CRS) {
type = PJ_TYPE_GEOCENTRIC_CRS;
} else if (info.type ==
+ AuthorityFactory::ObjectType::GEODETIC_CRS) {
+ type = PJ_TYPE_GEODETIC_CRS;
+ } else if (info.type ==
AuthorityFactory::ObjectType::PROJECTED_CRS) {
type = PJ_TYPE_PROJECTED_CRS;
} else if (info.type ==
@@ -2850,6 +2853,7 @@ proj_get_crs_info_list_from_database(PJ_CONTEXT *ctx, const char *auth_name,
break;
} else if (params->types[j] == PJ_TYPE_GEODETIC_CRS &&
(type == PJ_TYPE_GEOCENTRIC_CRS ||
+ type == PJ_TYPE_GEODETIC_CRS ||
type == PJ_TYPE_GEOGRAPHIC_2D_CRS ||
type == PJ_TYPE_GEOGRAPHIC_3D_CRS)) {
typeValid = true;
diff --git a/src/iso19111/factory.cpp b/src/iso19111/factory.cpp
index f08e32b9..9415dafd 100644
--- a/src/iso19111/factory.cpp
+++ b/src/iso19111/factory.cpp
@@ -7969,6 +7969,8 @@ std::list<AuthorityFactory::CRSInfo> AuthorityFactory::getCRSInfoList() const {
info.type = AuthorityFactory::ObjectType::GEOGRAPHIC_3D_CRS;
} else if (type == GEOCENTRIC) {
info.type = AuthorityFactory::ObjectType::GEOCENTRIC_CRS;
+ } else if (type == OTHER) {
+ info.type = AuthorityFactory::ObjectType::GEODETIC_CRS;
} else if (type == PROJECTED) {
info.type = AuthorityFactory::ObjectType::PROJECTED_CRS;
} else if (type == VERTICAL) {