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.

Example Result

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, 2015 at 19:23
  • 1
    Perhaps some creative use of Euclidean Distance and the Raster Calculator?
    – Chris W
    Mar 12, 2015 at 20:47

1 Answer 1


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, 2015 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, 2015 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. Mar 16, 2015 at 21:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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