Releases: hyriver/pygeoutils
Releases · hyriver/pygeoutils
v0.19.5
v0.19.0
Release Notes
New Features
- Add a function called
sample_windowto remsample a raster dataset using a window size and arasteriosupported resampling method. This is an efficient way of sampling large raster datasets without reading the entire dataset into memory. The function returns a generator that yields the sampled values in the order of the input coordinates. This function is based on therasterio.sample.sample_genfunction. - Add a function called
geo_transformfor transforming any Shapely geometry to a new CRS. It could be a single geometry or an array of geometries.
v0.18.0
Release Notes
New Features
- Add a function called
achored_amoothinto smooth aLineStringusing Cubnic splines that anchores the first and last points of theLineString. - Add a function called
smooth_multilinestringto smooth aMultiLineStringusing the newanchored_smoothinfunction. - In
line_curvatureusespline_curvatureto calculate the curvature of aLineStringat all points along theLineString. This is more accurate than the previous method and users can now specify the smoothing factor (s) and degree of the spline (k) to control the smoothness of the spline that is used to calculate the curvature.
Breaking Changes
- Drop support for Python 3.8 since its end-of-life date is October 2024.
- Remove all exceptions from the main module and raise them from the
exceptionsmodule. This is to declutter the main module and make it easier to maintain.
Internal Changes
- Move all spline and smoothing functions to a new module called
smoothing.
v0.17.1
Release Notes
Internal Changes
- Drop support for Python 3.8 since its end-of-life date is October 2024.
v0.17.0
Release Notes
Internal Changes
- Add the
exceptionsmodule to the high-level API to declutter the main module. In the future, all exceptions will be raised from this module and not from the main module. For now, the exceptions are raised from both modules for backward compatibility. - Switch to using the
srclayout instead of theflatlayout for the package structure. This is to make the package more maintainable and to avoid any potential conflicts with other packages. - Improve robustness of
json2geodfby ensuring that all geojsons are in the same CRS.
v0.16.3
Release Notes
Internal Changes
- Add the
exceptionsmodule to the high-level API to declutter the main module. In the future, all exceptions will be raised from this module and not from the main module. For now, the exceptions are raised from both modules for backward compatibility. - Improve robustness of
json2geodfby ensuring that all geojsons are in the same CRS.
v0.16.1
Release Notes
Bug Fixes
pyprojuses its own env variables for SSL certification. This release fixes the issue withpyprojnot being able to download the grid database when using DOI SSL certification file. This release usespyproj.network.set_ca_bundle_pathfor setting the SSL certification file given by the user viaHYRIVER_SSL_CERTenv variable.- Ignore
FutureWarningof pandas 2.1.0 for all-NaN columns injson2geodf.
Internal Changes
- For
Attrsclass, usedataclassinstead for better performance and consistency.
v0.16.0
Release Notes
Breaking Changes
- Refactor the spline generation functions to make them more efficient, more accurate, and more robust. Switched to using
UnivariateSplinefromscipyinstead ofBSpline. This allows for more control over smoothness of the spline via thesmoothparameter. References to BSpline has been removed from the functions and a new functionality has been added. The new spline generation functions areGeoSpline,make_spline,spline_linestring,smooth_linestring,spline_curvature, andline_curvature. Thesmooth_linestringfunction now returns aLineStringinstead of aSplineobject. This function is intended for smoothing aLineStringwhen curvature, radius of curvature, and tangent angles are not needed. Thespline_linestringfunction now returns aSplineobject that contains the smoothedLineStringand curvature, radius of curvature, and tangent angles. Also,line_curvaturefunction can be used to compute curvature, radius of curvature, and tangent angles of aLineStringat all point along theLineString.
New Features
- Add a new function called
gtiff2vrtfor creating a VRT file from a list of GeoTiff files. Note that this new function requiresgdalto be installed. - The
xd_write_crsfunction now keepsspatial_refattribute of the inputxarray.DataArrayorxarray.Datasetto retain CF compliance.
v0.15.2
Release Notes
New Features
- Add
geometry_reprojectfunction for reprojecting a geometry (bounding box, list of coordinates, or anyshapely.geometry) to a new CRS. - Add
smooth_linestringfunction for smoothing aLineStringusing B-splines. - Make
make_bsplineandbspline_curvaturefunctions public. Themake_bsplinefunction usesscipyto generate aBSplinesobject and thebspline_curvaturefunction calculates the tangent angles, curvature, and radius of curvature of a B-spline at any point along the B-spline. - Improve the accuracy and performance of B-spline generation functions.
Internal Changes
- Remove dependency on
dask.
v0.15.0
Release Notes
From release 0.15 onward, all minor versions of HyRiver packages will be pinned. This ensures that previous minor versions of HyRiver packages cannot be installed with later minor releases. For example, if you have py3dep==0.14.x installed, you cannot install pydaymet==0.15.x. This is to ensure that the API is consistent across all minor versions.
New Features
- For now, retain compatibility with
shapely<2while supportingshapley>=2.