From OpenStreetMap Wiki
Jump to: navigation, search


My script to download missing tiles for BSGPSPDA. Needs some work to make it generally useful. It's currently too hard-coded.

It may be possible to do the same with wget, but this was an interesting exercise and may ultimately give more flexibility


#!/usr/bin/env python
  Author:     Steve Clark and Jonas Svensson
  Program:    Fetch missing OSM tiles
  Date:       14/09/07, 13/10/07

  Description:  Reads a MissingTiles.txt file and downloads the tiles
                  into the appropriate directory structure
                  For now everything runs from the current directory
                  Also depends on the URLs always being the same format
import urllib
import os

f = open('MissingTiles.txt', 'r')
while True:
    line = f.readline()
    if line == "": break
    line = line.strip()
    tilefile = os.path.basename(line)
    path1 = os.path.dirname(line)
    tilecolumn = os.path.basename(path1)
    path2 = os.path.dirname(path1)
    zoomlevel = os.path.basename(path2)
    if not os.path.isdir(zoomlevel):
       print "Made directory " + zoomlevel
    tiledir = zoomlevel+os.path.sep+tilecolumn
    if not os.path.isdir(tiledir):
       print "Made directory " + tiledir
    if not os.path.isfile(tiledir+os.path.sep+tilefile):
        urllib.urlretrieve(line, tiledir+os.path.sep+tilefile)
        print "Downloaded tile " + tilefile