55 votos

¿Creación de polígonos de tiempo de conducción con herramientas de código abierto?

¿Hay alguien que utilice herramientas y/o datos de código abierto para generar polígonos de tiempo de conducción que irradien desde un lugar determinado? Por ejemplo, he utilizado productos de ESRI como Network Analyst y Business Analyst para generar límites de polígonos que representen la distancia máxima que se puede recorrer a lo largo de una red de carreteras desde un punto determinado en un periodo de tiempo definido por el usuario (digamos 5, 10 y/o 15 minutos). ¿Existen alternativas similares de código abierto o basadas en la web?

He visto este post, pero realmente no da opciones alternativas: ¿Se puede hacer un polígono de región de viaje con la API de Google Maps?

Tengo especial curiosidad por saber si alguien utiliza (o puede utilizar) OpenStreetMap para hacer análisis de tiempos de conducción.

Además, ¿hay alguna implementación de las utilidades de pgRouting que pueda utilizarse para generar polígonos? http://pgrouting.postlbs.org/

0 votos

Estoy interesado en ver la respuesta a esta pregunta. En lo que a mí respecta, ESRI lleva la delantera sobre los productos de servidor de código abierto, principalmente porque expone el geoprocesamiento en un modelo fácil de servir/consumir.

0 votos

¿Alguna novedad en esta cuestión? Estoy realmente interesado en trastear con un creador DT poly de código abierto en el scripting de mapas.

0 votos

Todavía no puedo dar una respuesta definitiva porque he tenido que poner en pausa mi trabajo en este proyecto. Como no soy un tipo de "GRASS", probablemente no voy a ir por ese camino, aunque parece que es una solución muy viable. En este momento, sin embargo, me estoy inclinando a tratar de usar el pgRouting, que supuestamente tiene funciones de Alpha Shapes incorporado en él.

54voto

tobes Puntos 19

GRASS v.net.iso le dará un resultado como este:

enter image description here

Es posible que no desee ejecutar un algoritmo de casco convexo en esta salida. Imagina las carreteras azules: Un casco convexo a su alrededor contendría un montón de partes que no son alcanzables en el tiempo representado por "azul".

En su lugar, es posible que desee buscar en las formas alfa (pregunta relacionada: ¿Cuál es la definición, los algoritmos y las soluciones prácticas para el casco cóncavo? )

alpha shape sketch

Puede crear isócronas de tiempo de conducción utilizando pgRouting y QGIS ( como se describe aquí ). En este caso no utilicé OSM, pero por supuesto usted podría construir su red enrutable basada en OSM (ver herramienta osm2pgrouting ).

enter image description here

( resolución completa )

Para una solución PostGIS pura, puede utilizar la función pgRouting alpha shape . Aquí hay una comparación de las formas alfa como se implementa en pgRouting y el enfoque que presenté en la actualización anterior:

enter image description here

Las áreas coloreadas representan los resultados de la función de forma alfa, las líneas negras son los resultados del enfoque de interpolación descrito anteriormente. Las áreas de captación son menos detalladas utilizando las formas alfa de pgRouting. Además, parece que no hay forma de variar el valor de alfa para crear representaciones más detalladas.

2 votos

¡+1 en formas alfa! Cada día se aprende algo nuevo. Sabía que el casco convexo no era exactamente la solución, ¡pero no conocía estos!

1 votos

Muchas gracias por publicar la descripción de esto en tu blog. Definitivamente planeo echar un vistazo a esto pronto y ver si puedo replicarlo con mis datos. Tiene una pinta fantástica.

11voto

Hugo Puntos 2156

El v.net.iso de GRASS se puede utilizar para crear la "red" de tiempo de conducción que podría pasar a un comando de "casco convexo" para obtener un polígono. Tal vez no sea lo ideal, pero funcionaría.

1 votos

Haha - ¡sólo me ganan!

0 votos

+1 para v.net.iso, pero no estoy seguro de la parte del casco convexo - ver mi respuesta

10voto

ESV Puntos 4591

Bueno, potencialmente podrías usar v.net.iso de GRASS GIS. Sin embargo, no crea polígonos (AFAIK), sino que divide las líneas por clases de coste desde la fuente.

En cuanto al cálculo de los tiempos de conducción a partir de OSM, podría importar los datos a GRASS con v.in.osm y utilizar el v.net.iso para calcular las zonas de coste. Si quieres tiempos de viaje y no tienes límites de velocidad en la carretera, podrías calcular el límite de velocidad basado en alguna función de la clase de carretera.

6voto

Xitcod13 Puntos 338

osrm-isochrone es una pequeña biblioteca node.js para generar tiempos de conducción.

0voto

Captain Toad Puntos 396

En el WhereCampPDX de este año, varios representantes de OpenStreetMap afirmaron que el uso de los datos de OSM para las rutas es bastante común en Europa. Sin embargo, es más raro en los Estados Unidos porque el mapa no suele ser lo suficientemente bueno. Puedes consultar un servicio de enrutamiento basado en OSM en

http://openrouteservice.org/

1 votos

Y, no, no es lo mismo el encaminamiento que el tiempo de conducción, pero está relacionado.

1 votos

Es un tipo de enrutamiento pero "uno a todos" limitado por el tiempo o la distancia

1 votos

Este servicio me funciona bien. No he tenido la oportunidad de probar la precisión, pero me permite encontrar, por ejemplo, un radio de 1 hora alrededor de una zona determinada. Muy práctico si uno tiene que trasladarse a una zona desconocida por trabajo, etc.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X