Web Feature Service What and How Ian Painter
Web Feature Service – What and How? Ian Painter - Snowflake Software
From Yesterday • ISO 19109 application schema UGAS Tools: • Shape. Change: • http: //www. interactive-instruments. de/index. php? id=28&L=1 • Full Moon • http: //projects. arcs. org. au/trac/fullmoon/wiki/Full. Moon • Hollow World: • ISO 191** encoded in UML
For Today • • Context Building an AIXM 5. 1 Datastore Introducing WFS Basic Queries Building and deploying a AIXM 5. 1 WFS 2. 0 WFS for KML
OGC - 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 Demo & Reports • 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 © 2009 Open Geospatial Consortium, Inc. 4
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. europa. eu/ • USING THE SAME STANDARDS
Data Harvesting Architecture “Changing the wheels on a moving car” 6
Building the DONLON AIXM 5. 1 Datastore
XSD to Relational Mapping
DEMO Parsing and Loading AIXM 5. 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: – Get. Capabilities, Describe. Feature. Type, Get. Property. Value, Get. Feature, Get. Feature. With. Lock, Lock. Feature, Transaction, Create. Stored. Query, Drop. Stored. Query, List. Stored. Queries, Describe. Stored. Queries • Types of WFS – Simple – Get. Feature with Stored. Queries – Basic – Simple + Filter. Encoding – 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 • Get. Capabilites – What can this WFS do and what data does it have • http: //demo. snowflakesoftware. com: 8080/AIXM 51_DONLON/ GOPublisher. WFS? service=wfs&version=1. 1. 0&request=Get. C apabilities • Describe. Feature. Type – What is the schema of the data • http: //demo. snowflakesoftware. com: 8080/AIXM 51_DONLON/ GOPublisher. WFS? service=wfs&version=1. 1. 0&request=Desc ribe. Feature. Type&typename=* • Get. Feature – Get me the data • http: //demo. snowflakesoftware. com: 8080/AIXM 51_DONLON/ GOPublisher. WFS? service=wfs&version=1. 1. 0&request=Get. F eature&maxfeatures=10&typename=aixm: Airport. Heliport
DEMO Basic WFS commands
Relational to XSD Mapping
DEMO Creating a AIXM 5. 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 Line. String
DEMO Basic Filter Queries using GO Publisher WFS
Schema Translation Query Translation - GO Publisher WFS GO Publisher can publish the same data in different XML formats for different clients. Data Request SQL Query Server Database Records Data Store Schema Translation WFS Client GML SQL Query Database Records Schema Translation Data Request WFS Client GML Database table information Translation Configuration Desktop Translations are uploaded to the server. Graphical user interface is used to defined the translation from the storage model to the XML data model. 20
Temporal Queries Query on timeframe of flight and within 100 nautical miles of flight path <fes: Temporal. Operators> <fes: Temporal. Operator name="After"/> <fes: Temporal. Operator name="Before"/> <fes: Temporal. Operator name="Begins"/> <fes: Temporal. Operator name="Begun. By"/> <fes: Temporal. Operator name="TContains"/> <fes: Temporal. Operator name="During"/> <fes: Temporal. Operator name="TEquals"/> <fes: Temporal. Operator name="TOverlaps"/> <fes: Temporal. Operator name="Meets"/> <fes: Temporal. Operator name="Overlapped. By"/> <fes: Temporal. Operator name="Met. By"/> <fes: Temporal. Operator name="Ends"/> <fes: Temporal. Operator name="Ended. By"/> </fes: Temporal. Operators>
DEMO Temporal Queries using GO Publisher WFS
Geometry Operands (from Capabilities) <ogc: Spatial_Capabilities> <ogc: Geometry. Operand>gml: Envelope</ogc: Geometry. Operand> <ogc: Geometry. Operand>gml: Point</ogc: Geometry. Operand> <ogc: Geometry. Operand>gml: Line. String</ogc: Geometry. Operand> <ogc: Geometry. Operand>gml: Polygon</ogc: Geometry. Operand> <ogc: Geometry. Operand>gml: Arc</ogc: Geometry. Operand> <ogc: Geometry. Operand>gml: Circle</ogc: Geometry. Operand> </ogc: Geometry. Operands> <ogc: Spatial. Operators>
Spatial Operators • • • • <ogc: Spatial. Operators> <ogc: Spatial. Operator name="BBOX"/> <ogc: Spatial. Operator name="Equals"/> <ogc: Spatial. Operator name="Disjoint"/> <ogc: Spatial. Operator name="Intersects"/> <ogc: Spatial. Operator name="Touches"/> <ogc: Spatial. Operator name="Crosses"/> <ogc: Spatial. Operator name="Within"/> <ogc: Spatial. Operator name="Contains"/> <ogc: Spatial. Operator name="Overlaps"/> <ogc: Spatial. Operator name="Beyond"/> <ogc: Spatial. Operator name="DWithin"/> </ogc: Spatial. Operators>
Comparison Operators <ogc: Comparison. Operators> <ogc: Comparison. Operator>Less. Than</ogc: Comparison. Operator> <ogc: Comparison. Operator>Greater. Than</ogc: Comparison. Operator> <ogc: Comparison. Operator>Less. Than. Equal. To</ogc: Comparison. Operator> <ogc: Comparison. Operator>Greater. Than. Equal. To</ogc: Comparison. Operator> <ogc: Comparison. Operator>Not. Equal. To</ogc: Comparison. Operator> <ogc: Comparison. Operator>Like</ogc: Comparison. Operator> <ogc: Comparison. Operator>Between</ogc: Comparison. Operator> <ogc: Comparison. Operator>Null. Check</ogc: Comparison. Operator> </ogc: Comparison. Operators>
What Next for WFS • WFS 2. 0 aka ISO 19142 • New functionality of Interest for AIXM – – – GML 3. 2. 1 Temporal Operators wfs: Additional. Objects 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 v 1. 1 04 -094, WFS v 2. 0 ISO 19142 Filter Encoding v 1. 1 04 -095 or FES v 2. 0 ISO 19143 Implementing and compliant WFS: – http: //www. opengeospatial. org/resource/products/compliant
Example Snowflake Services AIXM 5. 1 http: //demo. snowflakesoftware. com: 8080/AIXM 51_DONLON/ AIXM 5. 0 http: //demo. snowflakesoftware. com: 8080/OWS 6_AIXM_Temporal/ General Information http: //www. snowflakesoftware. com/markets/aviation/solution. htm Ian Painter Ian. Painter@snowflakesoftware. com
- Slides: 34