Geoprocessing routines for GIS
Project description
#####################
About PyGeoprocessing
#####################
PyGeoprocessing is a Python/Cython based library that provides a set of commonly
used raster, vector, and hydrological operations for GIS processing. Similar
functionality can be found in ArcGIS/QGIS raster algebra, ArcGIS zonal
statistics, and ArcGIS/GRASS/TauDEM hydrological routing routines.
PyGeoprocessing was developed at the Natural Capital Project to create a
programmable, open source, and free GIS processing library to support the
ecosystem service software InVEST. PyGeoprocessing's design prioritizes
computation and memory efficient runtimes, easy installation and cross
compatibility with other open source and proprietary software licenses, and a
simplified set of orthogonal GIS processing routines that interact with GIS data
via filename. Specifically the functionally provided by PyGeoprocessing includes
* programmable raster algebra routine (vectorize_datasets)
* routines for simplified raster creation and statistics
* integration with vector based geometry in many of the routines
* a simplified hydrological routing library including,
* d-infinity flow direction
* support for plateau drainage
* weighted and unweighted flow accumulation
* and weighted and unweighted flow distance
Dependencies include
* cython>=0.20.2
* numpy>=1.8.2
* scipy>=0.13.3
* shapely>=1.3.3
* gdal>=1.10.1
#######
History
#######
0.2.1 (2015-04-23)
------------------
* Fixed a bug on the test that determines if a raster should be memory blocked. Rasters were not getting square blocked if the memory block was row aligned. Now creates 256x256 blocks on rasters larger than 256x256.
* Updates to reclassify_dataset_uri to use numpy.digitize rather than Python loops across the number of keys.
* More informative error messages raised on incorrect bounding box mode.
* Updated docstring on get_lookup_from_table to indicate the headers are case insensitive.
* Added updates to align dataset list that report which dataset is being aligned. This is helpful for logging feedback when many datasets are passed in that don't take long enough to get a report from the underlying reproject dataset function.
* pygeoprocessing.routing.routing_core includes pxd to be `cimport`able from a Cython module.
0.2.0 (2015-04-14)
------------------
* Fixed a library wide issue relating to the underlying numpy types of GDT_Byte Datasets. Now correctly identify the signed and unsigned versions and removed all instances where code used to mod byte data to unsigned data and correctly creates signed/unsigned byte datasets during resampling.
* Removed extract_band_and_nodata function since it exposes the underlying GDAL types.
* Removed reclassify_by_dictionary since reclassify_dataset_uri provided almost the same functionality and was widely used.
* Removed the class OrderedDict that was not used.
* Removed the function calculate_value_not_in_dataset since it loaded the entire dataset into memory and was not useful.
0.1.8 (2015-04-13)
------------------
* Fixed an issue on reclassifying signed byte rasters that had negative nodata values but the internal type stored for vectorize datasets was unsigned.
0.1.7 (2015-04-02)
------------------
* Package logger objects are now identified by python heirarchical package paths (e.g. pygeoprocessing.routing)
* Fixed an issue where rasters that had undefined nodata values caused striping in the reclassify_dataset_uri function.
0.1.6 (2015-03-24)
---------------------
* Fixing LICENSE.TXT to .txt issue that keeps reoccuring.
0.1.5 (2015-03-16)
---------------------
* Fixed an issue where int32 dems with INT_MIN as the nodata value were being treated as real DEM values because of an internal cast to a float for the nodata type, but a cast to double for the DEM values.
* Fixed an issue where flat regions, such as reservoirs, that could only drain off the edge of the DEM now correctly drain as opposed to having undefined flow directions.
0.1.4 (2015-03-13)
---------------------
* Fixed a memory issue for DEMs on the order of 25k X 25k, still may have issues with larger DEMs.
0.1.3 (2015-03-08)
---------------------
* Fixed an issue so tox correctly executes on the repository.
* Created a history file to document current and previous releases.
* Created an informative README.rst.
0.1.2 (2015-03-04)
---------------------
* Fixing issue that caused "LICENSE.TXT not found" during pip install.
0.1.1 (2015-03-04)
---------------------
* Fixing issue with automatic versioning scheme.
0.1.0 (2015-02-26)
---------------------
* First release on PyPI.
About PyGeoprocessing
#####################
PyGeoprocessing is a Python/Cython based library that provides a set of commonly
used raster, vector, and hydrological operations for GIS processing. Similar
functionality can be found in ArcGIS/QGIS raster algebra, ArcGIS zonal
statistics, and ArcGIS/GRASS/TauDEM hydrological routing routines.
PyGeoprocessing was developed at the Natural Capital Project to create a
programmable, open source, and free GIS processing library to support the
ecosystem service software InVEST. PyGeoprocessing's design prioritizes
computation and memory efficient runtimes, easy installation and cross
compatibility with other open source and proprietary software licenses, and a
simplified set of orthogonal GIS processing routines that interact with GIS data
via filename. Specifically the functionally provided by PyGeoprocessing includes
* programmable raster algebra routine (vectorize_datasets)
* routines for simplified raster creation and statistics
* integration with vector based geometry in many of the routines
* a simplified hydrological routing library including,
* d-infinity flow direction
* support for plateau drainage
* weighted and unweighted flow accumulation
* and weighted and unweighted flow distance
Dependencies include
* cython>=0.20.2
* numpy>=1.8.2
* scipy>=0.13.3
* shapely>=1.3.3
* gdal>=1.10.1
#######
History
#######
0.2.1 (2015-04-23)
------------------
* Fixed a bug on the test that determines if a raster should be memory blocked. Rasters were not getting square blocked if the memory block was row aligned. Now creates 256x256 blocks on rasters larger than 256x256.
* Updates to reclassify_dataset_uri to use numpy.digitize rather than Python loops across the number of keys.
* More informative error messages raised on incorrect bounding box mode.
* Updated docstring on get_lookup_from_table to indicate the headers are case insensitive.
* Added updates to align dataset list that report which dataset is being aligned. This is helpful for logging feedback when many datasets are passed in that don't take long enough to get a report from the underlying reproject dataset function.
* pygeoprocessing.routing.routing_core includes pxd to be `cimport`able from a Cython module.
0.2.0 (2015-04-14)
------------------
* Fixed a library wide issue relating to the underlying numpy types of GDT_Byte Datasets. Now correctly identify the signed and unsigned versions and removed all instances where code used to mod byte data to unsigned data and correctly creates signed/unsigned byte datasets during resampling.
* Removed extract_band_and_nodata function since it exposes the underlying GDAL types.
* Removed reclassify_by_dictionary since reclassify_dataset_uri provided almost the same functionality and was widely used.
* Removed the class OrderedDict that was not used.
* Removed the function calculate_value_not_in_dataset since it loaded the entire dataset into memory and was not useful.
0.1.8 (2015-04-13)
------------------
* Fixed an issue on reclassifying signed byte rasters that had negative nodata values but the internal type stored for vectorize datasets was unsigned.
0.1.7 (2015-04-02)
------------------
* Package logger objects are now identified by python heirarchical package paths (e.g. pygeoprocessing.routing)
* Fixed an issue where rasters that had undefined nodata values caused striping in the reclassify_dataset_uri function.
0.1.6 (2015-03-24)
---------------------
* Fixing LICENSE.TXT to .txt issue that keeps reoccuring.
0.1.5 (2015-03-16)
---------------------
* Fixed an issue where int32 dems with INT_MIN as the nodata value were being treated as real DEM values because of an internal cast to a float for the nodata type, but a cast to double for the DEM values.
* Fixed an issue where flat regions, such as reservoirs, that could only drain off the edge of the DEM now correctly drain as opposed to having undefined flow directions.
0.1.4 (2015-03-13)
---------------------
* Fixed a memory issue for DEMs on the order of 25k X 25k, still may have issues with larger DEMs.
0.1.3 (2015-03-08)
---------------------
* Fixed an issue so tox correctly executes on the repository.
* Created a history file to document current and previous releases.
* Created an informative README.rst.
0.1.2 (2015-03-04)
---------------------
* Fixing issue that caused "LICENSE.TXT not found" during pip install.
0.1.1 (2015-03-04)
---------------------
* Fixing issue with automatic versioning scheme.
0.1.0 (2015-02-26)
---------------------
* First release on PyPI.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pygeoprocessing-0.2.1.zip
(530.8 kB
view details)
Built Distribution
File details
Details for the file pygeoprocessing-0.2.1.zip
.
File metadata
- Download URL: pygeoprocessing-0.2.1.zip
- Upload date:
- Size: 530.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00727cc37435313919c27db2209470fbe4fdce83c7a16bb7e1657eafb3d0f4a8 |
|
MD5 | 56a536585fffd625027b726af8586137 |
|
BLAKE2b-256 | 2cb56ea015e491f375999bb222c0176737cabf2205fa5b8e8e343cefa27a0029 |
File details
Details for the file pygeoprocessing-0.2.1-cp27-none-win32.whl
.
File metadata
- Download URL: pygeoprocessing-0.2.1-cp27-none-win32.whl
- Upload date:
- Size: 805.0 kB
- Tags: CPython 2.7, Windows x86
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f6e10b77ed0b0a729a3c1aa169355cbf869222c0cfbbd2a8c269d1c83980de95 |
|
MD5 | b9f63e186d8c96c1eb31d1fea824cfa3 |
|
BLAKE2b-256 | cde08ec8655bc781f8f5a8c5cfb3cf23466f6793d3a8c803dcdf335297aa07af |