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 anotherGeoSeries
(#2535). - Support specifying
min_zoom
andmax_zoom
inside themap_kwds
argument for.explore()
(#2599). - Added support for append (
mode="a"
orappend=True
) into_file()
usingengine="pyogrio"
(#2788). - Added a
to_wgs84
keyword toto_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 ofquery()
(#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 whenna='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 +