[GRASS-user] How to assign costs to nodes using v.net.distance

Markus Metz markus.metz.giswork at gmail.com
Mon Apr 1 06:16:29 PDT 2013


On Mon, Apr 1, 2013 at 10:23 AM, דור פרידמן <dof1985 at gmail.com> wrote:
>
> Hi Markus,
>
> I was very surprised to read your comment about v.net.distance since the
manual indicates the following:
>>
>> "v.net.distance - Computes shortest distance via the network between the
given sets of features.
>> Finds the shortest paths from each 'from' point to the nearest 'to'
feature and various information about this relation are uploaded to the
attribute table"
>
>
> Is it possible that you had a mistake, or is it that the manual is
incorrect?

I wrote:

I think v.net.distance is the wrong module for this task because it
finds for each 'from' feature the nearest 'to' feature and not the
shortest path from each 'from' feature to each 'to' feature.

>From the manual:

...the table has three columns: *cat*, *tcat* and *dist* storing category
of each *from* feature, category of the nearest *to* feature and the
distance between them respectively.

No contradiction AFAICT.

> How can I assign costs to the destination nodes
That does not make sense because destination nodes are usually not crossed.
Assigning costs to nodes makes more sense for nodes between the start and
the end node.

> to receive the "lowest cost" (shortest) path from each origin node to the
nearest (cheapest) target node?

The shortest path for each 'from' node to the nearest 'to' node is included
in the output map. See also the example in the manual.

Markus M

>
>
> Best,
>
> Dor
>
>
> 2013/3/29 Markus Metz <markus.metz.giswork at gmail.com>
>>
>> On Thu, Mar 28, 2013 at 2:52 PM, דור פרידמן <dof1985 at gmail.com> wrote:
>> > Hello all,
>> >
>> > After I've got my v.net.distance up and running I have to adjust my
analysis
>> > method to the software's capabilities. Basically, I have a 3 layered
>> > network: myroads_net2 which contain layers as follow:
>> >
>> > Layer 1: Arch (roads)
>> > Layer 2: Points (Landfills - destinations)
>> > Layer 3: Points (Settlements - source)
>> >
>> > As one might understood I'm trying to calculate the lowest cost route
>> > between each settlement (layer 3) to each landfill (layer 2).
>>
>> I think v.net.distance is the wrong module for this task because it
>> finds for each 'from' feature the nearest 'to' feature and not the
>> shortest path from each 'from' feature to each 'to' feature. Actually,
>> I don't think any of the v.net.* modules does exactly that. You could
>> file a ticket for enhancement to request such a module.
>>
>> > Roads' costs
>> > are constant, which now set to 1 (currency per distance unit - I guess
that
>> > it is meter). I would like to include a cost for landfill (gate fee)
which
>> > will be measured with the same currency. MY attempt to use ncolumn
(cost for
>> > nodes) didn't go well. I have opened a new column (double precision) in
>> > layer 2 and named it gatefee. I have assigned 0 to all cats, except
cat=3
>> > which I have assigned with 60. My expectation was that at least some
of the
>> > settlements that were allocated to cat=3 on layer 2 will be allocated
to
>> > another one. However after running v.net.distance again with
ncolumn=gatefee
>> > I have found out that more settlements were allocated to cat=3 of
layer 2.
>>
>> If I understand the code of v.net.distance correctly, node costs are
ignored.
>>
>> Markus M
>>
>> >
>> > Did I misused that option? I can't find any guide to how to use it in
the
>> > manual or tutorials and will appreciate an explanation or a reference
to
>> > such guide or tutorial.
>> >
>> > Best,
>> >
>> > Dor
>> >
>> > _______________________________________________
>> > grass-user mailing list
>> > grass-user at lists.osgeo.org
>> > http://lists.osgeo.org/mailman/listinfo/grass-user
>> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-user/attachments/20130401/bc0e8a73/attachment.html>


More information about the grass-user mailing list