Mean Center Output

1793
4
Jump to solution
05-21-2021 10:11 AM
NasserSharareh1
New Contributor III

I am trying to calculate the population-weighted centroids of Utah's census tracts using the census blocks population in ArcGIS Pro.

I have joined the census blocks population of 2010 to the census block shapefile of 2010 and have projected the shapefile to NAD83 (for Utah Central FIPS 4302 US Feet).

After using the Mean Center tool and assigning the census block population to Weight Field and tract codes to Case Field, I get the results. 

However, some of the centers are not within the tract's boundaries. For instance, the population-weighted centroid of Tract 110701 is plotted on the 974300 census tract.

Any idea what the problem is and how to fix it? I appreciate your feedback.

0 Kudos
1 Solution

Accepted Solutions
Tim_McGinnes
Occasional Contributor III

Unfortunately the Mean Centre algorithm does not respect the polygon boundaries, so for C or L shaped polygons, polygons with holes or polygons with multiple parts, the point can often fall outside the polygon. This is not an error, but is a valid result.

You will have to decide how to handle these situations yourself with some extra processing afterwards. Some ideas:

  • Move the centroid to the nearest point on the parent polygon
  • Replace the centroid with one calculated using the Polygon to Point with Inside option as described by Dan
  • Calculate the weighted centre by another method with a higher chance of falling inside the polygon:
    • Cluster the population blocks and choose the largest cluster as the centroid
    • Create a gridded raster of the population and choose the highest value cell as the centroid (like a heatmap)

No easy answer unfortunately. Hope that helped.

View solution in original post

4 Replies
DanPatterson
MVP Esteemed Contributor

Did you try Feature To Point (Data Management)—ArcGIS Pro | Documentation

There is an Inside option to make sure that the "center" is contained within the polygon


... sort of retired...
0 Kudos
NasserSharareh1
New Contributor III

I am afraid that doesn't work. 

0 Kudos
Tim_McGinnes
Occasional Contributor III

Unfortunately the Mean Centre algorithm does not respect the polygon boundaries, so for C or L shaped polygons, polygons with holes or polygons with multiple parts, the point can often fall outside the polygon. This is not an error, but is a valid result.

You will have to decide how to handle these situations yourself with some extra processing afterwards. Some ideas:

  • Move the centroid to the nearest point on the parent polygon
  • Replace the centroid with one calculated using the Polygon to Point with Inside option as described by Dan
  • Calculate the weighted centre by another method with a higher chance of falling inside the polygon:
    • Cluster the population blocks and choose the largest cluster as the centroid
    • Create a gridded raster of the population and choose the highest value cell as the centroid (like a heatmap)

No easy answer unfortunately. Hope that helped.

NasserSharareh1
New Contributor III

Thank you, Tim. That is interesting to know about the Mean Center tool.

0 Kudos