otavio17 / andnav

Automatically exported from code.google.com/p/andnav
0 stars 0 forks source link

Redesign the map (tile/vector) storage #15

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
The current system of storing tiles uses 2 orders of magnitude more storage
than OpenStreetMaps - the issue has been discussed on the wiki at
http://wiki.andnav.org/index.php/Talk:MapTilePacks#4_GB_for_the_Los_Angeles_area
.3F.21_When_the_entire_planet_OpenStreetMap_is_2.2GB.3F

Another problem with this kind of storage is the sheer number of files
necessary to hold the map tiles, which slow down the device - see
http://androidforums.com/samsung-i7500/12127-galaxhero-rom-slower-than-thought.h
tml#post69767

We might want to look at Navit and RMaps, which store the map much more
efficiently. RMaps simply puts all the tiles in a SQLite database and is
blazing fast at accessing them -
http://translate.google.com/translate?prev=hp&hl=en&js=y&u=http%3A%2F%2Frobertde
veloper.blogspot.com%2F2009%2F09%2Ftrekbuddy-atlas-creator.html&sl=auto&tl=en&hi
story_state0=

Original issue reported on code.google.com by ddascale...@gmail.com on 26 Jan 2010 at 2:38

GoogleCodeExporter commented 8 years ago
http://www.mapdroyd.com/ uses vector maps, which are much more efficient than 
storing
tile images, and would theoretically allow route calculation on the phone itself
(maybe).  I think it is slower to generate the maps, though.

All of NY, CT, MA, NJ, PA at all detail levels requires 5 files that take up a 
total
of 116 MB.  My AndNav2 folder, for a similar area, but only with low resolution 
in
most places, uses 47,420 files and takes up 500 MB.

Original comment by omegat...@gmail.com on 27 Jan 2010 at 4:49

GoogleCodeExporter commented 8 years ago
Maybe we could use OSM vector data and render it ourself? It is saved in 
xml-like 
files (http://wiki.openstreetmap.org/wiki/.osm). Unfortunately it doesn't save 
much 
space. I checked it comparing it to png data and with zoom level 12-16 on png 
data it 
was 3,1MB vs. 1,4MB for vector data. Vector data was stored in one file, but it 
would 
have to be split in smaller files to make it render fast enough. I used map 
call 
similar to these: http://api.openstreetmap.org/api/0.6/map?
bbox=20.500057396316528,50.8003601795557,20.599999496841431,50.8999406454029

Original comment by stawskim...@gmail.com on 5 Feb 2010 at 12:24

GoogleCodeExporter commented 8 years ago
http://wiki.openstreetmap.org/wiki/Android#Android_software_supporting_OpenStree
tMap
lists all known Android software to use OSM. Among those that do vector 
rendering,
I've tried MapDroyd and it required about 90MiB for California. Not bad at all.

Original comment by ddascale...@gmail.com on 5 Feb 2010 at 8:39

GoogleCodeExporter commented 8 years ago
MapDroyd uses MicroMap format, which is maybe proprietary?
http://www.onestepahead.de/index.php?option=com_content&view=article&id=96:micro
map&catid=72:micromap&Itemid=62

Original comment by omegat...@gmail.com on 16 Feb 2010 at 12:35

GoogleCodeExporter commented 8 years ago
The GPLv2 project Gpsmid also uses vector based maps. I think it is using an 
own developed format. To convert raw osm-data and create an application 
containing the map data, the program Osm2GpsMid is used.

http://gpsmid.sourceforge.net/osmtogpsmid.html

(I have made a script to fetch a country db, cropping a selected region, 
converting and adding latest speed cameras from another source, adding 
openstreetbugs and then generating the application+map data. I used to let this 
script be executed automatically every week, to always have an updated map 
available. It was really convenient!)

Original comment by daniel.m...@gmail.com on 30 Jun 2010 at 10:10