3

I want to sum different layers (Population Density, Land Use, Rivers, Roads) to derive an Exposure map for landslides using the raster calculator in ArcGIS.

First I converted the two line shapes (Rivers & Roads) into raster. Then I aggregated both to be able to reclassify. Afterwards I reclassified(standardised) the raster files in order to be able to weight them.

Summing raster LU and PopDens works flawless, but as soon as I add one of the rastered line features, the result looks like it uses them as mask --> only cells, where river or road occurs are considered, instead of the whole study area.

Does anyone have an idea?

0

This is the default behavior of the raster calculator to use the extents of the smallest dataset. There are a few ways to work around this, but I think your quickest solution might be to first use the Copy Raster tool with your rasterized lines as the input raster and the larger layer as the Snap Raster in the "Environments" to create a raster with the same extents as the larger raster.

From here, use the Con and IsNull functions of the raster calculator. You can conditionally check areas where your larger extent rasterized lines are null/NoData (i.e. places that they don't exist) and then set these areas to the value of the already summed output(s). In areas where the rasterized lines do exist, set the value to the sum of their cells plus the already summed output(s).

Con(IsNull("YourModifiedExtentLinesLayerName"),"YourAlreadySummedLayers",("YourAlreadySummedLayers"+"YourModifiedExtentLinesLayerName")

This will result in an output with the same extents as "YourAlreadySummedLayers" with the values already summed for the rasterized line areas.

Putting it all together as a model might be helpful if you haven't already: enter image description here

The expression in the model noted above is basically the same as my example, but with inline variable substitution:

Con(IsNull("%LargerExtentRasterLines%"),"%Lulc%",("%Lulc%"+"%LargerExtentRasterLines%"))
  • Thank you very much for the detailed answer! I tried your solution and I get the same output like when I first sum Lulc + PopDens and then Rivers + Roads and then sum the results (instead of summing all simultaneously). The output is a whole study area raster with values exceeding the original values (0-20) by multiples (0-39.350). Could it have something to do with different pixel types (input rasters are signed or unsigned integer) – Kunaro Mar 10 '17 at 11:27
  • The differences in the outputs occur depending on the aggregation. If aggregated it works (with the suggested calculation by @AHigh). I assumed the multiple "overlaps" of smaller line rasters with (i.e.) lulc raster are calculated accordingly. But it turns out, they have to be resampled/aggregated before (which did not work with my calculation). – Kunaro Mar 10 '17 at 13:02
0

If the area surrounding the rivers or roads (i.e. areas of non-roads) are classed as NoData this will act as a mask. You need to reclassify your rivers and roads so that NoData has a value (maybe 0 or 1 depending on how you are combining them)

You will need to set your processing extent (under the Environment button in the tool) to match your study area limits

  • yes, I thought of this solution as well....would have been my choice, if the above mentioned had failed – Kunaro Mar 12 '17 at 22:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.