Releases: hyriver/pygeoutils
Releases · hyriver/pygeoutils
v0.17.1
v0.17.0
Release Notes
Internal Changes
- Add the
exceptions
module 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
src
layout instead of theflat
layout for the package structure. This is to make the package more maintainable and to avoid any potential conflicts with other packages. - Improve robustness of
json2geodf
by ensuring that all geojsons are in the same CRS.
v0.16.3
Release Notes
Internal Changes
- Add the
exceptions
module 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
json2geodf
by ensuring that all geojsons are in the same CRS.
v0.16.1
Release Notes
Bug Fixes
pyproj
uses its own env variables for SSL certification. This release fixes the issue withpyproj
not being able to download the grid database when using DOI SSL certification file. This release usespyproj.network.set_ca_bundle_path
for setting the SSL certification file given by the user viaHYRIVER_SSL_CERT
env variable.- Ignore
FutureWarning
of pandas 2.1.0 for all-NaN columns injson2geodf
.
Internal Changes
- For
Attrs
class, usedataclass
instead 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
UnivariateSpline
fromscipy
instead ofBSpline
. This allows for more control over smoothness of the spline via thesmooth
parameter. 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_linestring
function now returns aLineString
instead of aSpline
object. This function is intended for smoothing aLineString
when curvature, radius of curvature, and tangent angles are not needed. Thespline_linestring
function now returns aSpline
object that contains the smoothedLineString
and curvature, radius of curvature, and tangent angles. Also,line_curvature
function can be used to compute curvature, radius of curvature, and tangent angles of aLineString
at all point along theLineString
.
New Features
- Add a new function called
gtiff2vrt
for creating a VRT file from a list of GeoTiff files. Note that this new function requiresgdal
to be installed. - The
xd_write_crs
function now keepsspatial_ref
attribute of the inputxarray.DataArray
orxarray.Dataset
to retain CF compliance.
v0.15.2
Release Notes
New Features
- Add
geometry_reproject
function for reprojecting a geometry (bounding box, list of coordinates, or anyshapely.geometry
) to a new CRS. - Add
smooth_linestring
function for smoothing aLineString
using B-splines. - Make
make_bspline
andbspline_curvature
functions public. Themake_bspline
function usesscipy
to generate aBSplines
object and thebspline_curvature
function 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<2
while supportingshapley>=2
.
v0.14.0
Release Notes
New Features
- Ignore index when concatenating multiple responses in
json2geodf
to ensure indices are unique - Add a new function, called
coords_list
, for converting/validating input coordinates of any type to alist
oftuple
, i.e.,[(x1, y1), (x2, y2), ...]
. - Make
xd_write_crs
function public. - In
xarray_geomask
if the input geometry is very small return at least one pixel. - Add a new function, called
multi2poly
, for converting aMultiPolygon
to aPolygon
in aGeoDataFrame
. This function tries to convertMultiPolygon
toPolygon
by first checking ifMultiPolygon
can be directly converted using their exterior boundaries. If not, will try to remove those small sub-Polygon
that their area is less than 1% of the total area of theMultiPolygon
. If this fails, the originalMultiPolygon
will be returned.
Breaking Changes
- Bump the minimum required version of
shapely
to 2.0, and use its new API.
Internal Changes
- Sync all minor versions of HyRiver packages to 0.14.0.
v0.13.12
Release Notes
Breaking Changes
- The input geo-dataframes to
break_lines
now should be in a projected CRS.
New Features
- Significant improvements in the accuracy and performance of
nested_polygons
by changing the logic. Now, the function first determines the nested polygons by comparing the centroids of the geometries with their geometry and then picks the largest geometry from each group of nested geometries. - Add a new function called
query_indicies
which is a wrapper aroundgeopandas.sindex.query_bulk
. However, instead of returning an array of positional indices, it returns a dictionary of indices where keys are the indices of the input geometry and values are a list of indices of the tree geometries that intersect with the input geometry.
Internal Changes
- Simplify
geo2polygon
by making the two CRS arguments optional and only reproject if CRS values are given and different. - Apply the geometry mask in
gtiff2xarray
even if the input geometry is a bounding box since the mask might not be the same geometry as the one that was used during data query. - Fully migrate
setup.cfg
andsetup.py
topyproject.toml
. - Convert relative imports to absolute with
absolufy-imports
. - Sync all patch versions of HyRiver packages to x.x.12.
v0.13.11
Release Notes
Bug Fixes
- Fix an in issue
xarray_geomask
where for geometries that are smaller than a single pixel, the bbox clipping operation fails. This is fixed by using theauto_expand
option ofrioxarray.clip_box
.