def main(): if len(sys.argv) < 2: # Can obtain country wise extracts from http://download.geofabrik.de/ print 'Provide absolute directory path containing osm files as first argument' return directory = sys.argv[1] try: files = os.listdir(directory) index = 0 for f in files: if f.endswith('.osm.pbf'): filepath = os.path.join(directory, f) print '\n\nInfo: Importing file, %s into Postgres' % (f,) os.system('osm2pgsql -d %s %s --style %s --slim --cache 4000 --number-processes 4' % (POSTGRES_DB, filepath, CARTO_STYLESHEET_PATH)) print '\n\nInfo: Generating XML for file, %s from Postgres' % (f,) os.system('./generate_xml.py osm.xml --dbname %s --host localhost --user postgres --accept-none > out.xml' % (POSTGRES_DB,)) print '\n\nInfo: generating tiles for file, %s' % (f,) if index == 0: clear_directory(OUTPUT_DIR) # clear contents of output directory outdir = os.path.join(OUTPUT_DIR, str(index)) os.mkdir(outdir) if not outdir.endswith('/'): outdir = outdir + '/' gt.render_tiles(bbox, 'out.xml', outdir, 1, 18) index += 1 except Exception as ex: print ex
def main(args): ''' The main function ''' min_zoom, max_zoom = get_args(args) update_data() rm_zoom_levels(min_zoom, max_zoom) render_tiles(BBOX, STYLESHEET, TILE_DIR, min_zoom, max_zoom, 'World')
def execute_generate_tiles(self): print "\n- Render tiles" # Render print self.task.bbox, self.task.database render_tiles(self.task.bbox, self.stylesheet, str(self.tiles_dir), self.task.min_zoom, self.task.max_zoom) # Delete empty folders self.remove_empty_directories(self.tiles_dir) print "Empty directories deleted."
def run(min_zoom, max_zoom, bbox_code, quality, only_tiles): bbox_code = bbox_code.upper() if not hasattr(bbox_cities, bbox_code): print('{} bbox code not found in bbox_cities.py'.format(minus)) sys.exit(-1) run_checks() if not os.path.isdir(TMP_DIR): os.mkdir(TMP_DIR) if not os.path.isdir(BUILD_DIR): os.mkdir(BUILD_DIR) compile_osm_styles(getattr(bbox_cities, bbox_code), min_zoom, max_zoom) filename = hashlib.md5('{}{}{}{}{}'.format(bbox_code, min_zoom, max_zoom, quality, datetime.now())).hexdigest() if not only_tiles: make_initial_gpkg() render_tiles(getattr(bbox_cities, bbox_code), '{}/osm.xml'.format(STYLES_DIR), TILES_DIR, min_zoom, max_zoom, tms_scheme=True) print('{} tiles created'.format(plus)) make_gpkg_from_tiles(quality, filename) if not only_tiles: execute('ogr2ogr', '-f', 'GPKG', 'tmp/out.{}.gpkg'.format(filename), 'tmp/initial.gpkg', '-update', '-progress') shutil.copy('tmp/out.{}.gpkg'.format(filename), BUILD_DIR) print('{} Final gpkg moved to build dir'.format(plus))
#!/usr/bin/python import os import generate_tiles helper_file = '/home/biokys/PREPARED/helper.dat' #bbox = (13.15, 48.61, 17.17, 50.87) minZoom = 8 maxZoom = 14 outputDir = "/var/www/tiles2/" #outputDir = "tiles3/" with open(helper_file, 'rw+') as file: for line in file: data = line.split(' ') bbox = (float(data[1]), float(data[0]), float(data[3]), float(data[2])) print('Computing tiles for data: ' + str(bbox)) generate_tiles.render_tiles(bbox, outputDir, minZoom, maxZoom) file.truncate(0)
#!/usr/bin/python import private from StringIO import StringIO from generate_tiles import render_tiles #from generate_tiles_multiprocess import render_tiles mapfile = 'poly-test.xml' #mapfile = StringIO( # file(mapfile).read() #) # CONUS bbox = (-124.728, 24.546, -66.952, 49.383) render_tiles(bbox, mapfile, private.TILE_PATH, 0, 4, 'Lower 48', 1)
#!/usr/bin/python import private from StringIO import StringIO from generate_tiles import render_tiles #from generate_tiles_multiprocess import render_tiles mapfile = 'poly-test.xml' #mapfile = StringIO( # file(mapfile).read() #) # CONUS bbox = ( -124.728, 24.546, -66.952, 49.383 ) render_tiles( bbox, mapfile, private.TILE_PATH, 0, 4, 'Lower 48', 1 )
#!/usr/bin/python # # This will precache some tiles that are used by the static maps. import sys MIN_ZOOM = 11 MAX_ZOOM = 12 XML_DIR = '/data/vhost/tilma.mysociety.org/osm/' CACHE_DIR = '/data/vhost/tilma.mysociety.org/tilecache/' sys.path.append('/data/vhost/tilma.mysociety.org/mapnik/') from generate_tiles import render_tiles # World #bbox = (-180.0,-90.0, 180.0,90.0) #render_tiles(bbox, mapfile, tile_dir, 0, 5, "World") bbox = (-6,49.95, 1.75,60) for layer in ('mapumental-map', 'mapumental-names', 'osm'): render_tiles(bbox, XML_DIR + layer + '.xml', CACHE_DIR + layer + '/', MIN_ZOOM, MAX_ZOOM)