#1 Wed 03 July 2013 14:50
- Pierre1
- Juste Inscrit !
- Date d'inscription: 20 Oct 2012
- Messages: 7
Configuration de Python avec Geoserver
Bonjour à tous,
Je suis en train de développer une application WebGIS avec :
- Openlayers 2.12
- PostgreSQL 9.2 avec l’extension Postgis 2.0
- Geoserver 2.2.3
- Apache 2.0 configuré avec Tomcat 7.0.35
PROBLEMATIQUE
Un des services de l’application web est la génération de courbe isochrone nécessitant un traitement d’image. Voici plus en détail la description du traitement à effectuer :
-Input : coordonnées X,Y en « Spherical Mercator » (900913) d’un point sélectionné par l’utilisateur sur la carte interactivement et une image (réseau routier rastérisé).
- Le traitement d’image : le traitement d’image s’applique sur l’image du réseau routier et renvoie une nouvelle image en sortie. Ce traitement a déjà été implémenté sur ma machine (en local) avec Python (sans connexion avec Apache ni le geoserver). J’utilise la librairie GDAL pour convertir mes images en array sur lesquels j’applique mon traitement.
- Output : une image qui doit être visualisée sur mon application web (une ‘layer’)
SOLUTIONS
Avez-vous une solution pour effectuer ce service ? Quelle outil ou extension dois-je utiliser ?
Voilà ce que j’ai trouvé sur internet :
L’idée serait d’intégrer mon script python (développé sur ma machine en local) au niveau du geoserver. Ce script devrait pouvoir utiliser une image du réseau routier (héberger sur le geoserver) et les coordonnées envoyées par l’utilisateur. Ensuite le script doit renvoyer comme réponse l’image de sortie et l’affichée à la carte côté client (OpenLayers).
Dans le lien suivant http://blog.opengeo.org/2012/06/21/spli … ocess-p1/, on explique comment utiliser un WPS. Celui-ci utilise des fonctions pré-définies au niveau geoserver alors que je veux créer ma propre fonction !!!
Dans le lien suivant http://docs.geoserver.org/stable/en/dev … rans.html, on explique comment implémenter un rendu visuel. Le problème est qu’on ne fait pas appelle à un script python (mais plutôt à un SLD Transformation).
Est-ce que l’extension Python du geoserver permet de générer ce genre de traitement ? Si oui comment faire concrètement ? Je l’ai téléchargée sur cette page http://gridlock.opengeo.org/geoserver/2 … ty-latest/ (geoserver-2.2-SNAPSHOT-python-plugin.zip).
Comment exploiter la libriaire Geoscript et le Script Hook ?
L’autre solution serait de configurer python avec apache. Lancer le script python au niveau de Apache, le résultat de mon script alimenterait une table dans postgres (raster) qui est en WMS côté geoserver.
Un grand merci d’avance.
Pierre, géomaticien dans un service de recherche sur le commerce
Dernière modification par Pierre1 (Wed 17 July 2013 15:28)
Hors ligne
#2 Fri 05 July 2013 09:41
- Pierre1
- Juste Inscrit !
- Date d'inscription: 20 Oct 2012
- Messages: 7
Re: Configuration de Python avec Geoserver
Voiçi une 'illustration' pour mieux comprendre le processus.
CLIENT GEOSEVER
point_select (x,y) sélectionné - Image du réseau routier (*)
par l'utilisateur point_select (x,y) - script python .py
----------------------------------------> INPUT : Image du réseau routier (*) ET point_select (x,y)
Afficher la nouvelle image <---------------------------------------- OUTPUT: nouvelle image
sur la carte avec OpenLayers
Hors ligne