Reclassify certain parts of a raster layer for use of Cost Distance

3773
6
07-03-2016 04:15 AM
CarinaZacharias
New Contributor III


Hi everyone,

I hope I will be able to express comprehensively what I am trying to do. So, I have a raster that shows different areas of habitat suitability for a species - highly suitable, suitable, marginally suitable and unsuitable. I would now like to use the Cost Distance tool to analyse habitat connectivity. This tool needs a source input - this will be my highly suitable habitat - and it needs a resistance layer input. This will be a reverse of my suitability map with the highest resistance values for the unsuitable habitat and the lowest for he highly suitable habitat. So far so good.

What I would now like to do is this: I would like to reclassify the unsuitable habitat around cities and villages with a higher resistance value than all the other unsuitable habitat. But I don't know how to do this. I don't think the Reclassify tool has an option for that? I have been thinking about creating an extra polygon feature layer for these areas - but how would I be able to merge this with my raster? Or is there another, smarter way? My knowledge of ArcGIS tools is not sufficient to come up with a good idea, I am afraid ...

Thanks very much and kind regards,

Carina

0 Kudos
6 Replies
DanPatterson_Retired
MVP Emeritus

You can  use the reclassify tool once your data are in raster format.  Simply assign a numeric 'weight' to the classes

ie  urban  1000 non-urban 100 which would mean that the cost of is 10 times worse than non-urban in terms of suitability.

think of the numeric values as either a attractiveness or deterrant, depending upon your perspective.  You can make the ultimate 'not suitable at all' by classing a particular class to nodata.  Have a read through the cost tools again in those terms.

0 Kudos
CarinaZacharias
New Contributor III

Hi thanks, but my problem is this: In my raster I have the four classes of suitability. The urban areas fall under "unsuitable". However, areas of very high elevation or steep slope etc. are "unsuitable" as well. But now I would like to assign a different resistance value to the urban areas than to the other unsuitable areas. Do you know what I mean? 😕

0 Kudos
DanPatterson_Retired
MVP Emeritus

there is unsuitabe, then unsuitable... there may be an intrinsic pecking order that you are going to have to decide upon.  This is why doing 'cost' analysis can be somewhat subjective since the modeller has to present a justitication based upon criteria for how they rated their model.  For example, if your intent was to run a pipeline through the landscape, both urban and high elevation may both indeed be 'unsuitable'... but realistically, there are the tangeables (ie cost) and realities (public perception).... soooo to go out on a limb, I would rate the 'cost' of going through an urban landscape some factor much higher than through areas of high terraine/slope .... the pipeline peeps would obviously perceive this as being more expensive in $$$ terms since they could tap into existing pipelines and/or use existing right-of-ways. 

The person putting forth a model, simply has to state their criteria and their instrinsic order and/or 'value' in terms of the alternatives.  The model spits out a result.  Your task then is to examine the sensitivity of the model to the variations in the input parameters and their value.  In short.... you can't be wrong... only less right than someone else's perception.  So GIS isn't a panacea, it is controlled by people's perceptions and backgrounds.   good luck

RebeccaStrauch__GISP
MVP Emeritus

Carina, I would probably try what you were thinking re: creating a polygon feature class around the urban/populated areas, whether you do this with a buffer (probably not best) or is you have some other way to designate these areas. depending on the size of you study area, and the population, maybe you can take the roads and buffer those, or take the footprints of the buildings and buffer those. You could assign these polygons a value/weight and then use Polygon to Raster—Help | ArcGIS for Desktop  to convert them to a raster for additional analysis.

Depending on the species, paraphrasing what Dan mentioned, suitability even in urban areas will vary, depending on the species. Some species, like moose, which my guess would not normally show as compatible in urban area, actually can thrive (urban like in Alaska, not NYC, but there would other factors there too, of course).  I am not a biologist, and no expert on habitat analysis (although we have other staff that are working on that more these days) but have worked with them long enough to pick a few things.

i think the first step, again as Dan was getting at, is to get all your layers/variables/weights figured out, and in matching rasters, then start working with the raster/array math.  Remember to keep a copy of the original sets since some steps might overwrite v's making a new raster.

also, although I have note searched, there may be samples of models already posted on the Internet for what you are analyzing.  Might be worth doing a few browser searches, unless you intent is to come up with a new method. Don't reinvent the wheel is you don't need to.

XanderBakker
Esri Esteemed Contributor

What you could do (and what I have done for similar problems) is to use the urban areas (if you have those isolated) and calculate the distance from urban areas using the Euclidean Distance—Help | ArcGIS for Desktop tool. The result will be a raster indicating 0 for urban areas and the euclidean distance to the nearest urban area for all other pixels.

Using the Raster Calculator—Help | ArcGIS for Desktop you can translate those distance values to a factor that will increase suitability values: suitability will decrease when distances are low ("cost value" will increase). The reason I apply this method is that the influence of the distance to urban areas is not a "black and white" think, rather a scale of grey, where the closer you are to the urban area the influence  is largest and at some point the influence stops.

Let's assume we have a suitability cost raster with values of 1, 4, 7 and 10 (1 being most suitable and 10 least suitable) and the distance to urban areas has an influence of 1.5 (cost multiplier) nearest to the urban areas and 1 (no influence) at a distance of 1000 meter (euclidean distance). You could perform the following calculation:

cost2_raster = Con(dist_raster <= 1000, ((1 - (dist_raster / 1000)) * 0.5 + 1) * cost_raster1, cost1_raster)

Where:

  • cost1_raster = a raster where the suitability has been translated to cost (low suitability represents a high cost and high suitability represents a low cost).
  • dist_raster = a raster calculated using euclidean distance from the urban areas
  • cost2_raster = is the output raster that integrates the first cost raster and the influence of the distance

What this does is this:

  • If the distance raster contains a value less than or equal to 1000
    • it will divide the distance by 1000 (yields a range from 0 to 1)
    • calculates 1 - the new range of 0 - 1 (yields a range from 1 to 0)
    • multiply that by 0.5 (yields a range from 0.5 to 0 )
    • and adds 1 (yields a range from 1.5 to 1)
    • multiplies the original cost raster with this factor to increase the cost for those areas near to urban areas (and inside urban areas)
  • if the distance is higher than 1000, the original cost values are maintained.
CarinaZacharias
New Contributor III

Hi, thanks very much for all these answers! In the end I used the Cell Statistics tool with the MAXIMUM option.

0 Kudos