Esempio n. 1
0
def test_tiler_tile_size_validation(empty_source):
    with pytest.raises(ValueError):
        raster.RasterTiler(empty_source, "a")
    with pytest.raises(ValueError):
        raster.RasterTiler(empty_source, 0)
    with pytest.raises(ValueError):
        raster.RasterTiler(empty_source, [1])
    with pytest.raises(ValueError):
        raster.RasterTiler(empty_source, [2, 3, 3])
Esempio n. 2
0
def test_tiler_cellsize(empty_source, cellsize):
    block = raster.RasterTiler(empty_source, 24)
    s_r = block.get_sources_and_requests(
        mode="vals",
        bbox=(3.0, 3.0, 15.0, 15.0),
        width=int(12 / cellsize[0]),
        height=int(12 / cellsize[1]),
        projection="EPSG:28992",
    )
    check_sources_and_requests(s_r, [(3.0, 3.0, 15.0, 15.0)], cellsize)
Esempio n. 3
0
def test_tiler(empty_source, bbox, expected_tiles):
    block = raster.RasterTiler(empty_source, 7)
    s_r = block.get_sources_and_requests(
        mode="vals",
        bbox=bbox,
        width=int(bbox[2] - bbox[0]),
        height=int(bbox[3] - bbox[1]),
        projection="EPSG:28992",
    )
    check_sources_and_requests(s_r, expected_tiles)
Esempio n. 4
0
def test_tiler_process(source, bbox_offset):
    # piece back together tiles with nodata at the negative y edge
    block = raster.RasterTiler(source, 2)
    request = dict(
        mode="vals",
        bbox=(
            source.pixel_origin[0] + bbox_offset[0],
            source.pixel_origin[1] + bbox_offset[1],
            source.pixel_origin[0] + bbox_offset[2],
            source.pixel_origin[1] + bbox_offset[3],
        ),
        width=(bbox_offset[2] - bbox_offset[0]) * 2,  # 0.5 m resolution
        height=(bbox_offset[3] - bbox_offset[1]) * 2,  # 0.5 m resolution
        projection="EPSG:28992",
        start=source.period[0],
    )
    actual = block.get_data(**request)
    expected = source.get_data(**request)
    assert_equal(actual["values"], expected["values"])
    assert actual["no_data_value"] == expected["no_data_value"]
Esempio n. 5
0
def test_tiler_source_validation(empty_source):
    with pytest.raises(TypeError):
        raster.RasterTiler("a", 10)
Esempio n. 6
0
def test_tiler_defaults(empty_source):
    block = raster.RasterTiler(empty_source, 10)
    assert block.store is empty_source
    assert block.tile_size == [10.0, 10.0]
Esempio n. 7
0
def test_tiler_time_request(source, vals_request, expected_time):
    tiler = raster.RasterTiler(source, 2)
    vals_request["mode"] = "time"
    assert tiler.get_data(**vals_request)["time"] == expected_time
Esempio n. 8
0
def test_tiler_meta_request(source, vals_request, expected_meta):
    tiler = raster.RasterTiler(source, 2)
    vals_request["mode"] = "meta"
    assert tiler.get_data(**vals_request)["meta"] == expected_meta
Esempio n. 9
0
def test_tiler_point_request(source, point_request):
    view = raster.RasterTiler(source, 2)
    actual = view.get_data(**point_request)
    assert actual["values"].tolist() == [[[1]], [[7]], [[255]]]