Skript zum Berechnen von Entfernungen;

Hallo,
ich suche eine Möglichkeit, die Entfernung (über Strassen, nicht die Luftlinie) von z.B. mehreren hundert externen Adressen zu einem zentralen Ort über ein Skript feststellen zu können.
Hat jemand eine Idee, wie man das machen kann ?

Danke !

Adressen zunächst geocodieren und dann Routen zum zentralen Punkt berechnen lassen.

Gruß Klaus

Mit geocodieren meinst Du wahrscheinlich die geographischen Koordinaten.
Das wäre soweit klar, gibt es dazu ev. auch eine Möglichkeit, das auf der Basis der Adresse (Strasse - Hausnummer - PLZ - Ort) zu automatisieren ?

Aber wie lasse ich dann die Entfernungen (Routen über Strassen) zum zentralen Punkt automatisch per Skript o.ä. berechnen ?

In einem Routenplanungsprogramm kann man die Adressen natürlich von Hand eingeben, aber das dauert ja ewig.

Ja, wobei sich ein eventuelles “es wurden X Möglichkeiten gefunden, welche wollen Sie denn” natürlich nicht so gut automatisieren lässt. Such mal im OSM-Wiki nach “Nominatim”, da siehst Du, wie man eine Anfrage formulieren muss und was dann zurückkommt - neben dem “menschenlesbaren” Format als Webseite kann man die Daten auch “programm-lesbar” als JSON oder so anfordern.

Natürlich solltest Du dafür ausreichende Kenntnisse in irgendeiner geeigneten Programmiersprache (gut sind Skriptsprachen wie z.B. python, perl, ruby, aber im Grunde geht alles, auch Java oder C oder Visual Basic) haben.

Beim Routing ist es genauso, auf project-osrm.org findest Du beschrieben, wie Du Routing-Anfragen automatisch absetzen kannst und wie die Antwort aussieht. Bei Fragen hilft es auch, den “Netzwerk-Debugger” im Browser mitlaufen zu lassen, während man eine Suche durchführt oder eine Route berechnet, da sieht man, was hinter den Kulissen läuft.

Bye
Frederik

Vielleicht erläuterst du mal die Hintergründe deines Vorhabens. Handelt es sich um ein kommerzielles oder ein nicht-kommerzielles Projekt? Bleibt es bei wenigen Abfragen? Welche Qualität muß deine Lösung erreichen? Auch solltest du die Nutzungsbedingungen der Webservices beachten. Massenabfragen sind bei den freien Diensten nicht erwünscht. Im Fall eines kommerziellen Projektes solltest du kostenpflichtige Dienste verwenden oder eigene Dienste aufsetzen.

Gruß Klaus

PS: Ich tippe mal auf Studienarbeit … richtig?

Moin,

das ist im Prinzip recht einfach:

  1. Adressen geocodieren, also als Koordinaten umwandeln.
  2. Routen zum Ziel berechnen und Länge messen.

Wie man das machen muss hängt wie Klaus schon erwähnt hat davon ab wofür es sein soll.

LG,

-moenk

Das Projekt ist rein ehrenamtlich.
Es geht darum, die Länge der Schulwege von N (ca. 200 - 300) Schülern für zwei Schulstandorte zu vergleichen, und zwar für den bestehenden Standort und einen angedachten neuen.

Ich werde die bisherigen Hinweise mal prüfen und mich dann wieder melden.

Ich hab noch ein paar Ideen:

  • nicht nur die Länge der Schulwege in die Bewertung aufnehmen, auch die Anzahl an Straßenüberquerungen und die Straßenklasse (200m Weg durch ein Wohngebiet ist besser als 100m Weg über eine Bundesstraße und eine Durchgangsstraße)
  • Wie ist der OSM-erfassungsgrad für kleine Fußwege im Gebiet? Wenn schlecht vorher noch die Wege nacherfassen.
  • explizit Fußgängerrouting benutzen!

Das Ganze wäre auch ein interessantes Thema für eine GIS-Übung für Studenten, denke ich.

Da würde ich den Aufwand nicht in ein paar hundert Adressen samt Routing stecken, sondern lieber in eine gewichtete Entfernung (Straßenüberquerungen etc., siehe gormo) und dafür die Adressen clustern. Der tatsächliche Aufwand weicht ja sowieso vom theoretischen Wert ab (Elterntaxi u.ä.).

Was soll der Vergleich der beiden Standorte denn ergeben? Einen prozentualen Unterschied? Dafür sollte auch eine Berechnung der Luftlinienentfernungen ausreichend sein…

Gruß Klaus

Moin,

mit der Berechnung des kürzesten Weges machst Du Dir hier viel mehr Arbeit als notwendig, den Aufwand kann man besser in andere Kriterien (Landnutzung, Sozialstatus, Verkehrdichte…) stecken und nur die Luftlinie heranziehen. Es gibt auch irgendwo eine Untersuchung dass in dichten Städten beiden Strecken etwa proportional sind.

LG,

-moenk

Wenn Deine Schulen südlich der Donau und östlich des Bodensees liegen, könnte ich dir die Entfernungen durchrechnen, falls ich die Koodinaten bekomme. Oder solche Bildchen mit Gehentfernungen malen (lange warten und vorsichtig zoomen und schieben!). Das Zeug dafür liegt hier in der Bastelkiste.

Ich glaube übrigens auch, dass die Anzahl und Art der Kreungen viel wichtiger sind als die Entfernung, aber das lässt sich schlecht objektivieren. Einen reinen Vergleich der Luftlinien halte ich auch für vollkommen ausreichen für eine qualitative Abschätzung. Zumindest solange die Schule nicht gerade von einer Seite eines grossen Hindernisses auf die andere Seite wechselt (Flüsse z.B., die nur alle paar km eine Brücke haben verfälschen das Ergebnis). Ich würde diese Theorie aber nicht in einer Diskussion mit Eltern, Schulbehörde oder Kommunalpolitikern vortragen :wink: Wenn die meine Methode anzweifeln, müsste ichs beweisen und dann muss ich doch wieder routen und rechnen.

Grüße, Max