mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-27 00:33:48 -05:00
Before we had two checks - equals() and isGeosEqual() which performed the exact same check (since equals() called the geos equality test) Since the geos equality test is a slow, topological test, which considers two geometries equal if their component edges overlap, but disregards ordering of vertices this is not always what we want. There's also the issue that geos cannot consider m values when testing the geometries, so two geometries with different m values would be reported equal. So, now calling QgsGeometry::equals performs a very fast, strict equality test where geometries are only equal if the have exactly the same vertices, type, and order. And swap most code which was calling the slow geos test to instead use the fast strict native test.