I want to create a dataset of estimated values using inverse distance weighting. I am starting with a dataset of daily values of measurements for specific coordinates. I created a model (below) which iterates through daily values and creates raster layers of interpolated values (IDW tool). Then, values from a set of specific coordinates are extracted from each raster later and are output as a table (sample tool). Finally, tables are converted to .xls and I will use a different data management software to complete the final merge.

As far as I can tell, this model works. But, it takes some time and I have three decades worth of daily measurements to run this for.

How can I make this model more efficient?

Thoughts I had:

-delete the intermediate raster and info table files after they have been converted to .xls --> i tried selecting "delete intermediate data" but files weren't deleted.

-use collect values, can't figure how this works

-use the batch option to run this model in batches by 1..5..10 years.

-merge in arcmap

  • Idw is very simple, so compute n nearest neighbors for each point of interest and use them for interpolation for that point. Can be done in Excel in no time, because you skip raster interpolation.
    – FelixIP
    Jan 29, 2019 at 20:06
  • this sounds good. can you please elaborate on this? let's say i want to compute n neighbors within 20km of the points of interest. and only use these for interpolation. how would i incorporate this into the model? thank you! Jan 29, 2019 at 20:28

1 Answer 1


Use Generate Near Table with N closest matches. Add 3 highlighted fields to output:

enter image description here

Compute inverse distance (in unlikely case convert 0 near distance to 0.00001), note you have to do it just once.

  1. Use join by attributes (NEAR_FID) and bring observed values into 2nd highlighted column.
  2. Compute 3rd column as INV_DIST*VALUES.
  3. Use summary statistics on IN_FEAT to compute interpolated values at every point of interest:

enter image description here

I rarely use models but with Python this is a very simple task to code.

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.