¿Cumple srsName de la especificación "EPSG: 4326" en GML 3.1 / 3.2?

11

A veces veo srsName="EPSG:4326"en documentos GML (por ejemplo , https://postgis.net/docs/ST_GeomFromGML.html , aunque mi fuente particular no es pública). La intención (excepto quizás para el orden de los ejes que no es importante aquí) es clara y probablemente interoperable en varios sistemas, pero me pregunto si eso realmente cumple con las especificaciones.

He mirado en el OGC Naming Autoridad y la política de OGC URN , y utilizan la urn:ogc:def:crs:EPSG:\d{4,5}forma (es decir, que sería urn:ogc:def:crs:EPSG:4326).

El perfil de puntos GML (OGC 05-029r4) se utiliza srsName="urn:ogc:def:crs:EPSG:6.6:4326"en ejemplos y requiere que sea "bien conocido". Sin srsNameembargo , no veo nada allí que realmente excluya cualquier particular .

¿ Cumple la especificación de srsName="EPSG:abcd"formulario (en particular srsName="EPSG:4326") para un elemento GML 3.1 o 3.2 (en particular, para perfil de punto)?

BradHards
fuente
1
Rechazó el agregado de la etiqueta postgis: la pregunta no es sobre postgis (o cualquier otra implementación), sino sobre la especificación.
BradHards

Respuestas:

10

Sí, srsName="EPSG:abcd"cumple con GML-3, pero solo en un contexto de aplicación donde EPSG:abcdapunta a una definición de CRS. A partir de 2013, la mejor práctica de OGC ( documentada aquí ) es utilizar URI http del formulario http://www.opengis.net/def/crs/EPSG/0/4326 .

La especificación GML-3.0.0 ( OCG 02-023r4 ) sección v.2, página xiv indica que los CRS de alias son kosher:

En GML hemos encontrado conveniente que un objeto identificado pueda llevar varios "nombres", es decir, etiquetas asignadas por autoridades externas o comúnmente utilizadas para un objeto. Estos se pueden distinguir entre sí observando el "codeSpace" para un nombre, que permite al consumidor de la información seleccionar el nombre apropiado para su uso.

La especificación GML-3.2.1 ( OGC 03-105r1 ) sección 10.1.3.2, página 56 dice:

En general, el atributo srsName [of type = "anyURI"] apunta a una instancia CRS de gml: AbstractCoordinateReferenceSystem (consulte 12.2.3). Para referencias bien conocidas, no se requiere que la descripción de CRS exista en la ubicación a la que apunta el URI.

Si bien no existe una definición explícita de "conocido" dentro de la especificación GML-3, utilizando la definición de OGC 05-029r4 (sección 4, página 8) de "conocido" como "no requiere resolución", siempre que la aplicación puede identificar internamente un CRS desde un URI, se podría decir que el CRS es "bien conocido". Por lo tanto, el uso del complicado sistema de GML-3.1 y 3.2 de señalar los CRS por su nombre puede interpretarse como que los CRS son conocidos, por lo que EPSG:abcdes perfectamente válido. Si desea explorar los métodos exactos con los que GML apunta a un CRS a través de un srsName, consulte referenceSystems.xsd en http://schemas.opengis.net/gml/3.1.0/base/ y http: //schemas.opengis .net / gml / 3.2.1 / .

Vale la pena señalar que después de la publicación del documento técnico "Identificadores de OGC: el caso de los URI de HTTP" ( OGC 10-124r1 ) salió en 2010, los documentos de especificación de OGC pasaron más o menos a ese estándar.

Steven Kalt
fuente
¿Puedes decir por qué crees que "EPSG: ####" es una URN? Desde tools.ietf.org/html/rfc8141#section-2urn: , al menos tendría que comenzar como el esquema URI registrado. Además, no entiendo qué crees que esto se hace con el geoservidor (con el que estoy bastante familiarizado).
BradHards
Sí, mi error, EPSG: #### no es una URN. Le di al geoserver documentos WFS ya que ambos dan algunos ejemplos de formatos válidos de srsName, pero tienes razón, está fuera de tema. He editado ambas piezas.
Steven Kalt
OK, entonces ¿por qué es un URI válido? No veo que "EPSG" sea un esquema registrado (no en forma de minúsculas canónicas). Además, aunque el esquema dice anyURI, eso quizás no sea suficiente para cumplir con las especificaciones (es decir, la especificación tiene otros requisitos, que son válidos para el esquema solo uno).
BradHards
3
¿Existe una definición de anyURI que excluya los esquemas individuales? EPSG sintáctico: el código podría ser un URI. No hay una regla para las letras mayúsculas o minúsculas en rfc3986. El tipo anyURI para srsName no es específico de Geotools. Está definido en OGC 07-036 "OpenGIS® Geography Markup Language (GML) Encoding Standard" Capítulo 10.1.3.2 SRSReferenceGroup.
Andreas W. Bartels
Puede que no sea un URI válido, pero cumple con las especificaciones si es reconocible. Ver OGC 07-036 GML V3.2.1 sección 10.1.3.2: " En general, el atributo srsName apunta a una instancia CRS de gml: AbstractCoordinateReferenceSystem (ver 12.2.3). Para referencias bien conocidas no es necesario que exista la descripción CRS en la ubicación a la que apunta el URI. "
Steven Kalt