Ist srsName der Spezifikation „EPSG: 4326“ in GML 3.1 / 3.2 konform?


11

Ich sehe manchmal srsName="EPSG:4326"in GML-Dokumenten (z. B. https://postgis.net/docs/ST_GeomFromGML.html , obwohl meine spezielle Quelle nicht öffentlich ist). Die Absicht (außer vielleicht für die Achsenreihenfolge, die hier nicht wichtig ist) ist klar und wahrscheinlich über verschiedene Systeme hinweg interoperabel, aber ich frage mich, ob dies tatsächlich der Spezifikation entspricht.

Ich habe mir die OGC Naming Authority und die OGC URN-Richtlinie angesehen und sie verwenden das urn:ogc:def:crs:EPSG:\d{4,5}Formular (dh es wäre urn:ogc:def:crs:EPSG:4326).

Das GML-Punktprofil (OGC 05-029r4) wird srsName="urn:ogc:def:crs:EPSG:6.6:4326"in Beispielen verwendet und erfordert, dass es "bekannt" ist. Ich sehe dort nichts, was tatsächlich etwas Besonderes ausschließt srsName.

Entspricht die srsName="EPSG:abcd"Formularspezifikation (insbesondere srsName="EPSG:4326") einem GML 3.1- oder 3.2-Element (insbesondere dem Punktprofil)?


1
Das Hinzufügen des Postgis-Tags wurde abgelehnt. Bei der Frage geht es nicht um Postgis (oder eine andere Implementierung), sondern um die Spezifikation.
BradHards

Antworten:


10

Ja, srsName="EPSG:abcd"ist GML-3-konform, jedoch nur in einem Anwendungskontext, in dem EPSG:abcdauf eine CRS-Definition verwiesen wird. Ab 2013 besteht die bewährte Vorgehensweise von OGC ( hier dokumentiert ) darin, http-URIs der Form http://www.opengis.net/def/crs/EPSG/0/4326 zu verwenden .

Der Abschnitt v.2 der GML-3.0.0-Spezifikation ( OCG 02-023r4 ), Seite xiv, besagt, dass Aliasing-CRS koscher sind:

In GML haben wir festgestellt, dass es für ein identifiziertes Objekt praktisch ist, mehrere „Namen“ zu tragen - dh Etiketten, die entweder von externen Behörden zugewiesen oder üblicherweise für ein Objekt verwendet werden. Diese können voneinander unterschieden werden, indem der "codeSpace" für einen Namen notiert wird, wodurch ein Verbraucher der Informationen den geeigneten Namen für die Verwendung auswählen kann.

In der GML-3.2.1-Spezifikation ( OGC 03-105r1 ), Abschnitt 10.1.3.2, Seite 56 heißt es:

Im Allgemeinen verweist das Attribut srsName [vom Typ = "anyURI"] auf eine CRS-Instanz von gml: AbstractCoordinateReferenceSystem (siehe 12.2.3). Für bekannte Referenzen ist es nicht erforderlich, dass die CRS-Beschreibung an der Stelle vorhanden ist, auf die der URI verweist.

Während es in der GML-3-Spezifikation keine explizite Definition von "bekannt" gibt, verwendet OGC 05-029r4 (Abschnitt 4, Seite 8) die Definition von "bekannt" als "keine Auflösung erforderlich", solange eine Die Anwendung kann ein CRS intern anhand eines URI identifizieren. Man könnte sagen, das CRS ist "bekannt". Daher kann die Verwendung des etwas komplizierten Systems von GML-3.1 & 3.2, namentlich auf CRS zu verweisen, als bekannt interpretiert werden, da die CRS bekannt sind, und EPSG:abcdist daher vollkommen gültig. Wenn Sie die genauen Methoden untersuchen möchten, mit denen GML über einen srsName auf ein CRS verweist, lesen Sie referenceSystems.xsd unter http://schemas.opengis.net/gml/3.1.0/base/ und http: //schemas.opengis .net / gml / 3.2.1 / .

Es ist erwähnenswert, dass nach der Veröffentlichung des White Papers "OGC Identifiers - der Fall für HTTP-URIs" ( OGC 10-124r1 ) im Jahr 2010 die OGC-Spezifikationsdokumente mehr oder weniger auf diesen Standard umgestellt wurden .


Können Sie sagen, warum Sie denken, dass "EPSG: ####" eine URN ist? Von tools.ietf.org/html/rfc8141#section-2 müsste es urn:zumindest als registriertes URI-Schema beginnen. Außerdem verstehe ich nicht, was Sie denken, dass dies mit Geoserver zu tun hat (mit dem ich ziemlich vertraut bin).
BradHards

Ja, mein Fehler, EPSG: #### ist keine URN. Ich habe dem Geoserver WFS-Dokumente gegeben, da beide einige Beispiele für gültige srsName-Formate enthalten, aber Sie haben Recht, es ist nicht zum Thema gehörend. Ich habe beide Stücke herausgeschnitten.
Steven Kalt

OK, warum ist es dann eine gültige URI? Ich sehe nicht, dass "EPSG" ein registriertes Schema ist (nicht in kanonischer Kleinbuchstabenform). Während das Schema sagt anyURI, reicht dies möglicherweise nicht aus, um spezifikationskonform zu sein (dh die Spezifikation hat andere Anforderungen, die für das Schema nur eine sind).
BradHards

3
Gibt es eine Definition von anyURI, die einzelne Systeme ausschließt? Syntaktisches epsg: code kann ein URI sein. In rfc3986 gibt es keine Regel für Groß- oder Kleinbuchstaben. Der Typ anyURI für srsName ist nicht Geotools-spezifisch. Es ist in OGC 07-036 "OpenLIS® Geography Markup Language (GML) -Codierungsstandard" Kapitel 10.1.3.2 SRSReferenceGroup definiert.
Andreas W. Bartels

Es ist möglicherweise kein gültiger URI, aber es ist spezifikationskonform, wenn es erkennbar ist. Siehe OGC 07-036 GML V3.2.1, Abschnitt 10.1.3.2: " Im Allgemeinen verweist das Attribut srsName auf eine CRS-Instanz von gml: AbstractCoordinateReferenceSystem (siehe 12.2.3). Für bekannte Referenzen ist es nicht erforderlich, dass die CRS-Beschreibung vorhanden ist an der Stelle, auf die die URI zeigt. "
Steven Kalt
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.