fix: Handle rendering a single point #7256
Merged
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.
SUMMARY
Deck gl scales the x and y axis based on the bounds we pass it. The scaling involves dividing a target size by the range. But since the range is 0 for a single point, we throw an error if our data is a single coordinate. This change will check if we have a single coordinate. If so, then the bounds we pass to deck gl will be the point's coordinates with padding.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
Before:
After:
TEST PLAN
Manual testing and unit tests.
I tested manually with normal single points, boundary cases, and various viz types. I noticed that it does not render the single point for boundary cases and certain aggregated viz types like hexagon, But I believe this is more of a deck gl issue.
ADDITIONAL INFORMATION
REVIEWERS
@xtinec @betodealmeida @datability-io
@williaster @kristw