View
220
Download
0
Category
Preview:
Citation preview
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”
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
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
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
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
Recommended