What's the best way to calculate "height" (snowfall, actually) data from three surrounding locations?

For this example, I'm looking to arrive at a "close enough" snowfall value at point A by evaluating data from 3 (or more) other points that are X, Y and Z distance away. Here's a sample of data that would apply:

    Point 1        Distance (Miles)  Value (inches)
    X              17                15.1
    Y              21                4.3
    Z              31                13.8

As these points are a non-directional angled distance from point (direction of points from point A are not known) and we cannot assume they're in a straight line OR that they actually surround point A, what method should be used to determine a "most likely" value at point A?

As a side note, we do know the Lat/Lng of both point A and each of the points in the data set. Again, EXACT information is not necessary and I'm contemplating just using the first point. However, data inconsistencies exist and the closest point may be 0 at times and distance may vary quite a bit (i.e. may be much farther away than 31 miles).

As more feedback, going through the effort of describing a plane through three points may be overkill for this exercise.

  • 2
    What software are you using? I can think of a few ways to do this in ArcGIS, including aggregating points, a spatial join, and looking at clustering. For that matter you could interpolate the point data you have to a surface and then extract the interpolated value at the desired point from the surface.
    – Chris W
    Nov 18, 2014 at 21:34
  • If you only need to determine the value at one point with 3 known I would definitely use IDW. You can search around for a formula to do it manually, it's relatively simple. Just a summation of weighted points (1/d^p), where d=distance and p=power (usually 2 is default). In general, if you're unfamiliar with interpolation, IDW is a sound method and easy to explain way to do it. Nov 19, 2014 at 4:24
  • Thank you - Not using any software to determine this. It's basically 4k datapoints over a span of a month with geo-location coupled with a measurement value. I'll look at the IDW method and see if that fits.
    – Doug P.
    Nov 19, 2014 at 22:21

1 Answer 1


Some things to consider:

(1) Your problem is generally known as spatial interpolation because points are distributed in space, or surface interpolation because you are estimating the height of a point on a "surface" (which might be physical or abstract).

(2) It's not generally a good idea to label to points in space as X,Y,Z because those letters are almost universally used to represent coordinates of points in space. You've got "A" as the unknown point, just call the others "B, C, D" or "B1, B2, B3" or something.

(3) You say you don't have any directions but you do have positions (lat,long). Positions can always be converted into distance and direction. It's a simple matter of COGO (or coordinate geometry).

(4) One method of interpolation is to fit a tilted plane, as you say. It is called linear interpolation and is the method used in the common surface-fitting technique known as TIN (or triangulated irregular network). Tilted planes are fitted to triplets of points and interpolation within a triangle is linear. It is one of the simpler techniques -- I'm not sure about it being "overkill".

(5) Another popular technique is inverse distance weighting (or IDW) which first assumes you have a reasonable group of data points (B,C,D,etc) and then estimates the unknown height as a weighted sum of the known points. The weight of a point's height is usually inversely proportional to the square of its distance away from the unknown point. This roughly obeys the so-called "first law of geography": Everything is related to everything else, and nearby things are much more related than far away things.

(6) You probably realize that whatever technique you use, the quality of your estimation depends on the quality of your data points and how well they surround your unknown point. If they are all off to one side, then you are no longer interpolating but are extrapolating, i.e., going beyond your "known world".

More details on all the above topics can be found on this site, in introductory GIS books, or in GIS user manuals.


Your Answer

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

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