[GRASS-user] v.net.salesman unreachable nodes
Markus Neteler
neteler at itc.it
Fri Aug 3 08:12:18 EDT 2007
Joseph,
it is most likely that your nodes aren't physically connected to the
network, or that they are connected but have no category number
or the conneting line doesn't have a category number. Myself, I wasted
much time with such problems. But this is history now :)
Since recently, GRASS 6.3 contains an updated v.net (thanks to Martin
Landa) which makes it a snap to connect nodes to a graph ("connect" tool).
I have just added a v.net.steiner example:
http://grass.itc.it/grass63/manuals/html63_user/v.net.steiner.html
Please take a look - it's very easy now (before this update of v.net,
connecting nodes was a nightmare). v.net.salesman should work in
a similar way.
Markus
Joseph Guillaume wrote on 08/03/2007 10:37 AM:
> 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
------------------
ITC -> dall'1 marzo 2007 Fondazione Bruno Kessler
ITC -> since 1 March 2007 Fondazione Bruno Kessler
------------------
More information about the grass-user
mailing list