Go to previous pageGo to next page

1.4.1. What is WFS and how does it work?

Web Feature Service (WFS) defines operations to manipulate information about geographic features (points, lines, and polygons). These operations allow to execute transactions (query, create, update or delete) on spatial data through the Web. The geometric descriptions of features in the web feature service specification are encoded in GML. (Geoconnections.org)

An example:
"Let’s say you are building a map with a web map service, and would like to highlight a certain river. Since the web map server delivers only an image of the data, you cannot change the data in any way. You need a web feature service to give you control over the features included in your map." (Geoconnections.org)

How does it work?

A WFS request consists of a description of the query and data transformation operations that are to be applied. The request is generated on the client and is posted to a WFS server. The WFS Server reads and executes the request, returning the result in a feature set encoded in GML. A GML-enabled client can then use the feature set. (Reichhardt 2003)

Have a look at the following graphic which illustrates how a web feature request functions.

How does a WFS workHow does a WFS work

The web feature service specification defines the following operations:

Operation Description
GetCapabilities (mandatory) A WFS must be able to describe its capabilities. Specifically, it must indicate which feature types it can service and what operations are supported on each feature type.
DescribeFeatureType (mandatory) A WFS must be able, upon request, to describe the structure of any feature type it can service.
GetGmlObject (optional) A WFS may be able to service a request to retrieve element instances by traversing XLinks that refer to their XML IDs. In addition, the client should be able to specify whether nested XLinks embedded in returned element data should also be retrieved.
GetFeature (mandatory) A WFS must be able to service a request to retrieve feature instances. In addition, the client should be able to specify which feature properties to fetch and should be able to constrain the query spatially and non-spatially.
Transaction (optional) A WFS may be able to service transaction requests. A transaction request is composed of operations that modify features; that is create, update, and delete operations on geographic features.
LockFeature (optional) A WFS may be able to process a lock request on one or more instances of a feature type for the duration of a transaction. This ensures that serializable transactions are supported.


Go to previous page
Go to next page