I am trying to interpolate my soil data (metal concentration) using IDW in ArcMap10. My question is: is there a way to set the interpolation extent to include only the immediate area where the sampling points are located? I have a number of areas containing sampling points (on one map) and I would like to interpolate them within their respective polygons on the same map. The distances between my separate areas are hundreds of meters and I would like the areas between them to remain blank (showing just my background map). Can I use a mask in IDW interpolation? If so, how do I go about it? I was unable to solve my problem so far. I'm a beginner in GIS and any help would be greatly appreciated.
4 Answers
Try using barrier lines to restrict the interpolation. Turn your polygons into polylines and use them as barriers.
Interpolation with no barriers
Interpolation results with barriers.
The cells between the barrier lines are NODATA cells
-
Hi danb, thanks for your reply! yes, i think the barriers could work for me but for some reason I just can't figure out how to set them up. I have got my area polygons set as polylines (in a separate shapefile) but when I do the IDW interpolation there is no option anywhere to add the barriers...I've searched extensively in help etc. and just can't find how to do it. I'm working with the Geostatistical Analyst and the only interpolation options with barriers seem to be Kernel Smoothing and Diffusion Kernel. Could you let me know how you managed to set barriers for IDW? Thanks!– jo1Commented Jul 1, 2013 at 23:14
-
Ok, I made some progress. I've found out that the IDW interpolation under Spatial Analyst Tools does allow barriers. I did manage to interpolate. My problem now though is cell size. The default (~1) is too small and when I input the size manually (e.g. 3 or 5) there are massive pixels around the edges of my polygons. I think maybe my data points are too far from each other...Another problem I have is that some of the points do not seem to be interpolated at all and these areas remain blank...– jo1Commented Jul 2, 2013 at 0:33
What about just running IDW on all of the points, with the max distance set to less than the distance between your distinct areas, then create a shapefile of polygons around the areas you want and "extract by mask" using the polygon shapefile? The distinct areas shouldn't influence each other as far as the interpolation if they're far enough apart...I think that's correct, you'd have to test it maybe, hope that helps.
I don't believe that's possible. You tend to interpolate across a whole dataset, and set an extent around the Minimum Bounding Rectangle of that whole set. Then flood fill the values. If you have natural gaps between areas, then the only thing I can suggest is using the IDW method on discrete areas. This will give you multiple datasets, but you should be able to use Raster Calculator to 'add' the datasets together to give the effect you suggest.
-
Thanks Scott. Yes I know I could divide my data and work on them separately but given the number of areas it would be quite complicated. I've never used the raster calculator before either..thanks for the suggestion though!– jo1Commented Jul 1, 2013 at 23:11
This is possible! First, create a polygon using the draw tool around the outline of the site you want to do IDW for. Under the draw menu bar click "convert to graphics" and save the polygon as a layer. Then go to Geoprocessing->environments
Under the "Processing Extent" tab dropdown to set as the layer of the polygon you just created.
Then under the "Raster Analysis" tab in that same environments window set the mask dropdown as that same layer as well. When you perform the IDW after this it will only analyze the area within that polygon you created.