コード例 #1
0
def main():
    parser = argparse.ArgumentParser()
    parser.add_argument('path', type=str)
    parser.add_argument('out', type=str)
    parser.add_argument('--zoom', type=int, required=True)
    parser.add_argument('--ext', type=str, default='webp')
    args = parser.parse_args()

    os.makedirs(args.out, exist_ok=True)
    os.makedirs(os.path.join(args.out, str(args.zoom)), exist_ok=True)

    meta = tiler.bounds(args.path)
    bounds = meta['bounds']

    tiles = list(mercantile.tiles(*bounds + [[args.zoom]]))

    for x, y, z in tqdm(tiles, desc='Tiling', unit='tile', ascii=True):
        os.makedirs(os.path.join(args.out, str(z), str(x)), exist_ok=True)

        data, _ = tiler.tile(args.path, x, y, z)

        img = reshape_as_image(data)
        img = Image.fromarray(img, mode='RGB')
        img.save(os.path.join(args.out, str(z), str(x),
                              str(y) + '.' + args.ext),
                 optimize=True)
コード例 #2
0
def bounds():
    """Handle bounds requests."""
    query_args = APP.current_request.query_params
    query_args = query_args if isinstance(query_args, dict) else {}
    address = query_args['url']
    info = main.bounds(address)
    return ('OK', 'application/json', json.dumps(info))
コード例 #3
0
ファイル: test_main.py プロジェクト: yuhangch/rio-tiler
def test_bounds_valid():
    """
    Should work as expected (get bounds)
    """

    meta = main.bounds(ADDRESS)
    assert meta.get("url") == ADDRESS
    assert len(meta.get("bounds")) == 4
コード例 #4
0
def bounds():
    """Handle bounds requests."""
    url = request.args.get('url', default='', type=str)
    url = requote_uri(url)

    # address = query_args['url']
    info = main.bounds(url)
    return (jsonify(info))
コード例 #5
0
def bounds_handler(url: str) -> Tuple[str, str, str]:
    """Handle /bounds requests."""
    info = cogTiler.bounds(url)
    return ("OK", "application/json", json.dumps(info))
コード例 #6
0
ファイル: handler.py プロジェクト: bitner/lambda-tiler
def bounds(url: str) -> Tuple[str, str, str]:
    """Handle bounds requests."""
    info = main.bounds(url)
    return ("OK", "application/json", json.dumps(info))
コード例 #7
0
def bounds_handler(url: str) -> Tuple[str, str, str]:
    """Handle /bounds requests."""
    with rasterio.Env(aws_session):
        return ("OK", "application/json", json.dumps(cogTiler.bounds(url)))
コード例 #8
0
ファイル: cogeo.py プロジェクト: freespys/remotepixel-tiler
def bounds(url=None):
    """Handle bounds requests."""
    if not url:
        raise TilerError("Missing 'url' parameter")
    info = main.bounds(url)
    return ("OK", "application/json", json.dumps(info))