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.
Edycja 15-09-2016: Wpis zaktualizowałem do aktualnych odnośników do usługi serwującej Pomniki Przyrody z Generalnej Dyrekcji Ochrony Środowiska.
Na początek jak zwykle odniesienie do specyfikacji WFS która dostępna jest tutaj.
1. Spróbujmy pobrać dane WFS jakie udostępnia Generalna Dyrekcja Ochrony Środowiska.
2. Wpisujemy w przeglądarkę adres usługi WFS z Państwowym Rejestrem Granic:
3. Otrzymujemy odpowiedź od serwera o nastepującej treści: „Could not determine geoserver request from http request org.geoserver.platform.AdvancedDispatchFilter$AdvancedDispatchHttpRequest@289c6fbb” – oznacza ona że wywołanie usługi zawiera błędy składniowe.
Należy do adresu dodać zmienną request – ponieważ chcemy otrzymać listę warstw i parametry możliwych do pobrania danych używamy polecenia getCapabilites oraz zgodnie ze specyfikacją dodajemy zmienną odpowiedzialną za serwis WFS czyli:
http://sdi.gdos.gov.pl/wfs?request=getCapabilities&service=WFS
Efektem będzie strona z parametrami usługi.
Na stronie możemy zidentyfikować znaczniki określające poszczególnie parametry:
- <ows:ServiceIdentification> – zawiera nazwę usługi, jej typ, oraz wersję
- <ows:ServiceProvider> – zawiera dane kontaktowe do prowadzącego usługę
- <ows:OperationsMetadata> – nazwy oraz typy operacji dopuszczalnych na usłudze: Operation name=”GetCapabilities„,Operation name=”DescribeFeatureType„,Operation name=”GetFeature„
- <wfs:FeatureTypeList> – 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ładzie EPSG:2180 (pod linkami znajdują się opisy układów wraz z nazwami).
- <ogc:Filter_Capabilities> – określa możliwe do zastosowania polecenia filtrujące dane.
- <inspire_dls:SpatialDataSetIdentifier> – oznacza numer identyfikatora w ewidencji zbiorów i usług
Spróbujmy zastosować te informacje w celu pobrania obiektów za pomocą polecenia GetFeature – otwieramy nową zakładkę nie zamykając okienka getCapabilities. Uzupełniamy zmienne dodając kolejno : version=1.1.0 (określone w getCapabilities), service=WFS (specyfikacja WFS), typename=GDOS:PomnikiPrzyrody (nazwa warstwy z getCapabilities) otrzymując link:
Wyświetlają się nam dane dla warstwy województwa w postaci GML, które możemy zapisać na dysku w pliku z rozszerzeniem *.gml.
Zawężenie wyników mozna uzyskać dodając filtry określone w getCapabilities np. zakres danych – bbox=397294,582500,565378,767700 – gdzie bbox to prostokąt o współrzędnych xmin,ymin,xmax,ymax.
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.
Jeśli chcesz dowiedzieć się jak użyć usługi WFS do pobrania danych z Geoportalu2 bez znajomości zapytań WFS przeczytasz o tym tutaj: https://geoinformatyka.com.pl/pobieranie-danych-za-pomoca-uslugi-pobierania-wfs-z-geoportalu-2-spatialite-gui/