[GRASS-dev] [GRASS-user] cost surface with negative friction odd behavior

Anna Petrášová kratochanna at gmail.com
Wed Nov 29 07:17:19 PST 2023


I think r.walk was not written for negative friction and while I imagine
some small (in absolute sense) negative values may work, your negative
values are pretty extreme, meaning the resulting travel time through a cell
would be negative. That can cause all kinds of issues in the algorithm. So
I would say friction should not be negative. I am not sure I would check
that in the code, because you would need to check that for each cell and I
think it's unnecessary overhead. Maybe just adding a note to documentation
may be enough. I haven't looked into the code itself, so this is just my
guess.

Anna

On Tue, Nov 28, 2023 at 5:48 PM Michael Barton via grass-user <
grass-user at lists.osgeo.org> wrote:

> In teaching a class about modeling movement, we talked about how to
> represent a cost surface when some areas of terrain (e.g., water or paved
> roads), could be crossed more rapidly than walking across unmodified
> topography. Since a friction map for r.walk adds cost in seconds/meter to
> the cost of walking across unmodified terrain, I wondered if a friction map
> with **negative costs** would decrease the movement costs across a
> landscape.
>
> Using the SC demo data set, I tried this with a set of maps I prepared for
> class. Previously, I had created a friction map from the landclass96 map
> such that cells with water (class 20) have a value of 90 sec/m, dense
> vegetation (classes 7-19) have a value of 20 sec/m, and the rest of the
> cells have a value of 0 sec/m. I generated a cost surface with r.walk using
> elevation and this friction map with a starting point from the Dorothea Dix
> Hospital.
>
> r.walk --overwrite -k elevation=elevation at PERMANENT
> friction=landclass96_friction output=dd_hospital_seconds_friction
> outdir=dd_hospital_directions_friction start_points=DD_hospital memory=1000
>
> This behaved as expected and created a cost surface that represented
> different degrees of difficulty in crossing vegetated and inundated
> terrain.
>
> To explore what would happen with a friction surface with negative
> numbers, I simply subtracted the previous friction map from 0 so that dense
> vegetation = -20, water = -90, and the rest of the cells = 0. Then I used
> it with r.walk and the elevation DEM.
>
> r.walk -k elevation=elevation at PERMANENT
> friction=landclass96_friction_negative
> output=dd_hospital_seconds_negativefriction
> outdir=dd_hospital_directions_negativefriction start_points=DD_hospital
> memory=2000
>
> There was no error, but the resulting cost surface is very strange.
>
> The data range of the original cost surface with the positive values
> friction map is:
>
> Range of data:    min = 0  max = 103883.003593944 (max of 28.8 hours to
> reach the hospital given added costs of walking through dense vegetation or
> avoiding water).
>
> However, the data range of the cost surface made with the friction map
> with negative values is completely weird.
>
> Range of data:    min = -166202271.811971  max = -154320.938078961 (-46167
> to -43 hours)
>
> Since a friction map simply adds cost to the cost surface, if a negative
> friction map did not work, I might expect it to raise an error or have no
> impact (values < 0 become 0). But the values in the resulting cost surface
> don't make any sense at all.
>
> Does anyone have any thoughts on this?
>
> I will try to attach attach the original friction map made from the SC
> landclass96 map, the cost surface made with elevation and friction map, and
> cost surface made with elevation and negative friction map.
>
> Michael
>
> _____________________________
>
> C. Michael Barton
> Associate Director, School of Complex Adaptive Systems (
> https://scas.asu.edu)
> Professor, School of Human Evolution & Social Change (
> https://shesc.asu.edu)
> Director, Center for Social Dynamics & Complexity (
> https://complexity.asu.edu)
> Arizona State University
> Tempe, AZ 85287-2701
> USA
>
> Executive Director, Open Modeling Foundation (
> https://openmodelingfoundation.github.io)
> Director, Network for Computational Modeling in Social & Ecological
> Sciences (https://comses.net)
>
> personal website: http://www.public.asu.edu/~cmbarton
>
>
> _______________________________________________
> grass-user mailing list
> grass-user at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/grass-user
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-dev/attachments/20231129/42a0cae8/attachment.htm>


More information about the grass-dev mailing list