Beispiel #1
0
def test_read_raster_window():
    """Read array with read_raster_window."""
    dummy1 = os.path.join(TESTDATA_DIR, "dummy1.tif")
    zoom = 8
    config = MapcheteConfig(
        os.path.join(SCRIPTDIR, "testdata/minmax_zoom.mapchete"))
    rasterfile = config.at_zoom(7)["input"]["file1"]
    dummy1_bbox = rasterfile.bbox()

    pixelbuffer = 5
    tile_pyramid = BufferedTilePyramid("geodetic", pixelbuffer=pixelbuffer)
    tiles = tile_pyramid.tiles_from_geom(dummy1_bbox, zoom)
    width = height = tile_pyramid.tile_size + 2 * pixelbuffer
    for tile in tiles:
        for band in raster.read_raster_window(dummy1, tile):
            assert isinstance(band, ma.MaskedArray)
            assert band.shape == (width, height)
        for index in range(4):
            band = raster.read_raster_window(dummy1, tile, index).next()
            assert isinstance(band, ma.MaskedArray)
            assert band.shape == (width, height)
    for resampling in [
            "nearest", "bilinear", "cubic", "cubic_spline", "lanczos",
            "average", "mode"
    ]:
        raster.read_raster_window(dummy1, tile, resampling=resampling)
Beispiel #2
0
def test_config_zoom5():
    """Example configuration at zoom 5."""
    config = MapcheteConfig(os.path.join(SCRIPTDIR, "example.mapchete"))
    dummy2_abspath = os.path.join(SCRIPTDIR, "testdata/dummy2.tif")
    zoom5 = config.at_zoom(5)
    input_files = zoom5["input"]
    assert input_files["file1"] is None
    assert input_files["file2"].path == dummy2_abspath
    assert zoom5["some_integer_parameter"] == 12
    assert zoom5["some_float_parameter"] == 5.3
    assert zoom5["some_string_parameter"] == "string1"
    assert zoom5["some_bool_parameter"] is True
Beispiel #3
0
def test_input_files_zooms():
    """Read correct input file per zoom."""
    config = MapcheteConfig(
        os.path.join(SCRIPTDIR, "testdata/files_zooms.mapchete"))
    # zoom 7
    input_files = config.at_zoom(7)["input"]
    assert os.path.basename(
        input_files["greater_smaller"].path) == "dummy1.tif"
    assert os.path.basename(input_files["equals"].path) == "dummy1.tif"
    # zoom 8
    input_files = config.at_zoom(8)["input"]
    assert os.path.basename(
        input_files["greater_smaller"].path) == "dummy1.tif"
    assert os.path.basename(input_files["equals"].path) == "dummy2.tif"
    # zoom 9
    input_files = config.at_zoom(9)["input"]
    assert os.path.basename(
        input_files["greater_smaller"].path) == "dummy2.tif"
    assert os.path.basename(input_files["equals"].path) == "cleantopo_br.tif"
    # zoom 10
    input_files = config.at_zoom(10)["input"]
    assert os.path.basename(
        input_files["greater_smaller"].path) == "dummy2.tif"
    assert os.path.basename(input_files["equals"].path) == "cleantopo_tl.tif"
Beispiel #4
0
def test_read_input_groups():
    """Read input data groups."""
    config = MapcheteConfig(
        os.path.join(SCRIPTDIR, "testdata/file_groups.mapchete"))
    input_files = config.at_zoom(0)["input"]
    print input_files
    assert "file1" in input_files["group1"]
    assert "file2" in input_files["group1"]
    assert "file1" in input_files["group2"]
    assert "file2" in input_files["group2"]
    assert "nested_group" in input_files
    assert "group1" in input_files["nested_group"]
    assert "file1" in input_files["nested_group"]["group1"]
    assert "file2" in input_files["nested_group"]["group1"]
    assert "file1" in input_files["nested_group"]["group2"]
    assert "file2" in input_files["nested_group"]["group2"]
Beispiel #5
0
def test_read_vector_window():
    """Read vector data from read_vector_window."""
    zoom = 4
    config = MapcheteConfig(
        os.path.join(SCRIPTDIR, "testdata/geojson.mapchete"))
    vectorfile = config.at_zoom(zoom)["input"]["file1"]
    pixelbuffer = 5
    tile_pyramid = BufferedTilePyramid("geodetic", pixelbuffer=pixelbuffer)
    tiles = tile_pyramid.tiles_from_geom(vectorfile.bbox(), zoom)
    feature_count = 0
    for tile in tiles:
        for feature in vector.read_vector_window(vectorfile.path, tile):
            assert "properties" in feature
            assert shape(feature["geometry"]).is_valid
            feature_count += 1
    assert feature_count