Select to view content in your preferred language

For the experts...how to spatially quantify difference between layers?  Please help!

2050
3
10-13-2010 06:34 AM
JillFan
Emerging Contributor
Dear GIS Gurus,

If you could help here it would be immensely appreciated.  Attached I have a simple JPG that clearly shows the problem I have.  I basically have two soil layers (one looks like a grid, other shows actual contours) and I need to quantify the difference between the two layers.  

I believe I know how to this quantitatively by area (i.e., how MUCH of each soil type is represented in each layer in each map), but what I really need to do is quantify it SPATIALLY.  In other words, to figure out not just how different the maps are in general, but to show specifically WHERE the differences are between them - likely requiring the production of a third map.   Ideally I'd like to show directionality of differences (e.g., in these areas the soil category went up, in these areas it went down, in these areas the same, etc). 

Does anyone know how to do any of these steps?  Please help!  And thanks so so much!

Jill      24/f/USA
0 Kudos
3 Replies
JürgenSchellberg
New Contributor
...have you tried Geographically weighted regression? You'll find it in ARC Tool box Modelling Spatial Relationships. Good luck! Jürgen
0 Kudos
SteveLynch
Esri Regular Contributor
Jill
If the one layer is raster and the other feature you could convert the feature layer to raster. Make sure that the extent and cell size of the output is the same as that of the soils raster. Now you have 2 rasters that have the same extent and cell size.

There are many tools in the Spatial Analyst toolbox that can assist in finding differences. Start off using the Minus tool or the Identify tool.

Steve
0 Kudos
MannyGimond
Regular Contributor
Jill, if you are looking to create a new map that shows the change in soil type, you'll have to choose the output type: vector or raster. If you choose vector, you will need to convert the raster layer to a vector layer that we'll call V1. You will then have two vector layers V1 and V2 (the latter being the original vector layer). Next, you will want to recode the attribute values for one of the layers by multiplying those values by ten or hundred depending on the original value range. For example, if the original values are 1,2 and 3, your new values will be 10,20 and 30. Remember that you are doing this for just one layer--V1 for example. Next, you will merge the two layers. This may create undesirable "slivers" which results from boundaries that should overlap but that do not. There are many ways to deal with slivers, a search for that term on this forum will point you to techniques that deal with them. Finally, you will add a new field to your new merged layer where you will calculate the sum of V1 and V2 attributes (whose values will be added to the new layer during the merging process). This will create values such as 11,12,13,21,... etc. A value of 11 for instance indicates no change in soil type. A value of 12 indicates a change from 1 to 2, etc...

If you choose the raster route, you will want to recode the values from one of the two rasters. You can use map algebra for this (e.g. [R1] * 10) which will create a new raster we'll call R10.  Using another map algebra calculation, you will "add" the rasters R10 and R2 ([R10] + [R2]). The resulting raster will have the same new values as those for the aforementioned merged vector layer. In fact, you can accomplish this in just one step: [R1] * 10 + [R2].

Now from here, I'm not sure how you want to quantify the distribution of these attributes. Are you seeking a measure of dispersion/clustering of direction type, or just an area summation of each directional attribute value?
0 Kudos