Ciao Sig, > Come no, la pagina dice: > > For more complex direction dependent restrictions, the postfixes :backward > and :forward can be used on the keys, for example: > bicycle <http://wiki.openstreetmap.org/wiki/Key:bicycle>:backward > <http://wiki.openstreetmap.org/wiki/Key:backward>=no (when a road has a > oneway cycleway next to it that must be used, and a cyclelane in the other > direction) > bicycle <http://wiki.openstreetmap.org/wiki/Key:bicycle>:backward > <http://wiki.openstreetmap.org/wiki/Key:backward>=yes (when cyclists are > allowed to travel in both directions on a oneway street (but no lane is > present)) > Immagino che un buon algoritmo debba supportare tutti gli schemi previsti da > OSM. Ed è il motivo per cui non invidio chi sviluppa software basato su dati > OSM :) > > Su Milano abbiamo abbondante applicazione di entrambi gli schemi, quindi > propongo di testare i diversi motori di routing per vedere come recepiscono i > tags. >
Un buon algoritmo supporta tutti gli schemi previsti. Io intendevo il tag esplicitamente dichiarato come access:backward=... Questa forma mi sembra non sia prevista. Ci sono diversi algoritmi di routing, i più utilizzati sono: Dijkstra A* Contraction Hierarchies Dijkstra Pro Ottima versatilità, Preciso. Contro Lentissimo, Richiede Molte risorse. A* Pro Buona versatilità, Più veloce di Dijkstra Contro Impreciso se reso veloce Contraction Hierarchies Pro Veloce, Preciso Contro Bassa Versatilità. OSRM utilizza Contraction Hierarchies, questo algoritmo in particolare deve stabilire in fase di costruzione dei dati di routing se un edge (un tratto tra due nodi, da non confondere con una way) è bidirezionale oppure no, accessibile oppure no, ecc.. Questa analisi deve essere fatta in base al tipo di mezzo per cui si intende preparare i dati. Automobile, Bici, Piedi, Mezzi Pubblici, Mezzi Pesanti, Ecc.. Quindi con dei tag tipo: access:backward = no psv:backward = yes access:backward=no: (o non viene riconosciuto, ho viene trattato come oneway=yes). psv:backward=yes:(se la preparazione dei dati di routing non è esplicitamente prevista per mezzi pubblici, viene scartato). > Poi c'è il problema delle limitazioni di accesso condizionali: > motor_vehicle:conditional = no @ (22.00-06.00). Chissà come li vedono i > navigatori. Bisognerebbe dare una sbirciatina al codice Anche questo tipo di condizione è critica per Contraction Hierarchies, perché i dati di routing sono pre-elaborati ed i tag non sono utilizzati in tempo reale. Questo tipo di condizione (salvo appesantimenti alla base di dati di routing) viene trattata come access=no; Saluti, Omar
_______________________________________________ Talk-it mailing list Talk-it@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-it