-
-
Notifications
You must be signed in to change notification settings - Fork 3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Changes: - handle different CRS transparently - don't build a spatial index on the selection layer. Instead only use feature requests to fetch features which are within the desired bounds, and rely on the presence of an appropriate spatial index at the provider's backend. Otherwise, we force every user of this algorithm to have a full iteration of the source table, regardless of how large the table is. That means that trying to select a set of addresses which fall within a specific locality from a table which contains the addresses for a whole state will FORCE every address in the state to be initially read before any calculation begins. With this change only those features within the bounding box of the selected localities will ever be fetched from the provider, resulting in huge speed improvements for the algorithm. - use prepared geometries for the spatial relation tests. This dramatically speeds up the algorithm in the case where the intersection layer features cover multiple features from the 'selection' layer. - Add a 'select within current selection' mode - Optimise feature requests for efficiency (especially with respect to the 'disjoint' selection mode)
- Loading branch information
1 parent
20d8244
commit 24a4ab7
Showing
2 changed files
with
81 additions
and
63 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters