SELECT seq, id1 AS node, id2 AS edge, cost FROM pgr_dijkstra('
SELECT gid AS id,
source::integer,
target::integer,
length::double precision AS cost
FROM ways',
30, 60, false, false);
seq | node | edge | cost
-----+------+------+---------------------
0 | 30 | 53 | 0.0591267653820616
1 | 44 | 52 | 0.0665408320949312
2 | 14 | 15 | 0.0809556879332114
...
6 | 10 | 6869 | 0.0164274192597773
7 | 59 | 72 | 0.0109385169537801
8 | 60 | -1 | 0
(9 rows)
CREATE TABLE fotdata_routing.netvaerk
(
id SERIAL PRIMARY KEY, -- intern id
geom geometry, -- geometrien
komkode character varying(4), -- kommunekode
vejkode character varying(4), -- vej kode
vej_type character varying(14), -- vejtypen
vejklasse character varying(22), -- vejklassen
source integer, -- til brug i topologien
target integer, -- til brug i topologien
laengde double precision, -- til hurtig beregning på afstand
rejsetidsekunder double precision -- til hurtig Beregning på tid
);
-- Insert fra FOT vejmidte_brudt (brudt ved alle samlinger)
-- Opdater med køretider - for forskellige klasser:
UPDATE fotdata_routing.netvaerk SET rejsetidsekunder =
laengde / (50 * 1000/3600 ); -- fra skiltet km/t -> meter / sek
UPDATE fotdata_routing.netvaerk SET rejsetidsekunder =
laengde / (80 * 1000/3600 ) WHERE vejklasse LIKE 'Europavej';
-- ... sætter bl.a. lav hastighed på stier
-- Her kunne vi lave en masse andre tider baseret på klasser, byzoner osv
-- Tilføj routing-capabilities med pgRoutings "create topology"-funktion
-- 1: Hvor ligger data
-- 2: Snaptolerance
-- 3: Hvad hedder geometrifeltet
-- 4: Hvad hedder ID-feltet
-- 5: Hvad hedder feltet med FRA-knude-id
-- 6: Hvad hedder feltet med TIL-knude-id
select pgr_createTopology('fotdata_routing.netvaerk', 0.01,
the_geom:='geom', id:='id',
source:='source', target:='target');
-- NOTICE: -------------> TOPOLOGY CREATED FOR 2121154 edges
-- ...
-- Total query runtime: 7235868 ms.
-- (to timer)
SELECT * from pgr_drivingDistance(
'SELECT id, source, target, laengde AS cost
FROM fotdata_routing.netvaerk', --her kunne vi filtrere
681906, -- Østerlund 14, 9870
10000, -- max 10000 i cost (længde i meter i UTM)
false,false) AS route
JOIN
fotdata_routing.knuder -- View med alle knuder
ON
knuder.id = route.id1 -- Hent de knuder vi kan nå
Ønske: "antal parkeringspladser indenfor x minutters gang"
Har: talte parkeringspladser på strækninger og teknisk kort