TransWikia.com

How do you create a point within a polygon that is the farthest from all edges of the polygon in ArcGIS Pro?

Geographic Information Systems Asked by Brewkeeper on May 15, 2021

I am curious how one could create a centroid for an irregularly shaped polygon in ArcGIS Pro, that lies within that polygon’s boundaries, with the concept of centroid in this case meaning a point farthest from the edges of a polygon (i.e. the most centrally located). For example, with a polygon of this shape in the image below, what steps or tools could I use to create a point that lies within that polygon and is as far as possible from the edges of that polygon?

enter image description here

2 Answers

What steps or tools could I use to create a point that lies within that polygon and is as far as possible from the edges of that polygon?

I can think of two workarounds but a better solution likely exists.

  1. Run a Euclidean Distance from the Polygon at 1 m or less resolution (convert to a line is likely needed). Then Extract by Mask the euclidean distance raster with the polygon. Then just convert the raster to point (raster to point). The highest value is the farthest.

  2. Create a fishnet of points in the polygon every 1 m. Clip the point to the polygon. Run the near tool or a spatial join to get the distances to the feature. Use the point with the highest value.

Correct answer by If you do not know- just GIS on May 15, 2021

In response to @If you do not know- just GIS 's comment - I am posting here the strategy that I ultimately used to solve this problem for a shapefile containing many different oddly shaped polygons in the hopes that maybe it will be of help or others can further improve upon this process.

  1. Used Create Fishnet tool to spread a grid of 1 m x 1 m points over all polygons. This was a computationally intensive process since the polygons were spread out, but it worked after sometime. May not be the best strategy for all situations
  2. Selected only fishnet points within the polygons, and then exported these to a new layer file.
  3. Converted Polygons to Polylines.
  4. Generate a near table (under proximity tools) for all the points inside plantations to the nearest polygon line. Make sure you select the option to only give the distance to the nearest feature.
  5. Take the near table that was generated and then use select by attributes to select all points that were closest to the first polygon (Near_FID = 1).
  6. Then in the attribute table sort only the selected features (lil icon of all blue rows) descending by distance
  7. Take a notepad and write down the Object_ID of that point that is furthest from the polygon 1 lines
  8. Repeat steps 5 – 7 for each of the polygons
  9. Use select by attributes on the file with all fishnet points inside polygons and type in the Object ID for each of the points you wrote down. You can use the apply and “add to current selection” option to do this without having to close and reopen the window
  10. Export those selected points (all the center-most points) to their own feature class.

Answered by Brewkeeper on May 15, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP