opengeospatial / geoapi

GeoAPI provides a set of interfaces in programming languages (currently Java and Python) for geospatial applications. The GeoAPI interfaces closely follow OGC specifications, adaptated to match the expectations of programmers.
http://www.geoapi.org
Apache License 2.0
118 stars 37 forks source link

Clarify the replacement for MD_ReferenceSystem #57

Open desruisseaux opened 4 years ago

desruisseaux commented 4 years ago

ISO 19115-1 figure 12 defines MD_ReferenceSystem with two properties: an Identifier and a MD_ReferenceSystemTypeCode (a code list - see #50). A note said: _"Refer to SCCRS in ISO 19111 when coordinate reference system information is not given through reference system identifier." However there is no details about how to reference ISO 19111. In particular MD_ReferenceSystem has no field for SC_CRS.

In order to allow reference to ISO 19111 and also in order to reduce overlapping between standards, GeoAPI 3.0 uses ISO 19111 RS_ReferenceSystem instead of ISO 19115 MD_ReferenceSystem. It allows us to reference ISO 19111 since SC_CRS is a subtype of RS_ReferenceSystem. If user wants to specify only the identifier, this is possible by using ReferenceSystem.getIdentifiers(). There is currently no way to get the CRS type however, except the way described in #50.

We should clarify the following:

desruisseaux commented 4 years ago

Proposal applied on Metadata.reference_system_info:

Description of the spatial and temporal reference systems used in the dataset. The reference system may be:

desruisseaux commented 1 year ago

ISO 19115-1:2014/Amd 2:2020 adds the following properties in ReferenceSystem:

If we keep the current GeoAPI approach, which is to use RS_ReferenceSystem as the base class of CRS instead of using MD_ReferenceSystem as a container class for a crs property, then above ISO 19115/Amd 2 does not apply. See #77 for discussion about those amendments.