Presentation is loading. Please wait.

Presentation is loading. Please wait.

David Blasby The Open Planning Project New York. Goals Explain what a WFS and WMS are, and when to use them Be able to create simple spatial web applications.

Similar presentations


Presentation on theme: "David Blasby The Open Planning Project New York. Goals Explain what a WFS and WMS are, and when to use them Be able to create simple spatial web applications."— Presentation transcript:

1 David Blasby The Open Planning Project New York

2 Goals Explain what a WFS and WMS are, and when to use them Be able to create simple spatial web applications Understand a bit about Geoserver

3 1. Introduction to Open Web Services 2. WFS basics 3. WMS basics 4. Using WFS and WMS together 5. Example Web Services Dynamic Features - Custom SLD & making a WFS request to construct a SLD Dynamic adding of Features to the dataset

4 User Client application Request in known format Response in known format Base data Any server that implements the Service specification Known operation Basic Open Web Services An Open Web Service is a Web Services that: has a well known format for what the request looks like has a well defined meaning for how to execute the request has a well known format for the what the response looks like the definition is codified in a Specification Document

5 Open Web Services Underlying Datasets - Databases, Shapefiles, Imagery The WMS is concerned with rendering maps The WFS is concerned with accessing and updating the underlying datasets WMSWFS

6 Underlying Datasets - Databases, Shapefiles, Imagery GetCapabilities GetFeature GetFeatureWithLock DescribeFeatureType Transaction LockFeature WFS Requests GetCapabilities GetMap GetFeatureInfo DescribeLayer GetLegendGraphic WMS Requests Internet User The OGC Services - WFS and WMS WFSWMS

7 What to use the WFS services for A WFS allows uniform direct access to the features stored on a server. Use a WFS when you want to perform actions such as: query a dataset and retrieve the features find the feature definition (feature's property names and types) add features to dataset delete feature from a dataset update feature in a dataset lock features to prevent modification What to use the WMS services for A WMS allows for uniform rendering access to features stored on a server. Use a WMS when you want to perform actions such as: Producing Maps Very simple Querying of data WFS and WMS: when to use

8 WFS 1 WMS 1 User Spatial Web Application Base datasets 1 & 2 WFS 2 Base datasets 3 & 4 WMS 2 Using WFS and WMS together

9 The WFS Underlying Datasets - Databases, Shapefiles, GetCapabilities GetFeature GetFeatureWithLock DescribeFeatureType Transaction LockFeature WFS Requests Internet User WFSWMS

10 The GetFeature Service The GetFeature service allows you to treat your datasets like a spatial database and run queries on it. SELECT polygon_outline, population, area FROM USAstates WHERE stateName = ‘New York’; The request specifies three things: What dataset to query (also called a “FeatureType”) What columns to return A filter to select a subset of features

11 GetFeature - Feature 1 Feature 2 Feature 3 Feature 4 Feature 5 Feature 2 Feature 4 Feature Filter Evaluator XML Filter Expression pass fail Filter is the basis for most of the OGC specifications

12 WHERE Geometry Intersects BoundingBox Geometry 13.0983,31.589935.5472,42.8143 WHERE stateName = ‘New York’ stateName New York Constructing -

13 GetFeature requests FROM... SELECT... WHERE...

14 Interpreting GetFeature Results XML document XML Schema

15 Adding Functionality to Filters cfcc 0 1 A These Function are also available for use in SLD. Geoserver allows you to easily add any Java function or class.

16 Transaction Transactions allow you to update, delete, and insert features in a manner very similar to a spatial database. UPDATE USAstates SET population = 8000000 WHERE stateName = ‘New York’; DELETE FROM USAstates WHERE stateName = ‘New York’; INSERT INTO USAstates (stateName, population) VALUES (‘New York’,8000000);

17 UPDATE... SET... WHERE... Update

18 Insert GML Version of Feature

19 Delete

20 ACID A good WFS (like Geoserver) will execute the transactions in an ACID manner. This means that your command set will either completely succeed or completely fail - you do not have half-executed transactions. NOTE: A single can have any number of Inserts, Deletes, and Updates in it. Geoserver supports this for all the file and database formats.

21 Transaction Validation Check that the feature is internally consistent: Geometry is valid Properties are in the “accepted” range Check that the feature is external consistent: Topological rules No houses in the Ocean This is Geoserver specific

22 Feature Versioning Geoserver is currently adding support for automatically versioning features (and datasets) so changes can be rolled back or analyzed. This is Geoserver specific

23 The WMS Underlying Datasets - Databases, Shapefiles, Imagery GetCapabilities GetMap GetFeatureInfo DescribeLayer GetLegendGraphic WMS Requests Internet User WFSWMS

24 GetMap Features Renderer SLD Configuration User request (SLD?)

25 Styled Layer Descriptor (SLD) Basics In the most basic form (a SLD used to render a layer) will contain a set of elements. Each element contains two things: A to specify what Features this Rule applies to A set of Symbolizers that actually do the rendering. …. Deep water Lakes... …. Colour Dark Blue... …. Shallow water Lakes... …. Colour Light Blue...

26 SLD-POST A user can also send an SLD file to the WMS server as part of the GetMap request. In this manner, the SLD file will specify what layers to render and also how to render them. USAlakes lakeStyle Equivalent of LAYER= USAlakes,STYLE= lakeStyle USAlakes... …. Deep water Lakes... …. Colour Dark Blue......

27 SLD 1.1 InlineFeatures Normally, the SLD will refer to local (hosted inside the WMS) layers, but it can also communicate with remote WFS servers. The user can also supply small sets of features within the actual SLD GetMap Request. Inline Face... … … eyes... … face... …

28 Web Applications using WFS and WMS WFS 1 WMS 1 User Spatial Web Application Base datasets 1 & 2 WFS 2 Base datasets 3 & 4 WMS 2

29 Rendering Temporary Features in Maps using SLD InlineFeature Its quite difficult to interpret these numbers - why don’t we show it on a map?

30

31

32 Demonstration of BBOX application

33 Highlighting features using user specified SLD and WFS queries User Clicks on Map

34 User Clicks Query WFS Find Street Name Create SLD Convert to world coordinates XMLHttpRequest - GetFeature WFS GML WMS GetMap with SLD

35 GetFeature request GetFeature response Extract road name

36 SLD for GetMap request Highlight all feature with that name

37 Demonstration of click-to-highlight app

38 A simple web application using WFS and WMS popup preview for a mouse “hover” click on a feature; go to its website click on map; add a new feature

39 User Hovers Query WFS Anything returned? Convert to world coordinates XMLHttpRequest - GetFeature WFS GML no yes Extract thumbnail URL Execute Popup

40 User Clicks Query WFS Anything returned? Convert to world coordinates XMLHttpRequest - GetFeature WFS GML yes no Get Info From User Visit Site XMLHttpRequest - Transaction WFS Success/Fail

41 Demonstration of Web Application

42 TOPP Geoserver RoadMap Geotools improvements to handle more “advanced” data Validation and Feature Versioning GeoCollaborator - GeoWiki and tools for collaborative mapping OpenSDI Re-architecture for plugable services and configuration Hosting Data (i.e. TIGER) via WMS and WFS Web Coverage Server (WCS) - initial release available on branch. Improved performance WFS 1.1

43 Geoserver Users

44 Questions? David Blasby The Open Planning Project New York


Download ppt "David Blasby The Open Planning Project New York. Goals Explain what a WFS and WMS are, and when to use them Be able to create simple spatial web applications."

Similar presentations


Ads by Google