7

My non-GIS coworkers are always baffled by the results of intersection queries, because they expect the result pictured below, but instead, they get every single feature being selected.

Part of the problem is that ESRI uses the term "intersect" to refer to both of these, completely different spatial relationships (see: Select by Location Intersect vs the Intersect analysis tool).

I always use work-arounds (typically a union/intersection analysis and then a series of cursors), but there must be a spatial relationship defined somewhere in ESRI's capabilities that selects features as selected in the picture below based on their relationship to the underlying, green feature. That mystery definition is apparently used in the Intersect tool, but what if we want to stop it short of cutting the features and instead copy the entire feature that otherwise would be sliced up and only partially retained?

Is there some other tool where such a selection capability might exist?

It's an "overlap", as simply and straightforwardly interpreted everyday in our language, so where is it in ArcGIS?

enter image description here

10

Run the Intersect tool, and then use the FID field to Relate the Intersect results layer back to the original layer. (Relate here in the Esri Joins and Relates sense).

This gives you the best of both: the detail of the intersect layer, but the ability to select the originals (as in the original poster's screenshot) and do what you like with them.

The workflow is:

  1. Run the Intersect tool on the source layer;
  2. Relate the resulting layer to the source layer, based on the FID_ and OBJECTID columns respectively;
  3. Select all records in the resulting layer;
  4. In the attribute table of the resulting layer, use the Related Tables button to select the related shapes: these are the original shapes, as wanted.
1
  • 1
    I like that this isn't a hack with potential for error--like the negative buffers. – Tom Oct 31 '16 at 15:33
7

Actually, the Intersect tool uses the exact same spatial relationship as the Intersect Select By Location tool. However, since the Intersect Tool is set to only output polygons, all of the unselected features in your drawing only generate incompatible geometry (points or lines) and as a result are excluded from the final output. Had you set the output geometry type to points or lines, the unselected features potentially would have generated a compatible geometry and been included in the Intersect output. The Select By Location essentially treats a feature as overlapping if it is included in any of the 3 geometry type outputs of the Intersect tool and this option cannot be limited to only checking for polygon output geometry.

Now as to the spatial relationship you want, there is no special option that meets the displayed criteria you have illustrated in the Select By Location Tool. However, you can simply use the Intersect option with the green shape as the Source layer and use a really small negative buffer. That would work (assuming that none of the polygons have an overlap that is less than the negative buffer distance, or that those polygons that have an overlap less than the negative buffer would be regarded as sliver topology errors anyway and you would want them excluded).

Here is a result I get with a layer using a negative buffer (the left edge and bottom left edge have snapped boundaries with the hatched polygons). Of course, the two layers and the data frame are all using the same Projected Coordinate System. If those three components have any difference in the coordinate system between them, I would expect problems with the Select By Location tool. I get the same results with a negative buffer as small as -0.007 feet, but at -0.006 feet the selection starts to include the exterior polygons that touch the edge of the pink polygon.

Negative Buffer

7
  • I recently started using a small negative buffer, but there are issues with that as well; I can't decipher a pattern in ESRI's interpretation of the threshold used. E.g., even with a precision of 0.001 meters in both datasets, setting a -3 foot search distance on the intersect still selects these outside polygons (and of course, these polygons were created by snapping to the edge/vertex of the green feature, so there is nowhere close to a 3 foot overlap). – Tom Jun 22 '16 at 17:33
  • Is this data in a Projected Coordinate System and both feature classes are using the same coordinate system? Or is this data in a Geographic Coordinate System or the feature classes have different projections. Based on the fact they are snapped I assume both feature classes are in the same coordinate system. What kind of data is this. Is it in SDE, a file geodatabase, shapefiles, etc.? Anyway, I have had success with negative buffers using my data, so I am not sure what might be occurring with your data. So I will have to do some experiments to see if I can reproduce what you described.. – Richard Fairhurst Jun 22 '16 at 17:56
  • Also, verify that your data frame is set to match the coordinate system of your layers. So far in my experiments with the snapped data that I have, I have only gotten good results when I use negative buffers as small as -0.007 feet. – Richard Fairhurst Jun 22 '16 at 18:19
  • Yep. They're all projected and in the same coordinate system as the data frame. – Tom Jun 22 '16 at 18:21
  • Perhaps run the Check Geometry and/or Repair Geometry tools on both feature classes. You may have to contact Esri support and send them your data to see if they can reproduce the behavior you are reporting for the negative buffer, because so far I have not observed that behavior with my own data. – Richard Fairhurst Jun 22 '16 at 18:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.