Create Raster Surface from Points and Equations in ArcGIS

I want to use point data to create a raster surface which distributes the values over space, as defined by an equation, and NOT by interpolating.

I have an equation to describe how the characteristic changes to describe a characteristic that decreases with distance from source e.g. y = x - 20 log (d) -11

Where d is the distance from the source, x is the value of the point data and yis the value for a point in the raster.

Thus the value of the raster decreases radially from each point. When values from two different points meet I would also like define how the values are added together. As they are not a simple addition of individual values. I've included this graph to illustrate my question. Two point values (shown in red) a distance apart. The values the raster cells should contains are shown in blue. The shape of the blue line is very different to what would have been produced from an interpolation.

Is there a tool or set of tools that could be used in ArcGIS 10.2 to solve this problem?

• What is happening when 3, 4, 5 etc points meet? – FelixIP Mar 12 '15 at 19:23
• Perhaps some creative use of Euclidean Distance and the Raster Calculator? – Chris W Mar 12 '15 at 20:47

First create your raster with the correct cell size and origin, the values don't matter at this point so a tool like Create Random Raster would be fine, if you have a boundary you can use Polygon to Raster or you can use another existing raster lying around with the right cell size and origin.. Convert the raster to points and perform Near against your sample points and join by attributes (OID/FID to NEAR_FID) from the cell points to the sample points. This now gives you all the information you need to find your values:

Assuming your value points are called Sample and cell points are called Cell use Calculate field with this python field calculator synatx:

!Sample.Value! - ( 20 * math.log(!Cell.NEAR_DIST!) ) - 11

I think that's how your equation (y = x - 20 log (d) -11) expands, there's a distinct lack of operators that I've assumed as multiply. There is also math.log10 and math.log1p if you mean Log to base 10 and not a natural log.

This gives you a regular grid of points which you can now convert to raster using Point to Raster.

• Creative approach and looks like it will work ... Nice answer!!! – Erica Mar 13 '15 at 1:57
• This is a bit help, but it only calculated a value based on the closest source, is there a way to modify it include more than one nearby source? – falcs Mar 16 '15 at 12:28
• The Point Distance tool help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//… creates a table that has the distance to all nearby points (within tolerance) or all points.. I would need to know more about how to factor in next closest to modify the existing answer for more than one point but it's definitely possible - in arcpy. – Michael Stimson Mar 16 '15 at 21:23