ArduPilot / ArduPilot/MissionPlanner
Feature request: Support RMaps sqlitedb AND/OR mbtiles sqlite map formats
- Dominant language
- C#
- Stars
- 2.4k
- Forks
- 2.9k
- Avg merge
- 19h 16m
- Merged PRs (30d)
- 4
Description
The current mp tiles cache is not efficient for large map fetches. Also very slow at filesystem if you are to fetch large areas.
So I'd suggest that MP can directly open and use sqlite-based offline map formats.
Rmaps and mbtiles sqlite formats are very well supported on large spectrum of map applications on Desktop and Mobile. And can be easily generated using MOBAC atlas creator.
SQLITE is very efficient and fast compared to direct filesystem storage with thousands of small files.
So it could be a simple "Open offline map" button in "Flight Plan" and user can choose the RMaps .sqlitedb or MBtiles .mbtile file. - opening it as readonly can make it even faster -
Reference on db schemas:
Rmaps
https://thejeshgn.com/2014/06/12/tiled-map-storage-in-sqlite/
Mbtiles
https://github.com/mapbox/mbtiles-spec
Note: You can create small one of each type using mobac and explore the schema, it's very simple. Just note on RMaps zoom level it's "17-Zoom".
I'd really also highly recommend that one of those formats are used for MP cache of online maps.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with Mission Planner's existing MP tiles cache and the Flight Plan offline-map flow. Compare the referenced RMaps and MBTiles schemas, including the RMaps inverted zoom level, and define done as opening both formats read-only and using their tiles for offline maps.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, sqlite
- Domain
- databases, desktop, performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100