LSDtopotools / lsdviztools

Vizualisation (or visualisation, depending on your country) tools for LSDTopoTools and lsdtopytools
MIT License
4 stars 3 forks source link

Update geopandas to 0.9.0 #132

Closed pyup-bot closed 3 years ago

pyup-bot commented 3 years ago

This PR updates geopandas from 0.8.2 to 0.9.0.

Changelog ### 0.9.0 ``` --------------------------------- Many documentation improvements and a restyled and restructured website with a new logo (1564, 1579, 1617, 1668, 1731, 1750, 1757, 1759). New features and improvements: - The `geopandas.read_file` function now accepts more general file-like objects (e.g. `fsspec` open file objects). It will now also automatically recognize zipped files (1535). - The `GeoDataFrame.plot()` method now provides access to the pandas plotting functionality for the non-geometry columns, either using the `kind` keyword or the accessor method (e.g. `gdf.plot(kind="bar")` or `gdf.plot.bar()`) (1465). - New `from_wkt()`, `from_wkb()`, `to_wkt()`, `to_wkb()` methods for GeoSeries to construct a GeoSeries from geometries in WKT or WKB representation, or to convert a GeoSeries to a pandas Seriew with WKT or WKB values (1710). - New `GeoSeries.z` attribute to access the z-coordinates of Point geometries (similar to the existing `.x` and `.y` attributes) (1773). - The `to_crs()` method now handles missing values (1618). - Support for pandas' new `.attrs` functionality (1658). - The `dissolve()` method now allows dissolving by no column (`by=None`) to create a union of all geometries (single-row GeoDataFrame) (1568). - New `estimate_utm_crs()` method on GeoSeries/GeoDataFrame to determine the UTM CRS based on the bounds (1646). - `GeoDataFrame.from_dict()` now accepts `geometry` and `crs` keywords (1619). - `GeoDataFrame.to_postgis()` and `geopandas.read_postgis()` now supports both sqlalchemy engine and connection objects (1638). - The `GeoDataFrame.explode()` method now allows exploding based on a non-geometry column, using the pandas implementation (1720). - Performance improvement in `GeoDataFrame/GeoSeries.explode()` when using the PyGEOS backend (1693). - The binary operation and predicate methods (eg `intersection()`, `intersects()`) have a new `align` keyword which allows optionally not aligning on the index before performing the operation with `align=False` (1668). - The `GeoDataFrame.dissolve()` method now supports all relevant keywords of `groupby()`, i.e. the `level`, `sort`, `observed` and `dropna` keywords (1845). - The `geopandas.overlay()` function now accepts `make_valid=False` to skip the step to ensure the input geometries are valid using `buffer(0)` (1802). - The `GeoDataFrame.to_json()` method gained a `drop_id` keyword to optionally not write the GeoDataFrame's index as the "id" field in the resulting JSON (1637). - A new `aspect` keyword in the plotting methods to optionally allow retaining the original aspect (1512) - A new `interval` keyword in the `legend_kwds` group of the `plot()` method to control the appearance of the legend labels when using a classification scheme (1605). - The spatial index of a GeoSeries (accessed with the `sindex` attribute) is now stored on the underlying array. This ensures that the spatial index is preserved in more operations where possible, and that multiple geometry columns of a GeoDataFrame can each have a spatial index (1444). - Addition of a `has_sindex` attribute on the GeoSeries/GeoDataFrame to check if a spatial index has already been initialized (1627). - The `geopandas.testing.assert_geoseries_equal()` and `assert_geodataframe_equal()` testing utilities now have a `normalize` keyword (False by default) to normalize geometries before comparing for equality (1826). Those functions now also give a more informative error message when failing (1808). Deprecations and compatibility notes: - The `is_ring` attribute currently returns True for Polygons. In the future, this will be False (1631). In addition, start to check it for LineStrings and LinearRings (instead of always returning False). - The deprecated `objects` keyword in the `intersection()` method of the `GeoDataFrame/GeoSeries.sindex` spatial index object has been removed (1444). Bug fixes: - Fix regression in the `plot()` method raising an error with empty geometries (1702, 1828). - Fix `geopandas.overlay()` to preserve geometries of the correct type which are nested within a GeometryCollection as a result of the overlay operation (1582). In addition, a warning will now be raised if geometries of different type are dropped from the result (1554). - Fix the repr of an empty GeoSeries to not show spurious warnings (1673). - Fix the `.crs` for empty GeoDataFrames (1560). - Fix `geopandas.clip` to preserve the correct geometry column name (1566). - Fix bug in `plot()` method when using `legend_kwds` with multiple subplots (1583) - Fix spurious warning with `missing_kwds` keyword of the `plot()` method when there are no areas with missing data (1600). - Fix the `plot()` method to correctly align values passed to the `column` keyword as a pandas Series (1670). - Fix bug in plotting MultiPoints when passing values to determine the color (1694) - The `rename_geometry()` method now raises a more informative error message when a duplicate column name is used (1602). - Fix `explode()` method to preserve the CRS (1655) - Fix the `GeoSeries.apply()` method to again accept the `convert_dtype` keyword to be consistent with pandas (1636). - Fix `GeoDataFrame.apply()` to preserve the CRS when possible (1848). - Fix bug in containment test as `geom in geoseries` (1753). - The `shift()` method of a GeoSeries/GeoDataFrame now preserves the CRS (1744). - The PostGIS IO functionality now quotes table names to ensure it works with case-sensitive names (1825). - Fix the `GeoSeries` constructor without passing data but only an index (1798). Notes on (optional) dependencies: - GeoPandas 0.9.0 dropped support for Python 3.5. Further, the minimum required versions are pandas 0.24, numpy 1.15 and shapely 1.6 and fiona 1.8. - The `descartes` package is no longer required for plotting polygons. This functionality is now included by default in GeoPandas itself, when matplotlib is available (1677). - Fiona is now only imported when used in `read_file`/`to_file`. This means you can now force geopandas to install without fiona installed (although it is still a default requirement) (1775). - Compatibility with the upcoming Shapely 1.8 (1659, 1662, 1819). ```
Links - PyPI: https://pypi.org/project/geopandas - Changelog: https://pyup.io/changelogs/geopandas/ - Homepage: http://geopandas.org