Euclidean allocation of non-integer values?

401
2
01-05-2011 03:36 PM
PhilLeckman1
New Contributor
Hi,

I am fairly new to the euclidean allocation tool and am running into trouble with its limitations. I want to assign non-integer values to my output raster based on an adjacent floating-point raster but it doesn't appear that euclidean allocation will work for this purpose. Is there another tool or script out there that will allow me to assign floating-point values by a similar process?
0 Kudos
2 Replies
curtvprice
MVP Esteemed Contributor
Another approach is to use the IDW interpolator, using the options to only allow one point to be used to estimate the output value.
0 Kudos
curtvprice
MVP Esteemed Contributor
That is a clever approach when the data are in a point layer.  Has ESRI now implemented IDW for raster data?  I hadn't heard.


Not to my knowledge, but you could always convert your input cells to point features.

A third approach is to run euclidean allocation from an integer raster that can be joined to a table with the  floating-point values: a) eucallocation b) join tables c) use the Lookup tool to create a new raster from the floating-point values in the joined table.

Note, if you're filling in "seams" in a floating-point grid, to prevent abrupt boundary faults IDW may be a better tool than euclidean allocation (or its more complex friend, the Nibble tool). An approach i've used for this is:

1) convert nodata holes to zones: HoleRas = Con(IsNull(InRas),1)
2) Expand by a couple of cells HoleBufRas = Expand(HoleRas,2,[1])
3) Tear out the hole: RingRas = Con(IsNull(HoleRas == 0),HoleBufRas)
4) Convert this raster to points, set the mask to HoldBufRas
5) merge the IDW results with your input
0 Kudos