Select to view content in your preferred language

Roads in Least Cost Analysis

869
1
05-28-2011 09:53 PM
NickSmale
Emerging Contributor
Hi!

I would like to include the roads layer in my least cost grid by creating regions that the path would be dissuaded from crossing, to be done by making all the cells above rasterised road have their cost value changed to '10' (on a 10 point scale).
I created this thread a while ago to ask this question, and it was answered but we got sidetracked and now the thread is dead. The solution provided is this:

The overwriting can be done with a combination of con and isnull, as in
Con( Isnull( [roads] ), [impedance], 10 )
Here, 10 is the value to put in the [impedance] grid at all road cells.

A similar approach is to add a large impedance at all road cells, as in
Not( Isnull( [roads] ) ) * 10 + [impedance]
This exploits the (documented) convention that false values are 0 and true values are 1.


Here is my problem:

I can't make the statements in your first post work, for instance 'Con( Isnull( [RasterRoads] ), [Cost], 10 )' with 'RasterRoads' being a rasterised road layer that is nodata for everything except road cells, and 'cost' being the cost layer already made up of slope and landuse.
I'm supposed to be using Single Output Map Algebra, right? Why does putting that statement into it not work? (the model thing remains white, it won't let me run it).


Could someone please help me, I am desperate 😞 😞 😞
0 Kudos
1 Reply
curtvprice
MVP Esteemed Contributor
I'm supposed to be using Single Output Map Algebra, right?


The syntax with the brackets is for the Arc 9.3.1 raster calculator. Is that what's tripping you up? The syntax for the (similar) single output map algebra tool is different. There are examples in the online help; which one you want to use is up to you.

Note in Arc 10, the Raster Calculator, the Single-Output and Multi-Output tools are all replaced with the new Map Algebra tool. There have been complaints about this, but I kind of like only having one syntax instead of three.
0 Kudos