OpenGeo Geo in the Cloud

advertisement
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
2
Q: So why does anyone still
use Desktop GIS software?
3
A: Web Mapping != GIS
“It looks nice, but can I determine viewsheds?”
4
The End
5
The End
6
Benefits of web-based anything
• Distribution of time
• Distribution of energy
• Distribution of content
7
OGC services (review)
• Web Map Service (WMS)
• Web Feature Service (WFS)
• Web Coverage Service (WCS)
8
Introducing:
Web Processing Service
9
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.”
10
Translation:
You can do analysis over the web.
(Cool!)
11
How Does It Work
• Processes exist on a server
• Request comes from client
• Server executes and outputs
12
Just Like Other OGC Services
• GetCapabilities (GetCapabilities)
• DescribeProcess (DescribeFeatureType)
• ExecuteProcess (GetFeature)
13
What About Data?
• Can be POSTed (ugh)
• Can be stored on the server (yay!)
14
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 and
save on the server
15
GeoServer has WPS support
• Available as a GeoServer community extension
• Alternately, core component in OpenGeo Suite
16
GeoServer:
GUI interface for WPS
17
Unavoidable example:
Point Buffer
18
19
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))
20
Crop Coverage
21
Bounds
22
Vector Clip and Ship
Thanks to Andrea Aime @
GeoSolutions for this one
23
Even Better: Chain processes
Buffer
Clip
Union
Reproject
Contour
Import
Etc…
24
What processes?
• JTS Topology Suite
– Buffer, centroid, contains, touches, etc.
• Internal GeoTools/GeoServer processes
– Bounds, Clip, Snap, Import, Query, Reproject, etc.
• And user defined…
25
Build yer own damn process
•
•
•
•
Extensible architecture
WPS doesn’t even have to be spatial
WPS is a framework
So…
26
Option 1: Be a Java dev
27
Option 2: GeoScript(.org)
• Use your own familiar scripting language
• JavaScript! Python! Scala! Groovy!
28
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)
29
The real benefit to using WPS
• Big data
• Big processing
• Small input/outputs
30
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
31
32
Rendering Transformations
33
Rendering Transformations
34
Future
• Better client-side apps that utilize server
processes
• Improved method of defining processes
35
Thanks!
mike@opengeo.org
36
Download