WFS Simple - GetFeature operation


Here is the minimal valid data request, returning in GeoRSS format all features the service advertises:

The above example does no more than any normal URL request for content. In many cases, a developer of client software may only need to know this URL (and be able to read the XML response). However, if a large data set is being served, it may be useful to filter the results down to a more managable size.

WFS Simple requires implementing software to handle bounding box queries. This limits the response to those results that fall within (or on the edge of) a rectangular geographic extent. This is specified by including a BBOX parameter as in this example (the coordinates must be in the native coordinate reference system of the service):<br>

WFS Simple also requires implementing software to handle time. This limits the response to those results that fall within a particular time range. Time is specified by including a TIME parameter, which consists of a start time and end time separated by a forward-slash. The absence of either one of these parameters means that no limit is placed on time in that direction. Here is an example:
Key Description Default Value In WFS 1.1
Data request operation. Value must be GetFeature.   Y

The general form of the parameter is:


null Y

Constrain the results to return values within these slash-separated
timestamps. Specified using this format:

2006-10-23T04:05:06 -0500/2006-10-25T04:05:06 -0500


Either the start value or the end value can be omitted to indicate no restriction on time in that direction.

example of start time only: 2006-10-23T04:05:06 -050

example of end time only: /2006-10-25T04:05:06 -0500

If no timezone is given, it should be assumed that the service should choose an appropriate value, presumably the native time zone of the data or the service.

If the concept of TIME does not apply to the data being served, a service exception should be thrown.

null N
Encoding format of the response. Some common
possibilities are text/xml, text/plain, or application/x-gzip;subtype=text/xml
text/xml Y

The general form of the parameter is:


Where n is a positive integer indicating the maximum number of features that the WFS should return in response to a query. If no value is specified then all result instances should be presented. n2 is the feature number at which to start returning data. By default this is 0, or the first feature. Clients should consider this parameter as a convenience for visual display, as feature ordering is not guaranteed to stay the same over multiple requests.

null Y,N
A comma-separated list of property names (i.e. data fields). This limits the returned fields to a subset of the total. The default means return all fields. null Y

a WFS-supported SRS that should be used for returned feature geometries.

The default value shown to the right represents coordinates in WGS84, decimal degrees in latitude,longitude (Y,X) order.


Version of the service 0.5 Y

In addition to the standard request parameters shown in the table above, a service may OPTIONALLY filter the data returned by including parameters whose key is the name of a field, and whose value is a regular expression that conforms to Unicode Technical Standard #18. Here is an example based on the "Trees" data set described under the DescribeFeatureType operation. This request asks for trees for which the value of the "treeType" field starts with"elm":

A client can discover if a field may be filtered using regex by checking the DescribeFeatureType response for variables whose filter attribute is true. If a service does not support regex filtering, it shall simply not advertise any fields as having a queryable attribute of true.



The response to a GetFeature request depends on the output format specified.



Is it not critical to make

Is it not critical to make property names to attribute names?

We propose to introduce a new keyword “REGEX”. The corresponding value would have two parts: The first part is the property name and the second the actual regular expression.
The example of such parameter is "treeType=elm.*", but would it not be better that the example will have the following form: "REGEX=treeType/elm.*".