Afficher directement le résultat dans MapServer.


(Author: Camptocamp/ pgDijkstra)

La fonction shortest_path_as_geometry() peut être utilisée dans la définition d'une couche MapServer pour afficher directement le plus court chemin :

LAYER
    NAME "europe"
    TYPE LINE

    STATUS DEFAULT
    CONNECTIONTYPE postgis
    CONNECTION "user=postgres host=localhost dbname=geo"
    DATA "the_geom from (SELECT the_geom, gid from
        shortest_path_as_geometry('bahnlinien_europa_polyline', 2629, 10171)) AS
        foo using unique gid using srid=-1"
    TEMPLATE "t"
    CLASS
        NAME "0"
        STYLE
            SYMBOL "circle"
            SIZE 10
            COLOR 50 50 100
        END
    END
END

Notez cependant que cette fonction est appelée à chaque affichage de la carte, calculant le plus court chemin à chaque fois.

Une meilleur approche serait de générée le plus court chemin et de le stoquer dans une table temporaire.