aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2020-11-23 19:22:53 +0100
committerGitHub <noreply@github.com>2020-11-23 19:22:53 +0100
commit97eea25cb11c8632ea111a0973574c9745a253e4 (patch)
tree50e8944b6e1eefe5d6cf1f4187dc26cb6236264e /src
parent765faba8984aa1e5f2a91853d18f0453e7bed105 (diff)
parentb503c2e5ae4b90da5e390be929ab5a37ab534232 (diff)
downloadPROJ-97eea25cb11c8632ea111a0973574c9745a253e4.tar.gz
PROJ-97eea25cb11c8632ea111a0973574c9745a253e4.zip
Merge pull request #2446 from rouault/fix_projectedCRS_3D_is_WKT1_equivalent_to_WKT2
GeographicCRS::_isEquivalentTo(EQUIVALENT_EXCEPT_AXIS_ORDER_GEOGCRS):…
Diffstat (limited to 'src')
-rw-r--r--src/iso19111/crs.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/iso19111/crs.cpp b/src/iso19111/crs.cpp
index de882105..5d2c6d7b 100644
--- a/src/iso19111/crs.cpp
+++ b/src/iso19111/crs.cpp
@@ -2522,6 +2522,27 @@ bool GeographicCRS::_isEquivalentTo(
->GeodeticCRS::_isEquivalentToNoTypeCheck(other, standardCriterion,
dbContext);
}
+ if (axisOrder ==
+ cs::EllipsoidalCS::AxisOrder::LONG_EAST_LAT_NORTH_HEIGHT_UP ||
+ axisOrder ==
+ cs::EllipsoidalCS::AxisOrder::LAT_NORTH_LONG_EAST_HEIGHT_UP) {
+ const auto &angularUnit = coordinateSystem()->axisList()[0]->unit();
+ const auto &linearUnit = coordinateSystem()->axisList()[2]->unit();
+ return GeographicCRS::create(
+ util::PropertyMap().set(common::IdentifiedObject::NAME_KEY,
+ nameStr()),
+ datum(), datumEnsemble(),
+ axisOrder == cs::EllipsoidalCS::AxisOrder::
+ LONG_EAST_LAT_NORTH_HEIGHT_UP
+ ? cs::EllipsoidalCS::
+ createLatitudeLongitudeEllipsoidalHeight(
+ angularUnit, linearUnit)
+ : cs::EllipsoidalCS::
+ createLongitudeLatitudeEllipsoidalHeight(
+ angularUnit, linearUnit))
+ ->GeodeticCRS::_isEquivalentToNoTypeCheck(other, standardCriterion,
+ dbContext);
+ }
return false;
}
//! @endcond