Neuling braucht Hilfe

Hallo

ich studiere Mathematik und schreibe gerade meine abschlussarbeit, welche als Thema ökologische Routen besitzt.
Ich habe einen Algorithmus erstellt, welcher eine ökologische Route berechnen soll.
Ich muss diesen natürlich testen um zu sehen ob dieser auch wirklich funktioniert.

Ich habe bisher keinerlei Erfahrung mit OSM und die Einarbeitung erweist sich irgendwie weitaus schwerer als ich mir das gedacht habe. Da meine Zeit leider begrenzt ist, wollte ich fragen ob der ein oder andere mr möglicherweise helfen könnte.

Für die Routen habe ich einen eigenen Faktor erstellt, diesen müsste ich den Segmenten anhängen, damit mein Algorithmus (A*) den besten Weg finden kann.
Welche Tools und Programme könntet ihr mir denn empfehlen?
Die Rohdaten müsste ich erst konvertieren, damit sie für das routing nutzen kann, richtig?

Hat irgendwer schon Erfahrung in diesem Bereich? Bin für jede Hilfe und Anregung sehr Dankbar!

Hallo,

der beschriebene Algorithmus klingt sehr nach Dijkstra (https://de.wikipedia.org/wiki/Dijkstra-Algorithmus). Den willst du jetzt aufs OSM-Straßennetz anwenden, richtig?

Nur um zu verstehen, was dein Anliegen ist :wink:

Hallo

Dijkstra als Basis, anwenden wollte ich den A* (Dijkstra mit einer Heuristik, so dass er Zielgerichtet sucht)

http://wiki.openstreetmap.org/wiki/Routing
http://wiki.openstreetmap.org/wiki/Category:Routing

Herzlich willkommen bei OSM und uns hier im Forum ullysee :slight_smile:

Wahrscheinlich kennst du diese Seite noch nicht:
http://wiki.openstreetmap.org/wiki/Research
Das wird dir vlt. helfen verwandte Arbeiten zu finden (jmd. hatte da mal was mit Elektromobilität und Routing glaube ich…).

So wie ich dich verstehe, hast du einen Algorithmus ausgedacht, der Kantengewichte unter ökologischen Gesichtspunkten berechnet, richtig?
Dann steht für dich die Frage, ob du nun dich dran machst selbst einen Router zu schreiben, oder deinen Algo in bestehende Tools testweise integrierst.
Ersteres scheint mir ein ziemlicher Aufwand (bezogen auf dein eigentliches Thema), daher würde ich dir zu letzterem raten.
Es gibt auch ein Framework, was gerade zu austesten von Routing von einer Uni mal gebaut wurde und OSM konsumiert:
http://code.google.com/p/trafficmining/
Ansonsten schau mal hier nach einem Tool, das deinen Anforderungen gerecht wird:
http://wiki.openstreetmap.org/wiki/Routing/OfflineRouters
Empfehlen könnte ich da sehr modular: NAVIT und ORS
Aufpassen musst du, was die teilweise für Cleanups über die Daten machen (Zugangsbeschränkungen, …).

Schreib sonst mal, wo du gerade hängst bzw. was du genau suchst.

Zwar keine Erfahrung mit Routing, aber einige grundlegende Dinge kann ich schon beitragen.
Du brauchst:

  • Ein passendes Gebiet zum testen (z.B. Extrakte der Geofabrik).
    Dafür bieten sich das Saarland, die Stadtstaaten oder ein Regierungsbezirk an.
  • Du brauchst nur die Straßen und Wege, falls ausschließlich Auto nur die Straßen.
    Dafür bietet sich die Kombination osmconvert und osmfilter an.
  • Du musst dir überlegen, welche Eigenschaften für dein ökologisches Routen
    wichtig sind (Ampeln, Maxspeed, Steigung, Spuren, Beschränkungen, …).
    Andere Eigenschaften kannst du weglassen.
    Damit hast du deine Datenmenge schon einmal erheblich reduziert.

Wenn du alle Straßen/Wege hast, so musst du diese noch in Wegstücke zwischen den Knoten deines Routing-Graphes unterteilen. Dabei müssen alle für dein Routing wichtige Informationen auf die einzelnen Wegstücke übertragen werden. Hier habe ich jetzt keine Idee, welche Tools dafür geeignet wären.

PS: Herzlich Willkommen bei OSM und im Forum.

Edbert (EvanE)

Evtl. ist pgrouting interessant, dort gibt es schon eine fertige A*-Implementierung, die Kosten kann man selbst festlegen, Laden der OSM-Daten via osm2pgrouting. Man benötigt aber schon etwas Zeit zum Einarbeiten.

http://workshop.pgrouting.org/chapters/shortest_path.html
http://pgrouting.org/docs/tools/osm2pgrouting.html

Hallo

vielen Dank für die Hilfe!
Da ich meine eigenen Kosten definiert habe, hilft mir ein “fertiges” Tool nur, falls ich dort mit meinen eigenen Kosten die Route berechnen könnte. Ansonsten bleibt mir wohl nichts anderes übrigt als selbst den Code zu schreiben.
Mein Algorithmus ist fertig, die Definition der Kosten (Kanten) steht. Was mir eben fehlt ist die Validierung und demnach die Implementierung um diesen zu testen. Bisher habe ich den Suchalgorithmus erstmal nur in Pseudocode verfasst, da ich eben noch nicht weiß wie ich es am Ende testen werde.
Ich suche daher ein Program welches die Rohdaten von OSM umwandelt so dass ich damit was anfangen kann. Als armer student wäre es hilfreich wenn dies frei zugängliche Software wäre :stuck_out_tongue:

Ich werd mich dann mal durch eure ganzen Links arbeiten, danke schon einmal dafür!

Hi,

das hatte ich dir bereits ebenfalls vorgeschlagen. Da es jetzt unabhängig jemand
anderes (mmd) auch vorgeschlagen hat, würde ich dir empfehlen damit zu starten.

Um die Einarbeitungszeit kommst du leider nicht drum herum.
Sehe es aber positiv, dadurch erhältst du auch wichtige Informationen die du
in deiner Arbeit erwähnen kannst oder eher solltest :slight_smile:

viele gruesse
pascal

Jups, oder du probierst mal das von mir genannte http://code.google.com/p/trafficmining/ Framework, wo du recht einfach deine Berechnungen reinhängen kannst.
Bedenke aber, dass es hierbei bestenfalls um einen Praxistest handelt und keine Validierung deines Algorithmus :wink: Beweise dass A* unter Einschränkungen die optimale Route findet gibt es ja auch schon.

Ich denke wenn du Leute zur Bewertung von Routenvorschlägen bittest, wäre das auch eine Möglichkeit, das auf eine etwas breitere Basis zu stellen. Dafür müsstest du aber formulieren , womit die erzeugte Route verglichen werden soll.

Erstmal vielen Dank für die Hilfe!

Ich muss gestehen, das ganze macht mir mehr Arbeit als es eigentlich dürfte^^
Hab gerade folgendes Problem. Habe mir Postgresql Postgis usw heruntergeladen und installiert.
Allerdings fehlen mir offenbar gewisse Daten… ich vermisse in meinem PostgreSQL\9.2\share\contrib Ordner die _int.sql und die h_store.sql Datein.
ICh nutze Windows und finde immer nur etwas für Linux. Kann mir da einer weiterhelfen?

Hallo,

schreib doch mal Roland Olbricht an.

Der hat die Overpass API programmiert und ist auch Mathematiker.
Eventuell kann man mit diesem Werkzeug etwas machen.

Noch ein paar Links.
Der Podcast ist sehr interessant
http://blog.openstreetmap.de/2012/12/osmde009-osm-talk-die-overpass-api/

Die Overpass API gibt es als Installation.
https://github.com/drolbr/Overpass-API

http://wiki.openstreetmap.org/wiki/User:Roland.olbricht

http://wiki.openstreetmap.org/wiki/DE:Overpass_API

http://www.overpass-api.de/

Gruß
Michael

Tach.

Möglicherweise hilft Dir die hochaufwendige™ Routensuche für Arme? (60 + 110 Zeilen Code)

Perl läuft auch unter Windows. Und Du kannst die wenigen Zeilen auch in eine Programmiersprache Deiner Wahl umschreiben.

Orange Grüße
Der Assistent