metadata namespace¶
-
namespace
metadata¶ Common classes from ISO_19115 standard.
osgeo.proj.metadata namespace
Typedefs
-
using
GeographicExtentPtr= std::shared_ptr<GeographicExtent>¶ Shared pointer of GeographicExtent.
-
using
GeographicExtentNNPtr= util::nn<GeographicExtentPtr>¶ Non-null shared pointer of GeographicExtent.
-
using
GeographicBoundingBoxPtr= std::shared_ptr<GeographicBoundingBox>¶ Shared pointer of GeographicBoundingBox.
-
using
GeographicBoundingBoxNNPtr= util::nn<GeographicBoundingBoxPtr>¶ Non-null shared pointer of GeographicBoundingBox.
-
using
TemporalExtentPtr= std::shared_ptr<TemporalExtent>¶ Shared pointer of TemporalExtent.
-
using
TemporalExtentNNPtr= util::nn<TemporalExtentPtr>¶ Non-null shared pointer of TemporalExtent.
-
using
VerticalExtentPtr= std::shared_ptr<VerticalExtent>¶ Shared pointer of VerticalExtent.
-
using
VerticalExtentNNPtr= util::nn<VerticalExtentPtr>¶ Non-null shared pointer of VerticalExtent.
-
using
IdentifierPtr= std::shared_ptr<Identifier>¶ Shared pointer of Identifier.
-
using
IdentifierNNPtr= util::nn<IdentifierPtr>¶ Non-null shared pointer of Identifier.
-
using
PositionalAccuracyPtr= std::shared_ptr<PositionalAccuracy>¶ Shared pointer of PositionalAccuracy.
-
using
PositionalAccuracyNNPtr= util::nn<PositionalAccuracyPtr>¶ Non-null shared pointer of PositionalAccuracy.
-
class
Citation: public osgeo::proj::util::BaseObject¶ - #include <metadata.hpp>
Standardized resource reference.
Local names are names which are directly accessible to and maintained by a NameSpace within which they are local, indicated by the scope.
-
class
Extent: public osgeo::proj::util::BaseObject, public osgeo::proj::util::IComparable¶ - #include <metadata.hpp>
Information about spatial, vertical, and temporal extent.
Public Functions
-
const optional<std::string> &
description()¶ Return a textual description of the extent.
- Return
- the description, or empty.
-
const std::vector<GeographicExtentNNPtr> &
geographicElements()¶ Return the geographic element(s) of the extent
- Return
- the geographic element(s), or empty.
-
const std::vector<TemporalExtentNNPtr> &
temporalElements()¶ Return the temporal element(s) of the extent
- Return
- the temporal element(s), or empty.
-
const std::vector<VerticalExtentNNPtr> &
verticalElements()¶ Return the vertical element(s) of the extent
- Return
- the vertical element(s), or empty.
-
bool
isEquivalentTo(const util::IComparable *other, util::IComparable::Criterion criterion = util::IComparable::Criterion::STRICT) const¶ Returns whether an object is equivalent to another one.
- Return
- true if objects are equivalent.
- Parameters
other: other object to compare tocriterion: comparaison criterion.
-
bool
contains(const ExtentNNPtr &other) const¶ Returns whether this extent contains the other one.
Behaviour only well specified if each sub-extent category as at most one element.
-
bool
intersects(const ExtentNNPtr &other) const¶ Returns whether this extent intersects the other one.
Behaviour only well specified if each sub-extent category as at most one element.
-
ExtentPtr
intersection(const ExtentNNPtr &other) const¶ Returns the intersection of this extent with another one.
Behaviour only well specified if there is one single GeographicExtent in each object. Returns nullptr otherwise.
Public Static Functions
-
ExtentNNPtr
create(const util::optional<std::string> &descriptionIn, const std::vector<GeographicExtentNNPtr> &geographicElementsIn, const std::vector<VerticalExtentNNPtr> &verticalElementsIn, const std::vector<TemporalExtentNNPtr> &temporalElementsIn)¶ Instanciate a Extent.
- Return
- a new Extent.
- Parameters
descriptionIn: Textual description, or empty.geographicElementsIn: Geographic element(s), or empty.verticalElementsIn: Vertical element(s), or empty.temporalElementsIn: Temporal element(s), or empty.
-
ExtentNNPtr
createFromBBOX(double west, double south, double east, double north, const util::optional<std::string> &descriptionIn = util::optional<std::string>())¶ Instanciate a Extent from a bounding box.
- Return
- a new Extent.
- Parameters
west: Western-most coordinate of the limit of the dataset extent (in degrees).south: Southern-most coordinate of the limit of the dataset extent (in degrees).east: Eastern-most coordinate of the limit of the dataset extent (in degrees).north: Northern-most coordinate of the limit of the dataset extent (in degrees).descriptionIn: Textual description, or empty.
Public Static Attributes
-
const ExtentNNPtr
WORLD¶ World extent.
-
const optional<std::string> &
-
class
GeographicBoundingBox: public osgeo::proj::metadata::GeographicExtent¶ - #include <metadata.hpp>
Geographic position of the dataset.
This is only an approximate so specifying the co-ordinate reference system is unnecessary.
- Remark
- Implements GeographicBoundingBox from GeoAPI
Public Functions
-
double
westBoundLongitude()¶ Returns the western-most coordinate of the limit of the dataset extent.
The unit is degrees.
If eastBoundLongitude < westBoundLongitude(), then the bounding box crosses the anti-meridian.
-
double
southBoundLatitude()¶ Returns the southern-most coordinate of the limit of the dataset extent.
The unit is degrees.
-
double
eastBoundLongitude()¶ Returns the eastern-most coordinate of the limit of the dataset extent.
The unit is degrees.
If eastBoundLongitude < westBoundLongitude(), then the bounding box crosses the anti-meridian.
-
double
northBoundLatitude()¶ Returns the northern-most coordinate of the limit of the dataset extent.
The unit is degrees.
-
bool
isEquivalentTo(const util::IComparable *other, util::IComparable::Criterion criterion = util::IComparable::Criterion::STRICT) const¶ Returns whether an object is equivalent to another one.
- Return
- true if objects are equivalent.
- Parameters
other: other object to compare tocriterion: comparaison criterion.
-
bool
contains(const GeographicExtentNNPtr &other) const¶ Returns whether this extent contains the other one.
-
bool
intersects(const GeographicExtentNNPtr &other) const¶ Returns whether this extent intersects the other one.
-
GeographicExtentPtr
intersection(const GeographicExtentNNPtr &other) const¶ Returns the intersection of this extent with another one.
Public Static Functions
-
GeographicBoundingBoxNNPtr
create(double west, double south, double east, double north)¶ Instanciate a GeographicBoundingBox.
If east < west, then the bounding box crosses the anti-meridian.
- Return
- a new GeographicBoundingBox.
- Parameters
west: Western-most coordinate of the limit of the dataset extent (in degrees).south: Southern-most coordinate of the limit of the dataset extent (in degrees).east: Eastern-most coordinate of the limit of the dataset extent (in degrees).north: Northern-most coordinate of the limit of the dataset extent (in degrees).
-
class
GeographicExtent: public osgeo::proj::util::BaseObject, public osgeo::proj::util::IComparable¶ - #include <metadata.hpp>
Base interface for geographic area of the dataset.
- Remark
- Simplified version of GeographicExtent from GeoAPI
Subclassed by osgeo::proj::metadata::GeographicBoundingBox
Public Functions
-
bool
isEquivalentTo(const util::IComparable *other, util::IComparable::Criterion criterion = util::IComparable::Criterion::STRICT) const = 0¶ Returns whether an object is equivalent to another one.
- Return
- true if objects are equivalent.
- Parameters
other: other object to compare tocriterion: comparaison criterion.
-
virtual bool
contains(const GeographicExtentNNPtr &other) const = 0¶ Returns whether this extent contains the other one.
-
virtual bool
intersects(const GeographicExtentNNPtr &other) const = 0¶ Returns whether this extent intersects the other one.
-
virtual GeographicExtentPtr
intersection(const GeographicExtentNNPtr &other) const = 0¶ Returns the intersection of this extent with another one.
-
class
Identifier: public osgeo::proj::util::BaseObject, public osgeo::proj::io::IWKTExportable¶ - #include <metadata.hpp>
Value uniquely identifying an object within a namespace.
- Remark
- Implements Identifier as described in ISO_19111_2018 but which originates from ISO_19115
Public Functions
Return a citation for the organization responsible for definition and maintenance of the code.
- Return
- the citation for the authority, or empty.
-
const std::string &
code()¶ Return the alphanumeric value identifying an instance in the codespace.
e.g. “4326” (for EPSG:4326 WGS 84 GeographicCRS)
- Return
- the code.
-
const optional<std::string> &
codeSpace()¶ Return the organization responsible for definition and maintenance of the code.
e.g “EPSG”
- Return
- the authority codespace, or empty.
-
const optional<std::string> &
version()¶ Return the version identifier for the namespace.
When appropriate, the edition is identified by the effective date, coded using ISO 8601 date format.
- Return
- the version or empty.
-
const optional<std::string> &
description()¶ Return the natural language description of the meaning of the code value.
- Return
- the description or empty.
-
const optional<std::string> &
uri()¶ Return the URI of the identifier.
- Return
- the URI or empty.
Public Static Functions
-
IdentifierNNPtr
create(const std::string &codeIn = std::string(), const util::PropertyMap &properties = util::PropertyMap())¶ Instanciate a Identifier.
- Return
- a new Identifier.
- Parameters
codeIn: Alphanumeric value identifying an instance in the codespaceproperties: See general_properties. Generally, the Identifier::CODESPACE_KEY should be set.
-
bool
isEquivalentName(const char *a, const std::string &b)¶ Returns whether two names are considered equivalent.
Two names are equivalent by removing any space, underscore, dash, slash, { or } character from them, and comparing ina case insensitive way.
-
bool
isEquivalentName(const std::string &a, const std::string &b)¶ Returns whether two names are considered equivalent.
Two names are equivalent by removing any space, underscore, dash, slash, { or } character from them, and comparing ina case insensitive way.
Public Static Attributes
-
const std::string
AUTHORITY_KEY¶ Key to set the authority citation of a metadata::Identifier.
The value is to be provided as a string or a metadata::Citation.
-
const std::string
CODE_KEY¶ Key to set the code of a metadata::Identifier.
The value is to be provided as a integer or a string.
-
const std::string
CODESPACE_KEY¶ Key to set the organization responsible for definition and maintenance of the code of a metadata::Identifier.
The value is to be provided as a string.
-
const std::string
VERSION_KEY¶ Key to set the version identifier for the namespace of a metadata::Identifier.
The value is to be provided as a string.
-
const std::string
DESCRIPTION_KEY¶ Key to set the natural language description of the meaning of the code value of a metadata::Identifier.
The value is to be provided as a string.
-
const std::string
URI_KEY¶ Key to set the URI of a metadata::Identifier.
The value is to be provided as a string.
-
const std::string
EPSG¶ EPSG codespace.
-
const std::string
OGC¶ OGC codespace.
-
class
PositionalAccuracy: public osgeo::proj::util::BaseObject¶ - #include <metadata.hpp>
Accuracy of the position of features.
- Remark
- Simplified version of PositionalAccuracy from GeoAPI, which originates from ISO_19115
Public Functions
-
const std::string &
value()¶ Return the value of the positional accuracy.
Public Static Functions
-
PositionalAccuracyNNPtr
create(const std::string &valueIn)¶ Instanciate a PositionalAccuracy.
- Return
- a new PositionalAccuracy.
- Parameters
valueIn: positional accuracy value.
-
class
TemporalExtent: public osgeo::proj::util::BaseObject, public osgeo::proj::util::IComparable¶ - #include <metadata.hpp>
Time period covered by the content of the dataset.
- Remark
- Simplified version of TemporalExtent from GeoAPI
Public Functions
-
const std::string &
start()¶ Returns the start of the temporal extent.
-
const std::string &
stop()¶ Returns the end of the temporal extent.
-
bool
isEquivalentTo(const util::IComparable *other, util::IComparable::Criterion criterion = util::IComparable::Criterion::STRICT) const¶ Returns whether an object is equivalent to another one.
- Return
- true if objects are equivalent.
- Parameters
other: other object to compare tocriterion: comparaison criterion.
-
bool
contains(const TemporalExtentNNPtr &other) const¶ Returns whether this extent contains the other one.
-
bool
intersects(const TemporalExtentNNPtr &other) const¶ Returns whether this extent intersects the other one.
Public Static Functions
-
TemporalExtentNNPtr
create(const std::string &start, const std::string &stop)¶ Instanciate a TemporalExtent.
- Return
- a new TemporalExtent.
- Parameters
start: start.stop: stop.
-
class
VerticalExtent: public osgeo::proj::util::BaseObject, public osgeo::proj::util::IComparable¶ - #include <metadata.hpp>
Vertical domain of dataset.
- Remark
- Simplified version of VerticalExtent from GeoAPI
Public Functions
-
double
minimumValue()¶ Returns the minimum of the vertical extent.
-
double
maximumValue()¶ Returns the maximum of the vertical extent.
-
common::UnitOfMeasureNNPtr &
unit()¶ Returns the unit of the vertical extent.
-
bool
isEquivalentTo(const util::IComparable *other, util::IComparable::Criterion criterion = util::IComparable::Criterion::STRICT) const¶ Returns whether an object is equivalent to another one.
- Return
- true if objects are equivalent.
- Parameters
other: other object to compare tocriterion: comparaison criterion.
-
bool
contains(const VerticalExtentNNPtr &other) const¶ Returns whether this extent contains the other one.
-
bool
intersects(const VerticalExtentNNPtr &other) const¶ Returns whether this extent intersects the other one.
Public Static Functions
-
VerticalExtentNNPtr
create(double minimumValue, double maximumValue, const common::UnitOfMeasureNNPtr &unitIn)¶ Instanciate a VerticalExtent.
- Return
- a new VerticalExtent.
- Parameters
minimumIn: minimum.maximumIn: maximum.unitIn: unit.
-
using