mapbox / mapbox/mapbox-maps-ios
Best practice for animating large vector data
Nobody has claimed this yet.
- Dominant language
- Swift
- Stars
- 601
- Forks
- 196
- PR merge metrics
- No merged PRs in 30d
Description
## New Feature
Hey, we're looking at animating relatively heavy vector data, at about 2-4mb/s of raw geojson with mapbox for iOS (and Android) with a data update rate of 2-4 times a second. The data is a polygon cluster positioned relative to the user's location, which we can transform to geojson or any other meaningful native format.
The data is being generated live by external sensors, meaning that we can't pre-produce a static tileset, and everything needs to run E2E on the device itself. There are multiple ways to approach this, and given the complexity of it, we'd love to:
a) Get best-practice feedback on how to do it with as much performance as possible
b) On our end, contribute back with better documentation (we haven't been able to find any guides on it)
The options, as we see them are:
a) Generate geojson and set it directly as a source in mapbox
b) Transform geojson into vector tiles and serve as raw tiles on a on-device tileserver and update URL query params to force-refetch tiles
c) Transform to PGNs (undesirable for many reasons) and set PGNs as an image source or hosted on a on-device tileserver
## Why
iOS and Android do not seem to offer any documentation on how to animate large vector data.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No file, test, or entry point is identified in the issue. Start by comparing the listed GeoJSON source, on-device vector-tile, and image-source approaches for Mapbox on iOS and Android; done means a documented, performance-focused best-practice recommendation for animating the described live vector data.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ios, swift
- Domain
- computer-graphics, mobile
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100