How to find adjacent polygons with ArcGIs 9.3

12-07-2012 03:50 AM
Occasional Contributor III
Hi all

Is there a command in Model Bulder that allwos to find all the adjacent polygons for the selected oplygon.

I know that in 10 there is Polygon Neighbors

0 Kudos
2 Replies
New Contributor III
I would recommend the Select Layer By Location tool.

You first need to use the Make Feature Layer tool to create the input layer for the Select Layer by Location tool.

You may also want to use the Select Layer by Attribute tool to select the individual polygon in your new feature layer that you want for your adjacency analysis.

With the Select Layer by Location tool there are several options to choose from depending on your layer topology.
For example if you know your polygons are topologically sound with no overlaps or gaps you might want to use the "BOUNDARY_TOUCHES" option.  Here is the full list of options: {INTERSECT | WITHIN_A_DISTANCE | COMPLETELY_CONTAINS | COMPLETELY_WITHIN | HAVE_THEIR_CENTER_IN | SHARE_A_LINE_SEGMENT_WITH | BOUNDARY_TOUCHES | ARE_IDENTICAL_TO | CROSSED_BY_THE_OUTLINE_OF | CONTAINS | CONTAINED_BY}

With options such as "INTERSECT" you can specify a buffer distance.

I hope this is what you were looking for.

0 Kudos
Regular Contributor II
With an advanced license, you can use
PolygonToLine_management (in_features, out_feature_class, "IDENTIFY_NEIGHBORS")

That gives you a line attribute table with FIDs for polygons on the left and right sides.
Relationships can get complicated with nested polys and polys with holes,
but essentially any line with positive LEFT_FID and positive RIGHT_FID divides the two polygons with these FIDs.
Thus, it shows ajacentcy.

Joining this table back to the polygons tells each poly its neighbor.
0 Kudos