O srsName da especificação "EPSG: 4326" é compatível com a GML 3.1 / 3.2?

11

Às vezes, vejo srsName="EPSG:4326"nos documentos GML (por exemplo , https://postgis.net/docs/ST_GeomFromGML.html , embora minha fonte específica não seja pública). A intenção (exceto, talvez, a ordem dos eixos que não é importante aqui) é clara e provavelmente interoperável em vários sistemas, mas me pergunto se isso é realmente compatível com as especificações.

Examinei a política da OGC Naming Authority e da OGC URN e elas usam o urn:ogc:def:crs:EPSG:\d{4,5}formulário (ou seja, seria urn:ogc:def:crs:EPSG:4326).

O GML Point Profile (OGC 05-029r4) usa srsName="urn:ogc:def:crs:EPSG:6.6:4326"em exemplos e exige que seja "bem conhecido". Não vejo nada lá que realmente exclua qualquer detalhe em particular srsName.

A especificação do srsName="EPSG:abcd"formulário (em particular srsName="EPSG:4326") é compatível com um elemento GML 3.1 ou 3.2 (em particular, para o Perfil de ponto)?

BradHards
fonte
1
Rejeitou a adição da tag postgis - a questão não é sobre postgis (ou qualquer outra implementação), mas sobre as especificações.
BradHards 27/05

Respostas:

10

Sim, srsName="EPSG:abcd"é compatível com GML-3, mas apenas em um contexto de aplicativo em que EPSG:abcdaponta para uma definição de CRS. A partir de 2013, a melhor prática do OGC ( documentada aqui ) é usar URLs http no formato http://www.opengis.net/def/crs/EPSG/0/4326 .

A seção de especificação GML-3.0.0 ( OCG 02-023r4 ) v.2, página xiv afirma que os CRSs de alias são kosher:

no GML, achamos conveniente que um objeto identificado pudesse carregar vários "nomes" - ou seja, rótulos atribuídos por autoridades externas ou comumente usados ​​para um objeto. Eles podem ser diferenciados observando o “codeSpace” para um nome, o que permite que um consumidor da informação selecione o nome apropriado para ele usar.

A seção de especificação GML-3.2.1 ( OGC 03-105r1 ) 10.1.3.2, página 56 diz:

Em geral, o atributo srsName [do tipo = "anyURI"] aponta para uma instância CRS do gml: AbstractCoordinateReferenceSystem (consulte 12.2.3). Para referências conhecidas, não é necessário que a descrição do CRS exista no local para o qual o URI aponta.

Embora não exista uma definição explícita de "conhecido" dentro da especificação GML-3, usando a definição de OGC 05-029r4 (seção 4, página 8) de "conhecido" como "não exigindo resolução", desde que Como um aplicativo pode identificar internamente um CRS a partir de um URI, você pode dizer que o CRS é "conhecido". Assim, o uso do sistema um tanto complicado de apontar para CRSs do GML-3.1 e 3.2 pode ser interpretado como sendo os CRSs bem conhecidos e, portanto, EPSG:abcdé perfeitamente válido. Se você deseja explorar os métodos exatos com os quais o GML aponta para um CRS por meio de um srsName, consulte referenceSystems.xsd em http://schemas.opengis.net/gml/3.1.0/base/ e http: //schemas.opengis .net / gml / 3.2.1 / .

Vale ressaltar que, após a publicação do white paper "OGC Identifiers - o caso de HTTP URIs" ( OGC 10-124r1 ), lançado em 2010, os documentos de especificação do OGC passaram mais ou menos a essa norma.

Steven Kalt
fonte
Você pode dizer por que você acha que "EPSG: ####" é um URN? Em tools.ietf.org/html/rfc8141#section-2 , teria que começar urn:como o esquema de URI registrado, pelo menos. Além disso, não entendo o que você acha que isso faz com o geoserver (com o qual estou bastante familiarizado).
precisa saber é o seguinte
Sim, meu erro, EPSG: #### não é um URN. Forneci documentos WFS ao geoserver, pois ambos oferecem alguns exemplos de formatos srsName válidos, mas você está certo, é fora de tópico. Eu editei as duas peças.
Steven Kalt
OK, então porque é um URI válido? Não vejo que "EPSG" seja um esquema registrado (não em forma de letra minúscula canônica). Além disso, enquanto o esquema diz anyURI, talvez isso não seja suficiente para estar em conformidade com as especificações (ou seja, a especificação possui outros requisitos, que são válidos para o esquema apenas um).
precisa saber é o seguinte
3
Existe uma definição de anyURI que exclua esquemas individuais? Epsg sintático: o código pode ser um URI. Não há regra para letras maiúsculas ou minúsculas em rfc3986. O tipo anyURI para srsName não é específico do Geotools. É definido no OGC 07-036 "Padrão de codificação OpenGIS® Geography Markup Language (GML)" "Capítulo 10.1.3.2 SRSReferenceGroup.
Andreas W. Bartels
Pode não ser um URI válido, mas é compatível com as especificações se for reconhecível. Consulte OGC 07-036 GML V3.2.1, seção 10.1.3.2: " Em geral, o atributo srsName aponta para uma instância CRS do gml: AbstractCoordinateReferenceSystem (consulte 12.2.3). Para referências conhecidas, não é necessário que a descrição do CRS exista. no local para o qual o URI aponta. "
Steven Kalt