Skip to content

2.1.0

Compare
Choose a tag to compare
@richpsharp richpsharp released this 25 Aug 22:39
· 967 commits to main since this release
3087162
  • Modified pygeoprocessing.numpy_array_to_raster to take boolean arrays.
  • Modified pygeoprocessing.convolve_2d to guard against nonsensical queries
    to both ignore_nodata_and_edges=True but also mask_nodata=False.
    A query of this combination now raises a ValueError to guard against
    programmer error.
  • Added a custom exception class ReclassificationMissingValuesError to
    pygeoprocessing. pygeoprocessing.reclassify_raster raises this
    exception instead of ValueError when a raster pixel value is not
    represented in value_map. This custom exception provides a list of
    missing raster pixel values in a missing_values attribute that allows
    the caller access to the pixel values that are missing through a Python type
    rather than indirectly through an error message.
  • Correcting the docstring for pygeoprocessing.numpy_array_to_raster to
    specify that the pixel_size parameter must be a tuple or list, not an
    int.
  • pygeoprocessing.routing.delineate_watersheds_d8 now has an optional
    parameter write_diagnostic_vector. When True, this parameter will
    cause a new vector per outflow feature to be created in the working_dir.
    This parameter defaults to False. This is a change from prior behavior,
    when the diagnostic vectors were always created, which could occupy a lot of
    computational time under large outflow geometries.
  • Added a pygeoprocessing.multiprocessing.raster_calculator function which
    matches the API and results of pygeoprocessing.raster_calculator but uses
    multiple processing cores to compute raster calculation blocks.
    when the diagnostic vectors were always created, which could occupy
    significant computational time under large outflow geometries.
  • Minor performance improvement to pygeoprocessing.convolve_2d by
    preventing a pre-processing step that initialized temporary rasters with zero
    values as well as added asynchronous work distribution for kernel/signal
    block processing.
  • Modified logging message for pygeoprocessing.new_raster_from_base when
    filling a raster such that an informative error message is printed with
    context as to the function, file, status, and value being filled.