Using WFS to build GIS support Sandra F
¨
allman
2.6.2 Geography Markup Language
The Geography Markup Language is the schema used for modeling, transporting and stor-
aging of spatial information. It is an XML grammar written in XML Schema. The language
provides objects that make it possible to describe the geography surrounding us, like fea-
tures, topology, units of measure, time, coordinate reference systems etc.[Con04b].
2.6.3 A WFS Feature
To give an explanation of what a geographic feature really is, can be done by describing it
as an abstraction of a phenomenon existing in the real world. If it has a location relative to
the earth, it is a geographic feature. Furthermore, a feature has a state. This state is defined
by a set of properties. Each property has a name, type and value.
For example, a city can be a geographic feature and have the following three properties:
name, population and location. Each of these properties has a name (e.g. city
name,
city pop, city location), a type (e.g. a string, a number and a point) and a value (e.g.
Stockholm, 1.000.000, and (17, 60)).
The type definition of a feature determines the number of properties, their names and types.
Geographic features can have a property that might have a geometry value. These features
are called geographic features with geometry [Con04b].
The geometries of geographic features are restricted to simple geometries, which means
that their coordinates are two-dimensional. Points, line strings and polygons represent the
geometries in a 2-dimensional reference system. Geometries may also be collections of
other geometries, either collections of the same geometry type (homogeneous geometry
collections), or collections of different geometry types (heterogeneous geometry collec-
tions) [Con04d].
2.6.4 OGC WFS operations
There are two types of WFS, the Basic WFS and the Transaction WFS. The basic WFS is a
read-only WFS. Clients can therefore not modify any features served by a basic WFS. The
basic WFS must support the following three operations:
1. GetCapabilities. When a WFS receives this request, it answers with a description of
its capabilities, i.e. what feature types it serves and the operations supported on each
feature type.
2. DescribeFeatureType. The WFS can be asked to describe the structure of any of the
feature types it serves.
3. GetFeature. With this request, the WFS is asked to deliver features. The client should
be able to constrain the query both spatially (i.e. ask for features which are placed
in a specific area) and non-spatially. The client should also be able to specify what
feature properties he/she is interested in receiving from the WFS.
With a Transaction WFS it is possible for the client to perform operations that modify
features, i.e. the client can create, update and delete features that the WFS serves. The
transactional WFS must support the three basic operations described above, and the addi-
tional Transaction operation. One more operation exists, the LockFeature operation. This
operation is optional for a transactional WFS to implement. The LockFeature operation en-
sures that serializable transactions are supported by processing a lock request on a feature
April 7, 2004 7 c99sfs@cs.umu.se