380 likes | 570 Views
Web Processing Service: The Final Frontier For Web GIS. Mike Pumphrey April 25, 2012. Web Mapping is cool. Serve data to anyone with a Net connection Create pretty/informative interactive maps Integrate maps and software/interfaces. Q: So why does anyone still use Desktop GIS software?.
E N D
Web Processing Service:The Final Frontier For Web GIS Mike Pumphrey April 25, 2012
Web Mapping is cool • Serve data to anyone with a Net connection • Create pretty/informative interactive maps • Integrate maps and software/interfaces
A: Web Mapping != GIS “It looks nice, but can I determine viewsheds?”
Benefits of web-based anything • Distribution of time • Distribution of energy • Distribution of content
OGC services (review) • Web Map Service (WMS) • Web Feature Service (WFS) • Web Coverage Service (WCS)
WPS Definition: “[WPS] provides rules for standardizing how inputs and outputs (requests and responses) for geospatial processing services ... The standard also defines how a client can request the execution of a process, and how the output from the process is handled.”
Translation: You can do analysis over the web. (Cool!)
How Does It Work • Processes exist on a server • Request comes from client • Server executes and outputs
Just Like Other OGC Services • GetCapabilities (GetCapabilities) • DescribeProcess (DescribeFeatureType) • ExecuteProcess (GetFeature)
What About Data? • Can be POSTed (ugh) • Can be stored on the server (yay!)
Data on server = interesting! • That's where things get interesting! • Operate on data stored on the server and return to the client • Operate on data stored on the server andsave on the server
GeoServer has WPS support • Available as a GeoServer community extension • Alternately, core component in OpenGeo Suite
POLYGON ((2 0, 1.9753766811902755 -0.3128689300804617, 1.902113032590307 -0.6180339887498948, 1.7820130483767358 -0.9079809994790935, 1.618033988749895 -1.1755705045849463, 1.4142135623730951 -1.414213562373095, 1.1755705045849463 -1.618033988749895, 0.9079809994790937 -1.7820130483767356, 0.6180339887498949 -1.902113032590307, 0.3128689300804618 -1.9753766811902755, 0.0000000000000001 -2, -0.3128689300804616 -1.9753766811902755, -0.6180339887498947 -1.9021130325903073, -0.9079809994790935 -1.7820130483767358, -1.175570504584946 -1.618033988749895, -1.414213562373095 -1.4142135623730951, -1.6180339887498947 -1.1755705045849465, -1.7820130483767356 -0.9079809994790937, -1.902113032590307 -0.618033988749895, -1.9753766811902753 -0.312868930080462, -2 -0.0000000000000002, -1.9753766811902755 0.3128689300804615, -1.9021130325903073 0.6180339887498946, -1.7820130483767358 0.9079809994790934, -1.618033988749895 1.175570504584946, -1.4142135623730954 1.414213562373095, -1.1755705045849465 1.6180339887498947, -0.9079809994790938 1.7820130483767356, -0.6180339887498951 1.902113032590307, -0.3128689300804621 1.9753766811902753, -0.0000000000000004 2, 0.3128689300804614 1.9753766811902755, 0.6180339887498945 1.9021130325903073, 0.9079809994790933 1.782013048376736, 1.1755705045849458 1.6180339887498951, 1.4142135623730947 1.4142135623730954, 1.6180339887498947 1.1755705045849467, 1.7820130483767356 0.9079809994790939, 1.902113032590307 0.6180339887498952, 1.9753766811902753 0.3128689300804622, 2 0))
Vector Clip and Ship Thanks to Andrea Aime @ GeoSolutions for this one
Even Better: Chain processes Buffer Union Clip Reproject Contour Import Etc…
What processes? • JTS Topology Suite • Buffer, centroid, contains, touches, etc. • Internal GeoTools/GeoServer processes • Bounds, Clip, Snap, Import, Query, Reproject, etc. • And user defined…
Build yer own damn process • Extensible architecture • WPS doesn’t even have to be spatial • WPS is a framework • So…
Option 2: GeoScript(.org) • Use your own familiar scripting language • JavaScript! Python! Scala! Groovy!
Real World Ideas • Hydrography: Draw water features on a map that need to conform to rules (a stream can’t cross a lake) • Forestry: submit an area to find out its average slope, aspect and elevation, to determine ease of cutting/replanting trees. • Cell service: compute viewshed analysis of cell towers (to determine coverage)
The real benefit to using WPS • Big data • Big processing • Small input/outputs
More Real World Usage Norwegian Mapping Agency: Draw a line on a map and generate an elevation profile http://norgeskart.no/adaptive2/default.aspx?gui=1&lang=1
Future • Better client-side apps that utilize server processes • Improved method of defining processes
Thanks! mike@opengeo.org