Tangogps or navit with prepackaged Europe map

Christ van Willegen cvwillegen at gmail.com
Thu May 28 16:30:12 CEST 2009


On Thu, May 28, 2009 at 4:13 PM, arne anka <openmoko at ginguppin.de> wrote:
>> basically a memory format and as far as I can read it mmappable.
>
> i never looked into navit's source code.
> the train of thought was simply:
> small file -> highly compressed information -> increased cpu usage while
> extracting.

I've (briefly) looked into Navit's source code, and I've 'seen' a .bin
file. If you unzip -l such a .bin file, you'll see lots of small files
with file names consisting of A's, B's, C's and D's.

Based on my non-knowledge of how things work, I expect that the world
has been recursively divided into 4 parts (north-west = A, south-west
= B, south-east = C and north-east = D) up to a certain depth. It is
then 'quite easy' to calculate from a given position where it maps
into which ABCDABCD file, which can then be extracted from the
appropriate .bin file and read into memory and processed. You'll only
have to cache the .bin file's directory to be able to quickly find the
correct .bin file, and then seek to the correct position and read the
.zip file. zlib (at least, I think it's zlib) does this with much
ease.

Actually, loading the files does not take much CPU time, but drawing
all the vectors and filling in the shapes takes lots of time...

Christ van Willegen




More information about the community mailing list