banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#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

 

Pied de page des forums

Powered by FluxBB