At which (xth) decimal place of the coordinate values QGIS defines any set of points is duplicate?
I had been thinking QGIS handles ~15th decimal place; but it was the limitation only because I had been working on Shapefiles mainly.
However, the limit does not apply when I choose another data source, like a temporally scratch layer.
Using a dummy data like below, I made a quick test by two tools, to find the smallest value they can identify differences of coordinates:
- QGIS geoprocessing:
Delete duplicate geometries
- MMQGIS plugin:
Delete Duplicate Geometries
Output by QGIS Delete duplicate geometries
is the same as the above input data (all 20 records were preserved), so it may mean QGIS thinks they are all distinct. Does this limit go beyond 1e-29 (or 1e-30) seen in this small test?
Just as comparison, MMQGIS Delete Duplicate Geometries
produced below. It seems MMQGIS sets the 16th or 17th decimal places as the limit.
[Edit]
I am afraid I had not been clear what was the central part of my question. My aim to understand the relationship between coordinate values and the duplicates/overlapping, that is as stated in the first paragraph of my question. Hopefully this kind of knowledge can help us easily control overlapping features by tweaking field calculator expressions.
However, underlying issue I had been trying to focus was that the decimal places QGIS recognizes points (nodes) as overlapping seem to vary, depending on the data source.
If we use Shapefiles for our layer, QGIS handles ~15th decimal place and smaller difference (at 16th or 17th) is not recognized... MMQGIS is also affected by this limitation (to my eyes). If we create a temporally scratch layer or DB layers this limitation goes well beyond 30th-ish? This change in behavior makes me wonder.