Pygeoutils

Latest version: v0.16.1

Safety actively analyzes 613603 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 7

0.16.1

Release Notes

Bug Fixes

- `pyproj` uses its own env variables for SSL certification. This release fixes the issue with `pyproj` not being able to download the grid database when using DOI SSL certification file. This release uses `pyproj.network.set_ca_bundle_path` for setting the SSL certification file given by the user via `HYRIVER_SSL_CERT` env variable.
- Ignore `FutureWarning` of pandas 2.1.0 for all-NaN columns in `json2geodf`.

Internal Changes

- For `Attrs` class, use `dataclass` instead for better performance and consistency.

0.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` from `scipy` instead of `BSpline`. This allows for more control over smoothness of the spline via the `smooth` parameter. References to BSpline has been removed from the functions and a new functionality has been added. The new spline generation functions are `GeoSpline`, `make_spline`, `spline_linestring`, `smooth_linestring`, `spline_curvature`, and `line_curvature`. The `smooth_linestring` function now returns a `LineString` instead of a `Spline` object. This function is intended for smoothing a `LineString` when curvature, radius of curvature, and tangent angles are not needed. The `spline_linestring` function now returns a `Spline` object that contains the smoothed `LineString` 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 a `LineString` at all point along the `LineString`.

New Features

- Add a new function called `gtiff2vrt` for creating a VRT file from a list of GeoTiff files. Note that this new function requires `gdal` to be installed.
- The `xd_write_crs` function now keeps `spatial_ref` attribute of the input `xarray.DataArray` or `xarray.Dataset` to retain CF compliance.

0.15.2

Release Notes

New Features

- Add `geometry_reproject` function for reprojecting a geometry (bounding box, list of coordinates, or any `shapely.geometry`) to a new CRS.
- Add `smooth_linestring` function for smoothing a `LineString` using B-splines.
- Make `make_bspline` and `bspline_curvature` functions public. The `make_bspline` function uses `scipy` to generate a `BSplines` object and the `bspline_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`.

0.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 supporting `shapley>=2`.

0.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 a `list` of `tuple`, 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 a `MultiPolygon` to a `Polygon` in a `GeoDataFrame`. This function tries to convert `MultiPolygon` to `Polygon` by first checking if `MultiPolygon` 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 the `MultiPolygon`. If this fails, the original `MultiPolygon` 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.

0.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 around `geopandas.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` and `setup.py` to `pyproject.toml`.
- Convert relative imports to absolute with `absolufy-imports`.
- Sync all patch versions of HyRiver packages to x.x.12.

Page 1 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.