Select to view content in your preferred language

Creating a cost surface, but weighing the overlay is causing odd results

1232
5
Jump to solution
10-30-2019 06:33 PM
AureliusDokeianos
Emerging Contributor

Hi,

So I'm trying to create a cost surface pretty much in line with ESRI's tutorial. I have a DEM for elevation, a .tif for ground cover, and a polyline for hydrological data. I ran slope on the DEM and then reclassified it along a 1-10 scale. It seems fine to me: 

Then I took my .tif and also reclassed it along a 1-10 scale. It also seems fine:

I took the polyline and turned it into a raster. I then reclassified it into "4" for the lines (because I want them to have a moderate cost) and "NODATA" for everything else. It's not much to look at but that doesn't matter at this point: 

But when I go to weighted overlay and try to run these things together, the result is a bunch of squares and rectangles that patchily follow the line raster, as can be seen here. (The lines themselves are from the other reclassified layer).

So somewhere I probably made a basic mistake, and it likely has something to do with that polyline->raster transformation and its integration here. Does anyone have any idea what might be wrong, and could point me towards some information on how to fix it? Thanks for your time. 

0 Kudos
1 Solution

Accepted Solutions
DanPatterson_Retired
MVP Emeritus

What is the cost of travelling along the road vs open space?

You are dealing with multiplication so it would be zero for the non-road areas.  

If travelling along the road has a 'cost' of 1 (ie easy) but it is 10x more difficult to travel in open space, then the non-road areas should have a cost of 10

Cost path/cost distance needs to consider how the total costs of the components are put together.  Multiplication is different than addition. If you are accumulating your costs through addition, then a cost of 0 has no effect on the total. If you are multiplying any of your factors, then things are going to be quite different

View solution in original post

5 Replies
DanPatterson_Retired
MVP Emeritus

Not sure what you are expecting, but the nodata areas during the vector to raster conversion will obliterate any inclusion of non-road areas from further analysis.  The squares (?) are just cells the intersect the overlay just glancing at the values in the resultant legend.

0 Kudos
AureliusDokeianos
Emerging Contributor

I reclassified the raster to have values of zero (the background) and four (the streams) but now when I try to weigh them, the resulting weighted raster is just blank.

0 Kudos
DanPatterson_Retired
MVP Emeritus

What is the cost of travelling along the road vs open space?

You are dealing with multiplication so it would be zero for the non-road areas.  

If travelling along the road has a 'cost' of 1 (ie easy) but it is 10x more difficult to travel in open space, then the non-road areas should have a cost of 10

Cost path/cost distance needs to consider how the total costs of the components are put together.  Multiplication is different than addition. If you are accumulating your costs through addition, then a cost of 0 has no effect on the total. If you are multiplying any of your factors, then things are going to be quite different

AureliusDokeianos
Emerging Contributor

I found the problem, and indeed it was along the lines of what you were suggesting. The tool I was using was multiplying the numbers rather than adding them, and multiplying by zero was the cause of the blank raster.

If I can ask a follow-up question, when ESRI's explanation here says to combine the rasters, they mean use the combine tool on the reclassified rasters along with the raster resulting from the weighted sum tool?

0 Kudos
DanPatterson_Retired
MVP Emeritus

"Combine" the tool would be the best to use since you are working with reclassed data.  It would be your decision then to ascribe a "cost" of traversal to … steep slopes over treed terrain... vs a flat road vs a gentle meadow or a bog.

These costs are usually assigned as 'relative' to some base class which you would assign a value (for instance 1) so if it takes 100x the effort to traverse steep slopes over treed terrain, you would give it a value of 100 * base class

0 Kudos