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

Michael Barton Michael.Barton at asu.edu
Tue Nov 28 13:59:46 PST 2023


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<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<https://openmodelingfoundation.github.io/>)
Director, Network for Computational Modeling in Social & Ecological Sciences (https://comses.net)

personal website: http://www.public.asu.edu/~cmbarton


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-dev/attachments/20231128/87daf846/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: landclass96_friction.png
Type: image/png
Size: 186230 bytes
Desc: landclass96_friction.png
URL: <http://lists.osgeo.org/pipermail/grass-dev/attachments/20231128/87daf846/attachment-0002.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: costs2hospital_with_friction.jpeg
Type: image/jpeg
Size: 40870 bytes
Desc: costs2hospital_with_friction.jpeg
URL: <http://lists.osgeo.org/pipermail/grass-dev/attachments/20231128/87daf846/attachment-0001.jpeg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: costs2hospital_with_negativefriction.png
Type: image/png
Size: 165194 bytes
Desc: costs2hospital_with_negativefriction.png
URL: <http://lists.osgeo.org/pipermail/grass-dev/attachments/20231128/87daf846/attachment-0003.png>


More information about the grass-dev mailing list