47
"Kürzester-Weg" Berechnungen und mehr mit pgRouting Daniel Kastl

pgRouting (Deutsch)

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: pgRouting (Deutsch)

"Kürzester-Weg" Berechnungen und mehr mit pgRouting

Daniel Kastl

Page 2: pgRouting (Deutsch)

Was ist pgRouting?

Page 3: pgRouting (Deutsch)

Kürzester Weg

Page 4: pgRouting (Deutsch)

TSP und DD

Page 5: pgRouting (Deutsch)

VRP (DARP)

Page 6: pgRouting (Deutsch)

Beispiel Straßennetze

Wie sehen sie aus?

Page 7: pgRouting (Deutsch)

Etwa so ...

Page 8: pgRouting (Deutsch)

… oder so ...

Page 9: pgRouting (Deutsch)

… oder manchmal so.

Page 10: pgRouting (Deutsch)

Besondere Eigenschaften von Straßennetzen

Ampeln Schilder Markierungen

Page 11: pgRouting (Deutsch)

Wie kann hier pgRouting helfen?

Page 12: pgRouting (Deutsch)

gid,source,target,cost,reverse_cost,x1, y1,x2, y2,rule,to_cost

source

target

Page 13: pgRouting (Deutsch)

Daher müssen die Kosten erhöht werden.

Ampeln verlangsamen die Fahrt.

Page 14: pgRouting (Deutsch)

A

BC

D

cost(A)=cost(A)+30seccost(B)=cost(B)+30seccost(C)=cost(C)+30seccost(D)=cost(D)+30sec

1min

Page 15: pgRouting (Deutsch)

Schilder beschreiben Verbote und Straßentypen.

Page 16: pgRouting (Deutsch)
Page 17: pgRouting (Deutsch)

cost(A)=length(A)reverse_cost(A)=∞

A

Page 18: pgRouting (Deutsch)

Manchmal haben Kosten eine andere Bedeutung.

Page 19: pgRouting (Deutsch)

cost(A)=length(A)/2reverse_cost(A)=length(A)*2

cost(B)=length(B)*3reverse_cost(B)=length(B)/3

A

B

Page 20: pgRouting (Deutsch)

Abbiegeverbote regeln Abbiege-

beziehungen.

Page 21: pgRouting (Deutsch)

A

BC

D

cost(A)=cost(A)+1mincost(B)=cost(B)+1mincost(C)=cost(C)+1mincost(D)=cost(D)+1min

1min

A

BC

D

rule(A)="D"to_cost(A, D)=∞

Page 22: pgRouting (Deutsch)

Straßentypen können zur Kosten-berechnung heran-gezogen werden.

Page 23: pgRouting (Deutsch)

Nicht nur Straßen-typen, sondern auch Straßenbedingungen

Page 24: pgRouting (Deutsch)

Was ist mit der Straßenmarkierung?

Page 25: pgRouting (Deutsch)

Sie unterteilt Fahrspuren, ...

Page 26: pgRouting (Deutsch)

...definiert Straßen-typen, ...

Page 27: pgRouting (Deutsch)

... und Einschränkungen.

A

B

C

D

rule(D)="A, B"to_cost(D)=∞

E

Page 28: pgRouting (Deutsch)

Und wissen Sie was phantastisch ist an pgRouting?

Page 29: pgRouting (Deutsch)

Alle Kosten sind dynamisch.

Also das Gegenteil von vorberechnet.

Page 30: pgRouting (Deutsch)

Ist eine Straße gesperrt, ...

Page 31: pgRouting (Deutsch)

... gibt es einen Unfall, ...

Page 32: pgRouting (Deutsch)

... ein Verkehrsschild mit zeitabhängigen

Anweisungen, ...

Page 33: pgRouting (Deutsch)

... schlechte Wetterbedingungen, ...

Page 34: pgRouting (Deutsch)

... oder ein Hindernis, ...

Page 35: pgRouting (Deutsch)

Dann brauchen Sie das Netz nicht neuberechnen

und neuladen ...

Page 36: pgRouting (Deutsch)

... und ewig warten.

Page 37: pgRouting (Deutsch)

Sie passen nur die Kosten an für die betroffenen Straßenabschnitte.

Und die folgende Suche nimmt einen anderen Weg.

Page 38: pgRouting (Deutsch)

Kosten können praktisch alles mögliche sein.

Page 39: pgRouting (Deutsch)

pgRouting funktioniert mit OpenStreetMap Daten.

Page 40: pgRouting (Deutsch)

pgRouting funktioniert mit unterschiedlichen Arten von Netzen.

Page 41: pgRouting (Deutsch)

Kanäle und Flüsse, ...

Page 42: pgRouting (Deutsch)

... Wanderwege, ...

Page 43: pgRouting (Deutsch)

... oder jedere andere Art von

Netzwerk.

Page 44: pgRouting (Deutsch)

Demo

Page 45: pgRouting (Deutsch)

Weitere Informationen unter

pgrouting.orggeorepublic.deopenvrp.com

[email protected]

Page 46: pgRouting (Deutsch)
Page 47: pgRouting (Deutsch)

Photos von sxc.hu und flickr unter Creative Commons Lizenz.