def tilelist(data,zooms): if (data["filetype"]): coordinates = MBTiles.list_tiles(data["filename"]) else: lat1, lon1, lat2, lon2 = data["bbox"] south, west = min(lat1, lat2), min(lon1, lon2) north, east = max(lat1, lat2), max(lon1, lon2) northwest = Location(north, west) southeast = Location(south, east) osm = Provider() ul = osm.locationCoordinate(northwest) lr = osm.locationCoordinate(southeast) for (i, zoom) in enumerate(zooms): if not zoom.isdigit(): raise KnownUnknown('"%s" is not a valid numeric zoom level.' % zoom) zooms[i] = int(zoom) if data["padding"] < 0: raise KnownUnknown('A negative padding will not work.') coordinates = generateCoordinates(ul, lr, zooms, data["padding"]) return coordinates
def tilesetCoordinates(filename): """ Generate a stream of (offset, count, coordinate) tuples for seeding. Read coordinates from an MBTiles tileset filename. """ coords = MBTiles.list_tiles(filename) count = len(coords) for (offset, coord) in enumerate(coords): yield coord
'"%s" is not a layer I know about. Here are some that I do know about: %s.' % (options.layer, ', '.join( sorted(config_dict['layers'].keys())))) layer_dict = config_dict['layers'][options.layer] layer_dict[ 'write_cache'] = True # Override to make seeding guaranteed useful. # override parts of the config and layer if needed extension = options.extension if options.mbtiles_input: layer_dict['provider'] = dict(name='mbtiles', tileset=options.mbtiles_input) n, t, v, d, format, b = MBTiles.tileset_info(options.mbtiles_input) extension = format or extension # determine or guess an appropriate tile extension if extension is None: provider_name = layer_dict['provider'].get('name', '').lower() if provider_name == 'mapnik grid': extension = 'json' elif provider_name == 'vector': extension = 'geojson' else: extension = 'png' # override parts of the config and layer if needed
else: config_dict, config_dirpath = parseConfigfile(options.config) if options.layer not in config_dict['layers']: raise KnownUnknown('"%s" is not a layer I know about. Here are some that I do know about: %s.' % (options.layer, ', '.join(sorted(config_dict['layers'].keys())))) layer_dict = config_dict['layers'][options.layer] layer_dict['write_cache'] = True # Override to make seeding guaranteed useful. # override parts of the config and layer if needed extension = options.extension if options.mbtiles_input: layer_dict['provider'] = dict(name='mbtiles', tileset=options.mbtiles_input) n, t, v, d, format, b = MBTiles.tileset_info(options.mbtiles_input) extension = format or extension # determine or guess an appropriate tile extension if extension is None: provider_name = layer_dict['provider'].get('name', '').lower() if provider_name == 'mapnik grid': extension = 'json' elif provider_name == 'vector': extension = 'geojson' else: extension = 'png' # override parts of the config and layer if needed
def tilesetCoordinates(filename): """ Generate a stream of (offset, count, coordinate) tuples for seeding. Read coordinates from an MBTiles tileset filename. """ coords = MBTiles.list_tiles(filename) count = len(coords) for (offset, coord) in enumerate(coords): yield coord if __name__ == '__main__': options, zooms = parser.parse_args() if bool(options.mbtiles_input): coordinates = MBTiles.list_tiles(options.mbtiles_input) else: lat1, lon1, lat2, lon2 = options.bbox south, west = min(lat1, lat2), min(lon1, lon2) north, east = max(lat1, lat2), max(lon1, lon2) northwest = Location(north, west) southeast = Location(south, east) osm = Provider() ul = osm.locationCoordinate(northwest) lr = osm.locationCoordinate(southeast) for (i, zoom) in enumerate(zooms):
'"%s" is not a layer I know about. Here are some that I do know about: %s.' % (options.layer, ", ".join(sorted(config.layers.keys()))) ) layer = config.layers[options.layer] layer.write_cache = True # Override to make seeding guaranteed useful. verbose = options.verbose extension = options.extension enable_retries = options.enable_retries progressfile = options.progressfile src_mbtiles = options.mbtiles_input if src_mbtiles: layer.provider = MBTiles.Provider(layer, src_mbtiles) n, t, v, d, format, b = MBTiles.tileset_info(src_mbtiles) extension = format or extension if options.outputdirectory and options.mbtiles_output: cache1 = Disk(options.outputdirectory, dirs="portable", gzip=[]) cache2 = MBTiles.Cache(options.mbtiles_output, extension, options.layer) config.cache = Multi([cache1, cache2]) elif options.outputdirectory: config.cache = Disk(options.outputdirectory, dirs="portable", gzip=[]) elif options.mbtiles_output: config.cache = MBTiles.Cache(options.mbtiles_output, extension, options.layer) lat1, lon1, lat2, lon2 = options.bbox south, west = min(lat1, lat2), min(lon1, lon2)
if options.layer not in config.layers: raise KnownUnknown( '"%s" is not a layer I know about. Here are some that I do know about: %s.' % (options.layer, ', '.join(sorted(config.layers.keys())))) layer = config.layers[options.layer] layer.write_cache = True # Override to make seeding guaranteed useful. verbose = options.verbose extension = options.extension enable_retries = options.enable_retries progressfile = options.progressfile src_mbtiles = options.mbtiles_input if src_mbtiles: layer.provider = MBTiles.Provider(layer, src_mbtiles) n, t, v, d, format, b = MBTiles.tileset_info(src_mbtiles) extension = format or extension if options.outputdirectory and options.mbtiles_output: cache1 = Disk(options.outputdirectory, dirs='portable', gzip=[]) cache2 = MBTiles.Cache(options.mbtiles_output, extension, options.layer) config.cache = Multi([cache1, cache2]) elif options.outputdirectory: config.cache = Disk(options.outputdirectory, dirs='portable', gzip=[]) elif options.mbtiles_output: