3 votos

¿Cómo arreglar los nodos inalcanzables en la red QGIS GRASS?

He creado una red con el módulo GRASS v.net. Pero cuando intento crear la ruta del viajante con v.net.salesman, obtengo:

El nodo de destino 9383 es inalcanzable desde el nodo 9398

Si pongo las líneas topográficas o los puntos de la red en QGIS puedo encontrar los dos nodos, pero no puedo averiguar manualmente por qué uno es inalcanzable desde el otro. El comprobador de topología no muestra errores. Sé que el v.net.salesman funciona porque pude crear la ruta con otro conjunto de datos. Este conjunto de datos es defectuoso, aunque v.net creó una red. ¿Existe alguna herramienta, ya sea en GRASS o en QGIS, que pueda utilizar para solucionar este problema?

3voto

Daniel A. White Puntos 91889

Finalmente conseguí que la herramienta del viajante de comercio funcionara utilizando la herramienta v.clean.break, que en el diálogo de QGIS GRASS está en Vector->Develop Map-Toolset para limpiar la topología del mapa vectorial. En QGIS no hay opciones de tolerancia, sólo se introduce la capa vectorial de la calle.

La herramienta v.clean.break rompe las líneas en las intersecciones, como se muestra. Primero, la línea no rota. unbroken line .

Y aquí, la línea rota. broken line

¡Por fin, la línea del vendedor ambulante!

traveling salesman line

Sólo estoy adivinando por qué funciona esto; ¿quizás cuando dice que el nodo es "inalcanzable" quiere decir inalcanzable por el camino más corto? ¿El camino más corto podría ser el que no es accesible porque una línea no se rompe en la línea que proporcionaría el camino más corto?

1voto

Cohen Puntos 1649

En general, creo que se trata de un problema de topología. El nodo de destino no puede ser alcanzado desde el nodo de origen. Según su documentación, v.net.salesman

calcula la ruta óptima para visitar los nodos de una red vectorial

Por definición del problema del viajante de comercio, esta ruta es un recorrido que debe estar conectado. Así que, como sugiere el mensaje, si uno de los nodos es inalcanzable desde otro, es decir, si dos nodos están en dos componentes del gráfico, no se puede construir ningún recorrido.

El hecho de que v.net.salesman trabajado en otro conjunto de nodos significa que esos nodos están en un componente del gráfico. No garantiza que el conjunto actual de nodos esté en el mismo componente.

Probablemente ya conozca la causa. No puedo hablar de QGIS/GRASS. Pero al menos sé que puede utilizar ArcGIS para identificar el problema (supongo que debe haber una solución similar en QGIS/GRASS):

Se puede calcular el camino más corto de una sola fuente desde cada uno de los dos nodos, respectivamente, construyendo una red (geomática). Luego, mirando la etiqueta de distancia de los nodos de la red, puedes ver los componentes en los que residen estos dos nodos respectivamente. A partir de ahí, tal vez pueda averiguar el punto en el que la red está desconectada, y mover y ajustar las características para conectar los dos componentes (si se trata de un problema de calidad de datos). O si uno de los nodos no está conectado a la red, puede conectarlo a la red.

-- EDITAR --

Para aclarar, se puede, por ejemplo, calcular la accesibilidad a la red desde cada uno de los dos nodos y generar búferes así en el sitio web de ESRI :

enter image description here

Entonces, observando la forma del buffer de una gran distancia, podrás ver si uno de los nodos en cuestión está aislado del resto de la red o identificar el sitio problemático en el gráfico. Aunque no estoy familiarizado con QGIS/GRASS, no creo que los SIG de código abierto deban tener problemas para calcular los caminos más cortos. El principio es el mismo. Es decir, en esencia, se puede diagnosticar el problema topológico comprobando la conectividad entre los nodos problemáticos.

Mientras que herramientas como v.clean a veces pueden solucionar el problema automáticamente, por ejemplo, rompiendo las líneas en cada intersección, pero en ocasiones pueden ser topológicamente incorrectas, por ejemplo, confundiendo un paso elevado con una intersección a nivel o por encajar características de forma incorrecta, lo que le da rutas inviables. Pero supongo que siempre se pueden investigar visualmente los cambios realizados por una limpieza automática y determinar si son adecuados.

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