From 5df594d25d8e362a3e4501cb2736dad88a7b0fc6 Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Thu, 6 Jan 2022 22:43:25 +0100 Subject: proj_get_crs_info_list_from_database(): report PJ_TYPE_GEODETIC_CRS for IAU_2015 -ocentric geodetic CRS (fixes #3012) --- src/iso19111/c_api.cpp | 4 ++++ src/iso19111/factory.cpp | 2 ++ 2 files changed, 6 insertions(+) (limited to 'src/iso19111') 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 @@ -2827,6 +2827,9 @@ proj_get_crs_info_list_from_database(PJ_CONTEXT *ctx, const char *auth_name, } else if (info.type == 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; @@ -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::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) { -- cgit v1.2.3