3

I am wondering if there is a way to put a tolerance when doing a "Select by location" with the option "Are identical to the source layer feature".

Here is why I want to do this (I got a polyline layer). The problem is that I do a dissolve on a layer and the resulting layer has some lines that aren't dissolved. Now I need to select theses lines.

It should work but the problem is that sometimes, the vertex are off by 0.001 from the source layer. The "Select by location" isn't working in that case.

Is there a way to use a tolerance?

  • Are you layers both shapefiles or in the same feature dataset of a geodatabase? Identical is so hard to implement so please consider the answer by whyzar, there's some useful tips. One other method that I can suggest will only work if both feature classes are the same type due to coordinate storage on a base level, the ArcGIS tool Snap resources.arcgis.com/en/help/main/10.2/index.html#//… (standard and advanced license level) can re-align the vertices, which may not be enough. You could also try the within operator, that would let you select with a tolerance. – Michael Stimson Oct 10 '17 at 21:22
  • I use different workspaces, shapefile to memory. I tried to use shapefiles for both and it does the same thing. I will try to use the method of whyzar. – Math Oct 11 '17 at 14:05
2

I don't see an option for this based on the syntax provided not allowing for tolerance within the select by location. You could try this option How to “select by location” certain points

Buffer (without dissolving) all lines a (very) small distance.

Spatially Join your points to your buffers with a one-to-one join_operation with an intersect match_option.

In the resulting feature class, there will be an attribute Join_Count of how many buffers matched each point.

Any point at an intersection would intersect two buffers, while points anywhere else along the line would only intersect one buffer.

Using select by attributes, you can select those points which only intersected one buffer.

  • I think that would work. For the lines that are close and would dissolve (if I did dissolve them), I also need to not dissolve (ignore) them if their attributes are different. I tried to make the buffer by dissolving the lines with the fields that I need but it doesn't give the results that I want. Would you do something else? – Math Oct 11 '17 at 13:47
1

You can create Centroids from the two layers, using "Feature to Point". Then apply Select by Location, Intersect the source layer, using a small search distance. This should detect lines that did not change.enter image description here

  • This will also find the ones that do change, to limit to only the ones that have changed you would need to calculate lengths, spatial join and then select from joined layer where the length of the line hasn't changed significantly. – Michael Stimson Oct 11 '17 at 20:54

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.