Für Routing optimieren?

Das halte ich auch für am sinnvollsten. Sinnvollere Routenanweisungen stehen im Moment bei OSRM aber nicht ganz oben auf der Prioritätsliste.

Der Standard mkgmap-Stil (und alle Karten die diesen nutzen) macht die Zuordnung folgendermaßen:


motorway_link  -> 0x09  "Ramp major"
trunk_link     -> 0x09  "Ramp major"
primary_link   -> 0x08  "Ramp minor"
secondary_link -> 0x08  "Ramp minor"
tertiary_link  -> 0x08  "Ramp minor"

Das ist dann aber genau genommen wieder “Mapping für den Router”. Wenn detailgetreu gemappt werden soll, z.B. auch für Blinde, dann können große Kreuzungen nicht nur aus zwei Straßen bestehen. Alles was über einfache Spuren hinausgeht wird dann zwangsläufig zu Problemen führen.

Leider bin ich kein Experte was solche Suchalgorithmen angeht…

Ich halte es nicht für sinnvoll, darauf zu verzichten, besonders nicht dann, wenn da noch eine Verkehrsinsel zwischen den Spuren ist.

Gruß,
Mondschein

Verkehrsinsel ist ok (bauliche Trennung).

So, hier mal ein Test mit der Implementierung der destination-Auswertung für Garmin (Nüvi 250).

Folgendes muss dazu in die “lines” Datei eingefügt werden:


# Set the routing direction
(highway=motorway|highway=motorway_link) & destination=* { add display_name = '${ref} (${destination})' }
(highway=trunk|highway=trunk_link)       & destination=* { add display_name = '${ref} (${destination})' }

# Set highway names to include the reference if there is one

Testobjekt: Kreuz Münster Süd (Ist vollständig destination-gemappt ).

(a) von A43 West kommend nach A1 Richtung Bremen

Ansage: “nach 300 Metern rechts abfahren, dann links halten”

(b) von A43 West kommend nach A1 Richtung Dortmund

Ansage: “nach 300 Metern rechts abfahren, dann rechts halten”

Damit das funktioniert müssen für xyz_link die Garmin Typen “Rampe” 0x08 und 0x09 benutzt werden, außerdem
muss das erste nicht-link-Straßenstück nach den Abbiegespuren auch ein destination-Tag tragen, da der Garmin
Router nur dies auswertet.

Da man den Mappern nicht zumuten kann für Garmin zu mappen bietet sich hier eine Vorverarbeitung an. Eine erste Version habe ich nun erstellt. Der Algorithmus ist simpel:
Für alle hw=*link mit gesetztem destination wird der nächstfolgende Way gesucht. Wenn dies ein motorway oder (oneway-)trunk ohne destination Tag ist, wird die destination aus dem link rüberkopiert.

Werde damit nun mal eine Nüvikarte bauen und Testen.

Auszug aus dem Log:


File : 10000052.osm

        id hw             ref      dest (* = added by tool)                
---------- -------------- -------- -------------------- 
   3993952 motorway_link           Wiesbaden; Niedernha 
   4007900 motorway_link           Limburg-Nord; Diez;  
   4188884 motorway_link  A 60     Frankfurt a.M.;Darms 
   4188885 motorway       A 63     *Kaiserslautern;Ludw 
   4188886 motorway_link  A 60     Frankfurt a.M.;Darms 
   4188887 motorway_link  A 63     Kaiserslautern;Ludwi 
   4208767 motorway_link           Mainz-Kastel; Wiesba 
   4443859 motorway_link  18       Wattenheim; Eisenber 
   4446759 motorway_link           Kaiserslautern-West; 
   4453461 motorway_link  12       Frankfurt; Mainz; In 
   4454068 motorway_link           Kaiserslautern; Darm 
   4514843 motorway_link           Mainz-Mombach; -Inne 
   4527121 motorway_link  A 63     Frankfurt am Main;Ma 
   4541849 motorway_link  B 50     Rheinböllen; Trier; 
   4854593 motorway_link           Ludwigshafen;Mainz;B 
   4854595 motorway_link           Frankfurt;Koblenz    
   4859933 motorway       A 63     *Kaiserslautern;Ludw 
   5123492 motorway_link           Kaiserslautern-Einsi 
   5201093 motorway_link           Idstein; Usingen; Ba 
   5201206 motorway_link  B 255    Montabaur; Koblenz;  
   5233728 motorway_link  A 62     Trier;Birkenfeld;Kus 
   5233730 motorway_link           Pirmasens;Landstuhl- 
   5233731 motorway_link  A 62     Pirmasens;Landstuhl- 
   5536512 motorway       A 65     *Frankenthal; Mutter 
   7034887 motorway_link  A 61     Koblenz              
   7034893 motorway_link           Saarbrücken; Kaiser 
   7034901 motorway_link           Koblenz; Karlsruhe;  
   7034906 motorway_link  A 6      Mannheim; Ludwigshaf 
   7034910 motorway_link           Koblenz              
   9046916 motorway_link           Neustadt/Weinstr.; F 
   9046917 motorway_link  A 65     Frankenthal; Mutters 
   9046919 motorway_link  A 65     Neustadt/Weinstr.    
   9047704 motorway_link  A 65     Mutterstadt-Nord     
   9052756 motorway_link  A 61     Karlsruhe; Neustadt/ 
   9053750 motorway_link  A 6      Frankfurt a. M.; Fra 
   9641721 motorway_link  A 48     Trier; Koblenz       
   9891359 motorway_link           Ludwigshafen;Alzey   
  10713286 motorway       A 61     *Bonn;Köln          
  15382502 motorway_link           Kaiserslautern-Centr 
  21827862 motorway_link  A 3      Limburg-Süd         
  23069518 motorway       A 650    *Bad Dürkheim       
  23377824 motorway_link           Gundersheim; Westhof 
  23483148 motorway_link           Mörstadt            
  23486653 motorway_link           Alzey; Gau-Odernheim 
  23701466 motorway_link           Mainz-Gonsenheim     
  23763027 motorway_link  A 643    Trier; Koblenz; Bing 
  23781848 motorway_link           Limburg-Nord; Diez;  
  24033964 motorway_link  A 650    Bad Dürkheim        
  24033966 motorway_link  A 650    Ludwigshafen         
  24033967 motorway_link           Ludwigshafen; Bad DÃ 
  24033974 motorway_link  A 650    Bad Dürkheim        
  24033976 motorway_link           Bad Dürkheim; Mannh 
  24223240 motorway       A 643    *Koblenz; Bingen; Ma 
  24351895 motorway_link           Ludwigshafen;Mainz;F 
  24351899 motorway       A 48     *Frankfurt;Koblenz   
  24442677 motorway_link           Mörstadt; Worms-Nor 
  24442678 trunk          L 425    *Worms-Nord; Worms-A 
  24462530 motorway       A 63     *Kaiserlautern       
  24462537 motorway_link  A 63     Köln;Koblenz;Ludwig 
  24462540 motorway_link           Ludwigshafen         
  24462541 motorway_link  A 61     Kaiserlautern        
  24462542 motorway_link           Köln;Koblenz        
  24462544 motorway_link           Kaiserlautern        
  24475781 motorway_link           Bad Camberg; Aarberg 
  24502053 motorway_link           Ludwigshafen; Bad Kr 
  24620724 motorway       A 6      *Mannheim;Karlsruhe; 
  24620766 motorway_link           Ramstein-Miesenbach; 
  24621264 motorway_link           Mehlingen            
  24621371 motorway_link           Kaiserlautern-Ost    
  24621391 motorway_link           Enkenbach-Alsenborn; 
  24740193 motorway_link  B 50     Gensingen; Bingen-Sp 
  24979621 motorway_link  A 63     Kaiserslautern       
  25354792 motorway_link  B 50     Bingen-Mitte; St. Go 
  25384630 motorway_link           Bornheim; Flonheim   
  25601028 motorway_link  47       Waldlaubersheim; Gul 
  25819360 motorway       A 48     *Frankfurt;Koblenz   
  25849190 motorway_link           Trier;Koblenz        
  25849191 motorway_link           Trier;Koblenz        
  25849192 motorway_link           Trier;Koblenz        
  25849193 motorway_link           Trier;Koblenz        
  25879219 motorway_link           Worms-Nord; Worms-Ab 
  26724719 trunk          B 455    *Wiesbaden-Stadtmitt 
  27483967 motorway_link           Bad Dürkheim        
  27488798 trunk          L 425    *Mörstadt           
  27594972 motorway       A 65     *Neustadt/Weinstr.   
  27879282 motorway_link           Saarbrücken; Kaiser 
  27896161 motorway_link           Mutterstadt-Nord     
  27896176 motorway       A 65     *Mutterstadt-Nord    
  27896186 motorway_link           Neustadt/Weinstr.    
  27896356 motorway_link           Speyer; Neustadt/Wei 
  28280344 motorway_link           Köln;Koblenz        
  28280358 motorway       A 63     *Kaiserlautern       
  28505907 motorway       A 61     *Speyer; Neustadt/We 
  28527070 motorway_link           Luxemburg;Trier;Saar 
  33836870 motorway_link  A 63     Kaiserslautern       
  33836883 motorway_link  A 63     Mainz                
  34260592 motorway       A 62     *Trier;Birkenfeld;Ku 
  38334828 trunk          L 425    *Mörstadt           
  38336007 trunk          B 455    *Mainz-Kastel; Wiesb 
  38336072 trunk          B 455    *Wiesbaden-Stadtmitt 
  38447323 motorway_link           Köln; Bonn; Koblenz 
  42425450 motorway       A 643    Bingen; Mainz; Frank 
  47370522 motorway_link  A 6      Mannheim;Karlsruhe;M 
  47370523 motorway_link  A 6      Saarbrücken;Trier   
  47370526 motorway_link  A 6      Saarbrücken; Kaiser 
  49196675 motorway       A 66 Rhe *Frankfurt           
  49201156 trunk          B 455    *Mainz-Kastel; Wiesb 
  53791939 motorway       A 650    *Ludwigshafen        
  61420525 motorway_link           Kaiserslautern-West; 
  61420527 motorway_link           Kaiserslautern-West; 
  83157584 motorway       A 65     *Mutterstadt-Nord    
  92932733 motorway       A 63     *Kaiserslautern      
  94061754 motorway       A 63     *Mainz               
 111545789 motorway       A 60     *Frankfurt a.M.;Darm 
 112072760 motorway       A 61     *Speyer; Neustadt/We 
 112599196 motorway       A 62     *Pirmasens;Landstuhl 
 112599198 motorway       A 62     *Trier;Birkenfeld;Ku 
 116002598 motorway       A 48     *Trier;Koblenz       
 123313505 motorway_link           Rüdesheim           
 124734578 trunk          L 425    *Worms-Nord; Worms-A 
 132979563 motorway_link           Bad Dürkheim; Mannh 
 132979566 motorway_link           Neustadt/Weinstr.    
 134378212 motorway_link           Rasthof Wonnegau-Ost 
 134378213 motorway_link  12       Frankfurt; Mainz; In 
 134378214 motorway_link           Monsheim             
 134378215 motorway_link           Mörstadt            
 134378217 motorway_link           Frankfurt a. M.; Mai 
 142769513 motorway_link           Wiesbaden-Frauenstei 
 143164001 motorway_link           Wiesbaden-Äppelalle 
 143414058 motorway_link  A 643    Wiesbaden; Wiesbaden 
 143414062 motorway_link  A 643    Koblenz; Bingen; Mai 
 143414065 motorway_link  A 66     Frankfurt            
 143414071 motorway       A 66 Rhe *Frankfurt           
 143414072 motorway_link           Rüdesheim           
 144118153 motorway_link  B 263    Wiesbaden-Mainzer St 
 144118157 motorway_link  B 263    Darmstadt; Wiesbaden 
 144123633 motorway_link           Wiesbaden-Stadtmitte 
 144449837 motorway       A 650    *Bad Dürkheim       
 144453294 motorway_link  A 650    Mannheim; Ludwigshaf 
 144453315 motorway       A 650    *Ludwigshafen        
 146414975 motorway_link           Wiesbaden; Wiesbaden 
 146611369 motorway       A 643    *Wiesbaden; Wiesbade 
 146611376 motorway       A 643    *Koblenz; Bingen; Ma 
 148274960 motorway       A 60     *Frankfurt a.M.;Darm 
 149120482 motorway       A 63     *Kaiserslautern      
 149896911 motorway_link  48       Dorsheim; Rümmelshe 
 155363678 motorway       A 61     *Rasthof Wonnegau-Os 
 155363725 motorway_link           Monsheim             
 155363734 motorway_link           Worms                
 155363746 motorway_link           Monsheim; Worms      
 155363762 motorway_link           Rasthof Wonnegau-Ost 
 165776953 motorway_link  B 263    Wiesbaden-Mainzer St 
 169412993 motorway_link           Kaiserslautern-Centr 
 175118086 motorway_link           Frankfurt;Koblenz    
 175118089 motorway_link           Bonn;Köln           

Hallo,
wende dich doch mal an die Jungs von mkgmap-dev, wenn das funktionieren sollte. Dann könnte man das direkt in mkgmap integrieren.

Habe selber schon mal drüber nachgedacht so etwas ähnliches zu implementieren. Mit Vorlage geht sowas aber natürlich viiiiel einfacher :slight_smile:

Meine Idee ging sogar noch etwas weiter und sollte eigentlich nicht nur auf Autobahnen beschränkt sein. Ich habe nämlich recht häufig den Text “Rechts auf Rampe” angesagt bekommen. Ggf. könnte man der Rampe besser den Namen der Zielstraße (z.B. “Richtung B51”) verpassen. Mehr als eine Idee ist das aber nie gewesen. Ich weiß also überhaupt nicht, ob das sinnvoll ist und funktioniert. Wäre auf jeden Fall schon mal gut, wenn wir mit Autobahnen anfangen könnten. Das andere kann man dann ja nach und nach dazuimplementieren.

WanMil

Offtopic: Für seltene Fälle uneindeutiger Geometrien der Einbahn Abbiegeverläufe wo man aber eindeutige Ansage braucht gibt es (nicht in der OSM) spezielle Punkte die diese Ansage beinhalten. Ist so ein Punkt vorhanden, wird die Geometrie/Kurvigkeit etc nicht untersucht. Die Angabe an einem solchen Punkt hat den Vorrang.

Ja, hab ich mir schon gedacht, dass die Profis mit solchen Hints arbeiten.

Nach und nach ist auch OSM ein Profi Projekt… :wink: Überleg mal wie sowas in OSM aussehen könnte…
Und klar - es wäre ein klarer Fall vom Mappen für den Routing :slight_smile:

Da gab es auf der SOTM in Japan einen Vortrag von Leuten von Bosch, die Routing betreiben und gerne solches Tagging hätten. Stichwort “Complex Junctions”.

Na, dann werde ich nicht erschossen für den Verrat wichtiger Betriebsgeheimnisse. :smiley:
Wenn die Katze also aus dem Sack ist, könnten wir auch dieses Thema anpacken.
So kompliziert ist es auch nicht.

Das mit dem Punkt ist ja schön und gut, nur denke ich, dass es nicht Sinn und Zweck von OSM ist, der Navi-Industrie blind hinterher zu dackeln. Es ist nun mal der komplette Weg, der die Auffahrt mit der direction bildet. Diesen sollte man so auch taggen. Wenn nun ein Auswerter meint, nur einen Punkt zu brauchen, ist es ein leichtes, einen Punkt des Weges zu wählen und die Tags entsprechend zu setzen.

Stimmt ja auch. Das Wichtigste ist der allgemeine Mehrwert einer Lösung.
Es bleibt zu prüfen welche praktische Vorteile hätte man, wenn man dem Vorschlag von Bosh folgte und ob es auch nicht anders geht.

Ist “Bosch” dann auch die Auflösung des Preisrätsels, mit wem sich eine Abordnung des OSMF-Vorstands vor einigen Monaten getroffen hat?

Marek, das Problem ist doch, dass es keinen Standard gibt, der alle glücklich macht. Garmin braucht bspw. die Info am Weg hinter dem *_link, Bosch hätte es gerne an einem Knoten irgendwo und wieder ein anderer Hersteller hätte es gerne an einem weiteren Ort. Damit hab ich kein Problem, ist halt deren Entscheidung, dass jeder sein eigenes Format haben möchte.

Meines Erachtens sollte OSM sich hier nicht einem Hersteller an den Hals schmeißen und sagen, dein System ist super, sonder bei der Realität bleiben. Die Realität ist nun mal, dass die Auffahrt die Eigenschaft hat, in welche Richtung sie führt und dementsprechend sollte auch der way das Tag direction=* bekommen. Ob man dann daraus einen Punkt erezugt oder die Infos auf den folgenden Weg überträgt oder was auch immer damit macht ist dann Sache des Auswerters.

+1

Mittlerweile haben wir x Diskussionen, welche ergebnislos irgendwie dieses Thema behandelten:
http://forum.openstreetmap.org/viewtopic.php?id=14710&p=1
http://forum.openstreetmap.org/viewtopic.php?id=18265
http://forum.openstreetmap.org/viewtopic.php?id=17795&p=1
http://forum.openstreetmap.org/viewtopic.php?pid=168643#p168643
http://forum.openstreetmap.org/viewtopic.php?id=14664
http://forum.openstreetmap.org/viewtopic.php?id=12554
http://forum.openstreetmap.org/viewtopic.php?pid=138705#p138705
http://forum.openstreetmap.org/viewtopic.php?id=11008
http://forum.openstreetmap.org/viewtopic.php?pid=33730#p33730
(Die Liste erhebt keinen Anspruch auf Vollständigkeit)
Wäre schön, wenn jetzt mal eine Lösung dabei herauskommt, mit der Erfasser, Renderer und Router leben könnten.