add getLeaves method for retrieving leaf points (paginated) #32
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Building on #31, this PR adds a method for a super-fast retrieval of leaf points in a cluster with pagination support. This is the second part of solving mapbox/mapbox-gl-js#3318, allowing us to create a UI where you can click on a cluster and get a paginated view of all points in it with ability to jump between pages.
Usage is as follows:
Since this is basically depth-first spatial tree traversal, the call is very fast — e.g. getting 1000 points starting from the 200,000-th from a 400,000-point cluster takes just 2-3ms. Getting an array of all 400k points (
limit = Infinity, offset = 0
) takes 220ms, which is surprisingly fast too.cc @apkoponen @bewithjonam @stepankuzmin @popovae