What is this?
TileLess is an attempt to investigate a path for a responsive offline map with capacity for a lot of data.
It aims at:
- being fast (enough)
- structured data storage for future processing and analyzing
- possible to keep detailed country scale maps on a device
At this stage it does not in any way aim at being easy to set up
How large maps can be handled?
Data is stored and indexd in Sqlite. Very large maps can be handled.
The geometries are stored as twkb. Polygons holds triangulation. All geometries also have spatial index, which uses space.
But it is quite compressed. If 1 m precision is enough most maps are stored with a little bit over 2 bytes per coordinate (1 for x and 1 for y).
If 1 m precision is used and the points in the geometry is closer than 63 meters from each other in x and y, 1 byte per x and y is enough.
For polygons approx 3 more bytes are used for triangle information. So 5-8 bytes in average per coordiante for polygons.
And then the spatial index needs some bytes per geometry to store bounding boxes and tree information.
Example:
Whole Sweden as 1:50000 map (and 1:1000000 as overview) showing type of area, roads, rivers, altitude lines and texts needs approx 2 GB.
The same for Norway needs approx 2.4 GB (Maybe more detailed than Swedish official map).
Below are some demo-maps
I will write som blog posts describing what is happening behind the scenes.
As the title suggests, this is just a proof of concept. But it shows possibilities.
sources:
https://github.com/TilelessMap/TilelessMap
I haven't investigated how to share the android project but that will come. It is more or less just the demo project of sdl (http://libsdl.org)
Apk for android
Remember that testing the apk is on your own risk.
I have tested it on a Sony Z5 and Cat b15:
Some more descriptons if you want to test the Android version:
Go to this page from your Android phone.
Download the tileless apk file above and install it.
Download one or many maps from Map data. It will land in your Download folder.
Start the app and choose a file to open.
The Licence is GPL v2, sources is found on github
2017-08-09 All maps collected in Map data
2017-08-05 Identify now works more or less.
2017-07-07 Added first version of layer selector, so layers can be switched on and of. Also added first part of identify. It identifies polygons and highlights them, but no presentation of attribute data yet. Those changes makes apk and databases incompatible with older versions
2017-06-12 Support for wide outline on polygons and some new maps old maps and old clients might not be compatible with new maps and client. Download both client and mapdata again and it should work
2017-06-03 Added support for gps and reprojection between UTM-zones.
2017-05-28 Added support for both map units and pixel units for line width.
2017-05-27 Added support for outline on wide linestrings. Z-ordering of styles in the same layer is also in place
2017-05-26 Changed name of project databases rfom sqlite to tileless. That is to make them easier to identify on Android. Only project databases is renamed. So database with map data without project information are still sqlite.
any feedback velcome at "nicklas dot aven at jordogskog dot no"
Last update: 2017-06-12