Nyall Dawson
9698444f4a
[processing] Fix inefficiencies in Delete Duplicate Geometries algorithm
...
..and make progress bar more accurate.
Use a spatial index to avoid comparing every feature to every other
feature, and only compare against features with intersecting bounding
boxes instead. Also optimise feature requests and loop logic.
Benchmarks:
Point layer, 6000k features
Before: 30 seconds
After: 0.15 seconds
Point layer, 45k features
Before: > 10 minutes
After: 7 seconds
Fixes #19973
2018-09-29 07:37:53 +10:00
..
2018-09-11 15:40:27 +10:00
2018-09-14 18:23:03 +10:00
2018-09-18 11:08:28 +07:00
2017-12-14 18:04:12 +02:00
2018-06-20 08:07:23 +10:00
2018-08-25 15:41:13 +10:00
2018-06-20 08:07:23 +10:00
2017-08-07 18:08:57 +10:00
2018-09-18 16:36:30 +02:00
2018-02-05 08:50:44 +02:00
2018-09-14 13:24:57 +02:00
2016-07-21 22:01:38 +10:00
2018-05-15 20:21:08 +10:00
2018-06-15 06:39:48 +10:00
2017-12-14 18:04:12 +02:00
2018-06-06 06:24:24 +10:00
2018-05-15 12:10:11 +07:00
2018-09-14 18:23:03 +10:00
2018-09-29 07:37:53 +10:00
2018-02-21 09:16:43 +11:00
2018-04-20 18:27:00 +10:00
2018-05-01 10:43:13 +07:00
2018-04-28 05:50:47 +10:00
2018-05-15 12:10:11 +07:00
2018-05-15 16:37:25 +07:00
2018-04-28 05:50:47 +10:00
2018-08-25 15:41:13 +10:00
2018-08-25 15:41:13 +10:00
2018-09-14 18:23:03 +10:00
2018-04-28 05:50:47 +10:00
2018-09-14 18:23:03 +10:00
2018-04-28 05:50:47 +10:00
2018-08-30 05:10:42 +10:00
2018-08-30 05:10:42 +10:00
2017-12-14 18:04:12 +02:00
2018-04-28 05:50:47 +10:00
2018-04-28 05:50:47 +10:00
2018-04-28 05:50:47 +10:00
2018-04-20 08:38:15 +10:00
2018-08-25 15:41:13 +10:00
2018-08-25 15:41:13 +10:00
2018-04-28 05:50:47 +10:00
2018-09-14 11:44:53 +02:00
2018-09-21 18:15:46 +10:00
2018-04-28 05:50:47 +10:00
2018-06-04 13:32:56 +07:00
2018-05-15 16:37:25 +07:00
2018-02-21 09:16:43 +11:00
2018-05-15 16:37:25 +07:00
2018-08-28 10:21:10 +10:00
2018-09-29 07:37:53 +10:00
2018-08-26 11:26:07 +03:00
2018-08-26 11:26:07 +03:00
2018-09-25 05:20:25 +10:00
2018-04-28 05:50:47 +10:00
2018-04-28 05:50:47 +10:00
2018-04-28 05:50:47 +10:00
2018-08-28 10:21:10 +10:00
2018-04-28 05:50:47 +10:00
2018-09-21 18:15:46 +10:00
2018-08-21 16:00:18 +10:00
2018-08-21 16:00:18 +10:00
2017-07-18 19:41:33 +10:00
2018-09-26 04:26:49 +10:00
2018-04-28 05:50:47 +10:00
2018-07-04 19:15:29 +03:00
2018-09-29 07:37:53 +10:00
2018-09-29 07:37:53 +10:00
2018-09-29 07:37:53 +10:00
2018-09-29 07:37:53 +10:00
2018-06-28 15:02:06 +10:00
2018-07-04 19:15:29 +03:00
2018-09-04 15:46:42 +02:00
2017-12-21 17:55:02 +01:00
2018-03-02 10:35:56 +02:00
2018-03-02 10:35:56 +02:00
2018-07-28 12:30:06 +07:00
2018-04-28 05:50:47 +10:00
2018-05-31 08:55:26 +10:00
2018-08-15 10:23:02 +10:00
2018-08-09 19:17:30 +10:00
2018-04-10 10:15:19 +10:00
2018-08-30 05:10:21 +10:00
2018-05-16 11:20:09 +03:00
2018-04-28 05:50:47 +10:00
2018-04-28 05:50:47 +10:00
2018-09-14 18:23:03 +10:00
2018-01-29 17:37:05 +11:00
2018-01-29 17:37:05 +11:00
2018-09-14 18:23:03 +10:00
2018-04-20 18:27:00 +10:00
2017-12-14 18:04:12 +02:00
2018-09-13 16:24:37 +02:00
2018-01-29 17:37:05 +11:00
2018-08-21 16:00:18 +10:00
2018-08-29 01:07:08 +02:00
2018-08-29 01:09:53 +02:00
2018-06-20 15:06:36 +10:00
2018-05-15 16:37:25 +07:00
2018-09-14 18:23:03 +10:00
2018-04-19 17:19:07 +07:00
2018-09-29 07:37:53 +10:00
2018-01-29 17:37:05 +11:00
2018-05-15 16:37:25 +07:00
2018-06-04 13:32:56 +07:00
2018-04-28 05:50:47 +10:00
2018-04-28 05:50:47 +10:00
2018-04-28 05:50:47 +10:00
2018-04-30 16:50:34 +07:00
2018-09-08 14:38:25 +10:00
2018-09-06 06:52:23 +10:00
2018-06-08 10:13:13 +10:00