Notes on dependencies:
- GeoPandas 1.1 now requires Python 3.10 or greater and pandas 2.0, numpy 1.24, pyproj 3.5,
are now the minimum required version for these dependencies.
Furthermore, the minimum tested version for optional dependencies has been updated to
fiona 1.8.21, scipy 1.9, matplotlib 3.7, mapclassify 2.5, folium 0.12 and
SQLAlchemy 2.0. Older versions of these libraries may continue to work, but are no longer
considered supported (#3371).
New features and improvements:
- Added options to return the result of
SpatialIndex.query
in a form of a dense or a
sparse boolean array. This adds optional dependency onscipy
for the sparse output.
Note that this also changes the previously undocumented behaviour of theoutput_format
keyword (#1674). - Add
grid_size
parameter tounion_all
anddissolve
(#3445). GeoDataFrame.plot
now supportspd.Index
as an input for thecolumn
keyword (#3463).- Added
disjoint_subset
union algorithm forunion_all
anddissolve
(#3534). - Added
constrained_delaunay_triangles
method to GeoSeries/GeoDataFrame (#3552). - Added
to_pandas_kwargs
argument tofrom_arrow
,read_parquet
andread_feather
to allow better control of conversion of non-geometric Arrow data to DataFrames (#3466). - Added
is_valid_coverage
andinvalid_coverage_edges
to GeoSeries/GeoDataFrame to
allow validation of polygonal coverage (#3545). - Added
maximum_inscribed_circle
method from shapely to GeoSeries/GeoDataFrame (#3544). - Added
minimum_clearance_line
method from shapely to GeoSeries/GeoDataFrame (#3543). - Added
orient_polygons
method from shapely to GeoSeries/GeoDataFrame (#3559). - Added
method
andkeep_collapsed
argument tomake_valid
(#3548). - Added
simplify_coverage
method for topological simplification of polygonal coverages
to GeoSeries/GeoDataFrame (#3541). - Added initial support of M coordinates (
m
andhas_m
properties,include_m
inget_coordinates
) (#3561). - Added
geom_equals_identical
method exposingequals_identical
from shapely to GeoSeries/GeoDataFrame (#3560). - GeoPandas now attempts to use a range request when reading from an URL even if the header
does not directly indicate its support (#3572). - Added
geopandas.accessors
module. Import this module to register a
pandas.Series.geo
accessor, which exposes GeoSeries methods via pandas's
extension mechanism (#3272). - Improve performance of
overlay
withhow=identity
(#3504). - A warning message is raised in
read_file
when a GeoDataFrame or GeoSeries mask
and/or the source dataset is missing a defined CRS. (#3464) - GeoDataFrame no longer hard-codes the class internally, allowing easier subclassing (#3505).
Bug fixes:
- Fix an issue that showed numpy dtypes in bbox in
to_geo_dict
and__geo_interface__
. (#3436) - Fix an issue in
sample_points
that could occasionally result in non-uniform distribution (#3470). - Fix unspecified layer warning being emitted while reading multilayer datasets, even
when layer is specified when using the mask or bbox keywords (#3378). - Properly support named aggregations over a geometry column in
GroupBy.agg
(#3368). - Support GeoDataFrame constructor receiving arguments to
geometry
which are not
(Geo)Series, but instead should be interpreted as column names, like Enums (#3384). - Fix regression where constructing a GeoSeries from a pd.Series with GeometryDtype values
failed whencrs
was provided (#3383). - Fix regression where
overlay
withkeep_geom_type
returns wrong results if the
input contains invalid geometries (#3395). - Fix the dtype of the GeometryArray backing data being incorrect for zero length
GeoDataFrames causing errors inoverlay
(#3424). - Fix regression where constructing a GeoSeries from a pd.Series with GeometryDtype values
failed whencrs
was provided (#3383). - Fix plotting of polygons with holes by normalizing the coordinate order prior to plotting (#3483).
- Fix an issue in plotting when polygon patches were not closed (#3576).
- Fix ambiguous error when GeoDataFrame is initialised with a column called "crs" (#3502).
- Avoid change of the plot aspect when plotting missing values (#3438).
Deprecations and compatibility notes:
- The
GeoSeries.select
method wrapping the pandasSeries.select
method has been removed.
The upstream method no longer exists in all supported version of pandas (#3394). - The deprecated
geom_almost_equals
method has been removed. Use
geom_equals_exact
instead (#3522).
New Contributors
- @quant12345 made their first contribution in #3375
- @hamdanal made their first contribution in #3394
- @FredericF made their first contribution in #3378
- @m-mohr made their first contribution in #3411
- @ChristofKaufmann made their first contribution in #3410
- @fisaenko made their first contribution in #3415
- @pya made their first contribution in #3416
- @mathause made their first contribution in #3453
- @fantauzd made their first contribution in #3462
- @tswast made their first contribution in #3272
- @pre-commit-ci made their first contribution in #3493
- @paleolimbot made their first contribution in #3513
- @tfardet made their first contribution in #3505
- @moss-xyz made their first contribution in #3487
- @star1327p made their first contribution in #3553
- @Zelpuz made their first contribution in #3483
- @danielsparing made their first contribution in #3579
Full Changelog: v1.0.1...v1.1.0