Pregunta

Tengo una lista de puntos, y una ruta que un proveedor externo ha generado a través de esos puntos.

Me gustaría para generar una ruta usando los mismo punto con mi propia red de carreteras.

A continuación, quiero ser capaz de detectar si existe alguna diferencia significativa entre las dos vías.

Una sugerencia es que para las rutas 2, nos encontramos con lo que los segmentos de carretera que viajan a través, y comparar la lista de los segmentos de carretera?

Es este un enfoque válido? ¿Cómo hacemos para obtener la lista de los segmentos de carretera dada una ruta?

Estoy usando ArcGIS Server 9.3 con Java 5 y 10g de Oracle. Estoy utilizando las funciones de ST y NetworkAnalyst a través de la API de Java.

Gracias.

¿Fue útil?

Solución

Se calcula la ruta utilizando sus puntos y la red de carreteras. Entonces amortiguar la ruta resultante en un polígono (el radio tampón debe ser su "tolerancia"). Luego cortar la ruta externa utilizando el polígono. Si la polilínea resultante es no vacío, entonces no hay una desviación fuera de su tolerancia.

Este método no Acount cualquier desviación "significativas" como dar marcha atrás, giros en U, o tomar un camino paralelo cercano.

Como alternativa, se pueden comparar las resultantes "direcciones" y compruebe si hay desviaciones allí - particuarly utilizando nombres de las calles. Esto le ahorra de comprobar cada segmento de carretera. Si tiene cualquier desviación en los nombres de calles, a continuación, comprobar los segmentos de carretera individuales de cada sección.

Otros consejos

He Sólo se aplicó algo similar en mi solicitud. Tengo una lista de coordenadas de latitud / longitud de un dispositivo GPS y necesarios para crear una ruta en función de estos datos.

Empecé haciendo coincidir cada posición GPS con un nodo en la red de mi calle. entonces me quita nodos 'consecutivamente duplicados' para filtrar aquellas posiciones consecutivas que están en el mismo nodo. Entonces, empecé a 'caminar' a través de mi red de calles, empezando por el primer nodo. Comprobé el primer nodo y el segundo nodo y se analiza en un segmento común de la calle. Si me encontré con uno, grande. Si no es así, se crea un camino más corto entre los nodos 2 y el uso de esos caminos en su lugar. Sigo haciendo esto hasta que haya examinado todos los nodos. Al final de este proceso, tengo una lista de segmentos de carretera que viajó el vehículo y el orden en el que se recorrieron, también.

Por desgracia, estoy usando un mapa diferente, diferente lenguaje de programación y base de datos diferente. Como tal, compartiendo el código no será útil para usted en absoluto. Esperemos que el proceso que he descrito anteriormente será suficiente ayuda para que pueda cumplir su tarea.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top