+ All Categories
Home > Documents > Web Feature Service – What and How? Ian Painter - Snowflake Software.

Web Feature Service – What and How? Ian Painter - Snowflake Software.

Date post: 29-Dec-2015
Category:
Upload: anabel-sparks
View: 218 times
Download: 0 times
Share this document with a friend
34
Web Feature Service – What and How? Ian Painter - Snowflake Software
Transcript

Web Feature Service – What and How?

Ian Painter - Snowflake Software

From Yesterday

• ISO 19109 application schema UGAS Tools:• ShapeChange: • http://www.interactive-instruments.de/index.php?id=28&L=1

• Full Moon• http://projects.arcs.org.au/trac/fullmoon/wiki/FullMoon

• Hollow World:• ISO 191** encoded in UML

For Today

• Context• Building an AIXM5.1 Datastore• Introducing WFS• Basic Queries• Building and deploying a AIXM 5.1 WFS• WFS 2.0• WFS for KML

OGC - Advancing InteroperabilityOGC - Advancing Interoperability• Interoperability Program (IP) - a global,

innovative, hands-on rapid prototyping and testing program designed to accelerate interface development and validation, and bring interoperability to the market

• Specification Development Program – Consensus standards process similar to other Industry consortia (World Wide Web Consortium, OMA, etc.)

• Outreach and Community Adoption Program – education and training, encourage take up of OGC specifications, business development, communications programs

Demo & Reports

4© 2009 Open Geospatial Consortium, Inc.

Some thoughts on AIXM …

• AIXM* is a Community Schema• GML is an Exchange Format not a data format• AIXM is all about Data Harmonisation• Aka Cross Border• Aka Schema Translation• Aka Model Translation

Other communities are solving similar problems …• INSPIRE http://inspire.jrc.ec.europa.eu/

• USING THE SAME STANDARDS

6

Data Harvesting Architecture

HubDatabase

internet

End Users

inte

rnet

Data ProviderDatabase

Data ProviderDatabase

Data ProviderDatabase

Web

Fe

atur

e S

erv

ice

Web

Fe

atur

e S

erv

ice

Web

Fe

atur

e S

erv

ice

ModelTranslation

ExchangeXML

ModelTranslation

ExchangeXML

ModelTranslation

ExchangeXML

Web Services

Data

Harvesting

S

ervice

internet

Third Party Applications

Service XML

Service XML

Applications

“Changing the wheels on a moving car”

Building the DONLON AIXM5.1 Datastore

XSD to Relational Mapping

DEMOParsing and Loading AIXM5.1

using GO Loader

What is a WFS

• “WFS offers direct fine grained access to geographic information over the internet at the feature and feature property level”

• Operations:– GetCapabilities, DescribeFeatureType, GetPropertyValue,

GetFeature, GetFeatureWithLock, LockFeature, Transaction, CreateStoredQuery, DropStoredQuery, ListStoredQueries, DescribeStoredQueries

• Types of WFS– Simple – GetFeature with StoredQueries– Basic – Simple + FilterEncoding– Transactional – Basic + Transaction

The Web Feature Service Standard

• http Get (KVP), http Post (XML), & SOAP (XML)• 3 versions:

– 1.0 – GML 2.2– 1.1 – GML 2.2, 3.1– 2.0 – GML 2.2, 3.1, 3.2.1 (still in draft)

The Filter Encoding Specification

• The Filter Encoding Standard is the query language of WFS

• XML based• Makes extensive use of XPATH• Supports

– Property– Geometry– Temporal– Xlink resolution (local and remote)

• Any combination of the above• Primarily used in http post and SOAP

Basic Commands

• GetCapabilites – What can this WFS do and what data does it have

• http://demo.snowflakesoftware.com:8080/AIXM51_DONLON/GOPublisherWFS?service=wfs&version=1.1.0&request=GetCapabilities

• DescribeFeatureType – What is the schema of the data• http://demo.snowflakesoftware.com:8080/

AIXM51_DONLON/GOPublisherWFS?service=wfs&version=1.1.0&request=DescribeFeatureType&typename=*

• GetFeature – Get me the data• http://demo.snowflakesoftware.com:8080/

AIXM51_DONLON/GOPublisherWFS?service=wfs&version=1.1.0&request=GetFeature&maxfeatures=10&typename=aixm:AirportHeliport

DEMOBasic WFS commands

Relational to XSD Mapping

DEMOCreating a AIXM5.1 WFS

using GO Publisher Desktop

Basic Filter Queries

• Retrieve a BASELINE (Property Filter)• Get all features within a rectangle (BBOX)• Get all features with Property of value• Get all features within a Buffer of a Point• Get all features within a Buffer of a LineString

DEMOBasic Filter Queries

using GO Publisher WFS

Schema Translation

20

Schema TranslationDatabase

Records

GML

GML

SchemaTranslation

WFS Client

SQL Query

Database Records

Data Request

Translation Configuration

Database table information

Graphical user interface is used to defined the translation from the storage model to the XML data model.

Translations are uploaded to the server.

GO Publisher can publish the same data in different XML formats for different clients.

Data Store

WFS ClientData Request

SQL Query

Desktop

Server

Query Translation - GO Publisher WFS

Temporal Queries

<fes:TemporalOperators> <fes:TemporalOperator name="After"/> <fes:TemporalOperator name="Before"/> <fes:TemporalOperator name="Begins"/> <fes:TemporalOperator name="BegunBy"/> <fes:TemporalOperator name="TContains"/> <fes:TemporalOperator name="During"/> <fes:TemporalOperator name="TEquals"/> <fes:TemporalOperator name="TOverlaps"/> <fes:TemporalOperator name="Meets"/> <fes:TemporalOperator name="OverlappedBy"/> <fes:TemporalOperator name="MetBy"/><fes:TemporalOperator name="Ends"/> <fes:TemporalOperator name="EndedBy"/> </fes:TemporalOperators>

Query on timeframe of flight and within 100 nautical miles of flight path

DEMOTemporal Queries

using GO Publisher WFS

Geometry Operands (from Capabilities)

<ogc:Spatial_Capabilities>

<ogc:GeometryOperands>

<ogc:GeometryOperand>gml:Envelope</ogc:GeometryOperand>

<ogc:GeometryOperand>gml:Point</ogc:GeometryOperand>

<ogc:GeometryOperand>gml:LineString</ogc:GeometryOperand>

<ogc:GeometryOperand>gml:Polygon</ogc:GeometryOperand>

<ogc:GeometryOperand>gml:Arc</ogc:GeometryOperand>

<ogc:GeometryOperand>gml:Circle</ogc:GeometryOperand>

</ogc:GeometryOperands>

<ogc:SpatialOperators>

Spatial Operators

• <ogc:SpatialOperators>• <ogc:SpatialOperator name="BBOX"/>• <ogc:SpatialOperator name="Equals"/>• <ogc:SpatialOperator name="Disjoint"/>• <ogc:SpatialOperator name="Intersects"/>• <ogc:SpatialOperator name="Touches"/>• <ogc:SpatialOperator name="Crosses"/>• <ogc:SpatialOperator name="Within"/>• <ogc:SpatialOperator name="Contains"/>• <ogc:SpatialOperator name="Overlaps"/>• <ogc:SpatialOperator name="Beyond"/>• <ogc:SpatialOperator name="DWithin"/>• </ogc:SpatialOperators>

Comparison Operators

<ogc:ComparisonOperators>

<ogc:ComparisonOperator>LessThan</ogc:ComparisonOperator>

<ogc:ComparisonOperator>GreaterThan</ogc:ComparisonOperator>

<ogc:ComparisonOperator>LessThanEqualTo</ogc:ComparisonOperator>

<ogc:ComparisonOperator>GreaterThanEqualTo</ogc:ComparisonOperator>

<ogc:ComparisonOperator>EqualTo</ogc:ComparisonOperator>

<ogc:ComparisonOperator>NotEqualTo</ogc:ComparisonOperator>

<ogc:ComparisonOperator>Like</ogc:ComparisonOperator>

<ogc:ComparisonOperator>Between</ogc:ComparisonOperator>

<ogc:ComparisonOperator>NullCheck</ogc:ComparisonOperator>

</ogc:ComparisonOperators>

What Next for WFS

• WFS 2.0 aka ISO 19142• New functionality of Interest for AIXM

– GML 3.2.1– Temporal Operators– wfs:AdditionalObjects– Stored Queries– Stronger SOAP Bindings

• ISO 19142 is still in DIS

A WFS is not just for GML

• KML is extensively being used in WFS• KML is an OGC standard• KML for Digital NOTAM visualisation• Use of Google Network Tags streaming KML from WFS

Bad things you’ve probably already heard on WFS

• Its too slow• Its too bloated• Its too complicated• The SOAP implementation is too loose

Good things you’ve probably not heard on WFS

• Its standard based• Its mature• Its stable• Its testable• Its off the shelf• It can scale & perform

The WFS Specification

• http://www.opengeospatial.org/standards• WFS v1.1 04-094, WFS v2.0 ISO 19142 • Filter Encoding v1.1 04-095 or FES v2.0 ISO 19143• Implementing and compliant WFS:

– http://www.opengeospatial.org/resource/products/compliant

Example Snowflake Services

AIXM 5.1http://demo.snowflakesoftware.com:8080/AIXM51_DONLON/

AIXM 5.0http://demo.snowflakesoftware.com:8080/OWS6_AIXM_Temporal/

General Informationhttp://www.snowflakesoftware.com/markets/aviation/solution.htm

Ian Painter

[email protected]


Recommended