Releases: GlacioHack/geoutils
v0.2.5
Small release to rapidly fix raster plotting bug from upstream (Rasterio). Now using Matplotlib directly.
What's Changed
- Fix raster plotting issue by @rhugonnet in #846
- Update version to
0.2.5by @rhugonnet in #848
Full Changelog: v0.2.4...v0.2.5
v0.2.4
Small release to avoid (or silence when unavoidable) logging warnings recently introduced by Rasterio/GDAL.
What's Changed
- Fix conflict between arguments co_opts and compress/tiled of Raster.to_file() (previously .save()) by @marinebcht in #796
- Add test for is_bigtiff() function by @adebardo in #826
- Fail on logging exceptions and update functionalities raising warnings by @rhugonnet in #832
- Update version to
0.2.4by @rhugonnet in #838
Full Changelog: v0.2.3...v0.2.4
v0.2.3
Small release, notably to add support for Python 3.14 and Rasterio 1.5.
What's Changed
- Dealing with BIGTIFF in multiproc by @marinebcht in #779
- Add the possibility to save raster/pc/vector figure after a plot by @marinebcht in #795
- Add support for Python 3.14 by @rhugonnet in #744
- Update version to
0.2.3by @rhugonnet in #829
Full Changelog: v0.2.2...v0.2.3
v0.2.2
This small release notably improves the management of optional dependencies, and minimizes required dependencies. GeoUtils now depends only on Rasterio, GeoPandas and SciPy for its main features and classes, and on Xarray for its accessor (soon to be released).
What's Changed
- Bump actions/download-artifact from 6 to 7 by @dependabot[bot] in #789
- Bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in #790
- Small updates to example data path and CI by @rhugonnet in #794
- Update for NumPy 2.4.0 by @rhugonnet in #803
- Ensure future GeoPandas deprecations don't break package on import by @rhugonnet in #797
- Add import error for uninstalled LasPy by @rhugonnet in #807
- Update optional dependency management by @rhugonnet in #810
- Fix indexing and index assignment for same-length arrays in
PointCloudby @rhugonnet in #816 - Downsample <1 unallowed by @adebardo in #812
- Update version number to
0.2.2by @rhugonnet in #817
Full Changelog: v0.2.1...v0.2.2
v0.2.1
This release notably includes performance improvements for statistics, the addition of various filters robust to NaNs for rasters, and a profiling tool.
What's Changed
- Move
filter.pyfrom xDEM to GeoUtils and integrate into raster class by @adebardo in #699 - Change save() to to_file() with a DeprecationWarning for save() by @marinebcht in #767
- Bump actions/checkout from 5 to 6 by @dependabot[bot] in #771
- Unpin Xarray max version with recent Rioxarray release by @rhugonnet in #775
- Fix behaviour for boolean raster
reprojectby @rhugonnet in #773 - Bump actions/cache from 4 to 5 by @dependabot[bot] in #781
- Bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in #782
- Bump actions/download-artifact from 6 to 7 by @dependabot[bot] in #783
- Add profiling module by @marinebcht in #751
- Adding workflow to publish on Testpypi by @adebardo in #785
- Optimization of get_stats() by @marinebcht in #747
- Add support for 3D point geometries in
PointCloudclass by @rhugonnet in #765 - Update version number to
0.2.1by @rhugonnet in #788
Full Changelog: v0.2.0...v0.2.1
v0.2.0
This second minor release of GeoUtils finalizes the features linked to point clouds (2D georeferenced points associated to a set of values).
All point-related operations (e.g., interpolation, gridding) can now be performed from the new PointCloud class, or use the class for match-reference during an operation requiring 2D coordinates input, to easily interface with Raster and Vector objects. The PointCloud class also supports all numerical and geometric operations that exist for raster (geometric masking, subsampling, Python arithmetics, NumPy interfacing, statistics).
Minor changes might affect previous code:
- The
interp_pointsandto_pointcloudfunctions now return aPointCloudby default, instead of an array. - The
Maskclass is deprecated, but will continue working.
We are finalizing an Xarray accessor for rasters and a Pandas accessor for point clouds (mirroring our classes), planned for a coming release. This release will also includes several scalability features for rasters (out-of-memory and parallel operations) with both Dask or Multiprocessing as possible backends.
Finally, features on statistics (zonal, grouped) and interpolators & filters (gap-filling, filtering) are also being implemented for a future release.
What's Changed
- Add IQR stat + pytest correction with lazy_fixtures by @marinebcht in #717
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #721
- Bump actions/setup-python from 5 to 6 by @dependabot[bot] in #726
- Clarify
inlier_maskdefinition inget_stats()by @marinebcht in #725 - Bug: initialise Raster with user-provided nodata value by @atedstone in #729
- Add
PointCloudsubclass ofVectorby @rhugonnet in #492 - Fix some typos by @adebardo in #730
- Unpin
coverageand convert to LCOV for compatibility with Numba by @rhugonnet in #736 - Update authors, code of conduct and add governance by @rhugonnet in #741
- Remove
RasterMaskandPointCloudMaskclasses in favor of boolean dtype in parent class by @rhugonnet in #737 - Improve test speed and structure by @rhugonnet in #738
- Update PyPI publish by @rhugonnet in #746
- Bump actions/download-artifact from 4 to 5 by @dependabot[bot] in #750
- Continue on error when coveralls.io is down by @adebardo in #749
- Bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #752
- Bump actions/download-artifact from 5 to 6 by @dependabot[bot] in #753
- Run independent CI tests for base and optional environments by @rhugonnet in #758
- Small fixes to CI scripts by @rhugonnet in #760
- Update documentation before
0.2by @rhugonnet in #761 - Minor doc fixes by @rhugonnet in #762
- More minor doc fixes by @rhugonnet in #763
- Update version to
0.2.0by @rhugonnet in #764
New Contributors
- @marinebcht made their first contribution in #717
Full Changelog: v0.1.17...v0.2.0
v0.1.17
This small release notably adds support for Python 3.13 and GeoPandas 1.1.
What's Changed
- Add Python 3.13 support by @rhugonnet in #689
- Add input checks for tiling by @vschaffn in #696
- Add back Python 3.10 support by @adebardo in #695
- Replace logging.warning with logging.info when saving file through Multiprocessing by @adebardo in #698
- Remove geom_almost_equal from Geopandas by @adebardo in #701
- Fix Dask memory test for
subsampleby @rhugonnet in #702 - Add more margin for Dask memory test by @rhugonnet in #704
- Update version number to 0.1.17 by @adebardo in #705
Full Changelog: v0.1.16...v0.1.17
v0.1.16
This small release fixes a packaging issue to have consistent modules available on PyPI or Conda-forge.
What's Changed
- Use automatic
packages.findlisting to avoid forgettingsetuptoolsmodules by @rhugonnet in #687 - Update version number to
0.1.16by @rhugonnet in #688
Full Changelog: v0.1.15...v0.1.16
v0.1.15
This release includes several smalls features and support for NumPy 2. It also allows out-of-memory reprojection internally (not available in the public API yet).
What's Changed
- Add NumPy 2 support by @rhugonnet in #605
- Add default nodata support for integer 64 types by @rhugonnet in #680
- Update
Vectorclass to latest Shapely functions by @rhugonnet in #679 - Multiprocessing reprojection by @vschaffn in #661
- Modify
nmadto match with xDEM usage by @vschaffn in #678 - Use
toleranceinreproject()only for Rasterio>1.4.3 and re-structure chunked ops by @rhugonnet in #681 - Add COG format by @belletva in #666
- Handle Masks in
map_overlap_multiproc_saveby @vschaffn in #683 - Change
nb_workersin cluster used in tests by @vschaffn in #684 - Update setup.cfg by @adebardo in #685
New Contributors
Full Changelog: v0.1.14...v0.1.15
v0.1.14
This release contains several bug fixes, in particular to install GeoUtils with Python 3.12 without conda.
Internally, this release also prepares future scalability features for the Raster class with parallel, out-of-memory operations.
What's Changed
- Fix
Raster.get_statswhen an emptyinlier_maskis passed by @vschaffn in #663 - Bugfix logic in ternary assignment statements by @ehusby in #664
- Add handling of failure case for
merge_rasters()algocheck by @ehusby in #665 - Add profile to raster metadata and use fork for multiprocessing by @adebardo in #667
- Fix NumPy integer overflow to get count in
subdivide_arrayby @asub-sandwich in #672 - Optimizing
raster.icropby @vschaffn in #660 - Generic Multiprocessing Functions for Raster Processing by @vschaffn in #669
- Fix pip CI checks and remove
distutilsimplicit dependency by @rhugonnet in #675 - Update version to
0.1.14by @rhugonnet in #676
New Contributors
- @ehusby made their first contribution in #664
- @adebardo made their first contribution in #667
- @asub-sandwich made their first contribution in #672
Full Changelog: v0.1.13...v0.1.14