¿Cuál es la mejor manera de implementar el enrutamiento a través de áreas como estacionamientos?

9

Estoy usando OSM2PO para enrutar para llegar a pie y he notado que muchos de los caminos para caminar de OSM no están configurados idealmente.

Por ejemplo, hay muchos caminos que se dividen en estacionamientos, que obviamente son transitables, pero se ignoran y no se convierten en caminos, por lo que el enrutador cree que no puede caminar a través de ellos. Esto da como resultado distancias de caminata mucho más largas de lo necesario.

¿Hay alguna forma práctica de lidiar con esto? Supongo que el mismo problema ocurre cuando se trata de "áreas" que son transitables (es decir, parques sin caminos a través de ellas).

Otro problema es cuando las aceras no se conectan a las carreteras. En muchas situaciones, esto nuevamente conduce a resultados de enrutamiento por debajo del par.

OSM tiene estos problemas por todas partes. Parece un problema difícil, pero común, así que me pregunto si alguien ha abordado esto de manera práctica.

Gracias por tus pensamientos!

DFx
fuente

Respuestas:

5

Teniendo en cuenta la respuesta de Sean (que tiene que agregar palmaditas 'faltantes') y que estas partes que faltan técnicamente son partes del gráfico de carreteras que a su vez son solo líneas, aquí está la solución rápida y sucia que puede utilizar. Si la ruta de acceso tiene un punto común con un polígono "transitable", exporte el borde de este polígono como una línea en su gráfico de ruta (si es necesario, modifique los atributos). Por lo tanto, el camino no se romperá en el borde de dicho polígono, sino que se asignará a lo largo de su perímetro.

El segundo paso (opcional) es construir una ruta directa a través de los polígonos. Si va a agregar una etiqueta especial a los bordes exportados (es decir, hacerlos identificables), puede seleccionar nodos de las rutas reales que se encuentran en el mismo borde exportado y crear una línea recta simple de un punto a otro y agregar esta línea a su gráfico. Obtendrá sus caminos ficticios ininterrumpidos. Ahora puede eliminar los bordes del gráfico. Dependiendo del software que prefiera y de sus habilidades, puede construir caminos ficticios con este algoritmo sin agregar bordes a su gráfico.

SS_Rebelious
fuente
Gracias por tus respuestas. Buenos puntos. Para osm2po, ¿alguien tiene sugerencias para qué capa probar esto? Es decir, en los datos de osm antes de que llegue a osm2po o durante la construcción del gráfico osm2po ...
DFx
6

La única forma práctica es agregar las rutas "faltantes" a los datos usted mismo. OSM probablemente no debería poner estacionamientos en sus rutas para caminar. Hay problemas de responsabilidad al agregar rutas que no son reales, con senderos peatonales debidamente mantenidos. Un estacionamiento, aunque transitable, podría ser peligroso y podría ser propiedad privada. Tendrá problemas similares con los parques o cualquier otro espacio que no esté construido para viajes peatonales. Considere estos problemas cuidadosamente antes de enrutar a las personas a través de estas áreas.

Sean
fuente
+1 - También podrían estar cercados, o tener zanjas de drenaje a lo largo del perímetro, etc.
Dibujó el
1

Sí, el problema es el OSM-Data en sí. Para el enrutamiento, necesitará una red de líneas (bordes) y enlaces (vértices). El polígono es otro problema. Creo que la forma más fácil de lidiar con esto es dibujar rutas adicionales directamente en JOSM. En osm2po hay dos alternativas para manejar pie / bicicleta / automóvil. Cree un gráfico para un solo caso de uso, o cree un gráfico multipropósito (con todos los caminos, caminos, etc.) y tome decisiones dinámicamente mientras recorre (enrutamiento). Para esto último, Java-Skills puede ser necesario. Para tener una primera impresión de cómo podría funcionar esto, eche un vistazo al actual plugin jar (se adjunta el código fuente). Allí encontrará un enrutador que espera en las señales de tráfico durante un minuto.

Carsten
fuente
Gracias Carsten: puedo ver que JOSM sería ideal, pero estoy tratando de hacer esto para todo Canadá / EE. UU. Creo que simplemente convertir un polígono en múltiples caminos funcionaría en mi situación, ya que solo estoy tratando de obtener un tiempo / distancia de caminata aproximada (no mostrar las direcciones de ruta reales). Entonces, me pregunto si hay una manera de hacer que osm2po convierta los polígonos en rutas antes de que construya el gráfico, o si tendría que actualizar el archivo OSM primero ...
DFx
osm2po no convierte polígonos. Esto debe hacerse en otro paso de preprocesamiento. Si ve alguna posibilidad de convertir polígonos en formas simples y conectarlos a la red de carreteras, entonces veo la posibilidad de fusionar ambos datos. Pero, ¿cómo vas a manejarlo, de todos modos? Los polígonos pueden tener muchos agujeros internos como lagos, por ejemplo, ¿cómo puede asegurarse de que sus usuarios no tengan que llevar un equipo de buceo por completo?
Carsten
Sí, entiendo tu punto, no sería fácil :)
DFx