Opened 3 years ago

Last modified 3 years ago

#1235 new enhancement/feature request

Mapsforge map driver

Reported by: mvglasow (2) Owned by: cp15
Priority: minor Milestone: version 1.0
Component: mapdrivers/OSM Version: git master
Severity: complex Keywords: maps, data, map driver
Cc:

Description

The Mapsforge (http://www.mapsforge.org) project provides a free and open Java library for ad-hoc map rendering. It has its own file format, specified at https://code.google.com/p/mapsforge/wiki/SpecificationBinaryMapFile.

It would be great to have a map driver for Navit which could read Mapsforge data files. This would require me to keep just one map database on my device, usable both by Navit and by apps using the Mapsforge library, rather than having to download and store essentially the same map data twice, each in a different format. At a later stage, Navit and Mapsforge could even join forces on things like providing map data.

As far as I understand, the Mapsforge format is lossless (in that no OSM data is discarded) and, while currently being used mostly for map rendering, is also suitable for routing. The size of a Mapsforge map database is about the same as for a Navit binfile of the same area.

It should thus be possible to write a map driver which reads the Mapsforge format and internally translates OSM object types to Navit object types. Most new code would be about parsing of the Mapsforge file format; the rest can possibly done with maptool code.

The only potential obstacle I can see would be if Navit were to require any particular kind of preprocessing (such as transforming data structures or creating indices) that is currently done in maptool but would be too expensive to do in real time.

For this reason I am putting this idea up for discussion: Is the approach I am describing feasible at all? Has anyone looked into this before?

Change History (1)

comment:1 Changed 3 years ago by mvglasow (2)

  • Type changed from defect/bug to enhancement/feature request
Note: See TracTickets for help on using tickets.