Finding the furthest point location from the edge inside a polygon.

3555
13
04-12-2021 07:06 PM
Labels (1)
The_Claw
New Contributor II

Is there a way to find a point or points (such as rectangle) inside a polygon that is the furthest from the edge of the polygon?  Centroid and centroid inside don’t work.

An example of what I’m wanting to do is:  I own a parcel of land and want to build a house as far from the property lines as possible, how can I find this point?

I'm using ArcGIS Desktop 10.6 advanced with access to the extra extensions.

I would think this would have multiple uses but haven't been able to search and find any info on a way to do this.

This is my first post, hopefully it is in the right place.  Thanks

13 Replies
DanPatterson
MVP Esteemed Contributor

If your polygons are that big, Zonal thickness will be the quickest and you certainly don't need to nail down the offset distances to sub-meter precision


... sort of retired...
0 Kudos
by Anonymous User
Not applicable

Hi:

 

The problem with zonal geometry is that it doesn't report the locations of those maximum values.

 

I recommend using Euclidean Distance, followed by Zonal statistics, followed by Con, to compute and extract those locations. The input to euclidean distance will be the negation of your polygons (i.e. all cells not in the polygons). Let me know if that makes sense or if I need to elaborate further.

 

-jt

0 Kudos
GaryBarden
New Contributor III

Not to get completely off track but this is the closest thread I could find to what I'm trying to figure out. I want to figure out the opposite of this. I have a point within a polygon and I want to find the distance to the furthest point on the edge of the polygon. I know I could use the measure tool and try to figure it out manually, but my polygon has a very irregular edge, and I need to run this against multiple polygons, so I figured I could merge the polygons and run it against the single point.

0 Kudos
by Anonymous User
Not applicable

HI Gary

Do you need to measure distance 'as the crow flies' (the distance from P to 'a' in the figure below) or staying inside the polygon (the distance from P to 'b')?

JimTenbrink_0-1632870758747.png

 

In the former case, you can use a da cursor and the python geometry apis to find the farthest distance from your query point. In the second case you can use the Spatial Analyst DistanceAccumulation and Con tools.

Here are a few more details.

In the first case, you could get a quick approximate solution by densifying the input polygon boundary and then looping over all vertices in the polygon to find the farthest vertex from the query point. 

In the second case you need to create a raster that represents the background portion of the polygon. For example, for the "C" shaped polygon above, the background raster would be these gray cells. After rasterizing the polygon, the IsNull and CON tools can be used together to create it.

JimTenbrink_1-1632871304647.png

You can then specify the gray raster as the 'barrier' parameter to DistanceAccumulation and the point P as the source parameter. Your output 'accumulation' raster will be the distance from each interior cell to P (travelling on the shortest path to P inside the polygon). You can then find the location(s) that have that maximum distance by using the CON tool, along with the 'max' value from the output accumulation raster's statistics.

At Pro 2.9,  the second case will be a bit easier: you'll be able to simply specify the polygon as the 'mask' environment for the DistanceAccumulation tool. You won't have to first create the complement as the barrier.

Let me know if this helps.

-Jim TenBrink

spatial analyst team

0 Kudos