Auswertung nächstgelegene Schule

Florian Lohoff f at zz.de
Do Feb 9 19:35:02 CET 2017


Hola,

On Thu, Feb 09, 2017 at 06:05:17PM +0000, Jäger, Frank (KRZ) wrote:
> Hallo,
> gerade kam (wieder mal) die Frage auf, wie eine Kommunalverwaltung für
> die Aufgabe der Abrechnung der Schülerfahrtkosten auf effektive Art
> die nächstgelegene Schule zu einer Adresse bestimmen und die Länge des
> Schulwegs ermitteln kann.  Die Gemeinde braucht nur die Fahrtkosten
> zur nächstgelegenen Schule bezahlen, auch wenn sich die Eltern für
> eine andere Schule entschieden haben.

Da hätte ich auch gerade einen Anwendungsfall für.. In Rheda soll die
Wenneberschule geschlossen werden und die Kommune ist sehr optimistisch
wie sich die Schüler "verteilen" ... Ich würde da gerne die Adressen
einmal auf die Grundschulen verteilen, und dann einmal die Wenneber
rausnehmen und die Adressen verteilen. 

> Dabei soll aber nicht "Luftlinie" für die Entfernung verwendet werden
> sondern "Fußgänger-Routing". Das Routing sollte im Idealfall also
> nicht einfach über die Kreuzung laufen sondern über die
> Fußgängerampel, die vielleicht 100 Meter von der Kreuzung entfernt
> steht.

> Kennt jemand eine Anwendung, mit der man eine solche Auswertung machen könnte? 

Ich kenne gerade keine ... Man könnte durch Vorprozessieren der Daten
sowas vielleicht hinbekommen. Also alle Wege doppeln und jeweils (auch
für Fußgänger) Einbahnstraße draus machen. Nur an wirklichen
Knotenpunkten 2er Wege und an Ampeln diese auch miteinander verbinden.

D.h.
- Daten nehmen - alle oneways wegwerfen.
- Dann jeweils alle Wege einmal mit oneway=yes und einmal mit oneway=-1 nehmen
- Knoten an denen sich Straßen berühren (Also mehr als 2) - nodes
  markieren. 
- Knoten mit traffic_light markieren.
- Diese nodes müssen jeweils in beiden Wegen sein - damit ist da ein
  Wechsel zwischen den ways möglich. Alle anderen nodes müssen "unique"
  sein.
  - Könnte man algorithmisch einfach lösen 
  - Markierte / Bekannte knoten behalten ihre node ID
  - Knoten in oneway=yes dataset nodeid+=2^60
  - Knoten in oneway=-1 dataset nodeid+=2^61
  - Datasets mergen.
- Das ganze in OSRM werfen und Routen berechnen.
- Müsste sich für kleinere Datasets Problemlos auch mit 
  perl, python und co erschlagen lassen.

Evtl macht man das mit den seperaten wegen auch nur bei tertiary
und größer oder so.

Ich habe sowas mal auf der OSM Mailingliste gelesen wo jemand das
Problem hatte das die Routenoptimierung für Glascontainer
Entsorgerfahrzeuge machen wollten. Die müssen immer quasi in
Fahrtrichtung rechts am Container ankommen weil die ja nicht über
die Straße langen können mit dem Kran. Dazu kommt das man mit einem 20to
so schlecht wenden kann. Also wollte man lieber einmal um den Block
fahren und in der richtigen Fahrrichtung ankommen.
Die haben das IIRC genau so gelöst - Also die Straßen gedoppelt.

> Vielleicht kann man das auch umgekehrt angehen:
> Analog der "Erreichbarkeitsbereiche der Feuerwehr" (OpenRouteService)
> könnte man vielleicht eine Art "Isobaren-Karte" mit 200-Meter-Ringen
> um die Schulen zeichnen lassen. Darin kann man dann die einzelnen
> Adressen interpolieren und schnell feststellen, welche Schule näher
> ist.  Aber auch hier sollten nicht Kreise (Luftlinie) die Basis sein
> sondern Routing-Bereiche. Während bei der Feuerwehr-Karte die
> Fahrt-Zeit ausgewertet wird, käme es hier aber nur auf die Entfernung
> an.

> Die Frage nach Unterstützung kommt immer mal wieder auf, weil das
> bisher mit viel manuellem Aufwand gelöst wird.  Die Fallzahlen sind
> aber nicht so groß, dass man für die Lösung größere Summen ausgeben
> möchte. Für die meisten Adressen ist es offensichtlich, welche Schule
> näher liegt. Es geht um die Fälle im Grenzbereich, in der Mitte
> zwischen zwei Schulen.

Ich würde das jetzt einfach brute force erschlagen.

OSRM mit dem Kartenausschnitt für Fußgänger anlegen. Je Adresse eine
Route zu den Schulen berechnen. Da kommt Zeit und Länge bei raus.

Dann weisst du von jeder Adresse die Distanz zu jeder Schule.
Die Fehler mit den Fußgängerampeln halte ich im Wurf 1 
für Vernachlässigbar.

> Andererseits hat fast jede Stadt- oder Gemeindeverwaltung diese
> Aufgabe. Eine leicht zu verstehende Karte oder eine gut zu bedienende
> Anwendung hätte viele potentielle Nutzer. Ich könnte mir das auch gut
> als Aufgabe für eine Bachelor-Arbeit vorstellen.

Flo
-- 
Florian Lohoff                                                 f at zz.de
             UTF-8 Test: The 🐈 ran after a 🐁, but the 🐁 ran away


Mehr Informationen über die Mailingliste OSM