Соответствует ли srsName спецификации «EPSG: 4326» в GML 3.1 / 3.2?

11

Я иногда вижу srsName="EPSG:4326"в документах GML (например, https://postgis.net/docs/ST_GeomFromGML.html , хотя мой конкретный источник не является общедоступным). Цель (за исключением, возможно, порядка осей, который здесь не важен) ясна и, вероятно, совместима между различными системами, но мне интересно, действительно ли это соответствует спецификации.

Я посмотрел на OGC Naming Authority и OGC URN policy , и они используют urn:ogc:def:crs:EPSG:\d{4,5}форму (то есть так будет urn:ogc:def:crs:EPSG:4326).

Профиль точек GML (OGC 05-029r4) используется srsName="urn:ogc:def:crs:EPSG:6.6:4326"в примерах и требует, чтобы он был «хорошо известен». Я не вижу там ничего, что действительно исключает какую-либо конкретную srsNameвещь.

Является ли srsName="EPSG:abcd"форма (в частности, srsName="EPSG:4326") Совместим со спецификацией для GML 3.1 или 3.2 элемент (в частности, для точки профиля)?

BradHards
источник
1
Отклонено добавление тега postgis - вопрос не о postgis (или любой другой реализации), а скорее о спецификации.
BradHards

Ответы:

10

Да, srsName="EPSG:abcd"совместим с GML-3, но только в контексте приложения, где EPSG:abcdуказывает на определение CRS. По состоянию на 2013 год передовой практикой OGC ( описанной здесь ) является использование http URI в форме http://www.opengis.net/def/crs/EPSG/0/4326 .

Раздел спецификации GML-3.0.0 ( OCG 02-023r4 ) v.2, страницы XIV с псевдонимами CRS являются кошерными:

в GML было удобно, чтобы идентифицированный объект мог иметь несколько «имен» - т. е. метки, назначаемые внешними органами или обычно используемые для объекта. Их можно отличить друг от друга, отметив «кодовое пространство» для имени, которое позволяет потребителю информации выбирать подходящее имя для использования.

В разделе 10.1.3.2 спецификации GML-3.2.1 ( OGC 03-105r1 ) на странице 56 говорится:

В целом, атрибут srsName [of type = "anyURI"] указывает на экземпляр CRS gml: AbstractCoordinateReferenceSystem (см. 12.2.3). Для общеизвестных ссылок не требуется, чтобы описание CRS существовало в месте, на которое указывает URI.

Хотя в спецификации GML-3 нет явного определения «хорошо известного», в OGC 05-029r4 (раздел 4, стр. 8) используется определение «хорошо известно» как «не требующее разрешения», если только Приложение может внутренне идентифицировать CRS из URI, вы можете сказать, что CRS «хорошо известен». Таким образом, использование несколько сложной системы указания на CRS по имени в GML-3.1 и 3.2 можно интерпретировать как общеизвестные CRS, и, таким образом EPSG:abcd, они вполне допустимы. Если вы хотите изучить точные методы , с которыми GML указывает на CRS через srsName, см referenceSystems.xsd в http://schemas.opengis.net/gml/3.1.0/base/ и HTTP: //schemas.opengis .net / gml / 3.2.1 / .

Стоит отметить , что после публикации белой бумаги «НГК идентификаторами-Корпуса для HTTP URI , » ( OGC 10-124r1 ) вышел в 2010 году, OGC спецификации документов более или менее переход к этому стандарту.

Стивен Калт
источник
Можете ли вы сказать, почему вы думаете, что "EPSG: ####" это URN? С tools.ietf.org/html/rfc8141#section-2 он должен начинаться urn:как с зарегистрированной схемы URI, по крайней мере. Кроме того, я не понимаю, что вы думаете, это делать с геосервером (с которым я довольно хорошо знаком).
BradHards
Да, моя ошибка, EPSG: #### это не URN. Я дал документацию по геосерверу WFS, так как оба приводят примеры допустимых форматов srsName, но вы правы, это не по теме. Я отредактировал обе части.
Стивен
Хорошо, тогда почему это действительный URI? Я не вижу, что «EPSG» является зарегистрированной схемой (не в канонической строчной форме). Кроме того, хотя схема говорит anyURI, что, возможно, этого недостаточно для соответствия спецификации (т. Е. У спецификации есть другие требования, которые действительны только для этой схемы).
BradHards
3
Есть ли определение anyURI, исключающее отдельные схемы? Синтаксический epsg: код может быть URI. В rfc3986 нет правила для букв верхнего и нижнего регистра. Тип anyURI для srsName не является специфическим для Geotools. Это определено в OGC 07-036 «Стандарт кодирования языка разметки географии (GML) OpenGIS», глава 10.1.3.2 SRSReferenceGroup.
Андреас В. Бартельс
Это может быть не действительный URI, но он соответствует спецификации, если он распознаваем. См. OGC 07-036 GML V3.2.1 раздел 10.1.3.2: « В общем случае атрибут srsName указывает на экземпляр CRS gml: AbstractCoordinateReferenceSystem (см. 12.2.3). Для общеизвестных ссылок не требуется, чтобы существовало описание CRS в том месте, на которое указывает URI. "
Стивен