Qual è il modo migliore per implementare il routing attraverso aree come i parcheggi?


9

Sto usando OSM2PO per instradare le indicazioni per camminare e ho notato che molti dei percorsi OSM non sono idealmente configurati.

Ad esempio, ci sono molti percorsi divisi per parcheggi, che sono ovviamente percorribili, ma vengono ignorati e non convertiti in strade, quindi il router ritiene che non sia possibile attraversarli. Ciò comporta distanze di camminata molto più lunghe del necessario.

Esiste un modo pratico per affrontare questo? Immagino che lo stesso problema si verifichi quando si ha a che fare con qualsiasi "area" percorribile (ad es. Parchi senza percorsi attraverso di essi).

Un altro problema è dove i marciapiedi non si collegano alle strade. In molte situazioni, ciò porta di nuovo a risultati di routing secondari.

OSM ha questi problemi ovunque. Sembra un problema difficile, ma comune, quindi mi chiedo se qualcuno ha affrontato questo problema in modo pratico.

Grazie per i tuoi pensieri!

Risposte:


5

Tenendo presente la risposta di Sean (che devi aggiungere tu stesso le carezze "mancanti") e che queste parti mancanti tecnicamente sono parti del grafico stradale che a loro volta sono solo linee, ecco la soluzione rapida e trenta che potresti uso. Se il percorso a piedi ha un punto comune con un poligono "percorribile", esportare il bordo di questo poligono come linea nel grafico della strada (modificando gli attributi se necessario). Quindi il percorso non si interromperà sul bordo di tale poligono ma sarà invece mappato lungo il suo perimetro.

Il secondo passaggio (facoltativo) consiste nel costruire un percorso diretto attraverso i poligoni. Se aggiungi tag speciali ai bordi esportati (ovvero li rendi identificabili), puoi selezionare i nodi dei percorsi reali che si trovano sullo stesso bordo esportato e creare una semplice linea retta da un punto all'altro e aggiungere questa linea al grafico - otterrai i tuoi percorsi ininterrotti immaginari. Ora puoi eliminare i bordi dal grafico. A seconda del software che preferisci e delle tue abilità, puoi costruire percorsi immaginari con questo algoritmo senza aggiungere effettivamente bordi al tuo grafico.


Grazie per le tue risposte Punti buoni. Per osm2po, qualcuno ha suggerimenti su quale layer provare? Cioè sui dati osm prima che colpiscano osm2po o durante la costruzione del grafico osm2po ...
DFx

6

L'unico modo pratico è aggiungere da soli i percorsi "mancanti". L'OSM probabilmente non dovrebbe mettere i parcheggi nei suoi percorsi pedonali. Ci sono problemi di responsabilità con l'aggiunta di percorsi che non sono percorsi pedonali reali e adeguatamente mantenuti. Un parcheggio, sebbene percorribile, potrebbe essere pericoloso e potrebbe essere proprietà privata. Avrai problemi simili con i parchi o qualsiasi altro spazio non costruito per i viaggi pedonali. Considera attentamente questi problemi prima di indirizzare le persone attraverso queste aree.


+1 - Potrebbero anche essere recintati o avere fossati di drenaggio lungo il perimetro, ecc.
Dissipato il

1

Sì, il problema è lo stesso OSM-Data. Per il routing è necessaria una rete di linee (bordi) e collegamenti (vertici). Il poligono è un altro problema. Penso che il modo più semplice per affrontarlo sia disegnare percorsi aggiuntivi direttamente in JOSM. In osm2po ci sono due alternative per gestire piedi / bici / auto. Costruisci un grafico per un solo caso d'uso o costruisci un grafico multiuso (con tutte le strade, i percorsi, ecc.) E prendi decisioni dinamicamente mentre attraversi (percorso). Per quest'ultimo potrebbero essere necessarie competenze Java. Per avere una prima impressione di come potrebbe funzionare, dai un'occhiata al vaso dei plugin corrente (il codice sorgente è allegato). Lì troverai un router che attende i segnali stradali per un minuto.


Grazie Carsten - Vedo che JOSM sarebbe l'ideale, ma sto cercando di farlo per l'intero Canada / USA. Penso che trasformare un poligono in più percorsi avrebbe funzionato nella mia situazione dal momento che sto solo cercando di ottenere un tempo / distanza percorribile (non visualizzare le indicazioni di percorso effettive). Quindi mi chiedo se c'è un modo per fare in modo che osm2po converta i poligoni in percorsi prima che costruisca il grafico, o dovrei aggiornare prima il file OSM ...
DFx,

osm2po non converte i poligoni. Questo deve essere fatto in un'altra fase di preelaborazione. Se vedi qualche possibilità di convertire i poligoni in modi semplici e di collegarli alla rete stradale, vedo la possibilità di unire entrambi i dati. Ma come hai intenzione di gestirlo, comunque? I poligoni possono avere molti buchi interni come i laghi, ad es. Come si può garantire che gli utenti non debbano trasportare un equipaggiamento SCUBA fino in fondo?
Carsten,

Sì, vedo il tuo punto: sarebbe tutt'altro che facile :)
DFx,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.