Pořadí os souřadnicových systémů v WFS

31.03.2013 – 11:19 pm

Tento text je překladem WFS – Achsenreihenfolge von Koordinatensystemen, jehož autorem je Jürgen Weichand

Standard WFS sám o sobě žádné souřadnicové systémy nedefinuje. Souřadnicové systémy jsou registrovány ve speciálních registrech a v rámci WFS je na ně pouze odkazováno. Nejčastěji se odkazuje na registr EPSG. Ve verzi standardu WFS 1.1 a 2.0 je souřadnicový systém popsán pomocí Uniform Resource Name (URN).

Příklady (podle Andrae et al 2011):

urn:ogc:def:crs:EPSG:8.0:31468 (EPSG-Registry se zadáním verze)
urn:ogc:def:crs:EPSG::31468 (EPSG-Registry bez verze)
urn:adv:crs:DE_DHDN_3GK4_BY120 (AdV-Registry)

Zdroj chyb v pořadí souřadnic

WFS server a klient používají pořadí os, jak jsou specifikovány v registru. Tato definice se částečně liší od v praxi používaného pořadí. Např. Gauß-Krüger zóna 4 má netypické pořadí os severní/východní souřadnice v registru EPSG (EPSG:31468)

Následující tabulka představuje pořadí os některých souř. systémů:

URN souř. systému Pořadí os
WGS 84 urn:ogc:def:crs:EPSG::4326 Šířka / Délka
ETRS 89 urn:ogc:def:crs:EPSG::4258 Šířka / Délka
UTM 32 Nord (ETRS 89) urn:ogc:def:crs:EPSG::25832 Pravá hodnota / Výšková hodnota
Gauß-Krüger Zone 4 (DHDN) urn:ogc:def:crs:EPSG::31468 Výšková hodnota / Pravá hodnota
Gauß-Krüger Zone 4 (Pulkovo1942) urn:ogc:def:crs:EPSG::2398 Výšková hodnota / Pravá hodnota

Někteří starší klienti WFS nejsou často schopny zprostředkovat pořadí o z registru EPSG. Také ne všechny GISy jsou schopny pracovat s pořadím os Výšková hodnota / Pravá hodnota.

Z tohoto důvodu někeré servery (např. Geoserver, deegree) konvenci, podle které lze v každém případě vynutit pořadí os “x/y” (tedy délka/šířka). To nastane v případě, že souř. systém je odkázan ne přes celé URN “urn:ogc:def:crs:EPSG::31468”, ale pouze zkrácenou starší formou “EPSG:31468”.

Příklad: EPSG:31468 pomocí URN (šířka/délka): http://geoserv.weichand.de:8080/geoserver/wfs?service=WFS&version=2.0.0&request=GetFeature&typeNames=bvv:gmd_ex&count=1&srsName=urn:ogc:def:crs:EPSG::31468

Příklad: EPSG:31468 pomocí starší EPSG definice (délka/šířka):
http://geoserv.weichand.de:8080/geoserver/wfs?service=WFS&version=2.0.0&request=GetFeature&typeNames=bvv:gmd_ex&count=1&srsName=EPSG:31468.

Článek vznikl na základě diplomové práce vývoj a použití stahovacích služeb v kontextu evropské geoinfrastruktury INSPIRE.

Poznámka od Jáchyma:

Je v tom bordel. Obecně se bere jak napsáno výše (budu se držet amatérského “x,y”, protože je mi to bližší a každý kdo prošel základní středoškolskou matematikou ví, jak to myslím): pokud použijete “krátký zápis”: “EPSG:4326”, znamená to, pořadí os bude “normální” – x,y. To platí jak pro request (např. parametr bbox!), tak pro response (výsledné GML bude mít pořadí souřadnic x,y). Pokud se použije dlouhý zápis (urn:ogc:def:crs:EPSG::4326), bude pořadí os “y,x”, protože to vyplývá z definice souř. systému.

Jak zjistíte pořadí os v daném souř. systému? No, je to trochu problém – berte, že většina systémů je “normální” x,y a ty zvláštní s pořadím y,x najdete např. v HSLayers nebo v OWSlib. Seznam jsem kdysi šlohnul ze zdrojáků MapServeru. Pravda je, že většina serverů (tedy těch “komerčních”) na tohle moc nehraje. Napsat klienta, který je schopen poslat request s jedním pořadím os a zpracovat odpověď s druhým pořadím os … to jsem si musel udělat sám.

A aby to nebylo tak jednoduché: WMS 1.3.0 se od verze 1.1.0 liší mimo jiné právě tím, že WMS 1.3.0 bere ohled na pořadí os, kdežto 1.1.0 ne – opět platí i pro bounding box v requestu.

Takže doufám, že od teď je nám to všem už jasné.

Share Button
  1. 2 Responses to “Pořadí os souřadnicových systémů v WFS”

  2. Mě se to nějak nezdá. Chápu to že každý systém má jinak souřadnicové osy a v některých případech by mohl nastat problém při čtení dat ze starších serverů, ale jak to ovlivní například přípravu INSPIRE stahovacích služeb v EPSG::5514 a EPSG::4326? Služba nám teď funguje stejně pro dotaz v “dlouhé” i “krátké” verzi. Chápu to dobře tak že nyní nesplňujeme OGC standard? Přijde mi to zbytečně komplikované.
    http://services.cuzk.cz/wfs/inspire-au-wfs.asp?service=WFS&version=2.0.0&request=GetFeature&typenames=AdministrativeUnit&srsName=urn:ogc:def:crs:EPSG::4326&BBOX=48.98,14.9,49.61,15.5
    http://services.cuzk.cz/wfs/inspire-au-wfs.asp?service=WFS&version=2.0.0&request=GetFeature&typenames=AdministrativeUnit&srsName=EPSG::4326&BBOX=48.98,14.9,49.61,15.5

    By Michal Med on Nov 8, 2013

  3. Mě se to nějak nezdá. Chápu to že každý systém má jinak souřadnicové osy a v některých případech by mohl nastat problém při čtení dat ze starších serverů, ale jak to ovlivní například přípravu INSPIRE stahovacích služeb v EPSG::5514 a EPSG::4326? Služba nám teď funguje stejně pro dotaz v “dlouhé” i “krátké” verzi. Chápu to dobře tak že nyní nesplňujeme OGC standard? Přijde mi to zbytečně komplikované.
    http://services.cuzk.cz/wfs/inspire-au-wfs.asp?service=WFS&version=2.0.0&request=GetFeature&typenames=AdministrativeUnit&srsName=urn:ogc:def:crs:EPSG::4326&BBOX=48.98,14.9,49.61,15.5
    http://services.cuzk.cz/wfs/inspire-au-wfs.asp?service=WFS&version=2.0.0&request=GetFeature&typenames=AdministrativeUnit&srsName=EPSG::4326&BBOX=48.98,14.9,49.61,15.5

    By Michal Med on Nov 8, 2013

Post a Comment