Feature request #19379
precision option in vector tools select/join by location
|Pull Request or Patch supplied:||No||Resolution:|
|Easy fix?:||No||Copied to github as #:||27207|
The precision option in the select/join by location tools has been removed in qgis 3. Will it return in the near future?
I understood this to be due to a bug in the option according to a comment on stackexchange https://gis.stackexchange.com/questions/268992/join-attributes-by-location-precision. My experience was at least that when using the option, exact intersects (difference of 0) where excluded from the results and only the not exact intersects but within the set precision where included
( 0 < distance <= precision).
The option is however essential for selecting and joining by location as geometries often don't exactly intersect. This can be due to different reasons like transferring data between different programs with different precisions (8 vs 10 decimals for instance), not snapped drawings and processing data.
Missing this option requires timeconsuming workarounds, like switching between arcgis (where it is possible) and qgis or snapping features before being able to use select/join by location (this is often not a preferred option).
Unfortynately, I cannot offer an idea for the solution. I hope to see the option returing soon.
#1 Updated by Nyall Dawson over 1 year ago
This option needs to be totally re-thought. The setting was misleading in that it was often misinterpreted as "the maximum distance between features which don't actually intersect but should be treated as though they intersect". However, the value was actually "the maximum distance where results are undefined". So it applied randomly to either non-intersecting features, as well as features which actually DID intersect, but by a distance less than the tolerance. In other words, the results for features within the tolerance distance was completely random and could not be predicted.
What most users want is actually the first definition of tolerance. And that's never been implemented in QGIS (the current approach would be to buffer one of the input layers by the desired tolerance).