[QGIS-Developer] equals_exact confusion

Stefanos Natsis uclaros at gmail.com
Tue Jun 30 11:27:07 PDT 2026


Hi List,

During the last development cycle a few expression functions for geometry
comparison have been introduced [0], [1].
I'm afraid that the current implementation may lead to user confusion,
because now one can use:
- `equals_exact( geom1, geom2, 'QGIS' )` to check if two geometries are
fuzzy-equal within an epsilon of 1e-8
- `equals_fuzzy( geom1, geom2, 'QGIS', 1e-18 ) to check if two geometries
are fuzzy-equal within an epsilon of 1e-18
- `equals_exact( geom1, geom2 )` to get the exact same result as
`equals_fuzzy( geom1, geom2 )` using default parameters.

As it can be clearly seen, the _exact_ keyword is misleading, as only 8
decimal digits are used for the comparison.

I wonder if anyone else thinks will lead to user confusion and whether we
should be offering a single function for comparison with an optional
epsilon parameter.
So to practically keep the `equals_fuzzy()` implementation but with a
generic `equals()` name, like:
```
equals_fuzzy(geometry1,geometry2[,backend:='QGIS'][,epsilon:=1e-8])
```

Best,
Stefanos


[0] https://github.com/qgis/QGIS/pull/62603
[1] https://github.com/qgis/QGIS/pull/65674
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20260630/290d077d/attachment.htm>


More information about the QGIS-Developer mailing list