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/metadata.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/metadata.cpp')
| -rw-r--r-- | src/iso19111/metadata.cpp | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/src/iso19111/metadata.cpp b/src/iso19111/metadata.cpp index 41653b32..6266a86d 100644 --- a/src/iso19111/metadata.cpp +++ b/src/iso19111/metadata.cpp @@ -237,7 +237,8 @@ GeographicBoundingBoxNNPtr GeographicBoundingBox::create(double west, //! @cond Doxygen_Suppress bool GeographicBoundingBox::_isEquivalentTo( - const util::IComparable *other, util::IComparable::Criterion) const { + const util::IComparable *other, util::IComparable::Criterion, + const io::DatabaseContextPtr &) const { auto otherExtent = dynamic_cast<const GeographicBoundingBox *>(other); if (!otherExtent) return false; @@ -502,7 +503,8 @@ VerticalExtent::create(double minimumIn, double maximumIn, //! @cond Doxygen_Suppress bool VerticalExtent::_isEquivalentTo(const util::IComparable *other, - util::IComparable::Criterion) const { + util::IComparable::Criterion, + const io::DatabaseContextPtr &) const { auto otherExtent = dynamic_cast<const VerticalExtent *>(other); if (!otherExtent) return false; @@ -587,7 +589,8 @@ TemporalExtentNNPtr TemporalExtent::create(const std::string &start, //! @cond Doxygen_Suppress bool TemporalExtent::_isEquivalentTo(const util::IComparable *other, - util::IComparable::Criterion) const { + util::IComparable::Criterion, + const io::DatabaseContextPtr &) const { auto otherExtent = dynamic_cast<const TemporalExtent *>(other); if (!otherExtent) return false; @@ -734,7 +737,8 @@ Extent::createFromBBOX(double west, double south, double east, double north, //! @cond Doxygen_Suppress bool Extent::_isEquivalentTo(const util::IComparable *other, - util::IComparable::Criterion criterion) const { + util::IComparable::Criterion criterion, + const io::DatabaseContextPtr &dbContext) const { auto otherExtent = dynamic_cast<const Extent *>(other); bool ret = (otherExtent && @@ -749,15 +753,18 @@ bool Extent::_isEquivalentTo(const util::IComparable *other, if (ret) { for (size_t i = 0; ret && i < d->geographicElements_.size(); ++i) { ret = d->geographicElements_[i]->_isEquivalentTo( - otherExtent->d->geographicElements_[i].get(), criterion); + otherExtent->d->geographicElements_[i].get(), criterion, + dbContext); } for (size_t i = 0; ret && i < d->verticalElements_.size(); ++i) { ret = d->verticalElements_[i]->_isEquivalentTo( - otherExtent->d->verticalElements_[i].get(), criterion); + otherExtent->d->verticalElements_[i].get(), criterion, + dbContext); } for (size_t i = 0; ret && i < d->temporalElements_.size(); ++i) { ret = d->temporalElements_[i]->_isEquivalentTo( - otherExtent->d->temporalElements_[i].get(), criterion); + otherExtent->d->temporalElements_[i].get(), criterion, + dbContext); } } return ret; |
