I have two polygon layers - Parcels (in yellow below) and Sites (in Red hatch) - and I am trying to select all polygons from layer 1 that have any part of layer 2 in them, ignoring where edges touch.
In this example I want Parcels B, F, M, N, Q, R, W, X to be selected. I do not want Parcels A, C, etc. selected even though their edges touch the Sites
So far the only option under Select by Location that I've found to mostly work is "Intersect" with a negative Search Distance.
This negative Search Distance isn't ideal as I need to be sure I'm finding all features (although with 5mm I'm pretty close). In my testing I found that setting a smaller Search Distance like
-0.2 will still select the additional unwanted polygons. I have checked, there is no overlap here.
Ultimately I am wanting to select all Parcel features that do not have a site, which will be incorporated into a much larger arcpy script.
Is there a geoprocessing tool that ignores touching edges when selecting polygons?
import arcpy mxd = arcpy.mapping.MapDocument("CURRENT") inFeat = "TestParcel" selFeat = "TestSite" arcpy.SelectLayerByLocation_management(inFeat, "INTERSECT", selFeat, "-0.5 Centimeters", "NEW_SELECTION", "INVERT")
I have tested the other selection Relationships like "Contains" however these don't select all the features I'd expect or select other features I don't want. The negative Search Distance on Intersect is the best result I've found so far.
Note: My polygons (in both layers) are varying sizes and shapes, and aren't always centred/aligned with each other. The screenshots here are just of my test data.