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 :
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.