Der Web Feature Services (WFS) ist ein Geowebdienst, der eine Schnittstelle für den Zugriff auf Geobjekte (Features) bereitstellt.

Ein WFS beschränkt sich dabei allein auf Vektordaten, die in Datenbanken oder Vektordateien gespeichert werden. Im Rahmen der Spezifikationen des OGC ermöglicht er den Abruf der Geoobjekte und gibt das Ergebnis in der Geography Markup Language (GML) zurück.

Der WFS besitzt fünf Operationen, die vom Benutzer als HTTP-Anfrage von einem Client an den WFS gesendet werden können:

  1. GetCapabilities: Hierbei wird nach den Fähigkeiten des WFS gefragt. Als Antwort wird ein XML-Dokument an den Benutzer zurückgeschickt, das neben allgemeinen Angaben zum Anbieter des WFS die abfragbaren Feature Types und die möglichen Operationen beinhaltet.
  2. DescribeFeatureType: Bei dieser Anfrage werden Informationen zur Struktur der einzelnen Feature Types zurückgegeben.
  3. GetFeature: Mit diesem Request werden die einzelnen Feature Instanzen, d.h. die eigentlichen Daten zurückgegeben. Es sollte möglich sein, dass bei der Anfrage näher spezifiziert wird, welche Eigenschaften des Features zurückgegeben werden und ob diese räumliche Informationen beinhalten.
  4. Transaction: Ein WFS kann Anfragen der Transaktion bereitstellen, d.h. die Möglichkeit die eigentlichen Features in der Datenbasis zu ändern. Darunter fällt das Anlegen, die Aktualisierung und die Löschung geographischer Features.
  5. LockFeature: Hiermit wird vom WFS gewährleistet, dass bei einer Operation auf einem Feature Type, dieses nicht während der Transaktion von einer anderen Instanz geändert wird.

Diese Operationen sind in allen WFS-Spezifikatioen enthalten. Nimmt man die genannten Operationen als Grundlage, kann man zwei Typen von WFS unterscheiden:

  • Basic WFS: Dieser bietet den nur-lesenden Zugriff mit den Operationen GetCapabilities, DescribeFeatureType und GetFeature an.
  • Transaction WFS: Der Transaction WFS unterstützt alle Funktionen des Basic WFS. Zusätzlich ermöglicht er den schreibenden Zugriff auf die Daten mit den Operationen Transaction und optional LockFeature. Zur besseren Unterscheidung nicht transaktionsfähiger WFS von Transaction WFS werden letztere auch als WFS-T bezeichnet.

Ein WFS muss also mind. Anfragen mit den ersten drei Operationen anbieten, der Transaction und LockFeature Request sind optional.