User:Steevc/bsscript
Jump to navigation
Jump to search
Intro
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
Code
#!/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 e.g. http://dev.openstreetmap.org/~ojw/Tiles/tile.php/13/4090/2709.png """ 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): os.mkdir(zoomlevel) print "Made directory " + zoomlevel tiledir = zoomlevel+os.path.sep+tilecolumn if not os.path.isdir(tiledir): os.mkdir(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 f.close()