# Find closest point between polygons inside other polygon I have access to ArcInfo (ArcGIS 10.1). The dark polygons are settlements. The green polygon is derived from a suitability analysis. The surrounding white area is restricted. I want to find a point that will serve as a bus stop that has the shortest possible distance between the 2 settlements but it must fall within the green area. The initial idea was to convert the settlements to raster, raster to point (to mimic density), merge points and mean center. In this case we are not taking into account the green area, so there is a great possibility that the mean center will fall inside the bigger settlement. However I want it to be specifically inside the green polygon. Do you have any ideas?

• If you convert only the green polygon to raster and then follow your proposed workflow, the point would be contained in the green area. (However, "mean center" would probably be further to the east than the true "shortest distance to both settlements" location.) Jul 9, 2014 at 14:26

the shortest possible distance between two areas is somehow undetermined. I guess that you mean something near the middle of your two settlements so that one does not have more to walk than the other. Here are a few things that you could do :

1) a)get the centroid of your polygons (feature to point)

b) create a line based on those centroid (XY to line)

c) intersect this line with your green area

get the center of the line (feature vertices to point (with mid) option

2)

a) intersect your settlement with your green area

b) create a convex hull for the two lines (minimm bounding geometry)

c) get the centroid of the resulting polygon

3) (for me this is the best solution, but longer)

a) convert the vertices of your settlements to points

b) create Thiessen polygons

c) spatial join your Thiessen polygons with the settlements

d) dissolve the Thiessen polygons based on the attribute of the settlement

e) intersect the dissolved polygons with your green area (with output type = line)

f) convert the vertices of resulting line to points (all)

g) spatial join the points to the input polygons

h) select the point with the smallest distance

Assuming that you have converted the green polygon to a raster and then to points, the more complex question is how to determine which point is closest to both polygons. You need to minimize both the distance to each polygons, and difference in distances.

1. Run Generate Near Table twice, each time using the points as Input Feature: once the north settlement as the Near Features, once with the south settlement.
2. Join the two resulting tables, using `IN_FID` as the common field.
3. In a new field (e.g. `DistDiff`), use Field Calculator to subtract the two `NEAR_DIST` fields.

Points with very small `DistDiff` are approximately equidistant to the two settlements, and finding the smallest original `NEAR_DIST` can find the closest point.

Not an answer, just an illustrative comment: The bus stop should be the center of a circle inside the green area, which is tangent to the two black settlements.