I am developing a WebGIS application with:
- Openlayers 2.12
- PostgreSQL 9.2 with PostGIS 2.0 extension
- Geoserver 2.2.3
- Apache 2.0 configured with Tomcat 7.0.35
One of the services of the Web application is the generation of an isochronal curve requiring geoprocessing. Here is more detail on the description of the geoprocessing :
- Input: coordinated X,Y in " Spherical Mercator " ( 900913 ) of a point selected by the user on the map and an image (road network raster).
- The geoprocessing : the geoprocessing is applied to the road network raster and sends back a new image output. This geoprocessing is already implemented on my machine with Python (without Apache nor geoserver connections). I use the GDAL library to convert my images to array onwhich I apply my geoprocessing.
- Output: an image which must be displayed on my Web application (a ' layer ' )
Do you have a solution to make this service? Which tool or extension should I use? Here is what I found on the Internet :
The idea would be to integrate my python script (developed on my machine alone) on geoserver. This script should be able to use an image of the road network (hosted on the geoserver) and location (X,Y) of a point sent by the user. Then the script has to answer an image and display customer side with OpenLayers.
WPS geoserver : this one uses functions predefined at the geoserver level while I want to create my own function !!!
Visual render geoserver side : the problem is that it does not make call to a script python (but rather in SLD transformation).
Does the python extension of the geoserver allows to generate this kind of geoprocessing? If yes, how to make concretely? I downloaded it on this page http://gridlock.opengeo.org/geoserver/2.2.x/community-latest/ (geoserver-2.2-SNAPSHOT-python-plugin.zi p). How to exploit(run) the Geoscript library and the Script Hook?
The other solution would be to configure python with Apache. To launch the script python at the Apache level, the result of my script would feed a table in postgres (raster) which is in WMS side geoserver.
HERE AN ILLUSTRATION TO UNDERSTAND BETTER THE PROCESS