Jump to content

Pgrouting- A Practical Guide -

Introduction In the world of Geographic Information Systems (GIS), routing and network analysis are critical for applications ranging from GPS navigation to urban planning. While desktop tools like QGIS or ArcGIS offer routing capabilities, they often struggle with large datasets or real-time queries. This is where pgRouting —an extension of PostgreSQL and PostGIS —becomes an indispensable solution.

WITH path AS ( SELECT * FROM pgr_dijkstra( 'SELECT gid AS id, source, target, cost, reverse_cost FROM roads', 1, 50, true ) ) SELECT path.seq, path.node, path.edge, roads.geom FROM path JOIN roads ON path.edge = roads.gid ORDER BY path.seq; Find all nodes reachable within 500 meters from a starting point: PgRouting- A Practical Guide

-- Assume 'live_traffic' table stores current cost per edge UPDATE roads SET cost = live_traffic.time_sec FROM live_traffic WHERE roads.gid = live_traffic.edge_id; -- Then run Dijkstra SELECT * FROM pgr_dijkstra( 'SELECT gid AS id, source, target, cost, reverse_cost FROM roads', (SELECT source FROM vertices_tmp ORDER BY the_geom <-> ST_SetSRID(ST_Point(-122.4194, 37.7749), 4326) LIMIT 1), (SELECT source FROM vertices_tmp ORDER BY the_geom <-> ST_SetSRID(ST_Point(-122.2711, 37.8044), 4326) LIMIT 1), true ); Introduction In the world of Geographic Information Systems

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.