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.

Changeset 75


Ignore:
Timestamp:
02/04/2012 01:51:17 (13 years ago)
Author:
djay
Message:

Traduction du chapitre 6

Location:
trunk/workshop-routing-foss4g/chapters
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/workshop-routing-foss4g/chapters/introduction.rst

    r64 r75  
    55.. rubric:: Résumé 
    66 
    7 `pgRouting <http://www.pgrouting.org>`_ ajoute les fonctionalité de routage à `PostGIS <http://www.postgis.org>`_. Ces travaux pratiques d'introduction va vous présenter comment. Il présente un exemple pratique de comment utiliser pgRouting avec les données du réseau routier d'`OpenStreetMap <http://www.openstreetmap.org>`_. Il explique les étapes permettant la préparation des données, effectuer des requêtes de routage, l'assignation des coûts et l'utilisation de `GeoExt <http://www.geoext.org>`_ pour présenter les chamins depuis une application de web-mapping. 
     7`pgRouting <http://www.pgrouting.org>`_ ajoute les fonctionalités de routage à `PostGIS <http://www.postgis.org>`_. Ces travaux pratiques d'introduction va vous présenter comment. Il présente un exemple pratique de comment utiliser pgRouting avec les données du réseau routier d'`OpenStreetMap <http://www.openstreetmap.org>`_. Il explique les étapes permettant la préparation des données, effectuer des requêtes de routage, l'assignation des coûts et l'utilisation de `GeoExt <http://www.geoext.org>`_ pour présenter les chamins depuis une application de web-mapping. 
    88 
    99La navigration dans un réseau de routes nécessite des algorithmes de routage complex qui supportent la restriction des virages utilisables et même des attributs dépendant du temps. pgRouting est une librairie OpenSource qui peut être étendue qui fournit une grande variété d'outils pour la recherche de plus courts chemins comme une extension de PortgreSQL et de PostGIS. Ces travaux pratiques vont expliquer la recherche de plus courts chemin avec pgRouting dans un réseau routier réel et comment la structure des données est importante pour obtenir des résultats plus rapidement. Vous apprendrez aussi les difficultés et le limitations de pgRouting dans le cadre d'application SIG. 
  • trunk/workshop-routing-foss4g/chapters/shortest_path.rst

    r73 r75  
    7777 
    7878^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    79 Wrapper 
    80 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    81  
    82 .. rubric:: Wrapper WITHOUT bounding box 
    83  
    84 Wrapper functions extend the core functions with transformations, bounding box limitations, etc.. Wrappers can change the format and ordering of the result. They often set default function parameters and make the usage of pgRouting more simple. 
     79Enveloppe 
     80^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
     81 
     82.. rubric:: Enveloppe SANS limite d'étendue 
     83 
     84les fonctions enveloppes sont des fonctions qui étendent les fonctions de bases en y ajoutant des transformations, ajoutant des limites de l'étendue géograhpique de la recherhe, etc.. Les enveloppes peuvent changer le format et l'ordre des résultats. Il affectent aussi automatiquement certains paramÚtre et rend l'utilisation de pgRouting encore plsu simple. 
    8585 
    8686.. code-block:: sql 
     
    103103.. note:: 
    104104 
    105         It's possible to show the route in QGIS. It works for shortest path queries that return a geometry column. 
    106  
    107         * Create a database connection and add the "ways" table as a background layer. 
    108         * Add another layer of the "ways" table but select ``Build query`` before adding it. 
    109         * Type ``"gid"  IN ( SELECT gid FROM dijkstra_sp('ways',5700,6733))`` into the **SQL where clause** field. 
    110          
    111         ``SQL query`` can be also selected from the layer context menu.  
    112  
    113          
    114 .. rubric:: Wrapper WITH bounding box 
    115  
    116 You can limit your search area by adding a bounding box. This will improve performance especially for large networks. 
     105        Il est possible de visualiser le chemin dans QGIS. Cela fonctionne pour la requête de recherche du plus court chemin qui retourne une colonne géométrique. 
     106 
     107        * Créer la connexion à la base de données et ajoutez la table route comme couche de fond. 
     108        * Ajoutez une autre couche de la table "ways" mais selectionnez l'option ``Build query`` avant de l'ajouter. 
     109        * Saissez ``"gid"  IN ( SELECT gid FROM dijkstra_sp('ways',5700,6733))`` dans le champ **SQL where clause**. 
     110         
     111        ``SQL query`` peut aussi être sélectionné depuis le menu contextuel de la couche.  
     112 
     113         
     114.. rubric:: Enveloppe AVEC une étendue limite 
     115 
     116Vous pouvez limiter votre recherche à une zone précise en ajoutant un cadre limite. Cela améliorera les performances tout spécialement pour les réseaux volumineux. 
    117117 
    118118.. code-block:: sql 
     
    134134.. note::  
    135135 
    136         The projection of OSM data is "degree", so we set a bounding box containing start and end vertex plus a ``0.1`` degree buffer for example. 
    137  
    138  
    139 ------------------------------------------------------------------------------------------------------------- 
    140 A-Star 
    141 ------------------------------------------------------------------------------------------------------------- 
    142  
    143 A-Star algorithm is another well-known routing algorithm. It adds geographical information to source and target of each network link. This enables the shortest path search to prefer links which are closer to the target of the search. 
    144  
    145 .. rubric:: Prerequisites 
    146  
    147 For A-Star you need to prepare your network table and add latitute/longitude columns (``x1``, ``y1`` and ``x2``, ``y2``) and calculate their values. 
     136        La projection des données OSM est en "degrés", donc nous définirons un cadre limite contenant le point de départ et celui d'arrivée plus une zone tampon de ``0.1`` degrés par exemple. 
     137 
     138 
     139------------------------------------------------------------------------------------------------------------- 
     140A-Étoile 
     141------------------------------------------------------------------------------------------------------------- 
     142 
     143L'algortihme A-Étoile est un autre algrithme bien connu. Il ajoute l'information de la position géographique du début et la fin de chaque tronçon. Cela permet une recherche privilégiant les tronçons proches du point d'arrivée de la recherche. 
     144 
     145.. rubric:: Prérequis 
     146 
     147Pour A-* vous avez besoin de préparer votre table de réseau et d'y ajouter les colonnes latitute/longitude (``x1``, ``y1`` et ``x2``, ``y2``) et de calculer leur valeurs. 
    148148 
    149149.. code-block:: sql 
     
    168168.. Note::  
    169169 
    170         ``endpoint()`` function fails for some versions of PostgreSQL (ie. 8.2.5, 8.1.9). A workaround for that problem is using the ``PointN()`` function instead: 
    171  
    172  
    173 .. rubric:: Function with parameters 
    174  
    175 Shortest Path A-Star function is very similar to the Dijkstra function, though it prefers links that are close to the target of the search. The heuristics of this search are predefined, so you need to recompile pgRouting if you want to make changes to the heuristic function itself. 
     170        La fonction ``endpoint()`` ne fonctionne pas avec certaines versions de PostgresQL (par exemple les version 8.2.5 et 8.1.9). Un moyen de résoudre ce problÚme consiste à utiliser la fonction ``PointN()`` à la place: 
     171 
     172 
     173.. rubric:: Fonction avec paramÚtres 
     174 
     175La fonction de recherche de plus court chemin A-* est trÚs semblable à la fonction Dijkstra, bien qu'elle préfÚre les tronçons qui sont plus proche du point d'arrivée de la recherche. Les heuristiques de cette recherche sont prédéfinis, donc vous aurez besoin de recompiler pgRouting si vous souhaitez modifier ces heuristiques. 
    176176 
    177177.. code-block:: sql 
     
    184184 
    185185.. note:: 
    186         * Source and target IDs are vertex IDs. 
    187         * Undirected graphs ("directed false") ignore "has_reverse_cost" setting 
    188  
    189 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    190 Core 
     186        * Les identifiants source et target sont les identifiant des sommets IDs. 
     187        * Graphes non-orienté ("directed=false") ne prennent pas en compte le paramÚtre "has_reverse_cost" 
     188 
     189^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
     190Bases 
    191191^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    192192 
     
    215215 
    216216^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    217 Wrapper 
    218 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    219  
    220 .. rubric:: Wrapper function WITH bounding box 
    221  
    222 Wrapper functions extend the core functions with transformations, bounding box limitations, etc.. 
     217Enveloppe 
     218^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
     219 
     220.. rubric:: Fonction envelopper AVEC cadre limite 
    223221 
    224222.. code-block:: sql 
     
    241239.. note:: 
    242240 
    243         * There is currently no wrapper function for A-Star without bounding box, since bounding boxes are very useful to increase performance. If you don't need a bounding box Dijkstra will be enough anyway. 
    244         * The projection of OSM data is "degree", so we set a bounding box containing start and end vertex plus a 0.1 degree buffer for example. 
     241        * Il n'y a pas actuellement de fonction pour a-* sans cadre limite, étant donnée que le cadre limite permet d'améliorer grandement les performances. Si vous n'avez pas besoin de cadre limite, Dijkstra sera suffisant. 
    245242 
    246243 
     
    249246------------------------------------------------------------------------------------------------------------- 
    250247 
    251 Shooting-Star algorithm is the latest of pgRouting shortest path algorithms. Its speciality is that it routes from link to link, not from vertex to vertex as Dijkstra and A-Star algorithms do. This makes it possible to define relations between links for example, and it solves some other vertex-based algorithm issues like "parallel links", which have same source and target but different costs. 
    252  
    253 .. rubric:: Prerequisites 
    254  
    255 For Shooting-Star you need to prepare your network table and add the ``rule`` and ``to_cost`` column. Like A-Star this algorithm also has a heuristic function, which prefers links closer to the target of the search. 
    256  
    257 .. code-block:: sql 
    258  
    259         -- Add rule and to_cost column 
     248L'algorithme Shooting-Star est le dernier algorithme de recherche de plus court chemin. Sa spécialité c'est qu'il recherche un parcours d'un tronçon à un autre, pas d'un sommet à un sommet comme les agorithmes de Dijkstra et A-Star le font. Cela rend possible la définition de relations entre les tronçons par exemple, et cela résoud certains problÚmes liés aux recherches d'un sommets à un autre comme les "tronçons parallÚles", qui ont les même sommet de début et de fin mais des coût différents. 
     249 
     250.. rubric:: Prérequis 
     251 
     252Pour Shooting-Star vous avez besoin de préparer votre table de réseau et d'ajouter les colonnes ``rule`` et ``to_cost``. Come l'algorithme A-* il a aussi un fonction heuristique, qui favorise les tronçons plus proche du point d'arrivée.which prefers links closer to the target of the search. 
     253 
     254.. code-block:: sql 
     255 
     256        -- Ajouter les colonnes rule et to_cost 
    260257        ALTER TABLE ways ADD COLUMN to_cost double precision;    
    261258        ALTER TABLE ways ADD COLUMN rule text; 
    262259 
    263 .. rubric:: Shooting-Star algorithm introduces two new attributes 
     260.. rubric:: L'algorithme Shooting-Star introduit deux nouveaux attributs 
    264261 
    265262.. list-table:: 
    266263   :widths: 10 90 
    267264 
    268    * - **Attribute** 
    269      - **Description** 
     265   * - **Attribut** 
     266     - **Déscription** 
    270267   * - rule 
    271      - a string with a comma separated list of edge IDs, which describes a rule for turning restriction (if you came along these edges, you can pass through the current one only with the cost stated in to_cost column) 
     268     - une chaine de caractÚres contenant une liste d'identifiants de tronçno séparés par une virgule, qui décrivent le sens giratoir (si vous venez de cet tronçon, vous pouvez rejoindre le suivant en ajoutant un coût défini dans la colonne to_cost) 
    272269   * - to_cost 
    273      - a cost of a restricted passage (can be very high in a case of turn restriction or comparable with an edge cost in a case of traffic light) 
    274  
    275 .. rubric:: Function with parameters 
     270     - un coût pour passer d'un tronçon à un autre (peut être trÚs élevé s'il est interdit de trouner vers ce tronçon ce qui est comparable au coût de parcours d'un tronçon en cas de feu de signalisation) 
     271 
     272.. rubric:: Fonction avec paramÚtres 
    276273 
    277274.. code-block:: sql 
     
    285282.. note:: 
    286283 
    287         * Source and target IDs are link IDs. 
    288         * Undirected graphs ("directed false") ignores "has_reverse_cost" setting 
    289  
    290 To describe turn restrictions: 
     284        * Identifiant du départ et de l'arrivée sont des identifiants de tronçons. 
     285        * Graphes non-orientés ("directed=false") ne prennent pas en compte le paramÚtre "has_reverse_cost"  
     286 
     287Pour décrire une interdiction de tourner : 
    291288 
    292289.. code-block:: sql 
     
    296293          12 |      3 |     10 |    2 |  4 |  3 |  4 |  5 |    1000 | 14 
    297294   
    298 ... means that the cost of going from edge 14 to edge 12 is 1000, and 
     295... signifie que le coût pour aller du tronçon 14 au tronçon 12 est de 1000, et 
    299296 
    300297.. code-block:: sql 
     
    304301          12 |      3 |     10 |    2 |  4 |  3 |  4 |  5 |    1000 | 14, 4 
    305302 
    306 ... means that the cost of going from edge 14 to edge 12 through edge 4 is 1000. 
    307  
    308 If you need multiple restrictions for a given edge then you have to add multiple records for that edge each with a separate restriction. 
     303... signifie que le coût pour aller du tronçon 14 au tronçon 12 via le tronçon 4 est de 1000. 
     304 
     305Si vous avez besoin de plusieurs restrictions pour une arrête donnée you devez ajouter plusieurs enregistrements pour ce tronçon avec un restriction particuliÚre. 
    309306 
    310307.. code-block:: sql 
     
    315312          11 |      3 |     10 |    2 |  4 |  3 |  4 |  5 |    1000 | 12 
    316313 
    317 ... means that the cost of going from either edge 4 or 12 to edge 11 is 1000. And then you always need to order your data by gid when you load it to a shortest path function.. 
    318  
    319  
    320 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    321 Core 
    322 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    323  
    324 An example of a Shooting Star query may look like this:  
     314... signifie que le coût pour aller soit du tronçon  4 soit du 12 au 11 est de 1000. Et donc vous devez ordoner vos données par gid lorsque vous chargez vos données dans la fonction de recherche de plus court chemin... 
     315 
     316 
     317^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
     318Bases 
     319^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
     320 
     321Un exemple d'utilisation de l'algorithme Shooting Star :  
    325322 
    326323.. code-block:: sql 
     
    349346.. warning:: 
    350347 
    351         Shooting Star algorithm calculates a path from edge to edge (not from vertex to vertex). Column vertex_id contains start vertex of an edge from column edge_id. 
    352  
    353  
    354 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    355 Wrapper 
    356 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    357  
    358 Wrapper functions extend the core functions with transformations, bounding box limitations, etc.. 
     348        L'lgorithme Shooting Star calcul un chemin d'un tronçon à un autre (pas d'un sommet à un autre). La colonnes vertex_id contienr le point de départ du tronçon de la colonne edge_id. 
     349 
     350 
     351^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
     352Envelopper 
     353^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
    359354 
    360355.. code-block:: sql 
     
    376371.. note:: 
    377372 
    378         There is currently no wrapper function for Shooting-Star without bounding box, since bounding boxes are very useful to increase performance.  
    379  
    380 .. warning:: 
    381  
    382         The projection of OSM data is "degree", so we set a bounding box containing start and end vertex plus a 0.1 degree buffer for example. 
     373        Il n'y a actuellement pas de fonction enveloppe pour Shooting-Star sans cadre limite, puisque le cadre limite améliore grandement les performances.  
Note: See TracChangeset for help on using the changeset viewer.