Чи відповідає 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 , і вони використовують 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 (зокрема, для профільного пункту)?


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 ми виявили зручним, щоб ідентифікований об'єкт міг носити кілька "імен" - тобто міток, присвоєних зовнішніми органами влади або зазвичай використовуваних для об'єкта. Їх можна відрізнити один від одного, зазначивши «codeSpace» для імені, що дозволяє споживачеві інформації вибрати відповідне ім’я для використання.

Специфікація GML-3.2.1 ( OGC 03-105r1 ) у розділі 10.1.3.2, сторінка 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 / .

Варто зазначити, що після публікації у 2010 році білої книги "Ідентифікатори OGC - справа для URI HTTP" ( OGC 10-124r1 ), документи із специфікації OGC були більш-менш перенесені на цей стандарт.


Чи можете ви сказати, чому ви думаєте, що "EPSG: ####" - це URN? З tools.ietf.org/html/rfc8141#section-2 слід було б починати urn:як зареєстрована схема URI. Крім того, я не розумію, що, на вашу думку, це стосується геосервера (який я досить добре знайомий).
BradHards

Так, моя помилка, EPSG: #### не є URN. Я дав документи geoserver WFS, оскільки обидва вони наводять кілька прикладів дійсних форматів srsName, але ви маєте рацію, це поза темою. Я відредагував обидва твори.
Стівен Кальт

ОК, тоді чому це дійсний URI? Я не бачу, що "EPSG" є зареєстрованою схемою (не в канонічній малій формі). Крім того, хоча схема говорить anyURI, що, можливо, недостатньо, щоб бути сумісними з технічними характеристиками (тобто у специфікації є інші вимоги, які дійсні щодо схеми - лише одна).
BradHards

3
Чи є визначення anyURI, яке виключає окремі схеми? Синтаксичний epsg: код може бути URI. У rfc3986 немає правила для великих і малих літер. Тип anyURI для srsName не є специфічним для Geotools. Її визначено в OGC 07-036 "OpenGIS® Geography Markup Markup (GML) Encoding Standard", глава 10.1.3.2 SRSReferenceGroup.
Andreas W. Bartels

Це може бути недійсним URI, але він відповідає специфікаціям, якщо він впізнаваний. Див. OGC 07-036 GML V3.2.1, розділ 10.1.3.2: " Загалом атрибут srsName вказує на екземпляр CRS gml: AbstractCoordinateReferenceSystem (див. 12.2.3). Для відомих посилань не потрібно, щоб існував опис CRS у місці, на яке вказує URI ".
Стівен Кальт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.