from functools import partial from rasterio.features import dataset_features from rasterio import tools def test_dataset_features_tool(tmpdir, path_rgb_byte_tif): """Example tool works""" features_file = tmpdir.join("footprint.jsons") tools.dataset_features_tool(path_rgb_byte_tif, str(features_file), func_kwargs=dict(bidx=1, as_mask=True)) assert features_file.read().count("Feature") == 9 def test_dataset_features_partial(tmpdir, path_rgb_byte_tif): """JSON sequence tool works with partially evaluated dataset_features""" features_file = tmpdir.join("footprint.jsons") tool = tools.JSONSequenceTool(partial(dataset_features, bidx=1, as_mask=True)) tool(path_rgb_byte_tif, str(features_file)) assert features_file.read().count("Feature") == 9