[GRASS-dev] v.net.allpairs seems broken

Michael Barton Michael.Barton at asu.edu
Sat Oct 13 06:18:50 PDT 2012


This sounds great. Look forward to trying this out.

Michael
____________________
C. Michael Barton
Director, Center for Social Dynamics & Complexity 
Professor of Anthropology, School of Human Evolution & Social Change
Arizona State University

voice: 	480-965-6262 (SHESC), 480-727-9746 (CSDC)
fax:          480-965-7671 (SHESC),  480-727-0709 (CSDC)
www: http://www.public.asu.edu/~cmbarton, http://csdc.asu.edu











On Oct 13, 2012, at 5:15 AM, Markus Metz <markus.metz.giswork at gmail.com>
 wrote:

> On Mon, Oct 8, 2012 at 6:18 PM, Moritz Lennert
> <mlennert at club.worldonline.be> wrote:
>> On 08/10/12 18:09, Markus Metz wrote:
>>> 
>>> On Mon, Oct 8, 2012 at 5:28 PM, Moritz Lennert
>> 
>> 
>>>> In trunk, the result is a vector map of nodes with an attribute table
>>>> linked
>>>> to these nodes which provides a distance matrix across the network for
>>>> all
>>>> pairs of nodes.
>>>> 
>>>> I agree that this is suboptimal output. I think the following outputs
>>>> would
>>>> be interesting:
>>>> 
>>>> - a table with the distance matrix, but this does not have to be linked
>>>> to a
>>>> map (cf v.distance table option)
>>> 
>>> 
>>> +1
>>> I would prefer output as a matrix to a file (or stdout) with a custom
>>> field separator instead of an attribute table. I guess (at least I
>>> would take that route) that post-processing of that output is done
>>> outside GRASS.
>> 
>> 
>> I guess that could be left to the user (e.g. table=- for stdout ?).
>> Sometimes it can be handy to have that table in the same database as the
>> vector attribute layers as you might want to use it in a view which you can
>> then attach back to the vector map or in another type SQL statement linked
>> to your mapset...
>> 
>> 
>>> 
>>> There is a bug in the current implementation of v.net.allpairs: there
>>> are multiple entries for the same category and layer in the output
>>> attribute table. This is not supported by GRASS.
>> 
>> 
>> Right. Didn't even think about that when I saw the table.
>> 
>> 
>>> 
>>>> - a map with all the paths
>>>> 
>>>> I would guess that the code is in the v.net modules (notably v.net.path)
>>>> to
>>>> easily create a map of paths. MarkusM ?
>>> 
>>> 
>>> Yes, that should be easy. I would suggest to change v.net.allpairs
>>> such that the output contains all the paths. Each path gets its own
>>> category, and the attribute table holds information about the start
>>> node, end node, and cost to get from the start node to the end node.
>>> Additionally, a matrix can be printed to file or stdout with the costs
>>> of travelling from the start node to the end node. This matrix is not
>>> symmetric because the cost of travelling from A to B is not
>>> necessarily equal to the cost of travelling from B to A (one-way
>>> streets for example).
>> 
>> 
>> +1, although I'm still not convinced that the matrix as a table cannot be
>> useful if you don't want the whole map, but only the info. But I won't make
>> an issue out of it, as you can use the attribute table of the map to get the
>> same results.
> 
> I have changed the output of v.net.allpairs in r53379 to hold the
> selected nodes and all paths between them. The attribute table for the
> paths has the entries cat, from_cat, to_cat, cost with cat = category
> of path, from_cat and to_cat = categories of start and end point, and
> cost = cost.
> 
> Printing the costs out in matrix form is not implemented, but would be
> easy to add.
> 
> Markus M



More information about the grass-dev mailing list