Please sign in to comment.
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Refine behavior of QgsGeometry equals tests
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.
- Loading branch information
Showing with 111 additions and 19 deletions.
100644 → 100755