aboutsummaryrefslogtreecommitdiff
path: root/src/iso19111
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2022-01-07 15:16:41 +0100
committerGitHub <noreply@github.com>2022-01-07 15:16:41 +0100
commita7577c936ba2d325b7e41b940adc60681805e922 (patch)
tree217b777eb8c03e686434318ce771563b9a92f062 /src/iso19111
parent78eee957b0eff8b74df8a1f0e60a95355e7fa1c6 (diff)
parent5df594d25d8e362a3e4501cb2736dad88a7b0fc6 (diff)
downloadPROJ-a7577c936ba2d325b7e41b940adc60681805e922.tar.gz
PROJ-a7577c936ba2d325b7e41b940adc60681805e922.zip
Merge pull request #3013 from rouault/fix_3012
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 158ecdc5..710fd6d5 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) {