96
Marian de Vries and Peter van Oosterom
An OGC Web Map Service is an example of a Portrayal service. It has raster images as output, which can be displayed without further processing in the Web client.
Some WMS implementations also offer scalable vector graphics (SVG) as output format. A disadvantage of a WMS service that serves raster images is that every zoom
or pan action of the user leads to a new map request to the server, which slows down
the interaction. A WMS is also limited in its selection possibilities: only a selection
on spatial extent (bounding box) and on complete map layer is possible [14].
For our purpose we need a Web service that will send vector data to the client.
Only in this way are the progressive refinement and gradual changes in the level of
detail possible without continuous requests to the service every time the user changes
the zoom level. For that reason, a WFS is a better choice. A WFS is primarily a
data service. It produces vector geo-data in geography markup language (GML) that
still has to be processed into a graphic map in the client. A Transactional WFS service (WFS-T) can also be used for editing data sets [13]. In the next paragraphs we
will give some more information about the WFS protocol, and in Sect. 5.5 discuss
whether extensions to that protocol are needed to enable progressive refinement using the tGAP data structures.
5.4.2 WFS Basic Principles
The WFS requests and responses are sent between client and server using the common Internet HTTP protocol. There are two methods of encoding WFS requests. The
first uses keyword-value pairs (KVP) to specify the various request parameters as arguments in a URL string (Example 1 below), the second uses XML as the encoding
language (Example 2). In both cases (XML and KVP) the response to a request (or
the exception report in case of an error) is identical. KVP requests are sent using
HTTP GET, while XML requests have to be sent with HTTP POST. With WFS different types of selection queries are possible:
1. Get all feature instances (objects) of a certain feature type (object class) (no
selection). For this the following HTTP GET request can be used:
http://www.someserver.org/servlet/wfs?REQUEST=
GetFeature&VERSION=1.0.0&TYPENAME=gdmc:parcel
2. Select a subset of the features, by specifying a selection filter. Both spatial and
non-spatial properties of the feature (attributes of the class) can be used in these
filter expressions. Using a filter implies the use of HTTP POST, for sending an
XML-encoded request to the WFS service.
outputFormat="GML2" >
gdmc:municip
GDA01
Marian de Vries and Peter van Oosterom
An OGC Web Map Service is an example of a Portrayal service. It has raster images as output, which can be displayed without further processing in the Web client.
Some WMS implementations also offer scalable vector graphics (SVG) as output format. A disadvantage of a WMS service that serves raster images is that every zoom
or pan action of the user leads to a new map request to the server, which slows down
the interaction. A WMS is also limited in its selection possibilities: only a selection
on spatial extent (bounding box) and on complete map layer is possible [14].
For our purpose we need a Web service that will send vector data to the client.
Only in this way are the progressive refinement and gradual changes in the level of
detail possible without continuous requests to the service every time the user changes
the zoom level. For that reason, a WFS is a better choice. A WFS is primarily a
data service. It produces vector geo-data in geography markup language (GML) that
still has to be processed into a graphic map in the client. A Transactional WFS service (WFS-T) can also be used for editing data sets [13]. In the next paragraphs we
will give some more information about the WFS protocol, and in Sect. 5.5 discuss
whether extensions to that protocol are needed to enable progressive refinement using the tGAP data structures.
5.4.2 WFS Basic Principles
The WFS requests and responses are sent between client and server using the common Internet HTTP protocol. There are two methods of encoding WFS requests. The
first uses keyword-value pairs (KVP) to specify the various request parameters as arguments in a URL string (Example 1 below), the second uses XML as the encoding
language (Example 2). In both cases (XML and KVP) the response to a request (or
the exception report in case of an error) is identical. KVP requests are sent using
HTTP GET, while XML requests have to be sent with HTTP POST. With WFS different types of selection queries are possible:
1. Get all feature instances (objects) of a certain feature type (object class) (no
selection). For this the following HTTP GET request can be used:
http://www.someserver.org/servlet/wfs?REQUEST=
GetFeature&VERSION=1.0.0&TYPENAME=gdmc:parcel
2. Select a subset of the features, by specifying a selection filter. Both spatial and
non-spatial properties of the feature (attributes of the class) can be used in these
filter expressions. Using a filter implies the use of HTTP POST, for sending an
XML-encoded request to the WFS service.
