Bienvenue sur PostGIS.fr

Bienvenue sur PostGIS.fr , le site de la communauté des utilisateurs francophones de PostGIS.

PostGIS ajoute le support d'objets géographique à la base de données PostgreSQL. En effet, PostGIS "spatialise" le serverur PostgreSQL, ce qui permet de l'utiliser comme une base de données SIG.

Maintenu à jour, en fonction de nos disponibilités et des diverses sorties des outils que nous testons, nous vous proposons l'ensemble de nos travaux publiés en langue française.

source: trunk/workshop-routing-foss4g/docs/chapters/php_server.rst @ 76

Revision 76, 2.8 KB checked in by djay, 12 years ago (diff)

Ajout du répertoire web

RevLine 
[63]1==============================================================================================================
[73]2Script PHP coté serveur
[63]3==============================================================================================================
4
[73]5Nous utiliserons un script PHP pour exécuter les requêtes de routafe et renverons le résultat au client web.
[63]6
[73]7Les étapes suivantes sont nécessaires :
[63]8
[73]9* Retrouver les coordonnées du point de départ et de celui d'arrivée.
10* Trouver l'arrête la plus proche d'un point de départ ou d'arrivée.
11* Prendre soit le noeud de début ou de fin de l'arrête  (for Dijkstra/ A-Star) ou l'arrête elle-même (Shooting-Star) comme début ou fin du parcours.
12* Exécuter les requête de recherche de plus court chemin.
13* Retourner le résultat de la requête en XML ou mieux encore en GeoJSON au client web.
[63]14
15.. note::
16       
[73]17        Pour conserver cet exemple aussi simple que possiblle et de mettre en évidence les requête de routafe, ce script PHP ne valide pas les paramÚtres des requêtes et ne prend pas en compte les problÚmes de sécurités de PHP.
[63]18
[73]19Commençons avec quelque modÚles PHP et plaçon ces fichiers dans un répertoire accessible par le serveur Apache :
[63]20
21.. literalinclude:: ../../web/php/pgrouting.php
22        :language: php
23        :lines: 1-18
24
25         
26-------------------------------------------------------------------------------------------------------------
[73]27L'arrête la plus proche
[63]28-------------------------------------------------------------------------------------------------------------
29
[73]30Habituellement les points de départ et d'arrivée, qui sont récupérer depuis le client, n'est pas le point de départ ou d'arrivée d'un tronçon. Il est plus simple de retrouver l'arrête la plus proche que le sommet le plus proche, parce que l'algorithme "Shooting-Star" est basé sur les arrêtes. Pour les algorithmes basés sur les sommets (Dijkstra, A-Étoile) nous pouvons choisir le opint de départ ou d'arrivée de l'arrête sélectionnée.
[63]31
32.. literalinclude:: ../../web/php/pgrouting.php
33        :language: php
34        :lines: 20-56
35         
36         
37-------------------------------------------------------------------------------------------------------------
[73]38Requête de routage
[63]39-------------------------------------------------------------------------------------------------------------
40
41.. literalinclude:: ../../web/php/pgrouting.php
42        :language: php
43        :lines: 58-116
44
45
46-------------------------------------------------------------------------------------------------------------
[73]47Sortie au format GeoJSON
[63]48-------------------------------------------------------------------------------------------------------------
49
[73]50OpenLayers permet l'affichage de lignes en utilisant directement des données au format GeoJSON, donc notre script retourne un objet FeatureCollection au format GeoJSON :
[63]51
52.. literalinclude:: ../../web/php/pgrouting.php
53        :language: php
54        :lines: 118-
55
Note: See TracBrowser for help on using the repository browser.