I have a layer of polygons, where in some polygons there is missing data (null). I would like to fill these missing attributes by the average attributes in neighboring polygons. Is there a simple way to achieve this?


The simple way to start doing this will be to use the Polygon Neighbors tool to determine the neighbors of each polygon.

There is detailed documentation on how How Polygon Neighbors Works because it is a very flexible tool.

If it does not do what you need then it should be possible to post-process the output using ArcPy cursors to do so.

  • Thanks @PolyGeo. However, Polygon Neighbors just provides a table describing the neighboring relationship. The main question here is about how to deal with the missing data issue. I want to have the original layer to be filled with averages of neighbors where there are nulls. – splinter Feb 8 '17 at 9:54
  • What's the average of a text field? What's the average of a date field? Have you looked into ArcPy cursors? – PolyGeo Feb 8 '17 at 10:12
  • I would like to choose only one field, which is float or integer, for which average is well defined. – splinter Feb 8 '17 at 10:14
  • @splinter it is enough to populate table by missing numeric. Use attribute join with original. Summarise it afterwards. "Single" click attitude is wrong sometimes (always?) – FelixIP Feb 8 '17 at 20:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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