![Page 1: Web Processing Service: The Final Frontier For Web GIS](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813ab8550346895da2bf6e/html5/thumbnails/1.jpg)
Web Processing Service:The Final Frontier For Web GIS
Mike Pumphrey
April 25, 2012
![Page 2: Web Processing Service: The Final Frontier For Web GIS](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813ab8550346895da2bf6e/html5/thumbnails/2.jpg)
• Serve data to anyone with a Net connection
• Create pretty/informative interactive maps
• Integrate maps and software/interfaces
Web Mapping is cool
2
![Page 3: Web Processing Service: The Final Frontier For Web GIS](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813ab8550346895da2bf6e/html5/thumbnails/3.jpg)
Q: So why does anyone still use Desktop GIS software?
3
![Page 4: Web Processing Service: The Final Frontier For Web GIS](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813ab8550346895da2bf6e/html5/thumbnails/4.jpg)
“It looks nice, but can I determine viewsheds?”
A: Web Mapping != GIS
4
![Page 5: Web Processing Service: The Final Frontier For Web GIS](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813ab8550346895da2bf6e/html5/thumbnails/5.jpg)
The End
5
![Page 6: Web Processing Service: The Final Frontier For Web GIS](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813ab8550346895da2bf6e/html5/thumbnails/6.jpg)
The End
6
![Page 7: Web Processing Service: The Final Frontier For Web GIS](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813ab8550346895da2bf6e/html5/thumbnails/7.jpg)
• Distribution of time
• Distribution of energy
• Distribution of content
Benefits of web-based anything
7
![Page 8: Web Processing Service: The Final Frontier For Web GIS](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813ab8550346895da2bf6e/html5/thumbnails/8.jpg)
• Web Map Service (WMS)
• Web Feature Service (WFS)
• Web Coverage Service (WCS)
OGC services (review)
8
![Page 9: Web Processing Service: The Final Frontier For Web GIS](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813ab8550346895da2bf6e/html5/thumbnails/9.jpg)
Introducing:Web Processing Service
9
![Page 10: Web Processing Service: The Final Frontier For Web GIS](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813ab8550346895da2bf6e/html5/thumbnails/10.jpg)
“[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.”
WPS Definition:
10
![Page 11: Web Processing Service: The Final Frontier For Web GIS](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813ab8550346895da2bf6e/html5/thumbnails/11.jpg)
You can do analysis over the web.
(Cool!)
Translation:
11
![Page 12: Web Processing Service: The Final Frontier For Web GIS](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813ab8550346895da2bf6e/html5/thumbnails/12.jpg)
• Processes exist on a server
• Request comes from client
• Server executes and outputs
How Does It Work
12
![Page 13: Web Processing Service: The Final Frontier For Web GIS](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813ab8550346895da2bf6e/html5/thumbnails/13.jpg)
• GetCapabilities (GetCapabilities)
• DescribeProcess (DescribeFeatureType)
• ExecuteProcess (GetFeature)
Just Like Other OGC Services
13
![Page 14: Web Processing Service: The Final Frontier For Web GIS](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813ab8550346895da2bf6e/html5/thumbnails/14.jpg)
• Can be POSTed (ugh)
• Can be stored on the server (yay!)
What About Data?
14
![Page 15: Web Processing Service: The Final Frontier For Web GIS](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813ab8550346895da2bf6e/html5/thumbnails/15.jpg)
• 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
Data on server = interesting!
15
![Page 16: Web Processing Service: The Final Frontier For Web GIS](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813ab8550346895da2bf6e/html5/thumbnails/16.jpg)
• Available as a GeoServer community extension
• Alternately, core component in OpenGeo Suite
GeoServer has WPS support
16
![Page 17: Web Processing Service: The Final Frontier For Web GIS](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813ab8550346895da2bf6e/html5/thumbnails/17.jpg)
GeoServer: GUI interface for WPS
17
![Page 18: Web Processing Service: The Final Frontier For Web GIS](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813ab8550346895da2bf6e/html5/thumbnails/18.jpg)
Unavoidable example:Point Buffer
18
![Page 19: Web Processing Service: The Final Frontier For Web GIS](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813ab8550346895da2bf6e/html5/thumbnails/19.jpg)
19
![Page 20: Web Processing Service: The Final Frontier For Web GIS](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813ab8550346895da2bf6e/html5/thumbnails/20.jpg)
20
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))
![Page 21: Web Processing Service: The Final Frontier For Web GIS](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813ab8550346895da2bf6e/html5/thumbnails/21.jpg)
Crop Coverage
21
![Page 22: Web Processing Service: The Final Frontier For Web GIS](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813ab8550346895da2bf6e/html5/thumbnails/22.jpg)
Bounds
22
![Page 23: Web Processing Service: The Final Frontier For Web GIS](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813ab8550346895da2bf6e/html5/thumbnails/23.jpg)
Vector Clip and Ship
23
Thanks to Andrea Aime @ GeoSolutions for this one
![Page 24: Web Processing Service: The Final Frontier For Web GIS](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813ab8550346895da2bf6e/html5/thumbnails/24.jpg)
Even Better: Chain processes
24
BufferBuffer UnionUnion
ClipClip ContourContourReprojectReproject ImportImport
Etc…
![Page 25: Web Processing Service: The Final Frontier For Web GIS](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813ab8550346895da2bf6e/html5/thumbnails/25.jpg)
• JTS Topology Suite– Buffer, centroid, contains, touches, etc.
• Internal GeoTools/GeoServer processes– Bounds, Clip, Snap, Import, Query, Reproject, etc.
• And user defined…
What processes?
25
![Page 26: Web Processing Service: The Final Frontier For Web GIS](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813ab8550346895da2bf6e/html5/thumbnails/26.jpg)
• Extensible architecture
• WPS doesn’t even have to be spatial
• WPS is a framework
• So…
Build yer own damn process
26
![Page 27: Web Processing Service: The Final Frontier For Web GIS](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813ab8550346895da2bf6e/html5/thumbnails/27.jpg)
Option 1: Be a Java dev
27
![Page 28: Web Processing Service: The Final Frontier For Web GIS](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813ab8550346895da2bf6e/html5/thumbnails/28.jpg)
• Use your own familiar scripting language
• JavaScript! Python! Scala! Groovy!
Option 2: GeoScript(.org)
28
![Page 29: Web Processing Service: The Final Frontier For Web GIS](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813ab8550346895da2bf6e/html5/thumbnails/29.jpg)
• 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)
Real World Ideas
29
![Page 30: Web Processing Service: The Final Frontier For Web GIS](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813ab8550346895da2bf6e/html5/thumbnails/30.jpg)
• Big data
• Big processing
• Small input/outputs
The real benefit to using WPS
30
![Page 31: Web Processing Service: The Final Frontier For Web GIS](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813ab8550346895da2bf6e/html5/thumbnails/31.jpg)
Norwegian Mapping Agency: Draw a line on a map and generate an elevation profile
http://norgeskart.no/adaptive2/default.aspx?gui=1&lang=1
More Real World Usage
31
![Page 32: Web Processing Service: The Final Frontier For Web GIS](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813ab8550346895da2bf6e/html5/thumbnails/32.jpg)
32
![Page 33: Web Processing Service: The Final Frontier For Web GIS](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813ab8550346895da2bf6e/html5/thumbnails/33.jpg)
Rendering Transformations
33
![Page 34: Web Processing Service: The Final Frontier For Web GIS](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813ab8550346895da2bf6e/html5/thumbnails/34.jpg)
Rendering Transformations
34
![Page 35: Web Processing Service: The Final Frontier For Web GIS](https://reader035.vdocuments.us/reader035/viewer/2022062422/56813ab8550346895da2bf6e/html5/thumbnails/35.jpg)
• Better client-side apps that utilize server processes
• Improved method of defining processes
Future
35