I am working with ArcGIS Desktop 10.2.

I have a point shapefile, something like cities, which contain city level information, population, area, average temperature in the city etc.

Is there a way to identify for each city the total population (or any other variable of interest) in the k nearest cities?

An example would be for US, I have a shapefile containing all the big cities, I would like to know what is the total population living in 5 (this parameter can change) nearest cities around New York. I would like to do it for all the cities in the shapefile.

I am in the process of coding it by first making a function for identifying the first k neighbors and then obtaining information from these neighbors. The idea to post this question is to find out that if there is a more straight forward way to do it via arc gis.

  • 3
    Welcome to GIS SE. As a new user, please take the Tour. Questions here should not only state your goal, but what you have done toward accomplishing it. Please Edit the question to specify what you have tried, and what problem you have encountered. – Vince Feb 6 '18 at 13:28
  • 1
    take a look at Generate Near Table, if you have an Advanced license. – GISGe Feb 6 '18 at 13:41
  • Just be sure to use the closest_count parameter, or you'll end up with a massive table. – JoshC Feb 6 '18 at 13:51
  • Hi Thanks everyone. I ll use your suggestions and I ll write a more detailed question next time. – Avi Feb 6 '18 at 17:13
  • Why next time? You can always use the edit button to improve this question. – PolyGeo Feb 6 '18 at 19:13

If you have an Advanced license, run Generate Near Table with your point shapefile as input. As @JoshC points, make sure you set a closest_count parameter (e.g. 5) and leave the closest parameter empty.

Then sum the population of the x nearest cities, for each city, using Summary Statistics. Set the population count field as Statistics field parameter and select SUM as statistic type. Use the city ID or name as case field parameter.

You can also join the summed result to your cities shapefile with Join Field, using the city ID/name as join field.

This workflow can be easily automated using ModelBuilder or arcpy.

  • Hi thanks a lot. This is great and exactly what I wanted. Thanks everyone. – Avi Feb 7 '18 at 11:07

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.