コード例 #1
0
def test_create_tiles_all(LAYER):
    with mock.patch.object(
            RasterPipe, "get_grid_tiles", return_value=_get_subset_tiles()
    ), mock.patch(
            "gfw_pixetl.pipes.pipe.get_metadata", return_value=EMPTY_METADATA
    ), mock.patch.object(
            RasterSrcTile, "within", return_value=True), mock.patch.object(
                Destination, "exists", return_value=False), mock.patch.object(
                    RasterSrcTile, "transform",
                    return_value=True), mock.patch.object(
                        RasterSrcTile,
                        "create_gdal_geotiff",
                        return_value=None
                    ), mock.patch.object(
                        RasterSrcTile, "upload", return_value=None
                    ), mock.patch.object(
                        RasterSrcTile, "rm_local_src", return_value=None
                    ), mock.patch(
                        "gfw_pixetl.utils.upload_geometries.upload_geojsons",
                        return_value=None):
        pipe = RasterPipe(LAYER)
        (tiles, skipped_tiles, failed_tiles,
         existing_tiles) = pipe.create_tiles(overwrite=False)
        assert len(tiles) == 4
        assert len(skipped_tiles) == 0
        assert len(failed_tiles) == 0
        assert len(existing_tiles) == 0
コード例 #2
0
def test_get_grid_tiles():
    # message = ""
    # try:
    #     len(PIPE.get_grid_tiles())
    # except NotImplementedError:
    #     message = "not implemented"
    # assert message == "not implemented"

    layer_dict = {
        **LAYER_DICT,
        "grid": "10/40000",
    }
    layer = layers.layer_factory(LayerModel.parse_obj(layer_dict))

    pipe = RasterPipe(layer)
    assert len(pipe.get_grid_tiles()) == 648
コード例 #3
0
ファイル: pipe_factory.py プロジェクト: wri/gfw_pixetl
def pipe_factory(layer: Layer, subset: Optional[List[str]] = None) -> Pipe:
    if isinstance(layer, VectorSrcLayer):
        pipe: Pipe = VectorPipe(layer, subset)
    elif isinstance(layer, RasterSrcLayer):
        pipe = RasterPipe(layer, subset)
    else:
        raise ValueError("Unknown layer type")

    return pipe
コード例 #4
0
def _get_subset_tiles() -> Set[RasterSrcTile]:
    layer_dict = {
        **minimal_layer_dict,
        "dataset": "aqueduct_erosion_risk",
        "version": "v201911",
        "pixel_meaning": "level",
        "no_data": 0,
        "grid": "1/4000",
    }
    layer = layers.layer_factory(LayerModel.parse_obj(layer_dict))

    assert isinstance(layer, layers.RasterSrcLayer)

    pipe = RasterPipe(layer)

    tiles = set()
    for i in range(10, 12):
        for j in range(10, 12):
            assert isinstance(pipe.grid, LatLngGrid)
            tile_id = pipe.grid.xy_to_tile_id(j, i)
            tiles.add(
                RasterSrcTile(tile_id=tile_id, grid=pipe.grid, layer=layer))

    return tiles
コード例 #5
0
def PIPE_10x10(LAYER):
    yield RasterPipe(LAYER, SUBSET_10x10)
コード例 #6
0
def PIPE(LAYER):
    yield RasterPipe(LAYER, SUBSET_1x1)