示例#1
0
def _run_bbox_bounds(zoom,
                     row,
                     col,
                     command=None,
                     grid="geodetic",
                     metatiling=1,
                     pixelbuffer=0,
                     tile_size=256,
                     output_format="WKT"):
    tile = TilePyramid(grid, metatiling=metatiling,
                       tile_size=tile_size).tile(zoom, row, col)
    result = CliRunner().invoke(tmx, [
        "--pixelbuffer",
        str(pixelbuffer), "--metatiling",
        str(metatiling), "--grid", grid, "--tile_size",
        str(tile_size), "--output_format", output_format, command,
        str(zoom),
        str(row),
        str(col)
    ])
    assert result.exit_code == 0
    if command == "bounds":
        assert result.output.strip() == " ".join(
            map(str, tile.bounds(pixelbuffer)))
    elif output_format == "WKT":
        assert wkt.loads(result.output.strip()).almost_equals(
            tile.bbox(pixelbuffer))
    elif output_format == "GeoJSON":
        assert shape(geojson.loads(result.output.strip())).almost_equals(
            tile.bbox(pixelbuffer))
示例#2
0
def _run_tile(zoom,
              point,
              grid="geodetic",
              metatiling=1,
              pixelbuffer=0,
              tile_size=256,
              output_format="WKT"):
    x, y, = point
    tile = TilePyramid(grid, metatiling=metatiling,
                       tile_size=tile_size).tile_from_xy(x, y, zoom)
    result = CliRunner().invoke(tmx, [
        "--pixelbuffer",
        str(pixelbuffer), "--metatiling",
        str(metatiling), "--grid", grid, "--tile_size",
        str(tile_size), "--output_format", output_format, "tile",
        str(zoom),
        str(x),
        str(y)
    ])
    assert result.exit_code == 0
    if output_format == "Tile":
        assert result.output.strip() == " ".join(map(str, tile.id))
    elif output_format == "WKT":
        assert wkt.loads(result.output.strip()).almost_equals(
            tile.bbox(pixelbuffer))
    elif output_format == "GeoJSON":
        feature = geojson.loads(result.output.strip())["features"][0]
        assert shape(feature["geometry"]).almost_equals(tile.bbox(pixelbuffer))
示例#3
0
文件: main.py 项目: ungarj/tilematrix
def tile(ctx, point, zoom):
    """Print Tile containing POINT.."""
    tile = TilePyramid(
        ctx.obj["grid"],
        tile_size=ctx.obj["tile_size"],
        metatiling=ctx.obj["metatiling"],
    ).tile_from_xy(*point, zoom=zoom)
    if ctx.obj["output_format"] == "Tile":
        click.echo("%s %s %s" % tile.id)
    elif ctx.obj["output_format"] == "WKT":
        click.echo(tile.bbox(pixelbuffer=ctx.obj["pixelbuffer"]))
    elif ctx.obj["output_format"] == "GeoJSON":
        click.echo(
            geojson.dumps(
                geojson.FeatureCollection([
                    geojson.Feature(
                        geometry=tile.bbox(pixelbuffer=ctx.obj["pixelbuffer"]),
                        properties=dict(zoom=tile.zoom,
                                        row=tile.row,
                                        col=tile.col),
                    )
                ])))