Exemplo n.º 1
0
 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')
Exemplo n.º 2
0
    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')
Exemplo n.º 3
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

        # 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
Exemplo n.º 4
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