WebFeatureService (WFS)
WebFeatureService, w skrócie WFS, jest otwartym standardem opracowanym przez Open Geospatial Consortium (OGC), umożliwiającym udostępnianie i wymianę wektorowych danych geoprzestrzennych za pośrednictwem protokołu HTTP. W przeciwieństwie do Web Map Service (WMS), który zwraca jedynie obrazy rastrowe, WFS dostarcza rzeczywiste obiekty geograficzne (tzw. features), które można edytować, filtrować i analizować po stronie klienta.
Historia
Standard WFS został opublikowany po raz pierwszy w 2004 roku jako WFS 1.0.0. Kolejne wersje (1.1.0, 2.0.0 i 2.0.2) wprowadzały obsługę nowych formatów danych, lepszą specyfikację operacji transakcyjnych oraz rozszerzenia umożliwiające integrację z serwisami REST i SOAP.
Podstawowe operacje
WFS definiuje zestaw operacji, które mogą być wywoływane przez klienta:
- GetCapabilities – zwraca opis dostępnych zasobów serwera oraz obsługiwane wersje standardu.
- DescribeFeatureType – udostępnia schemat (zwykle w formacie XML) określający strukturę obiektów (atrybuty, typy geometryczne).
- GetFeature – najważniejsza operacja, pozwala na pobranie danych geoprzestrzennych spełniających określone kryteria filtracji.
- Transaction – umożliwia wprowadzanie zmian w danych (INSERT, UPDATE, DELETE).
Formaty wymiany danych
Standard początkowo wykorzystywał Geography Markup Language (GML) jako jedyny format wymiany. W późniejszych wersjach wprowadzono wsparcie dla:
- GeoJSON – lekki format JSON, popularny w aplikacjach internetowych.
- Shapefile (przez rozszerzenia serwerowe).
- CSV (z kolumną geometryczną w formacie WKT).
Architektura i protokoły
WFS jest usługą SOA opartą na protokole HTTP. Operacje mogą być wywoływane przy użyciu:
- Zapytania GET – proste, wykorzystujące parametry URL (np.
?service=WFS&request=GetFeature&typeName=roads). - Zapytania POST – umożliwiające przesyłanie bardziej złożonych dokumentów XML (np. zapytania
<Filter>). - Komunikaty SOAP – stosowane w środowiskach korporacyjnych wymagających dodatkowego zabezpieczenia.
Zastosowania
WebFeatureService znajduje zastosowanie w wielu dziedzinach:
- Systemy informacji geograficznej (GIS) – integracja danych pomiędzy różnymi platformami (QGIS, ArcGIS).
- Mapowanie internetowe – warstwy wektorowe w aplikacjach OpenLayers i Leaflet.
- Planowanie przestrzenne – udostępnianie danych o parcelach, sieciach wodociągowych, drogach.
- Urzędowe portale danych – publiczne serwisy udostępniające otwarte dane geoprzestrzenne (Geoportal).
Przykładowe implementacje
Wśród najpopularniejszych serwerów oferujących WFS wymienić można:
- GeoServer – otwarto‑źródłowa platforma Java obsługująca WFS, WMS i WCS.
- MapServer – lekki serwer CGI/MapScript, z obsługą WFS poprzez moduł
OGR. - ArcGIS Server – komercyjny produkt Esri, zapewniający pełne wsparcie WFS 2.0.
- PDAL – biblioteka do przetwarzania punktów LiDAR, z możliwością udostępniania wyników jako WFS.
Bezpieczeństwo i kontrola dostępu
Standard sam w sobie nie definiuje mechanizmów autoryzacji, ale w praktyce serwery WFS integrują się z:
- Systemami OAuth i OpenID Connect – dla aplikacji webowych.
- Mechanizmami Basic Authentication oraz TLS/SSL – chroniące transmisję.
- Politykami RBAC – ograniczającymi dostęp do wybranych warstw lub operacji
Transaction.
Zalety i ograniczenia
| Zalety | Ograniczenia |
|---|---|
|
|
Powiązane standardy
WFS jest częścią rodziny serwisów OGC, które obejmują m.in.:
- WMS – Web Map Service
- WCS – Web Coverage Service
- CSW – Catalogue Service for the Web
- WPS – Web Processing Service
Patrz także
- GIS – Systemy informacji geograficznej
- GML – Geography Markup Language
- GeoJSON – format wymiany danych geoprzestrzennych
- Open Geospatial Consortium
- OpenLayers – biblioteka JavaScript
- Leaflet – lekka biblioteka mapowa
WebFeatureService pozostaje kluczowym elementem infrastruktury danych przestrzennych, umożliwiając interoperacyjność i otwartą wymianę informacji geoprzestrzennych w środowiskach publicznych i prywatnych.