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)
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
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"
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"]
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