Hi,
I’m trying to run a travelling salesman analysis between point features on a road map, but it tells me that two nodes are unreachable from one another, which is a fatal error.
I’ve successfully done this exact analysis using ARC/View, but I’m trying to find an OSS alternative that works on Debian - and it seems GRASS is the only software currently able to do network analyses.
I patched together two ESRI shapefile datasets, following the Grass 6.0 v1.2 tutorial.
I tried linking the attributes to the original datasets and tried without linking.
I tried putting the new points on both the same layer and a new layer.
I tried running every single v.clean function on both the original and patched datasets.
I am certain that all the points are actually on the network.
I’ve searched all mailing lists, reference materials, and bugtracker, but didn’t find anything explicitly related to unreachable nodes.
Assuming the error message does mean that the map I am using has segments disconnected from the rest of the network, the questions are:
-
How do I detect them and remove them?
The node numbers given don’t match the cat attribute, so I assumed they referred to the id attribute. The two nodes referred to by id are however connected to each other (directly) and to the main part of the network. I suspect the node numbers therefore don’t correspond to any attribute as such, but are rather internal. In that case, how do I identify the actual nodes/segments responsible? -
Shouldn’t the algorithm be tolerant of such errors anyway?
I checked, and none of the relevant nodes are actually within segments I can see are disconnected, so the analysis results should be the same if the algorithm ignored the error… Is this perhaps because of the heuristics used to solve this NP-hard problem? Does anyone know what ArcView does differently?
Any ideas?
Cheers,
Joseph Guillaume