def test_zoom_offset(self): with NamedTemporaryFile(suffix='.mbtiles') as outputfile: metadata = dict( name='bluemarble-aligned', type='baselayer', version='1.0.0', description='BlueMarble 2004-07 Aligned', format='png', ) warp_mbtiles(inputfile=self.inputfile, outputfile=outputfile.name, metadata=metadata, min_resolution=0, max_resolution=3, zoom_offset=2, renderer=TouchRenderer(suffix='.png')) with MbtilesStorage(renderer=None, filename=outputfile.name) as storage: self.assertEqual( set((z, x, y) for z, x, y, data in storage.mbtiles.all()), set([(2, 0, 0)] + [(3, x, y) for x in range(0, 2) for y in range(0, 2)] + [(4, x, y) for x in range(0, 4) for y in range(0, 4)] + [(5, x, y) for x in range(0, 8) for y in range(0, 8)])) self.assertEqual(storage.mbtiles.metadata['bounds'], '-180.0,-90.0,0.0,0.0') self.assertEqual(storage.mbtiles.metadata['x-minzoom'], '2') self.assertEqual(storage.mbtiles.metadata['x-maxzoom'], '5')
def test_zoom_offset(self): with NamedTemporaryFile(suffix='.mbtiles') as outputfile: metadata = dict( name='bluemarble-aligned', type='baselayer', version='1.0.0', description='BlueMarble 2004-07 Aligned', format='png', ) warp_mbtiles(inputfile=self.inputfile, outputfile=outputfile.name, metadata=metadata, min_resolution=0, max_resolution=3, zoom_offset=2, renderer=TouchRenderer(suffix='.png')) with MbtilesStorage(renderer=None, filename=outputfile.name) as storage: self.assertEqual( set((z, x, y) for z, x, y, data in storage.mbtiles.all()), set([(2, 0, 0)] + [(3, x, y) for x in range(0, 2) for y in range(0, 2)] + [(4, x, y) for x in range(0, 4) for y in range(0, 4)] + [(5, x, y) for x in range(0, 8) for y in range(0, 8)]) ) self.assertEqual( storage.mbtiles.metadata['bounds'], '-180.0,-90.0,0.0,0.0' ) self.assertEqual(storage.mbtiles.metadata['x-minzoom'], '2') self.assertEqual(storage.mbtiles.metadata['x-maxzoom'], '5')
def main(args=None, use_logging=True): if args is None: args = sys.argv[1:] args = parse_args(args=args) if use_logging: configure_logging(args) # HACK: Import here, so that VIPS doesn't parse sys.argv!!! # In vimagemodule.cxx, SWIG_init actually does argument parsing from gdal2mbtiles.helpers import warp_mbtiles with input_output(inputfile=args.INPUT, outputfile=args.OUTPUT) as (inputfile, outputfile): # MBTiles metadata = dict( description=args.description, format=args.format, name=args.name, type=args.layer_type, version=args.version, ) # GDAL spatial_ref = SpatialReference.FromEPSG(args.spatial_reference) # Coloring if not args.coloring: colors = band = None else: colors = args.coloring(args.colors) band = args.colorize_band # PNG rendering pngdata = {'png8': args.png8} warp_mbtiles( inputfile=inputfile.name, outputfile=outputfile.name, # MBTiles metadata=metadata, # GDAL spatial_ref=spatial_ref, resampling=args.resampling, # Rendering min_resolution=args.min_resolution, max_resolution=args.max_resolution, fill_borders=args.fill_borders, zoom_offset=args.zoom_offset, pngdata=pngdata, # Coloring colors=colors, band=band) return 0
def main(args=None, use_logging=True): if args is None: args = sys.argv[1:] args = parse_args(args=args) if use_logging: configure_logging(args) # HACK: Import here, so that VIPS doesn't parse sys.argv!!! # In vimagemodule.cxx, SWIG_init actually does argument parsing from gdal2mbtiles.helpers import warp_mbtiles with input_output(inputfile=args.INPUT, outputfile=args.OUTPUT) as (inputfile, outputfile): # MBTiles metadata = dict( description=args.description, format=args.format, name=args.name, type=args.layer_type, version=args.version, ) # GDAL spatial_ref = SpatialReference.FromEPSG(args.spatial_reference) # Coloring if not args.coloring: colors = band = None else: colors = args.coloring(args.colors) band = args.colorize_band warp_mbtiles(inputfile=inputfile.name, outputfile=outputfile.name, # MBTiles metadata=metadata, # GDAL spatial_ref=spatial_ref, resampling=args.resampling, # Rendering min_resolution=args.min_resolution, max_resolution=args.max_resolution, fill_borders=args.fill_borders, zoom_offset=args.zoom_offset, # Coloring colors=colors, band=band) return 0