mapbox / mapbox/mapbox-maps-ios

Best practice for animating large vector data

Open
#1,910 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

auto-triaged question
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.