37
Routenplanung mit BRouter und BRouter-Web FOSSGIS 2020 in Freiburg / A.Brenschede, N.Renner - Das BRouter-Ökosystem im Überblick - Routing-Engine und Data-Supply-Chain - Offline-Routing auf mobilen Endgeräten - Die Web-Anwendung BRouter-Web

mit BRouter und BRouter-Web - fossgis-konferenz.de

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: mit BRouter und BRouter-Web - fossgis-konferenz.de

Routenplanungmit BRouter und BRouter-Web

FOSSGIS 2020 in Freiburg / A.Brenschede, N.Renner

- Das BRouter-Ökosystem im Überblick

- Routing-Engine und Data-Supply-Chain

- Offline-Routing auf mobilen Endgeräten

- Die Web-Anwendung BRouter-Web

Page 2: mit BRouter und BRouter-Web - fossgis-konferenz.de

Routenplanungmit BRouter und BRouter-Web

FOSSGIS 2020 in Freiburg / A.Brenschede, N.Renner

- Das BRouter-Ökosystem im Überblick

- Routing-Engine und Data-Supply-Chain

- Offline-Routing auf mobilen Endgeräten

- Die Web-Anwendung BRouter-Web

Page 3: mit BRouter und BRouter-Web - fossgis-konferenz.de

Was ist BRouter: BRouter-Web?(Quelle: c‘t Magazin )

Page 4: mit BRouter und BRouter-Web - fossgis-konferenz.de

Was ist BRouter: BRouter-App?(Android App, bietet Offline-Routing für Karten-Apps) )

Page 5: mit BRouter und BRouter-Web - fossgis-konferenz.de

BRouter-Ökosystem

BRouter-Lib Data-Supply-Chain Server-Instanz

BRouter-App

OsmandLocusMaps

OruxMaps

C-Geo

BRouter-WebRoute-

ConverterQMapShack

Damsy-Fork

BikeOttawa

Page 6: mit BRouter und BRouter-Web - fossgis-konferenz.de

BRouter-Ökosystem

BRouter-Lib Data-Supply-Chain Server-Instanz

BRouter-App

OsmandLocusMaps

OruxMaps

C-Geo

BRouter-WebRoute-

ConverterQMapShack

Damsy-Fork

BikeOttawa

Page 7: mit BRouter und BRouter-Web - fossgis-konferenz.de

BRouter-Ökosystem

BRouter-Lib Data-Supply-Chain Server-Instanz

BRouter-App

OsmandLocusMaps

OruxMaps

C-Geo

BRouter-WebRoute-

ConverterQMapShack

Damsy-Fork

BikeOttawa

Page 8: mit BRouter und BRouter-Web - fossgis-konferenz.de

BRouter-Ökosystem

BRouter-Lib Data-Supply-Chain Server-Instanz

BRouter-App

OsmandLocusMaps

OruxMaps

C-Geo

BRouter-WebRoute-

ConverterQMapShack

Damsy-Fork

BikeOttawa

Page 9: mit BRouter und BRouter-Web - fossgis-konferenz.de

BRouter-Ökosystem

BRouter-Lib Data-Supply-Chain Server-Instanz

BRouter-App

OsmandLocusMaps

OruxMaps

C-Geo

BRouter-WebRoute-

ConverterQMapShack

Damsy-Fork

BikeOttawa

Page 10: mit BRouter und BRouter-Web - fossgis-konferenz.de

BRouter-Ökosystem

BRouter-Lib Data-Supply-Chain Server-Instanz

BRouter-App

OsmandLocusMaps

OruxMaps

C-Geo

BRouter-WebRoute-

ConverterQMapShack

Damsy-Fork

BikeOttawa

53.000 activeInstalls (PlayStore)

1,5 Terabyte/ Monat

1,5 MillionenRequests / Monat

Page 11: mit BRouter und BRouter-Web - fossgis-konferenz.de

Routenplanungmit BRouter und BRouter-Web

FOSSGIS 2020 in Freiburg / A.Brenschede, N.Renner

- Das BRouter-Ökosystem im Überblick

- Routing-Engine und Data-Supply-Chain

- Offline-Routing auf mobilen Endgeräten

- Die Web-Anwendung BRouter-Web

Page 12: mit BRouter und BRouter-Web - fossgis-konferenz.de

Runtime Overview

Filtering Decoder+

Graph-Weaver

Random-Access-Datafile (rd5)5° * 5°

Data-Tile1/32° * 1/32°

A*-Router

traverse+ clear links

request tilefor hollow node

extendread

Instance Graph(per-Request)

Page 13: mit BRouter und BRouter-Web - fossgis-konferenz.de

Speicher-bedarf Immer

< 20 MB

Runtime Overview

Filtering Decoder+

Graph-Weaver

Random-Access-Datafile (rd5)5° * 5°

Data-Tile1/32° * 1/32°

A*-Router

traverse+ clear links

request tilefor hollow node

extendread

Instance Graph(per-Request)

Dateigröße = 8%der typischen

OSM Datengröße

Durchsatz ca 1 MioOSM Nodes

pro Sekunde und Core(Xeon E5, 2Ghz, 30 MB)

Page 14: mit BRouter und BRouter-Web - fossgis-konferenz.de

Zieldreieck Pfadsuche

GenauigkeitFlexibilität→ Präferenzen→ Sperrzonen

Geschwindigkeit- heuristische Koeffizienten

- hierarchische Nebenbedingungen

- modifizierte Kostenfunktionen

Genauigkeit

- in-Memory Graphen

- vorberechnete Weg-Kosten

- Kontraktions- Hierarchien

Page 15: mit BRouter und BRouter-Web - fossgis-konferenz.de

Neues zu BRouter- mehr als nur Outdoor-Navigation -

FOSSGIS 2015 in Münster / Dr. Arndt Brenschede

- Ausblick: Keine Roadmap!! ..aber viel zu tun:

- synthetische Way Tags: Land-Use, Verkehrsdichte,..

- Handy-Integration: Zeitprognosen,Voice-Hints, ...

- Car-Routing: turn-restrictions, kinematisches Bewegungsmodell, ...

- Rollstuhlrouting

- ÖPNV-Integration

- … ?

Page 16: mit BRouter und BRouter-Web - fossgis-konferenz.de

Neues zu BRouter- mehr als nur Outdoor-Navigation -

FOSSGIS 2015 in Münster / Dr. Arndt Brenschede

- Ausblick: Keine Roadmap!! ..aber viel zu tun:

- synthetische Way Tags: Land-Use, Verkehrsdichte,..

- Handy-Integration: Zeitprognosen,Voice-Hints, ...

- Car-Routing: turn-restrictions, kinematisches Bewegungsmodell, ...

- Rollstuhlrouting

- ÖPNV-Integration

- … ?

Page 17: mit BRouter und BRouter-Web - fossgis-konferenz.de

Neues zu BRouter- mehr als nur Outdoor-Navigation -

FOSSGIS 2015 in Münster / Dr. Arndt Brenschede

- Ausblick: Keine Roadmap!! ..aber viel zu tun:

- synthetische Way Tags: Land-Use, Verkehrsdichte,..

- Handy-Integration: Zeitprognosen,Voice-Hints, ...

- Car-Routing: turn-restrictions, kinematisches Bewegungsmodell, ...

- Rollstuhlrouting

- ÖPNV-Integration

- … ?

Page 18: mit BRouter und BRouter-Web - fossgis-konferenz.de

FOSSGIS 2020 in Freiburg

- Rückblick:

- Insel-Erkennung / automatische Insel-Unterdückung

- statistical encoding

- direct-weaving / escape-analysis

- Douglas-Peucker transfer-node elimination

- Lizenzwechsel GPLv3 → MIT

- täglicher Daten-Refresh

- RD5 datafile delta update

Page 19: mit BRouter und BRouter-Web - fossgis-konferenz.de

FOSSGIS 2020 in Freiburg

- Rückblick:

- Insel-Erkennung / automatische Insel-Unterdückung

- statistical encoding

- direct-weaving / escape-analysis

- Douglas-Peucker transfer-node elimination

- Lizenzwechsel GPLv3 → MIT

- täglicher Daten-Refresh

- RD5 datafile delta update

Page 20: mit BRouter und BRouter-Web - fossgis-konferenz.de

FOSSGIS 2020 in Freiburg

- Ausblick:

- map-matching

- Rund-Kurse

- geroutete POI-Suche (z.B. Tankstellen, Ladesäulen)

- Matrix-API

- … (?)

Page 21: mit BRouter und BRouter-Web - fossgis-konferenz.de

Routenplanungmit BRouter und BRouter-Web

FOSSGIS 2020 in Freiburg / A.Brenschede, N.Renner

- Das BRouter-Ökosystem im Überblick

- Routing-Engine und Data-Supply-Chain

- Offline-Routing auf mobilen Endgeräten

- Die Web-Anwendung BRouter-Web

Page 22: mit BRouter und BRouter-Web - fossgis-konferenz.de

Routenplanungmit BRouter und BRouter-Web

FOSSGIS 2020 in Freiburg / A.Brenschede, N.Renner

- Das BRouter-Ökosystem im Überblick

- Routing-Engine und Data-Supply-Chain

- Offline-Routing auf mobilen Endgeräten

- Die Web-Anwendung BRouter-Web

Page 23: mit BRouter und BRouter-Web - fossgis-konferenz.de

BRouter-Web

Page 24: mit BRouter und BRouter-Web - fossgis-konferenz.de

Entstehung

01 / 2013 Vorstellung BRouter im OpenStreetMap Forum

02 / 2013 Arndt kennengelernt (Hack Weekend bei Geofabrik in Karlsruhe)

06 / 2013 Web-Client Diskussion im Forum, erster Test mit Leaflet

01 / 2014 brouter und brouter-web auf GitHub

02 / 2014 brouter-web online

Page 25: mit BRouter und BRouter-Web - fossgis-konferenz.de

Route zeichnen

● Einfacher Mausklick● Anhängen an Endpunkt

Page 26: mit BRouter und BRouter-Web - fossgis-konferenz.de

Sperrzonen (No-Go Areas)

● Gebiet oder Straße ausschließen

Page 27: mit BRouter und BRouter-Web - fossgis-konferenz.de

Sperrzonen aus GeoJSON

● Punkt, Linie, Polygon● Gewichtung● Radius für Punkte● Puffer

Page 28: mit BRouter und BRouter-Web - fossgis-konferenz.de

POI hinzufügen

● Marker setzen● Name eingeben● GPX „wpt“

Page 29: mit BRouter und BRouter-Web - fossgis-konferenz.de

Karten konfigurieren

● optionale Karten● https://.../{z}/{x}/{y}.png

Page 30: mit BRouter und BRouter-Web - fossgis-konferenz.de

Profil Editor

● Anzeigen● Anpassen

Page 31: mit BRouter und BRouter-Web - fossgis-konferenz.de

Profil Optionen

● Generiertes Formular

assign allow_steps = true # %allow_steps% | Set to false to disallow steps | booleanassign allow_ferries = true # %allow_ferries% | set to false to disallow ferries | boolean

● Aus Parameter-Definition & Kommentar

Page 32: mit BRouter und BRouter-Web - fossgis-konferenz.de

Daten

● Kosten und Tags der Wegsegmente

Page 33: mit BRouter und BRouter-Web - fossgis-konferenz.de

Mobile Geräte

● Responsive Webdesign● Mit Smartphone nutzbar

Page 34: mit BRouter und BRouter-Web - fossgis-konferenz.de

Lokale Installation

● Standalone Zip

wget https://github.com/nrenner/brouter-web/releases/download/0.11.1/brouter-web-standalone.0.11.1.zipunzip brouter-web-standalone.0.11.1.zipcp brouter-web/config.template.js brouter-web/config.jswget -P segments4 http://brouter.de/brouter/segments4/E5_N45.rd5./run.sh

● Docker für Client

Page 35: mit BRouter und BRouter-Web - fossgis-konferenz.de

Bibliotheken

● Leaflet und viele Plugins● Bootstrap● (noch) kein JS Framework

Daten● Routing und Karten

© OpenStreetMap-Mitwirkende

● Höhen CGIAR-CSI SRTM

Leafletleaflet-routingLeaflet.ElevationD3.jsLeaflet.EditableLeaflet Control Geocoderleaflet-pluginsAsync.jsBootstrapjQueryDataTablesLeaflet.EasyButtonBootboxbootstrap-sliderLeaflet.RestoreViewLeaflet.LocateFont Awesomeurl-search-paramsBootstrap-selectleaflet-sidebar-v2

CodeMirrorMap BBCodeLeafet.StravaSegmentspolylineleaflet-fullHashTurf.jsi18next Leaflet TriangleMarkerjsTree Leaflet.snogylopJOSM mapsLayersCollectionLeaflet-providersFetch polyfillPromise PolyfillLeaflet.FileLayertogeojsonLeaflet.GeometryUtilleaflet-distance-markersLeaflet.hotline

Page 36: mit BRouter und BRouter-Web - fossgis-konferenz.de

Beitragende

Page 37: mit BRouter und BRouter-Web - fossgis-konferenz.de

Vielen Dank für Ihre Aufmerksamkeit!

Links:

● https://brouter.de/brouter-web● https://github.com/nrenner/brouter-web● https://github.com/abrensch/brouter● MIT Lizenz