Skip to content
This repository has been archived by the owner on Dec 1, 2022. It is now read-only.

Prefer epsg #90

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Prefer epsg #90

wants to merge 2 commits into from

Conversation

marqh
Copy link

@marqh marqh commented Dec 27, 2018

In the CovJSON specification there are numerous references to http://www.opengis.net/def/ where this OGC resource is being used to reference a EPSG published Coordinate Reference System definition.

The EPSG registry is responsible for publishing the EPSG referenced content, the OGC resource can only ever follow, and is unhelpfully inconsistent at times.

I think that the examples within CovJSON of referencing EPSG codes would be better directly referencing the source of these.

Additionally, the OGC resources publish GML encodings of CRS specifications. Whilst this can be seen as consistent for GML based applications, it is not well matched to a JSON encoding.
The Well Known Text encoding is much better suited to human and JSON clients, I believe.

In this change I propose using the http://epsg-registry.org resources and the WKT exports as identifying URIs for CRSs.

I have not proposed a mandate, this is not a compulsion, and it does not assume that EPSG meets all requirements.

This proposed change does recognise that publishing a CRS definition from the maintainers, not republished by a third party, and in a format more suitable for use directly within the encoding, may represent an improvement.

@marqh marqh mentioned this pull request Dec 27, 2018
5 tasks
@marqh
Copy link
Author

marqh commented Dec 27, 2018

Regarding "Prefer http://epsg-registry.org to http://www.opengis.net/def/", is the former now the URI for CRSs? Where does it say so? Also, does the former include an equivalent for http://www.opengis.net/def/crs/OGC/1.3/CRS84 (lon-lat axis order)?

@letmaik I don't think that there is any mandate that says only one of these resources may be used.

I am cautious about using the opengis identifiers for resources that are managed by EPSG.

I know that there is not an EPSG resource equivalent to
http://www.opengis.net/def/crs/OGC/1.3/CRS84
(for good reason)
but nothing in this PR proposes mandating one and only one source for resolving external references to CRSs

@letmaik
Copy link
Member

letmaik commented Dec 27, 2018

https://www.epsg-registry.org/export.htm?wkt=urn:ogc:def:crs:EPSG::4979 doesn't look like a long-term / stable URI to me. Just because it resolves to something that may or may not be a more preferred data format (WKT) it is not a reason for making this URI "the" new identifier. Identifiers, especially for things like CRSs are supposed to be stable forever, and it's up to standards bodies to define these, which the OGC has done. An improvement would be to come up with a media type for WKT and allow http://www.opengis.net/def/crs/EPSG/0/27700 to be resolved as WKT when requesting it (aka content negotiation).
Without more justification backed by both the linked data and standards bodies communities I don't think this PR is a good way forward.

@letmaik letmaik added the crs For issues etc relating to CRS handling label Dec 27, 2018
@marqh
Copy link
Author

marqh commented Dec 31, 2018

The format of the returned payload is not the critical factor here. The aim of this PR is to encourage the use of the EPSG registry as the point of truth for EPSG information, and not the opengis.net resources, which have other problems, with maintenance, versioning and consistency with the EPSG source.

I don't think that requesting that opengis.net provide a WKT payload on content negotiation address these concerns.

The use of URNs to define CRS references is a long standing aspect of OGC standards. The URN:
urn:ogc:def:crs:EPSG::4979
is a stable identifier that (I think) predates the provision of URIs for CRSs in GML.

As I understand it, it remains valid GML to directly use a URN of this form to identify a CRS and to recognise the EPSG authority.

EPSG provide direct access to CRS definitions, using this URN pattern, and has a long standing service delivering this.

@letmaik
Copy link
Member

letmaik commented Jan 2, 2019

https://www.epsg-registry.org/export.htm?wkt=urn:ogc:def:crs:EPSG::4979
!=
urn:ogc:def:crs:EPSG::4979

The URN can be used as identifier alone, and I'm sure the OGC/ISO recommends that for certain standards/formats. For Linked Data it would be nice to use an actual URL instead, which also would be recommended by the OGC/ISO. And http://www.opengis.net/def/crs/EPSG/0/4979 is such.

There are two separate issues here:

  1. What should the officially recognized identifier be?
  2. Should the identifier be a URL that returns a valid machine-readable representation of what is identified?

To answer 1., this has to come from some OGC/ISO document and shouldn't be decided ad-hoc just for CovJSON within this PR. And I don't think "https://www.epsg-registry.org/export.htm?wkt=..." is a recommended identifier prefix. But please correct me if that's the case actually.

For 2, this is a nice-to-have but not essential, since if the identifier pattern is known, whether that's the URN pattern urn:ogc:def:crs... or the URI pattern http://www.opengis.net/def/crs/... then it is trivial to extract relevant metadata like the EPSG id and then either use a hard-coded lookup table or query some webservice for further information, and that could be https://www.epsg-registry.org.

@marqh
Copy link
Author

marqh commented Jan 11, 2019

Hello @letmaik

The URN can be used as identifier alone, and I'm sure the OGC/ISO recommends that for certain standards/formats. For Linked Data it would be nice to use an actual URL instead, which also would be recommended by the OGC/ISO. And http://www.opengis.net/def/crs/EPSG/0/4979 is such.

I agree that a URL is preferred to identify a CRS within CovJSON

There are active discussion about the ongoing problems with OGC repackaging of EPSG resources, the last two CRS domain working group meetings at OGC technical committee meetings have discussed numerous challenges with this provision that are not resolved.

not least in this is the embedded version within these identifiers,
(see http://www.opengis.net/def/crs/EPSG)
which is particularly challenging when attempting to provide a definitive resource.
There is widespread use of version '0' within identifiers, without a management of how this version is related to the EPSG registry.

There are extensive problems with how these resources are being managed to support GML by opengis.net.

The authority for EPSG codes is the EPSG and they maintain their registry.

And I don't think "https://www.epsg-registry.org/export.htm?wkt=..." is a recommended identifier prefix. But please correct me if that's the case actually.

I believe that this is indeed a recommended identifier prefix, and preferable to opengis resources for many applications.

https://www.epsg-registry.org/export.htm?wkt=urn:ogc:def:crs:EPSG::4979 doesn't look like a long-term / stable URI to me.

This is a long term stable URI. I have confirmation from the EPSG providers of the long term management of this URI pattern.
Future changes to epsg-registry may provide new URL patterns and, in time, new stable URI patterns. This will not affect the long term provision of the URN based URI

This URN syntax is standardised in OGC 06-023r1

I have not yet found a document that explicitly provides an OGC recommendation for an identifier prefix.

The only functional, in situ prefixes that I have found that provide a resolvable and well managed source from an authority, using the standardised URN, as the epsg-registry prefixes.
There is no comparible prefix within opengis.net.

I think this is a strong support for the use of the EPSG registry resources for CovJSON

@letmaik
Copy link
Member

letmaik commented Feb 9, 2022

https://www.epsg-registry.org/export.htm?wkt=urn:ogc:def:crs:EPSG::4979 doesn't look like a long-term / stable URI to me.

This is a long term stable URI. I have confirmation from the EPSG providers of the long term management of this URI pattern.

3 years later and the URL is broken :) In fact, the whole domain is changed to epsg.org.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
crs For issues etc relating to CRS handling
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants