Title: HMA catalog access WFS server prototype
1HMA catalog accessWFS server prototype
- WFS
- Overview
- Filter Encoding
- ISO Process
- Drawbacks
- GML 3.2
- Roadmap
- Main changes 1
- Main changes 2
- PHR catalog prototype
- Overview
- Server prototype
- XML Schemas
Centre National dEtudes Spatiales DCT/PS/TIS
Jérôme Gasperi April 27th 2006
2WFSOverview 1
- The OGC Web Feature Service (WFS) allows a
client to retrieve geospatial data encoded in
Geography Markup Language (GML) from multiple Web
Feature Services. - WFS allows for clients and servers of different
vendors to share data without having to convert
between proprietary vendor formats. - From a end user point of view, datastrips are
naturally viewed as geographical feature (i.e.
footprint other attributes). Indeed this point
of view is very coherent with a GML
representation of the data.
3WFS Overview 2
- A basic WFS server should implement 3 mandatory
services - GetCapabilities returns a XML document that
lists features and services availables on server - DescribeFeatureType returns the XML schema for
a given feature. - GetFeature returns the metadata for the
requested feature. Metadata should be expressed
as a GML response
WFS Server
4WFSOverview 3
- A typical GetFeature request is composed of 3
declaration parts - The requested feature declaration ?
- A list of properties to be displayed in the
response ? - A query constraint ?
5WFSFilter Encoding
- Query constraint (SQL WHERE clause) is
expressed using the OGC Filter Encoding syntax. - Filter Encoding is an XML encoding of OGC Common
Catalog Query Language (CQL - system neutral
representation of a query predicate) - Supported operator list is highly customizable
- can be restricted or extended
- published in the capabilities document of the
service - Query constraint is defined as a triple
(operator/property/constraint value) - Complex queries are built with logical operators
(and,not,) - Used to encode queries by
- WFS and WCS specifications
- ebRIM Catalog Application Profile
6WFSISO process
- WFS and Filter Encoding are OGC adopted
specifications and in the process to become ISO
standards
Excerpt of the December 8, 2005 announcement
about WMS approval as an ISO standard the
OpenGIS Web Feature Service (WFS) Implementation
Specification and the OpenGIS Filter Encoding
Implementation Specification are in the process
to become ISO standards with OpenGIS Web Coverage
Service (WCS) Implementation Specification and
OpenGIS Catalog Service (CSW) Implementation
Specification expected to follow.
7WFSDrawbacks
- No cursor/iterator support. A Query returns all
the data corresponding to the query constraint - No presentation mechanism (i.e. full, brief,
summary, etc.). You must explicitly list in the
request all the properties you want to be
returned. - Within the Filter encoding part, you can request
on every field of the feature schema. You cannot
restrict the filter to a set of queryable
properties - However, WFS specification allows for vendor
specific enhancement which makes possible a
support for these issues.
8GML 3.2Roadmap
9GML 3.2Main changes 1
- According to the GML roadmap and the ISO
acceptance in early 2007, PHR ICDs will follow
the upcoming GML 3.2 schema. - The unavailability of GML 3.2 schema could be an
issue but although schemas can change during the
ISO process, the main point is that the generated
data remains identical from version 3.1.x to 3.2. - Practically, PHR ICD use GML 3.1.1 schema with
only non-deprecated properties - A simple XSLT can be used to switch data from
3.1.1 to 2.1.2 version for testability purpose.
10GML 3.2Main changes 2
GML
11PHR CatalogOverview
? PHR Access Unit needs no or little discovery to
connect and use the PHR Catalog.
? User enters the query criteria. If any, places
names are resolved and converted in coordinates
using a Gazeteer service. Query is finally
converted to the Filter Encoding formalism.
? Access Unit starts browsing the catalog via an
enhanced WFS interface (iteration support).
? Corresponding GML features are returned.
including images URL references and links to
related features (masks / scenes for a datastrip).
? images are requested by Access Unit using their
URL reference. ? Catalog returns corresponding
images using, if needed, its WCS and WMS
capabilities.
- Repeating steps ? to ?, Access Unit can
- iterate over the browse result set,
- ask for full metadata of a subset of features,
- retrieve related features (cloud masks) or image
data (album).
? Acces Unit can also optionnaly use specific
services proposed by PHR Catalog such as
Subscript or Optimization Coverage Calculation
Request.
12PHR CatalogServer prototype
- The metadata services of the PHR Catalog are
accessed through an enhanced WFS server. - The prototype implements the WFS server using the
Orbeon Presentation Server for XSLT
transformation and PostgreSQL/PostGIS for queries
(including spatial issues)
13PHR CatalogXML Schemas
- Datastrips and scenes are viewed as geographical
feature. - The returned feature are valid GML 3.1.1 data and
should be interpreted by standard GML reader (see
OS MasterMap Viewer/GML Viewer) - Metadata taxonomy use different XML namespace
- gml namespace mainly for geographical information
(extentOf, centerOf, etc.) - hma namespace for missions common information
(identifier, acquisition parameters, etc.) - ohr namespace for optical missions common
parameters - other namespaces for missions specific parameters
-
- See XMLSpy presentation
14AnnexesUsefull links
- http//www.opengeospatial.org
- Open Geospatial Consortium web site
- http//imasoft.spotimage.com/ops/WFS-CLIENT/index.
html - HMA WFS client access to server prototype
- http//imasoft.spotimage.com/ops/WFS-SERVER-05/mai
n - HMA WFS server prototype direct access
- http//www.snowflakesoftware.co.uk
- A GML 2.x/GML 3.x free viewer
15AnnexesMetadata in GML
From GML 3.1 specifications The
metaDataProperty follows the property pattern and
is used to contain or refer to metadata for GML
objects. It is defined in the schema as
follows ltcomplexType name"MetaDataPropertyTy
pe"gt ltchoice minOccurs"0"gt ltelement
ref"gml_MetaData" minOccurs"0"/gt ltany
processContents"lax"/gt lt/choicegt
ltattributeGroup ref"gmlAssociationAttributeGroup
"/gt ltattribute name"about" type"anyURI"
use"optional"/gt lt/complexTypegt The value of
the metaDataProperty is an abstract element
gml_MetaData that acts as a placeholder for any
package of metadata properties.