------------------
* Non-backwards compatible refactor of core PyGeoprocessing geoprocessing
pipeline. This is to in part expose only orthogonal functionality, address
runtime complexity issues, and follow more conventional GIS naming
conventions. Changes include:
* Full test coverage for ``pygeoprocessing.geoprocessing`` module
* Dropping "uri" moniker in lieu of "path".
* If a raster path is specified and operation requires a single band,
argument is passed as a "(path, band)" tuple where the band index starts
at 1 as convention for raster bands.
* Shapefile paths are assumed to operate on the first layer. It is so
rare for a shapefile to have more than one layer, functions that would
be confused by multiple layers have a layer_index that defaults to 0
that can be overridden in the call.
* Be careful, many of the parameter orders have been changed and renamed.
Generally inputs come first, outputs last. Input parameters are
often prefixed with "base\_" while output parameters are prefixed with
"target\_".
* Functions that take rasters as inputs must have their rasters aligned
before the call to that function. The function
``align_and_resize_raster_stack`` can handle this.
* ``vectorize_datasets`` refactored to ``raster_calculator`` since that
name is often used as a convention when referring to raster
calculations.
* ``vectorize_points`` refactored to meaningful ``interpolate_points``.
* ``aggregate_by_shapefile`` refactored to ``zonal_statistics`` and now
returns a dictionary rather than a named tuple.
* All functions that create rasters expose the underlying GeoTIFF options
through a default parameter ``gtiff_creation_options`` which default to
"('TILED=YES', 'BIGTIFF=IF_SAFER')".
* Individual functions for raster and vector properties have been
aggregated into ``get_raster_info`` and ``get_vector_info``
respectively.
* Introducing ``warp_raster`` to wrap GDAL's ``ReprojectImage``
functionality that also works on bounding box clips.
* Removed the ``temporary_filename()`` paradigm. Users should manage
temporary filenames directly.
* Numerous API changes from the 0.3.x version of PyGeoprocessing.
* Fixing an issue with aggregate_raster_values that caused a crash if feature
IDs were not in increasing order starting with 0.
* Removed "create_rat/create_rat_uri" and migrated it to
natcap.invest.wind_energy; the only InVEST model that uses that function.
* Fixing an issue with aggregate_raster_values that caused a crash if feature
IDs were not in increasing order starting with 0.
* Removed "create_rat/create_rat_uri" and migrated it to
natcap.invest.wind_energy; the only InVEST model that uses that function.