Usługa WFS – jak to działa ?

Na rynku dostepnych jest wiele przegladarek i programów umożliwiających pobieranie danych za pomocą usługi WFS. Co jednak, jeśli używamy ArcGISa a nie mamy dodatku ArcGIS Data Interoperability, nie możemy zainstalować na komputerze innego programu ze względu na ograniczenia administracyjne lub ze względu na nieznane błędy nie możemy pobrać danych ?
Jak określić jakie dane są do pobrania, jakie są ich parametry, oraz jak wyglądają polecenia usługi WFS. O tym będzie dzisiejszy wpis.

Na początek jak zwykle odniesienie do specyfikacji WFS która dostępna jest tutaj.

1. Spróbujmy pobrać dane WFS jakie udostępnia GUGiK – wchodzimy na listę usług dostępną w wielu miejscach np. na geoforum:
http://geoforum.pl/note.php?id=15
2. Wpisujemy w przeglądarkę usługę WFS z Państwowym Rejestrem Granic pod adresem http://sdi.geoportal.gov.pl/wfs_prg/wfservice.aspx
3. Otrzymujemy odpowiedź od serwera o nastepującej treści:wfs_getCapabilitiesNależy do adresu dodać zmienną request – ponieważ chcemy otrzymać listę warstw i parametry możliwych do pobrania danych używamy polecenia getCapabilites (specyfikacja powyżej) co da nam następujący link do zapytania
http://sdi.geoportal.gov.pl/wfs_prg/wfservice.aspx?request=getCapabilities
Tym razem otrzymujemy wyjątek o braku zmiennej service – zgodnie ze specyfikacją dodajemy zmienną odpowiedzialną za serwis WFS czyli
http://sdi.geoportal.gov.pl/wfs_prg/wfservice.aspx?request=getCapabilities&service=wfs
Efektem będzie strona z parametrami usługi.

prg_wfs
Na stronie możemy zidentyfikować nagłówki określające poszczególnie parametry:

  • SERVICE IDENTIFICATION SECTION – zawiera nazwę usługi, jej typ, oraz wersję
  • SERVICE PROVIDER SECTION – zawiera dane kontaktowe do prowadzącego usługę
  • OPERATIONS METADATA SECTION – nazwy oraz typy operacji dopuszczalnych na usłudze: Operation name=”GetCapabilities„,Operation name=”DescribeFeatureType„,Operation name=”GetFeature
  • FEATURE TYPE LIST SECTION – zawiera szczegółowe informacje o typach obiektów które można pobrać za pomocą usługi – są to: województwa, powiaty, gminy oraz obsługiwanych dla nich układach współrzędnych. Widać że dane można pobrać w układach EPSG:4326,EPSG:3785,EPSG:2180 (pod linkami znajdują się opisy układów wraz z nazwami).
  • FILTER CAPABILITIES SECTION – określa możliwe do zastosowania polecenia filtrujące dane.

Spróbujmy zastosować te informacje w celu pobrania obiektów za pomocą polecenia GetFeature – otwieramy nową zakładkę nie zamykając okienka getCapabilities i wchodzimy na adres:

http://sdi.geoportal.gov.pl/wfs_prg/wfservice.aspx?request=getFeature

uzupełniamy zmienne jak wcześniej reagując na występujące wyjątki dodając kolejno : version=1.1.0 (określone w getCapabilities), service=WFS (specyfikacja WFS), typename=gmgml:WOJEWODZTWA (nazwa warstwy z getCapabilities) otrzymując link:

http://sdi.geoportal.gov.pl/wfs_prg/wfservice.aspx?request=getFeature&version=1.1.0&service=WFS&typename=gmgml:WOJEWODZTWA

Wyświetlają się nam dane dla warstwy województwa w postaci GML, które możemy zapisać na dysku z rozszerzeniem GML. Jeśli chcemy otrzymać dane w konkretnym układzie współrzędnych dodajemy zmienną odpowiedzialną za układ – czyli np w układzie 1992.

http://sdi.geoportal.gov.pl/wfs_prg/wfservice.aspx?request=getFeature&version=1.1.0&service=WFS&typename=gmgml:WOJEWODZTWA&srsName=EPSG:2180

Zawężenie wyników mozna uzyskać dodając filtry określone w getCapabilities np. zakres danych w układzie 1992 – bbox=378316,420036,378438,430000

http://sdi.geoportal.gov.pl/wfs_prg/wfservice.aspx?request=getFeature&version=1.1.0&service=WFS&typename=gmgml:WOJEWODZTWA&srsName=EPSG:2180&bbox=378316,420036,378438,430000

Zapisany plik GML możemy wczytać w Qgis jak każdy gml za pomocą polecenia dodaj warstwę. Istniejące czasem problemy z zamianą współrzędnych w pliku można rozwiązać za pomocą wtyczki zamieniającej współrzędne xy na yx o nazwie SWAP XY szczegółowo jest to opisane tutaj: http://geoinformacja.wordpress.com/2010/10/04/wfs-pobieranie-danych-gml-do-shape-czyli-jak-odwrocic-wspolrzedne-w-qgis/

Posted under: getCapabilities, GIS, gml, gugik, państwowy rejestr granic, Usługi sieciowe, WFS

Tagged as: , , , , , , , ,

Share this:

Comments are closed.