Développer une application avec pgrouting sous Windows (6):Configurer Geoserver

Nous avons vu dans les articles précédents comment lettre en forme les données du réseau pour pgrouting et comment développer un wrapper permettant de trouver l’itinéraire entre deux points.

Nous verrons ici comment configuer Geoserver pour fournir le résultat du wrapper en tant que couche WMS ou WFS pour l’utiliser dans une page web utilisant OpenLayers 3 (prochain article).Parmi toute la chaîne Postgres/Postgis/Geoserver/OpenLayers, cette partie est quand même la plus simple. Nous avons simplement à configurer un Espace de travail, un  Entrepôt de données, et une couche utilisant la requête SQL d’appel du wrapper développé dans le précédent article.

Configurer un espace de travail

pour toute la configuration de Geoserver, vous devez vous connecter en administrateur à l’interface d’administration.

Une fois connecté, cliquez sur Espaces de travail, dans le module Données du menu gauche de Geoserver, puis sur Ajouter un nouvel espace de travail.

nouc=vel espace de travail geoserver

Renseignez les deux champs avec un nom pour l’espace de travail (ici pgrouting) et l’adresse de nommage (http://pgrouting.org), puis cliquez sur le bouton Envoyer.

Configurer un entrepôt de données

Cliquez sur Entrepôts, dans le module Données du menu gauche de Geoserver, puis sur Ajouter un nouvel entrepôt.

Sur la liste des sources de données Vecteur, sélectionnez PostGIS

choix du type d'entrepot de données: postgisLa page de configuration de l’entrepôt s’ouvre

configuration de l'entrepot de données

Dans la liste des espaces de travail sélectionnez l’espace de travail qu’on vient de créer : pgrouting, et donnez un nom à votre source de données (ici itineraires).

Renseignez correctement les paramètres de connexion à votre base Postgres : la database est le nom de votre base de données Postgres contenant les tables du réseau, un nom d’utilisateur et son password de connexion. Evitez d’utiliser l’utilisateur postgres pour des raisons évidentes de sécurité. Créez un utilisateur avec les droits seulement sur les données nécessaires à votre application.

Le reste des informations peuvent être laissées telles quelles.

Cliquez sur le bouton Sauvegarder. Vous aurez la page de configuration d’une nouvelle couche qui apparaît.

création d'une nouvelle coucheCliquez sur Configurer une nouvelle vue SQL

gs5Donnez un nom à la vue et rentrez la requête sql que nous avons testé en dernier dans l’article précédent:

SELECT ST_MakeLine(route.geom) FROM ( SELECT geom FROM pgr_route_entreAetB(‘ways’,%x1%,%y1%,%x2%,%y2%) ORDER BY seq) AS route

Mais ici, vous n’avez pas besoin de rentrer de véritables valeurs de coordonnées: nous les remplaçons par des variables. Les valeurs de ces variables seront des paramètres de l’appel WMS ou WFS qui sera reçu.

Dans Paramètres de la vue SQL, cliquez sur Deviner les paramètres à partir du SQL.

gs6Vous devez rentrez des valeurs par défaut. Elles seront utilisées en cas de requête sans coordonnées.

Rentrez  la chaîne suivante  ^-?[\d.]+$ dans Expression régulière de validation. L’utilisateur ne pourra rentrer que des chiffres dans les variables.

Dans Attributs, cliquez sur Actualiser.

gs7Modifiez le type de géométrie pour qu’elle corresponde à la géométrie retournée par la requête sql (dans notre cas une LineString) ainsi que le SRID de retour (ici 4326).

Cliquez sur Sauvegarder.

Il ne reste qu’à configurer le reste des paramètres de la couche. Dans notre cas il suffit de s’assurer que les SRID natifs et des données soient les nécessaires pour notre application.

Pour ce qui est du SRID natif, comme expliqué lors de la mise en place des tables du réseau, pgrouting travaille exclusivement en 4326 (latitude/longitude). Par contre, dans notre page WEB (que nous n’avons pas encore vue) nous utiliserons OpenStreetMap comme fond de carte. Nous avons donc tout intérêt à configurer la sortie de Geoserver en EPSG:3857 (le SRID utilisé par OSM).

gs8

N’oubliez pas de changer Gestion des SRC en Reprojeter du SRC natif vers le SRC déclaré.

Cliquez sur Emprises -> Basées sur les données et  Calculées sur les emprises natives pour terminer la configuration de la couche.

Cliquez sur Sauvegarder.

Vérifiez que vous avez tout bien configuré en cliquant sur Prévisualisation de la couche et en sélectionnant OpenLayers. Vous devez obtenir l’itinéraire entre les points que vous avez entré comme points par défaut:

gs9Voilà! Vous avez terminé la configuration de Geoserver.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *