SrsName della specifica "EPSG: 4326" è conforme in GML 3.1 / 3.2?


11

A volte lo vedo srsName="EPSG:4326"nei documenti GML (ad es. Https://postgis.net/docs/ST_GeomFromGML.html , sebbene la mia fonte particolare non sia pubblica). L'intento (tranne forse per l'ordine degli assi che non è importante qui) è chiaro e probabilmente interoperabile tra vari sistemi, ma mi chiedo se sia effettivamente conforme alle specifiche.

Ho esaminato l' autorità di denominazione OGC e la politica OGC URN e usano il urn:ogc:def:crs:EPSG:\d{4,5}modulo (cioè sarebbe urn:ogc:def:crs:EPSG:4326).

Il profilo punti GML (OGC 05-029r4) lo usa srsName="urn:ogc:def:crs:EPSG:6.6:4326"negli esempi e richiede che sia "ben noto". Non vedo nulla lì che in realtà esclude qualsiasi particolare srsNameperò.

La specifica del srsName="EPSG:abcd"modulo (in particolare srsName="EPSG:4326") è conforme per un elemento GML 3.1 o 3.2 (in particolare per Point Profile)?


1
Rifiutato l'aggiunta del tag postgis - la domanda non riguarda i postgis (o qualsiasi altra implementazione), ma piuttosto le specifiche.
BradHards,

Risposte:


10

Sì, srsName="EPSG:abcd"è conforme a GML-3 ma solo in un contesto applicativo in cui EPSG:abcdpunta a una definizione CRS. A partire dal 2013, la migliore pratica OGC ( documentata qui ) consiste nell'utilizzare gli URI http del modulo http://www.opengis.net/def/crs/EPSG/0/4326 .

Le specifiche GML-3.0.0 ( OCG 02-023r4 ) sezione v.2, pagina xiv afferma che aliasing CRSs è kosher:

in GML abbiamo trovato conveniente per un oggetto identificato essere in grado di portare diversi "nomi", ovvero etichette assegnate da autorità esterne o comunemente utilizzate per un oggetto. Questi possono essere distinti l'uno dall'altro annotando "codeSpace" per un nome, che consente a un consumatore delle informazioni di selezionare il nome appropriato che può usare.

La specifica GML-3.2.1 ( OGC 03-105r1 ) sezione 10.1.3.2, pagina 56 dice:

In generale l'attributo srsName [di tipo = "anyURI"] punta a un'istanza CRS di gml: AbstractCoordinateReferenceSystem (vedere 12.2.3). Per riferimenti noti non è necessario che la descrizione CRS esista nella posizione indicata dall'URI.

Sebbene non ci sia una definizione esplicita di "ben noto" nelle specifiche GML-3, usando la definizione OGC 05-029r4 (sezione 4, pagina 8) di "ben noto" come "non richiede risoluzione", purché un l'applicazione può identificare internamente un CRS da un URI, si potrebbe dire che il CRS è "ben noto". Pertanto, l'uso del sistema un po 'complicato di GML-3.1 e 3.2 di indicare i CRS per nome può essere interpretato come i CRS noti, e quindi EPSG:abcdperfettamente valido. Se si desidera esplorare i metodi esatti con cui GML punta a un CRS tramite un nome srs, consultare referenceSystems.xsd in http://schemas.opengis.net/gml/3.1.0/base/ e http: //schemas.opengis .net / gml / 3.2.1 / .

Vale la pena notare che dopo la pubblicazione del libro bianco "Identificatori OGC: il caso degli URI HTTP" ( OGC 10-124r1 ), pubblicato nel 2010, i documenti sulle specifiche OGC sono più o meno passati a tale standard.


Puoi dire perché pensi che "EPSG: ####" sia un URN? Da tools.ietf.org/html/rfc8141#section-2 dovrebbe iniziare urn:almeno come schema URI registrato. Inoltre, non capisco cosa pensi che faccia con geoserver (con cui ho abbastanza familiarità).
BradHards,

Sì, errore mio, EPSG: #### non è un URN. Ho fornito i documenti WFS del geoserver poiché entrambi forniscono alcuni esempi di formati validi di srsName, ma hai ragione, è fuori tema. Ho modificato entrambi i pezzi.
Steven Kalt,

OK, allora perché è un URI valido? Non vedo che "EPSG" sia uno schema registrato (non in forma canonica minuscola). Inoltre, mentre lo schema dice anyURI, forse questo non è sufficiente per essere conforme alle specifiche (cioè la specifica ha altri requisiti, che vale solo per uno schema valido).
BradHards,

3
Esiste una definizione di anyURI che esclude i singoli schemi? EPSG sintattico: il codice potrebbe essere un URI. Non esiste alcuna regola per le lettere maiuscole o minuscole in rfc3986. Il tipo anyURI per srsName non è specifico per i geotools. È definito in OGC 07-036 "Standard di codifica GML (OpenGIS® Geography Markup Language)" Capitolo 10.1.3.2 SRSReferenceGroup.
Andreas W. Bartels,

Potrebbe non essere un URI valido, ma è conforme alle specifiche se è riconoscibile. Vedi OGC 07-036 GML V3.2.1 sezione 10.1.3.2: " In generale l'attributo srsName punta a un'istanza CRS di gml: AbstractCoordinateReferenceSystem (vedi 12.2.3). Per riferimenti noti non è richiesta l'esistenza della descrizione CRS nella posizione indicata dall'URI. "
Steven Kalt
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.