D
D
Dmitry Bondarenko2014-10-10 15:36:55
OpenStreetMap
Dmitry Bondarenko, 2014-10-10 15:36:55

Is it possible to use sqlite to store tiles from a map?

Hey!
Now I have tiles for the map stored in FileDB .
This service stores tiles for maps in the sqlite3 database as a BLOB. Haven't tested performance yet, but the Maperitive utility I use to generate tiles supports this "format". However, when generating, I managed to drop the performance to 3-4 tiles per second at level 13 (against generating about 50 tiles per second in the form of pictures).
Now the 14th zoom level is being generated - almost 2 million pictures. I plan to generate up to 17 inclusive. Will the database handle such volumes of data - approximately 128 million tiles, the volume is about 106 gigabytes?
Here I have to make a few footnotes -
- so far the pictures are in PNG, now I will test JPG, if it takes up less space, I will use it.
- at the moment, hashing and removal of identical images from the database is not implemented, i.e. if 100 thousand pictures have a sea background - it can be described with just 1 picture
- 17th zoom level is the plan. I generate on the 1st level, and there it will be seen.
Or maybe something already exists for this?
Platform - WinRT, offline map in the application, application for internal use by employees on the road. In theory, if the software will work in the office, I will organize TileServer for network work. Also, if the tablet "finds" a local network or a "high-quality" Internet, you can organize the loading of the rest of the missing data from TileServer.

Answer the question

In order to leave comments, you need to log in

2 answer(s)
G
gleb_kudr, 2014-10-11
@bondarenkod

It will pull in volume. According to the structure - be sure to take all the keys to a separate database, do not look for anything in the pictures, just take it at a known address. Well, we must remember about the single-threaded operation of the database. If that suits you, then go ahead.

E
evnuh, 2014-10-10
@evnuh

This particular upper bound is untested since the developers do not have access to hardware capable of reaching this limit. However, tests do verify that SQLite behaves correctly and sanely when a database reaches the maximum file size of the underlying filesystem (which is usually much less than the maximum theoretical database size) and when a database is unable to grow due to disk space exhaustion. From https://www.sqlite.org/limits.html .

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question