NAME
Geo::OGC::Service::WFS - Perl extension for geospatial web feature services
SYNOPSIS
The process_request method of this module is called by the Geo::OGC::Service framework.
DESCRIPTION
This module aims to provide the operations defined by the Open Geospatial Consortium's Web Feature Service standard. These are (in the version 2.0 of the standard)
GetCapabilities (discovery operation) (*)
DescribeFeatureType (discovery operation) (*)
GetPropertyValue (query operation)
GetFeature (query operation) (*)
GetFeatureWithLock (query & locking operation)
LockFeature (locking operation)
Transaction (transaction operation) (*)
CreateStoredQuery (stored query operation)
DropStoredQuery (stored query operation)
ListStoredQueries (stored query operation)
DescribeStoredQueries (stored query operation)
(*) are at least somehow implemented.
This module is a plugin for the Geo::OGC::Service framework.
EXPORT
None by default.
METHODS
process_request
The entry method into this service. Fails unless the request is well known.
GetCapabilities
Service the GetCapabilities request. The configuration JSON is used to control the contents of the reply. The config contains root keys, which are either simple or complex. The simple root keys are
Key Default Comment
--- ------- -------
version 2.0.0
Title WFS Server
resource required
ServiceTypeVersion
AcceptVersions 2.0.0,1.1.0,1.0.0
Transaction optional
FeatureTypeList is a root key, which is a list of FeatureType hashes. A FeatureType defines one layer (key Layer exists) or a group of layers (key Layer does not exist). The key DataSource is required - it is a GDAL data source string. Currently only PostGIS layer groups are supported.
If Layer is specified, then also keys Name, Title, Abstract, and DefaultSRS are required, and LowerCorner is optional.
For PostGIS groups the default is open. The names of the layers are constructed from a prefix, which is a required key, name of the table or view, and the name of the geometry column, e.g., prefix.table.geom. The listed layers can be restricted with keys TABLE_TYPE, TABLE_PREFIX, deny, and allow. TABLE_TYPE, deny, and allow are, if exist, hashes. The keys of the first are table types as DBI reports them, and the keys of the deny and allow are layer names (the prefix can be left out). TABLE_PREFIX is a string that sets a requirement for the table/view names for to be listed.
DescribeFeatureType
Service the DescribeFeatureType request.
GetPropertyValue
Not yet implemented.
GetFeature
Service the GetFeature request. The response is generated with the GML driver of GDAL using options TARGET_NAMESPACE, PREFIX, and FORMAT. They are from the root of the configuration (TARGET_NAMESPACE from FeatureType falling back to root) falling back to default ones "http://www.opengis.net/wfs", "wfs", and "GML3.2". The content type of the reponse is from configuration (root key 'Content-Type') falling back to default "text/xml".
The "gml:id" attribute of the features is GDAL generated or from a field defined by the key "gml:id" in the configuration (in the hash with layer name falling back to FeatureType).
GetFeatureWithLock
Not yet implemented.
LockFeature
Not yet implemented.
Transaction
Service the Transaction request. Transaction support is only implemented for PostgreSQL data sources. "Replace" operations are not yet supported.
CreateStoredQuery
Not yet implemented.
DropStoredQuery
Not yet implemented.
ListStoredQueries
Not yet implemented.
DescribeStoredQueries
Not yet implemented.
SEE ALSO
Discuss this module on the Geo-perl email list.
https://list.hut.fi/mailman/listinfo/geo-perl
For the WFS standard see
http://www.opengeospatial.org/standards/wfs
REPOSITORY
https://github.com/ajolma/Geo-OGC-Service-WFS
AUTHOR
Ari Jolma, <ari.jolma at gmail.com>
COPYRIGHT AND LICENSE
Copyright (C) 2015 by Ari Jolma
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.22.0 or, at your option, any later version of Perl 5 you may have available.