diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2019-12-17 16:52:08 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-12-17 16:52:08 +0100 |
| commit | 9db6e144ae10854a5aff46fad2584c840c251974 (patch) | |
| tree | 433d4c96ff925827beb2e8cce8988cbba9fd1eee /src/iso19111/coordinatesystem.cpp | |
| parent | da7ffcd528595acb97589d59319967d01d8e5e8f (diff) | |
| parent | 75a3299803beabf2dd2600aee2b5849347dabc29 (diff) | |
| download | PROJ-9db6e144ae10854a5aff46fad2584c840c251974.tar.gz PROJ-9db6e144ae10854a5aff46fad2584c840c251974.zip | |
Merge pull request #1803 from rouault/improve_identification_with_datum_name_aliases
identify(): take into datum name aliases (fixes #1800)
Diffstat (limited to 'src/iso19111/coordinatesystem.cpp')
| -rw-r--r-- | src/iso19111/coordinatesystem.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/iso19111/coordinatesystem.cpp b/src/iso19111/coordinatesystem.cpp index 6769b486..163f0f43 100644 --- a/src/iso19111/coordinatesystem.cpp +++ b/src/iso19111/coordinatesystem.cpp @@ -429,8 +429,8 @@ void CoordinateSystemAxis::_exportToJSON( //! @cond Doxygen_Suppress bool CoordinateSystemAxis::_isEquivalentTo( - const util::IComparable *other, - util::IComparable::Criterion criterion) const { + const util::IComparable *other, util::IComparable::Criterion criterion, + const io::DatabaseContextPtr &dbContext) const { auto otherCSA = dynamic_cast<const CoordinateSystemAxis *>(other); if (otherCSA == nullptr) { return false; @@ -441,7 +441,7 @@ bool CoordinateSystemAxis::_isEquivalentTo( return false; } if (criterion == util::IComparable::Criterion::STRICT) { - if (!IdentifiedObject::_isEquivalentTo(other, criterion)) { + if (!IdentifiedObject::_isEquivalentTo(other, criterion, dbContext)) { return false; } if (abbreviation() != otherCSA->abbreviation()) { @@ -599,11 +599,11 @@ void CoordinateSystem::_exportToJSON( //! @cond Doxygen_Suppress bool CoordinateSystem::_isEquivalentTo( - const util::IComparable *other, - util::IComparable::Criterion criterion) const { + const util::IComparable *other, util::IComparable::Criterion criterion, + const io::DatabaseContextPtr &dbContext) const { auto otherCS = dynamic_cast<const CoordinateSystem *>(other); if (otherCS == nullptr || - !IdentifiedObject::_isEquivalentTo(other, criterion)) { + !IdentifiedObject::_isEquivalentTo(other, criterion, dbContext)) { return false; } const auto &list = axisList(); @@ -615,7 +615,8 @@ bool CoordinateSystem::_isEquivalentTo( return false; } for (size_t i = 0; i < list.size(); i++) { - if (!list[i]->_isEquivalentTo(otherList[i].get(), criterion)) { + if (!list[i]->_isEquivalentTo(otherList[i].get(), criterion, + dbContext)) { return false; } } |
