Conversion

Note

All converters operate on two datasets: a source and a target dataset. At the moment in place operations are not supported.

Combining/removing task vector classes

Assume your dataset has task_vector_classes given by ['class1', 'class2', 'class3', 'class4']. Suppose you want to combine 'class1' and 'class2' to a new class 'new_class_name1', rename class3 to 'new_class_name2', drop all vector features belonging to 'class4', and remove all rasters not containing and of the new classes 'new_class_name1' and 'new_class_name2'. This can be accomplished using the DSConverterCombineRemoveClasses as follows (see here for creating a label maker).

from geographer.converters import DSConverterCombineRemoveClasses

converter = DSConverterCombineRemoveClasses(
    name="combine_remove_classes",
    source_data_dir=<PATH/TO/SOURCE/DATA_DIR>,
    target_data_dir=<PATH/TO/TARGET/DATA_DIR>,
    seg_classes=[['class1', 'class2'], 'class3'],
    new_seg_classes=['new_class_name1', 'new_class_name2'],
    label_maker=label_maker,
    remove_rasters=True
    )
converter.convert()
converter.save(<PATH/TO/SOURCE/DATA_DIR/<name>.JSON>)

Updating the target dataset after the source dataset has grown:

converter = DSConverterCombineRemoveClasses.from_json_file(
    <PATH/TO/SOURCE/DATA_DIR/<name>.JSON>
)
converter.update()

Converting task vector class types

Soft-categorical to categorical

Converting a dataset from soft-categorical to categorical vector features and labels using DSConverterCombineRemoveClasses (see here for how to create a label maker to pass as a label_maker argument):

from geographer.converters import DSConverterCombineRemoveClasses

converter = DSConverterSoftCatToCat(
    name="convert_soft_to_cat",
    source_data_dir=<PATH/TO/SOURCE/DATA_DIR>,
    target_data_dir=<PATH/TO/TARGET/DATA_DIR>,
    label_maker=label_maker,
)
converter.convert()
converter.save(<PATH/TO/SOURCE/DATA_DIR/<name>.JSON>)

Updating the target dataset after the source dataset has grown:

converter = DSConverterCombineRemoveClasses.from_json_file(
    <PATH/TO/SOURCE/DATA_DIR/<name>.JSON>
)
converter.update()

GeoTiff To .npy

Converting a dataset from GeoTiff to .npy:

from geographer.converters import DSConverterGeoTiffToNpy

converter = DSConverterGeoTiffToNpy(
    name="convert_soft_to_cat",
    source_data_dir=<PATH/TO/SOURCE/DATA_DIR>,
    target_data_dir=<PATH/TO/TARGET/DATA_DIR>,
)
converter.convert()
converter.save(<PATH/TO/SOURCE/DATA_DIR/<name>.JSON>)

Updating the target dataset after the source dataset has grown:

converter = DSConverterCombineRemoveClasses.from_json_file(
    <PATH/TO/SOURCE/DATA_DIR/<name>.JSON>
)
converter.update()