ArduPilot / ArduPilot/MissionPlanner

Feature request: Support RMaps sqlitedb AND/OR mbtiles sqlite map formats

Open
#2,179 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.