Saturday, 12 September 2015

Using offline (local) tiles with GNOME Maps

I managed to get a freeze exception to include a new feature in Maps for 3.18. It is now possible to use local, offline, tiles by using the --local command line option.
What you need are image map tiles, organized in a standard way in a directory. Then you can point Maps towards that directory and have local tiles usable offline.

For instance, I downloaded a bounding box of London. In the zoom-levels of 11, 12, 13, 14 and 15. The tiles are organized as Z/X/Y.png. Where Z is zoom-level, X and Y are the tile numbers. London at those zoom-levels will be 2750 tiles and about 60M.

I used a perl script found while googling. Please be advised to follow the tile servers usage policy before attempting bulk downloading of tiles.

$ tree london/
london/
├── 11
│   ├── 1022
│   │   ├── 679.png
│   │   ├── 680.png
│   │   ├── 681.png
│   │   └── 682.png
│   ├── 1023
│   │   ├── 679.png
│   │   ├── 680.png
│   │   ├── 681.png
│   │   └── 682.png
│   └── 1024
│       ├── 679.png
│       ├── 680.png
│       ├── 681.png
│       └── 682.png
├── 12
│   ├── 2044
│   │   ├── 1359.png
│   │   ├── 1360.png


Using this I can do:
$ jhbuild run gnome-maps --local ~/london



So this is kind of an hidden feature. So that we can test using offline tiles before we find a way of getting downloading into Maps. One kind of major issue right now is where do we get the tiles? Bulk downloading tiles from OpenStreetMaps is not very nice. OSM is a non-profit org. run by volunteers on donations. We do not want to leach on bandwidth. So we need a way around this. Maybe host our own?

Please also consider that when and if you want to download tiles to try this Maps feature. See the tile usage policy about bulk downloading. And try to follow it!

Please enjoy!

4 comments:

  1. Note that you could also use this to point at your tile cache (provided by libchamplain).

    So you could make sure you use Maps in an area while having connection and then go something like

    $ gnome-maps --local ~/.cache/champlain/osm-mapquest

    ReplyDelete
  2. It may good to tie this to distribution packaging system, and add ability to Gnome Map to read list of available maps from well-known location.
    So one can create, say, Ubuntu PPA, create and upload there package with tiles from some source and Map can use them.

    ReplyDelete
  3. OsmAnd on Android has an integrated map package download manager, maybe we could reuse those.

    ReplyDelete
  4. Really, This is very interactive and helpful information for all blog reader that looking for such type of information. Keep up update...

    Thanks for sharing a valuable info...

    Cleanable Ceiling Tiles

    ReplyDelete