Skip to content

Update geopandas to 0.14.3#599

Closed
pyup-bot wants to merge 1 commit intomainfrom
pyup-update-geopandas-0.9.0-to-0.14.3
Closed

Update geopandas to 0.14.3#599
pyup-bot wants to merge 1 commit intomainfrom
pyup-update-geopandas-0.9.0-to-0.14.3

Conversation

@pyup-bot
Copy link
Copy Markdown
Collaborator

This PR updates geopandas from 0.9.0 to 0.14.3.

Changelog

0.14.3

Small bug-fix release:

- Several fixes for compatibility with the latest pandas 2.2 release.
- Fix bug in `pandas.concat` CRS consistency checking where CRS differing by WKT whitespace only were treated as incompatible (3023).

0.14.2

Small bug-fix release:

- Fix regression in `overlay` where using `buffer(0)` instead of `make_valid` internally produced invalid results (3074).
- Fix `explore()` method when the active geometry contains missing and empty geometries (3094).

0.14.1

Small bug-fix release updating the GeoParquet spec version and with a critical security fix:

- The Parquet and Feather IO functions now support the latest 1.0.0 version
of the GeoParquet specification (geoparquet.org) (2663).
- Fix `read_parquet` and `read_feather` for [CVE-2023-47248](https://www.cve.org/CVERecord?id=CVE-2023-47248>) (#3070).

0.14.0

GeoPandas will use Shapely 2.0 by default instead of PyGEOS when both Shapely >= 2.0 and
PyGEOS are installed.  PyGEOS will continue to be used by default when PyGEOS is
installed alongside Shapely < 2.0.  Support for PyGEOS and Shapely < 2.0 will be removed
in GeoPandas 1.0. (2999)

API changes:

- ``seed`` keyword in ``sample_points`` is deprecated. Use ``rng`` instead. (2913).

New methods:

- Added ``concave_hull`` method from shapely to GeoSeries/GeoDataframe (2903).
- Added ``delaunay_triangles`` method from shapely to GeoSeries/GeoDataframe (2907).
- Added ``extract_unique_points`` method from shapely to GeoSeries/GeoDataframe (2915).
- Added ``frechet_distance()`` method from shapely to GeoSeries/GeoDataframe (2929).
- Added ``hausdorff_distance`` method from shapely to GeoSeries/GeoDataframe (2909).
- Added ``minimum_rotated_rectangle`` method from shapely to GeoSeries/GeoDataframe (2541).
- Added ``offset_curve`` method from shapely to GeoSeries/GeoDataframe (2902).
- Added ``remove_repeated_points`` method from shapely to GeoSeries/GeoDataframe (2940).
- Added ``reverse`` method from shapely to GeoSeries/GeoDataframe (2988).
- Added ``segmentize`` method from shapely to GeoSeries/GeoDataFrame (2910).
- Added ``shortest_line`` method from shapely to GeoSeries/GeoDataframe (2960).

New features and improvements:

- Added ``exclusive`` parameter to ``sjoin_nearest`` method for Shapely >= 2.0 (2877)
- The ``to_file()`` method will now automatically detect the FlatGeoBuf driver
for files with the `.fgb` extension (2958)

Bug fixes:

- Fix ambiguous error when GeoDataFrame is initialized with a column called ``"crs"`` (2944)
- Fix a color assignment in ``explore`` when using ``UserDefined`` bins (2923)
- Fix bug in `apply` with `axis=1` where the given user defined function returns nested
data in the geometry column (2959)
- Properly infer schema for ``np.int32`` and ``pd.Int32Dtype`` columns (2950)
- ``assert_geodataframe_equal`` now handles GeoDataFrames with no active geometry (2498)

Notes on (optional) dependencies:

- GeoPandas 0.14 drops support for Python 3.8 and pandas 1.3 and below (the minimum
supported pandas version is now 1.4). Further, the minimum required versions for the
listed dependencies have now changed to shapely 1.8.0, fiona 1.8.21, pyproj 3.3.0 and
matplotlib 3.5.0 (3001)

Deprecations and compatibility notes:

- `geom_almost_equals()` methods have been deprecated and
`geom_equals_exact()` should be used instead (2604).

**Acknowledgments**

Thanks to everyone who contributed to this release!
A total of 16 people contributed patches to this release. People with a "+" by their names contributed for the first time.

- [Anudeep Adiraju](https://github.com/anudeepadi) +
- [Christopher Hedemann](https://github.com/chris-hedemann) +
- [Geoff Boeing](https://github.com/gboeing) +
- [harisbal](https://github.com/harisbal) + 
- [James Gardiner](https://github.com/JamesGardiner) +
- [Joris Van den Bossche](https://github.com/jorisvandenbossche)
- [Kaushik](https://github.com/kaushiksrini) +
- [Matt Richards](https://github.com/m-richards)
- [Martin Fleischmann](https://github.com/martinfleis)
- [Ray Bell](https://github.com/raybellwaves)
- [richardachen](https://github.com/richardachen) +
- [Shogo Hida](https://github.com/shogohida)
- [Simone Parmeggiani](https://github.com/SimoParmeg)
- [Steve Berdy](https://github.com/steveberdy) +
- [Darren Erik Vengroff](https://github.com/vengroff) +
- [Wei Ji](https://github.com/weiji14) +

**Full Changelog**: https://github.com/geopandas/geopandas/compare/v0.13.2...v0.14.0

0.13.2

Small bug-fix release with this critical fix:

- Fix a regression in reading from local file URIs (``file://..``) using ``geopandas.read_file`` (2948).

0.13.1

Small bug-fix release with this critical fix:

- Fix the a regression in reading from URLs using ``geopandas.read_file`` (2908). This
restores the behaviour to download all data up-front before passing it to the
underlying engine (fiona or pyogrio), except if the server supports partial requests
(to support reading a subset of a large file).

0.13.0

New methods:

- Added ``sample_points`` method to sample random points from Polygon or LineString geometries (2860).
- New ``hilbert_distance()`` method that calculates the distance along a Hilbert curve for each geometry in a GeoSeries/GeoDataFrame (2297).
- Support for sorting geometries (for example, using ``sort_values()``) based on the distance along the Hilbert curve (2070).
- Added ``get_coordinates()`` method from shapely to GeoSeries/GeoDataframe (2624).
- Added ``minimum_bounding_circle()`` method from shapely to GeoSeries/GeoDataframe (2621).
- Added `minimum_bounding_radius()` as GeoSeries method (2827).

Other new features and improvements:

- The Parquet and Feather IO functions now support the latest 1.0.0-beta.1 version of the GeoParquet specification (<geoparquet.org>) (2663).
- Added support to fill missing values in `GeoSeries.fillna` via another `GeoSeries` (2535).
- Support specifying ``min_zoom`` and ``max_zoom`` inside the ``map_kwds`` argument for ``.explore()`` (2599).
- Added support for append (``mode="a"`` or ``append=True``) in ``to_file()`` using ``engine="pyogrio"`` (2788).
- Added a ``to_wgs84`` keyword to ``to_json`` allowing automatic re-projecting to follow the 2016 GeoJSON specification (416).
- ``to_json`` output now includes a ``"crs"`` field if the CRS is not the default WGS84 (1774).
- Improve error messages when accessing the `geometry` attribute of GeoDataFrame without an active geometry column related to the default name `"geometry"` being provided in the constructor (2577)

Deprecations and compatibility notes:

- Added warning that ``unary_union`` will return ``'GEOMETRYCOLLECTION EMPTY'`` instead of None for all-None GeoSeries. (2618)
- The ``query_bulk()`` method of the spatial index `.sindex` property is deprecated in favor of ``query()`` (2823).

Bug fixes:

- Ensure that GeoDataFrame created from DataFrame is a copy, not a view (2667)
- Fix mismatch between geometries and colors in ``plot()`` if an empty or missing geometry is present (2224)
- Escape special characters to avoid TemplateSyntaxError in ``explore()`` (2657)
- Fix `to_parquet`/`to_feather` to not write an invalid bbox (with NaNs) in the metadata in case of an empty GeoDataFrame (2653)
- Fix `to_parquet`/`to_feather` to use correct WKB flavor for 3D geometries (2654)
- Fix `read_file` to avoid reading all file bytes prior to calling Fiona or Pyogrio if provided a URL as input (2796)
- Fix `copy()` downcasting GeoDataFrames without an active geometry column to a DataFrame (2775)
- Fix geometry column name propagation when GeoDataFrame columns are a multiindex (2088)
- Fix `iterfeatures()` method of GeoDataFrame to correctly handle non-scalar values when `na='drop'` is specified (2811)
- Fix issue with passing custom legend labels to `plot` (2886)

Notes on (optional) dependencies:

- GeoPandas 0.13 drops support pandas 1.0.5 (the minimum supported pandas version is now 1.1). Further, the minimum required versions for the listed dependencies have now changed to shapely 1.7.1, fiona 1.8.19, pyproj 3.0.1 and matplotlib 3.3.4 (2655)

**Acknowledgments**

Thanks to everyone who contributed to this release!
A total of 32 people contributed patches to this release.  People with a "+" by their names contributed a patch for the first time.

* 40% +
* Brendan Ward
* Dhruv Kapoor +
* Dr Martin Black
* Eric Kerfoot +
* Ewout ter Hoeven
* Frank Anema +
* Isaac Boates
* James McBride
* Joris Van den Bossche
* Kyle Barron
* Levi Ob +
* Martin Fleischmann
* Matt Richards
* Mike Taves
* NoharaMasato +
* Pieter Roggemans +
* Rambaud Pierrick +
* Ray Bell
* Stefano Polloni +
* Taha Soomro +
* Tyler Caraza-Harter +
* Vecko +
* William Navarre +
* Xiaokang Fu +
* Yvonne Fröhlich +
* anastassiavybornova +
* dependabot[bot] +
* github-actions[bot] +
* rraymondgh
* simberaj
* wassname +

0.12.2

Bug fixes:

- Correctly handle geometries with Z dimension in ``to_crs()`` when using PyGEOS or
Shapely >= 2.0 (previously the z coordinates were lost) (1345).
- Assign Crimea to Ukraine in the ``naturalearth_lowres`` built-in dataset (2670)

0.12.1

Small bug-fix release removing the shapely<2 pin in the installation requirements.

0.12.0

The highlight of this release is the support for Shapely 2.0. This makes it possible to test Shapely 2.0 (currently 2.0b1) alongside GeoPandas.

Note that if you also have PyGEOS installed, you need to set an environment variable (`USE_PYGEOS=0`) before importing geopandas to actually test Shapely 2.0 features instead of PyGEOS. See https://geopandas.org/en/latest/getting_started/install.html#using-the-optional-pygeos-dependency for more details.

New features and improvements:

- Added ``normalize()`` method from shapely to GeoSeries/GeoDataframe (2537).
- Added ``make_valid()`` method from shapely to GeoSeries/GeoDataframe (2539).
- Added ``where`` filter to ``read_file`` (2552).
- Updated the distributed natural earth datasets (*naturalearth_lowres* and *naturalearth_cities*) to version 5.1 (2555).

Deprecations and compatibility notes:

- Accessing the `crs` of a `GeoDataFrame` without active geometry column was deprecated and this now raises an AttributeError (2578).
- Resolved colormap-related warning in ``.explore()`` for recent Matplotlib versions (2596).

Bug fixes:

- Fix cryptic error message in ``geopandas.clip()`` when clipping with an empty geometry (2589).
- Accessing `gdf.geometry` where the active geometry column is missing, and a column named `"geometry"` is present will now raise an `AttributeError`, rather than returning `gdf["geometry"]` (2575).
- Combining GeoSeries/GeoDataFrames with ``pandas.concat`` will no longer silently override CRS information if not all inputs have the same CRS (2056).

**Acknowledgments**

Thanks to everyone who contributed to this release!
A total of 17 people contributed patches to this release.  People with a "+" by their names contributed a patch for the first time.

* Alan D. Snow
* Alberto González Rosales +
* Brendan Ward
* Chris Arderne +
* Clemens Korner +
* Ewout ter Hoeven
* Fred Bunt +
* Giacomo Caria
* James Gaboardi
* Joris Van den Bossche
* Martin Fleischmann
* Matt Richards
* Ray Bell
* Shogo Hida +
* Simone Parmeggiani +
* keirayuki310 +
* rraymondgh

0.11.1

Small bug-fix release:

- Fix regression (RecursionError) in reshape methods such as ``unstack()`` and ``pivot()`` involving MultiIndex, or GeoDataFrame construction with MultiIndex (2486).
- Fix regression in ``GeoDataFrame.explode()`` with non-default geometry column name.
- Fix regression in ``apply()`` causing row-wise all nan float columns to be casted to GeometryDtype (2482). 
- Fix a crash in datetime column reading where the file contains mixed timezone offsets (2479). These will be read as UTC localized values.
- Fix a crash in datetime column reading where the file contains datetimes outside the range supported by [ns] precision (2505).
- Fix regression in passing the Parquet or Feather format ``version`` in ``to_parquet`` and ``to_feather``. As a result, the ``version`` parameter for the ``to_parquet`` and ``to_feather`` methods has been replaced with ``schema_version``. ``version`` will be passed directly to underlying feather or parquet writer. ``version`` will only be used to set ``schema_version`` if ``version`` is one of 0.1.0 or 0.4.0 (2496).

0.11.0

**Highlights of this release:**

- The ``geopandas.read_file()`` and `GeoDataFrame.to_file()` methods to read and write GIS file formats can now optionally use the [pyogrio](https://github.com/geopandas/pyogrio/) package under the hood through the ``engine="pyogrio"`` keyword. The pyogrio package implements vectorized IO for GDAL/OGR vector data sources, and is faster compared to the ``fiona``-based engine (#2225).
- GeoParquet support updated to implement [v0.4.0](https://github.com/opengeospatial/geoparquet/releases/tag/v0.4.0) of the OpenGeospatial/GeoParquet specification (#2441). Backwards compatibility with v0.1.0 of the metadata spec (implemented in the previous releases of GeoPandas) is guaranteed, and reading and writing Parquet and Feather files will no longer produce a ``UserWarning`` (2327).

**New features and improvements:**

- Improved handling of GeoDataFrame when the active geometry column is lost from the GeoDataFrame. Previously, square bracket indexing ``gdf[[...]]`` returned a GeoDataFrame when the active geometry column was retained and a DataFrame was returned otherwise. Other pandas indexing methods (``loc``, ``iloc``, etc) did not follow the same rules. The new behaviour for all indexing/reshaping operations is now as follows (2329, 2060):
- If operations produce a ``DataFrame`` containing the active geometry column, a GeoDataFrame is returned
- If operations produce a ``DataFrame`` containing ``GeometryDtype`` columns, but not the active geometry column, a ``GeoDataFrame`` is returned, where the active geometry column is set to ``None`` (set the new geometry column with ``set_geometry()``)
- If operations produce a ``DataFrame`` containing no ``GeometryDtype`` columns, a ``DataFrame`` is returned (this can be upcast again by calling ``set_geometry()`` or the ``GeoDataFrame`` constructor)
- If operations produce a ``Series`` of ``GeometryDtype``, a ``GeoSeries`` is returned, otherwise ``Series`` is returned.
- Error messages for having an invalid geometry column have been improved, indicating the name of the last valid active geometry column set   and whether other geometry columns can be promoted to the active geometry column (2329).

- Datetime fields are now read and written correctly for GIS formats which support them (e.g. GPKG, GeoJSON) with fiona 1.8.14 or higher. Previously, datetimes were read as strings (2202).
- ``folium.Map`` keyword arguments can now be specified as the ``map_kwds`` argument to ``GeoDataFrame.explore()`` method (2315).
- Add a new parameter ``style_function`` to ``GeoDataFrame.explore()`` to enable plot styling based on GeoJSON properties (2377).
- It is now possible to write an empty ``GeoDataFrame`` to a file for supported formats (2240). Attempting to do so will now emit a ``UserWarning`` instead of a ``ValueError``.
- Fast rectangle clipping has been exposed as ``GeoSeries/GeoDataFrame.clip_by_rect()`` (1928).
- The ``mask`` parameter of ``GeoSeries/GeoDataFrame.clip()`` now accepts a rectangular mask as a list-like to perform fast rectangle clipping using the new ``GeoSeries/GeoDataFrame.clip_by_rect()`` (2414).
- Bundled demo dataset ``naturalearth_lowres`` has been updated to version 5.0.1 of the source, with field ``ISO_A3`` manually corrected for some cases (2418).

**Deprecations and compatibility notes:**

- The active development branch of geopandas on GitHub has been renamed from master to main (2277).
- Deprecated methods ``GeometryArray.equals_exact()`` and ``GeometryArray.almost_equals()`` have been removed. They should
be replaced with ``GeometryArray.geom_equals_exact()`` and ``GeometryArray.geom_almost_equals()`` respectively (2267).
- Deprecated CRS functions ``explicit_crs_from_epsg()``, ``epsg_from_crs()`` and ``get_epsg_file_contents()`` were removed (2340).
- Warning about the behaviour change to ``GeoSeries.isna()`` with empty geometries present has been removed (2349).
- Specifying a CRS in the ``GeoDataFrame/GeoSeries`` constructor which contradicted the underlying ``GeometryArray`` now raises a ``ValueError`` (2100).
- Specifying a CRS in the ``GeoDataFrame`` constructor when no geometry column is provided and calling ``GeoDataFrame. set_crs`` on a ``GeoDataFrame`` without an active geometry column now raise a ``ValueError`` (2100)
- Passing non-geometry data to the``GeoSeries`` constructor is now fully deprecated and will raise a ``TypeError`` (2314). Previously, a ``pandas.Series`` was returned for non-geometry data.
- Deprecated ``GeoSeries/GeoDataFrame`` set operations ``__xor__()``, ``__or__()``, ``__and__()`` and ``__sub__()``, ``geopandas.io.file.read_file``/``to_file`` and ``geopandas.io.sql.read_postgis`` now emit ``FutureWarning`` instead of ``DeprecationWarning`` and will be completely removed in a future release.
- Accessing the ``crs`` of a ``GeoDataFrame`` without active geometry column is deprecated and will be removed in GeoPandas 0.12 (2373).

**Bug fixes:**

- ``GeoSeries.to_frame`` now creates a ``GeoDataFrame`` with the geometry column name set correctly (2296)
- Fix pickle files created with pygeos installed can not being readable when pygeos is not installed (2237).
- Fixed ``UnboundLocalError`` in ``GeoDataFrame.plot()`` using ``legend=True`` and ``missing_kwds`` (2281).
- Fix ``explode()`` incorrectly relating index to columns, including where the input index is not unique (2292)
- Fix ``GeoSeries.[xyz]`` raising an ``IndexError`` when the underlying GeoSeries contains empty points (2335). Rows corresponding to empty points now contain ``np.nan``.
- Fix ``GeoDataFrame.iloc`` raising a ``TypeError`` when indexing a ``GeoDataFrame`` with only a single column of ``GeometryDtype`` (1970).
- Fix ``GeoDataFrame.iterfeatures()`` not returning features with the same field order as ``GeoDataFrame.columns`` (2396).
- Fix ``GeoDataFrame.from_features()`` to support reading GeoJSON with null properties (2243).
- Fix ``GeoDataFrame.to_parquet()`` not intercepting ``engine`` keyword argument, breaking consistency with pandas (2227)
- Fix ``GeoDataFrame.explore()`` producing an error when ``column`` is of boolean dtype (2403).
- Fix an issue where ``GeoDataFrame.to_postgis()`` output the wrong SRID for ESRI authority CRS (2414).
- Fix ``GeoDataFrame.from_dict/from_features`` classmethods using ``GeoDataFrame`` rather than ``cls`` as the constructor.
- Fix ``GeoDataFrame.plot()`` producing incorrect colors with mixed geometry types when ``colors`` keyword is provided. (2420)

**Notes on (optional) dependencies:**

- GeoPandas 0.11 drops support for Python 3.7 and pandas 0.25 (the minimum supported pandas version is now 1.0.5). Further, the minimum required versions for the listed dependencies have now changed to shapely 1.7, fiona 1.8.13.post1, pyproj 2.6.1.post1, matplotlib 3.2, mapclassify 2.4.0 (2358, 2391)

**Acknowledgments**

Thanks to everyone who contributed to this release! 
A total of 31 people contributed patches to this release.  People with a "+" by their names contributed a patch for the first time.

* Akylzhan Sauranbay +
* Alan D. Snow
* Alyssa Ross +
* Andreas Meier +
* Andrii Oriekhov +
* Brendan Ward
* Ewout ter Hoeven +
* Guillaume Lostis +
* James McBride
* Joris Van den Bossche
* Karol Zlot +
* Koshy Thomas +
* Martin Fleischmann
* Martina Oefelein +
* Matt Richards
* Mike Taves
* Mjumbe Poe +
* Nathan Lis +
* Nicolò Lucchesi +
* RadMagnus +
* Ray Bell
* Ryan +
* Will Schlitzer
* bstadlbauer +
* clausmichele +
* froast +
* joooeey +
* readthedocs-assistant +
* rraymondgh +
* ryanward-io +
* simberaj

0.10.2

Small bug-fix release:

- Fix regression in `overlay()` in case no geometries are intersecting (but have overlapping total bounds) (2172).
- Fix regression in `overlay()` with `keep_geom_type=True` in case the overlay of two geometries in a GeometryCollection with other geometry types (2177).
- Fix `overlay()` to honor the `keep_geom_type` keyword for the `op="differnce"` case (2164).
- Fix regression in `plot()` with a mapclassify `scheme` in case the formatted legend labels have duplicates (2166).
- Fix a bug in the `explore()` method ignoring the `vmin` and `vmax` keywords in case they are set to 0 (2175).
- Fix `unary_union` to correctly handle a GeoSeries with missing values (2181).
- Avoid internal deprecation warning in `clip()` (2179).

0.10.1

Small bug-fix release:

* Fix regression in `overlay()` with non-overlapping geometries and a non-default how (i.e. not "intersection") (2157).

0.10.0

**Highlights of this release:**

- A new `sjoin_nearest()` method to join based on proximity, with the
ability to set a maximum search radius (1865). In addition, the `sindex`
attribute gained a new method for a "nearest" spatial index query (1865,
2053).
- A new `explore()` method on GeoDataFrame and GeoSeries with native support
for interactive visualization based on folium / leaflet.js (1953)
- The `geopandas.sjoin()`/`overlay()`/`clip()` functions are now also
available as methods on the GeoDataFrame (2141, 1984, 2150).

**New features and improvements:**

- Add support for pandas' `value_counts()` method for geometry dtype (2047).
- The `explode()` method has a new `ignore_index` keyword (consistent with
pandas' explode method) to reset the index in the result, and a new
`index_parts` keywords to control whether a cumulative count indexing the
parts of the exploded multi-geometries should be added (1871).
- `points_from_xy()` is now available as a GeoSeries method `from_xy` (1936).
- The `to_file()` method will now attempt to detect the driver (if not
specified) based on the extension of the provided filename, instead of
defaulting to ESRI Shapefile (1609).
- Support for the `storage_options` keyword in `read_parquet()` for
specifying filesystem-specific options (e.g. for S3) based on fsspec (2107).
- The read/write functions now support `~` (user home directory) expansion (1876).
- Support the `convert_dtypes()` method from pandas to preserve the
GeoDataFrame class (2115).
- Support WKB values in the hex format in `GeoSeries.from_wkb()` (2106).
- Update the `estimate_utm_crs()` method to handle crossing the antimeridian
with pyproj 3.1+ (2049).
- Improved heuristic to decide how many decimals to show in the repr based on
whether the CRS is projected or geographic (1895).
- Switched the default for `geocode()` from GeoCode.Farm to the Photon
geocoding API (https://photon.komoot.io) (#2007).

**Deprecations and compatibility notes:**

- The `op=` keyword of `sjoin()` to indicate which spatial predicate to use
for joining is being deprecated and renamed in favor of a new `predicate=`
keyword (1626).
- The `cascaded_union` attribute is deprecated, use `unary_union` instead (2074).
- Constructing a GeoDataFrame with a duplicated "geometry" column is now
disallowed. This can also raise an error in the `pd.concat(.., axis=1)`
function if this results in duplicated active geometry columns (2046).
- The `explode()` method currently returns a GeoSeries/GeoDataFrame with a
MultiIndex, with an additional level with indices of the parts of the
exploded multi-geometries. For consistency with pandas, this will change in
the future and the new `index_parts` keyword is added to control this.

**Bug fixes:**

- Fix in the `clip()` function to correctly clip MultiPoints instead of
leaving them intact when partly outside of the clip bounds (2148).
- Fix `GeoSeries.isna()` to correctly return a boolean Series in case of an
empty GeoSeries (2073).
- Fix the GeoDataFrame constructor to preserve the geometry name when the
argument is already a GeoDataFrame object (i.e. `GeoDataFrame(gdf)`) (2138).
- Fix loss of the values' CRS when setting those values as a column
(`GeoDataFrame.__setitem__`) (1963)
- Fix in `GeoDataFrame.apply()` to preserve the active geometry column name
(1955).
- Fix in `sjoin()` to not ignore the suffixes in case of a right-join
(`how="right`) (2065).
- Fix `GeoDataFrame.explode()` with a MultiIndex (1945).
- Fix the handling of missing values in `to/from_wkb` and `to_from_wkt` (1891).
- Fix `to_file()` and `to_json()` when DataFrame has duplicate columns to
raise an error (1900).
- Fix bug in the colors shown with user-defined classification scheme (2019).
- Fix handling of the `path_effects` keyword in `plot()` (2127).
- Fix `GeoDataFrame.explode()` to preserve `attrs` (1935)

**Notes on (optional) dependencies:**

- GeoPandas 0.9.0 dropped support for Python 3.6 and pandas 0.24. Further,
the minimum required versions are numpy 1.18, shapely 1.6, fiona 1.8,
matplotlib 3.1 and pyproj 2.2.
- Plotting with a classification schema now requires mapclassify version >=
2.4 (1737).
- Compatibility fixes for the latest numpy in combination with Shapely 1.7 (2072)
- Compatibility fixes for the upcoming Shapely 1.8 (2087).
- Compatibility fixes for the latest PyGEOS (1872, 2014) and matplotlib

**Acknowledgments**

Thanks to everyone who contributed to this release! 
A total of 29 people contributed patches to this release.  People with a
"+" by their names contributed a patch for the first time.

* Adrian Garcia Badaracco
* Alan D. Snow
* Alison Hopkin +
* Andreas Eliasson +
* Ariel Núñez +
* Brendan Ward
* Daniel Mesejo-León +
* Flavin
* Imanol
* James A. Bednar +
* James McBride
* James Myatt +
* John Flavin +
* Joris Van den Bossche
* Martin Fleischmann
* Matt Richards +
* Matthew Law +
* Mike Taves
* Murat Can Üste +
* Qiusheng Wu +
* Ray Bell +
* TLouf +
* Tom Augspurger +
* Tom Russell +
* Zero +
* danielpallen +
* m-richards +
* simberaj +
* standakozak +
Links

@pyup-bot
Copy link
Copy Markdown
Collaborator Author

Closing this in favor of #631

@pyup-bot pyup-bot closed this Apr 28, 2024
@mbjoseph mbjoseph deleted the pyup-update-geopandas-0.9.0-to-0.14.3 branch April 28, 2024 15:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant