FOSSGIS 2015 WPS Workshop
Introduction
FOSSGIS 2015 WPS Workshop Hands-on Aufgaben
Vorbereitungen
- Starten Sie die Console und geben Sie folgenden Befehl ein:
sudo sh Downloads/commands.sh
Das Passwort lautet
user
Prozess Ergebnis in GeoServer Instanz speichern
Der Weg ist im Quickstart beschrieben:
http://live.osgeo.org/de/quickstart/52nWPS_quickstart.html
Hinweis: Leider hat sich im Quickstart ein Fehler eingeschlichen. Um das Beispiel korrekt ausführen zu können, muss der WFSGenerator angepasst und aktiviert werden.
Öffnen Sie dazu die WPS Admin Console:
http://localhost:8080/52nWPS/webAdmin/index.jsp
Nutzername: wps
Passwort: wps
Öffnen Sie das Generators-Tab und scrollen Sie zum WFSGenerator. Setzen Sie einen Haken bei Active und editieren Sie den GeoServer _port. Dieser lautet 8082. Nach einem Klick auf Save and Activate Configuration wird der WPS neu gestartet. Danach können Sie das Quickstart-Beispiel ausführen.
Java Prozess hochladen
Öffnen Sie die WPS Admin Console:
http://localhost:8080/52nWPS/webAdmin/index.jsp
Nutzername: wps
Passwort: wps
Klicken Sie auf den Button Upload Process
Fügen Sie den folgenden Text in das Textfeld ein:
org.n52.wps.server.algorithm.jts.JTSBufferAlgorithm
Klicken Sie anschließend auf Browse und öffnen Sie die JTSBufferAlgorithm.java Datei, die im Download -Verzeichnis liegt:
Klicken Sie auf Submit Query, der Prozess wird nun hochgeladen und kompiliert. Öffnen Sie in der Admin Console den Tab Algorithm Repositories und scrollen Sie zum LocalAlgorithmRepository.
Fügen Sie den neuen Prozess hinzu
.
Speichern Sie
. Nach einem Klick auf Save and Activate Configuration oben in der Admin Console wird der Prozess aktiviert.
Hochgeladenen Prozess testen
Wenn Sie möchten, können Sie den Prozess nun testen. Öffnen Sie dazu das OpenLayers-Beispiel:
http://localhost:8080/openlayers-example/wps.html
In der Prozess-Liste sollte der JTSBufferAlgorithm erscheinen. Wählen Sie ihn aus.
Nun erstellen Sie eine beliebige Geometrie auf der OpenLayers-Karte.
Markieren Sie die Geometrie anschließend (Klicken Sie zuerst auf das rechte Stift-Symbol und anschließend auf die Geometrie).
Klicken Sie in die data-Textbox. Die Geometrie sollte daraufhin dort im WKT-Format erscheinen. Füllen Sie die anderen Inputs aus, endCapStyle und distance (in Metern) sind hierbei notwendig.
Nach einem Klick auf Execute sollte die gepufferte Geometrie auf der Karte erscheinen.
R backend einrichten
Öffnen Sie die Console:
Geben Sie die folgenden Kommandos ein:
sudo R
Passwort: user
install.packages("Rserve")
Mirror auswählen, z.B. Germany(Münster)
install.packages("sos4R")
install.packages("xts")
library(Rserve)
Rserve()
Öffnen Sie die WPS Admin Console:
http://localhost:8080/52nWPS/webAdmin/index.jsp
Nutzername: wps
Passwort: wps
Algorithm Repositories Tab öffnen und zum LocalRAlgorithmRepository scrollen.
Setzen Sie den Haken bei Active. Nach einem Klick auf Save and Activate Configuration wird der WPS neugestartet. Anschließend sind die WPS4R Prozesse verfügbar.
Rufen Sie die Capabilities des WPS auf, die R Prozesse sollten angezeigt werden:
http://localhost:8080/52nWPS/WebProcessingService?Request=GetCapabilities&Service=WPS
Sie können sich den Prozess org.n52.wps.server.r.demo.timeseriesPlot ansehen:
http://localhost:8080/52nWPS/WebProcessingService?request=DescribeProcess&service=WPS&version=1.0.0&identifier=org.n52.wps.server.r.demo.timeseriesPlot
Das dem Prozess zugrundeliegende R-Skript kann unter folgender Adresse betrachtet werden:
http://localhost:8080/52nWPS/R/scripts/demo_timeseries-plot.R
Öffnen Sie die R Timeseries Demo:
http://localhost:8080/52nWPS/R/demo/ImageRendering.html
EIn Kick auf den Knopf "create time series plot" fragt den PegelOnline SOS an und erstellt ein Diagram, das den Wasserstand sowie eine angepasste Regressionslinie enthält.
GRASS 7 backend einrichten
Öffnen Sie die WPS Admin Console:
http://localhost:8080/52nWPS/webAdmin/index.jsp
Nutzername: wps
Passwort: wps
Öffen Sie den Tab Algorithm Repositories und scrollen Sie zum GrassRepository. Setzen Sie den Haken bei Active und modifizieren Sie die Properties des Repositories wie folgt:
- Property "GISRC_Dir" = /home/user/grassdata/.grassrc70
- Property "Grass_Home" = /usr/lib/grass70
- Property "ModuleStarter_Home" = /home/user/wps-grass-bridge-patched/gms
- Property "Python_Home" = /usr/bin
- Property "Python_Path" = /usr/lib/python2.7
- Property "TMP_Dir" = /tmp/grass_tmp
Nach einem Klick auf Save and Activate Configuration wir der WPS neugestartet. Anschließend sind die GRASS 7 Prozesse verfügbar.
GRASS 7 WPS Prozess mit QGIS ausführen
Öffnen Sie die Datei elev_srtm_30m.tif aus der heruntergeladenen Zip-Datei mit QGIS.
In QGIS, Menüpunkt Plugins anklicken -> Manage and Install Plugins...
Installieren Sie das WPS Client Plugin
WPS Client Plugin sollte unten Links in QGIS erscheinen. Andernfalls Klicken Sie auf den Menü-Punkt Web -> WPS-Client -> WPS-Client.
Klicken Sie auf connect. Klicken Sie anschließend auf New um einen neuen WPS Server anzulegen.
Name z.B: 52nWPS
URL:
http://localhost:8080/52nWPS/WebProcessingService
Nach einem auf Ok und anschließend Connect sollten die Prozesse des lokalen WPS angezeigt werden.
Den r.watershed Prozess auswählen, durch Doppelklick rufen Sie den Dialog für diesen Prozess auf.
Für den Input elevation das voreingestellte elev_srtm_30m Rasterlayer nehmen. Die anderen Rasterinputs (depression, flow, disturbed_land, blocking) auf <None> setzen. Für den Parameter threshold z.B. 1000 eingeben. Alle Prozessoutputs bis auf basin auf <None> setzen.
Ein Klick auf Run startet den WPS Prozess.