Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork993
Releases: geopandas/geopandas
v1.1.1
A patch release containing minor regression fixes.
What's Changed
- REGR: fix GeoDataFrame constructor when np.nan given as only geometry by@martinfleis in#3591
- REGR: overlay with identity doesn't handle equal input column names correctly by@theroggy in#3596
- TST: use nadgrids=null to suppress influence of grid files by@mwtoews in#3588
- MAINT: enable pydocstyle ruff rules - automatic and easy fixes by@theroggy in#3598
Full Changelog:v1.1.0...v1.1.1
Assets3
Uh oh!
There was an error while loading.Please reload this page.
v1.1.0
c36eba0Notes 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.queryin a form of a dense or a
sparse boolean array. This adds optional dependency onscipyfor the sparse output.
Note that this also changes the previously undocumented behaviour of theoutput_format
keyword (#1674). - Add
grid_sizeparameter tounion_allanddissolve(#3445). GeoDataFrame.plotnow supportspd.Indexas an input for thecolumnkeyword (#3463).- Added
disjoint_subsetunion algorithm forunion_allanddissolve(#3534). - Added
constrained_delaunay_trianglesmethod to GeoSeries/GeoDataFrame (#3552). - Added
to_pandas_kwargsargument tofrom_arrow,read_parquetandread_feather
to allow better control of conversion of non-geometric Arrow data to DataFrames (#3466). - Added
is_valid_coverageandinvalid_coverage_edgesto GeoSeries/GeoDataFrame to
allow validation of polygonal coverage (#3545). - Added
maximum_inscribed_circlemethod from shapely to GeoSeries/GeoDataFrame (#3544). - Added
minimum_clearance_linemethod from shapely to GeoSeries/GeoDataFrame (#3543). - Added
orient_polygonsmethod from shapely to GeoSeries/GeoDataFrame (#3559). - Added
methodandkeep_collapsedargument tomake_valid(#3548). - Added
simplify_coveragemethod for topological simplification of polygonal coverages
to GeoSeries/GeoDataFrame (#3541). - Added initial support of M coordinates (
mandhas_mproperties,include_minget_coordinates) (#3561). - Added
geom_equals_identicalmethod exposingequals_identicalfrom 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.accessorsmodule. Import this module to register apandas.Series.geoaccessor, which exposes GeoSeries methods via pandas's
extension mechanism (#3272). - Improve performance of
overlaywithhow=identity(#3504). - A warning message is raised in
read_filewhen 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_dictand__geo_interface__. (#3436) - Fix an issue in
sample_pointsthat 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
geometrywhich 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 whencrswas provided (#3383). - Fix regression where
overlaywithkeep_geom_typereturns 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 whencrswas 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.selectmethod wrapping the pandasSeries.selectmethod has been removed.
The upstream method no longer exists in all supported version of pandas (#3394). - The deprecated
geom_almost_equalsmethod has been removed. Usegeom_equals_exactinstead (#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
Assets3
Uh oh!
There was an error while loading.Please reload this page.
v1.0.1
747d66eA small bug fix release fixing a regression caused by 1.0.0.
Bug fixes:
- Support a named datetime or object dtype index in explore() (#3360,#3364).
- Fix a regression preventing a Series as an argument for geometric methods (#3363)
Full Changelog:v1.0.0...v1.0.1
Assets3
Uh oh!
There was an error while loading.Please reload this page.
v1.0.0
Notes on dependencies:
- GeoPandas 1.0 drops support for shapely<2 and PyGEOS. The only geometry engine that is
currently supported is shapely >= 2. As a consequence, spatial indexing based on the
rtree package has also been removed (#3035). - The I/O engine now defaults to Pyogrio which is now installed with GeoPandas instead
of Fiona (#3223).
New methods:
- Added
count_geometriesmethod from shapely to GeoSeries/GeoDataframe (#3154). - Added
count_interior_ringsmethod from shapely to GeoSeries/GeoDataframe (#3154) - Added
relate_patternmethod from shapely to GeoSeries/GeoDataframe (#3211). - Added
intersection_allmethod from shapely to GeoSeries/GeoDataframe (#3228). - Added
line_mergemethod from shapely to GeoSeries/GeoDataframe (#3214). - Added
set_precisionandget_precisionmethods from shapely to GeoSeries/GeoDataframe (#3175). - Added
count_coordinatesmethod from shapely to GeoSeries/GeoDataframe (#3026). - Added
minimum_clearancemethod from shapely to GeoSeries/GeoDataframe (#2989). - Added
shared_pathsmethod from shapely to GeoSeries/GeoDataframe (#3215). - Added
is_ccwmethod from shapely to GeoSeries/GeoDataframe (#3027). - Added
is_closedattribute from shapely to GeoSeries/GeoDataframe (#3092). - Added
force_2dandforce_3dmethods from shapely to GeoSeries/GeoDataframe (#3090). - Added
voronoi_polygonsmethod from shapely to GeoSeries/GeoDataframe (#3177). - Added
contains_properlymethod from shapely to GeoSeries/GeoDataframe (#3105). - Added
build_areamethod exposingbuild_areashapely to GeoSeries/GeoDataframe (#3202). - Added
snapmethod from shapely to GeoSeries/GeoDataframe (#3086). - Added
transformmethod from shapely to GeoSeries/GeoDataFrame (#3075). - Added
get_geometrymethod from shapely to GeoSeries/GeoDataframe (#3287). - Added
dwithinmethod to check for a "distance within" predicate on
GeoSeries/GeoDataFrame (#3153). - Added
to_geo_dictmethod to generate GeoJSON-like dictionary from a GeoDataFrame (#3132). - Added
polygonizemethod exposing bothpolygonizeandpolygonize_fullfrom
shapely to GeoSeries/GeoDataframe (#2963). - Added
is_valid_reasonmethod from shapely to GeoSeries/GeoDataframe (#3176). - Added
to_arrowmethod andfrom_arrowclass method to
GeoSeries/GeoDataFrame to export and import to/from Arrow data with GeoArrow
extension types (#3219,#3301).
New features and improvements:
- Added
predicate="dwithin"option anddistanceargument to thesindex.query()method
andsjoin(#2882). - GeoSeries and GeoDataFrame
__repr__now trims trailing zeros for a more readable
output (#3087). - Add
on_invalidparameter tofrom_wktandfrom_wkb(#3110). make_validoption inoverlaynow uses themake_validmethod instead ofbuffer(0)(#3113).- Passing
"geometry"asdtypetopd.read_csvwill now return a GeoSeries for
the specified columns (#3101). - Added support to
read_filefor themaskkeyword for the pyogrio engine (#3062). - Added support to
read_filefor thecolumnskeyword for the fiona engine (#3133). - Added support to
to_parquetandread_parquetfor writing and reading files
using the GeoArrow-based native geometry encoding of GeoParquet 1.1 (#3253,#3275). - Add
sortkeyword toclipmethod for GeoSeries and GeoDataFrame to allow optional
preservation of the original order of observations (#3233). - Added
show_bbox,drop_idandto_wgs84arguments to allow further customization ofGeoSeries.to_json(#3226). explorenow supportsGeoDataFrames with additional columns containing datetimes, uuids and
other non JSON serializable objects (#3261).- The
GeoSeries.fillnamethod now supports thelimitkeyword (#3290). - Added
on_attributeoption argument to thesjoin()
method, allowing to restrict joins to the observations with
matching attributes. (#3231) - Added support for
bboxcovering encoding in geoparquet. Can filter reading of parquet
files based on a bounding box, and write out a bounding box column to parquet files (#3282). alignkeyword in binary methods now defaults toNone, treated as True. Explicit True
will silence the warning about mismatched indices (#3212).GeoSeries.set_crscan now be used to remove CRS information by passingcrs=None, allow_override=True(#3316).- Added
autolimkeyword argument toGeoSeries.plot()andGeoDataFrame.plot()(#2817). - Added
metadataparameter toGeoDataFrame.to_file(#2850) - Updated documentation to clarify that passing a named (Geo)Series as the
geometry
argument to the GeoDataFrame constructor will not use the name but will always
produce a GeoDataFrame with an active geometry column named "geometry" (#3337). read_postgiswill query the spatial_ref_sys table to determine the CRS authority
instead of its current behaviour of assuming EPSG. In the event the spiatal_ref_sys
table is not present, or the SRID is not present,read_postgiswill fallback
on assuming EPSG CRS authority. (#3329)
Backwards incompatible API changes:
- The
sjoinmethod will now preserve the name of the index of the right
GeoDataFrame, if it has one, instead of always using"index_right"as the
name for the resulting column in the return value (#846,#2144). - GeoPandas now raises a ValueError when an unaligned Series is passed as a method
argument to avoid confusion of whether the automatic alignment happens or not (#3271). - The deprecated default value of GeoDataFrame/ GeoSeries
explode(.., index_parts=True)is now
set to false for consistency with pandas (#3174). - The behaviour of
set_geometryhas been changed when passed a (Geo)Seriesserwith a name.
The new active geometry column name in this case will beser.name, if not None, rather than
the previous active geometry column name. This means that if the new and old names are
different, then both columns will be preserved in the GeoDataFrame. To replicate the previous
behaviour, you can instead callgdf.set_geometry(ser.rename(gdf.active_geometry_name))(#3237).
Note that this behaviour change does not affect theGeoDataframeconstructor, passing a named
GeoSeriessertoGeoDataFrame(df, geometry=ser)will always produce a GeoDataFrame with a
geometry column named "geometry" to preserve backwards compatibility. If you would like to
instead propagate the name ofserwhen constructing a GeoDataFrame, you can instead calldf.set_geometry(ser)orGeoDataFrame(df, geometry=ser).rename_geometry(ser.name)(#3337). delaunay_trianglesnow considers all geometries together when creating the Delaunay triangulation
instead of performing the operation element-wise. If you want to generate Delaunay
triangles for each geometry separately, useshapely.delaunay_trianglesinstead. (#3273)- Reading a data source that does not have a geometry field using
read_file
now returns a Pandas DataFrame instead of a GeoDataFrame with an emptygeometrycolumn.
Enforced deprecations:
- The deprecation of
geopandas.datasetshas been enforced and the module has been
removed. New sample datasets are now available in the
geodatasets package (#3084). - Many longstanding deprecated functions, methods and properties have been removed (#3174), (#3190)
- Removed deprecated functions
geopandas.io.read_file,geopandas.io.to_fileandgeopandas.io.sql.read_postgis.geopandas.read_file,geopandas.read_postgisand the GeoDataFrame/GeoSeriesto_file(..)
method should be used instead. - Removed deprecated
GeometryArray.dataproperty,np.asarray(..)or theto_numpy()
method should be used instead. - Removed deprecated
sindex.query_bulkmethod, usingsindex.queryinstead. - Removed deprecated
sjoinparameterop,predicateshould be supplied instead. - Removed deprecated GeoSeries/ GeoDataFrame methods
__xor__,__or__,__and__and__sub__. Instead use methodssymmetric_difference,union,intersectionanddifferencerespectively. - Removed deprecated plotting functions
plot_polygon_collection,plot_linestring_collectionandplot_point_collection, use the GeoSeries/GeoDataFrame.plot
method directly instead. - Removed deprecated GeoSeries/GeoDataFrame
.plotparametersaxesandcolormap, instead useaxandcmaprespectively. - Removed compatibility for specifying the
versionkeyword into_parquetandto_feather.
This keyword will now be passed through to pyarrow and useschema_versionto specify the GeoParquet specification version (#3334).
- Removed deprecated functions
New deprecations:
unary_unionattribute is now deprecated and replaced by theunion_all()method (#3007) allowing
opting for a faster union algorithm for coverages (#3151).The
include_fieldsandignore_fieldskeywords inread_file()are deprecated
for the default pyogrio engine. Currently those are translated to thecolumnskeyword
for backwards compatibility, but you should directly use thecolumnskeyword instead
to select which columns to read (#3133).The
dropkeyword inset_geometryhas been deprecated, and in future thedrop=True
behaviour will be removed (#3237). To prepare for this change, you should remove any explicitdrop=Falsecalls in your code (the default behaviour already is the same asdrop=False).
To replicate the previousdrop=Truebehaviour you should replacegdf.set_geometry(new_geo_col, drop=True)withgeo_col_name=gdf.active_geometry_namegdf.set_geometry(new_geo_col).drop(columns=geo_col_name).rename_geometry(geo_col_name)
The
geopandas.use_pygeos...
Assets3
Uh oh!
There was an error while loading.Please reload this page.
v1.0.0rc1
Notes on dependencies:
- GeoPandas 1.0 drops support for shapely<2 and PyGEOS. The only geometry engine that is
currently supported is shapely >= 2. As a consequence, spatial indexing based on the
rtree package has also been removed (#3035). - The I/O engine now defaults to Pyogrio which is now installed with GeoPandas instead
of Fiona (#3223).
New methods:
- Added
count_geometriesmethod from shapely to GeoSeries/GeoDataframe (#3154). - Added
count_interior_ringsmethod from shapely to GeoSeries/GeoDataframe (#3154) - Added
relate_patternmethod from shapely to GeoSeries/GeoDataframe (#3211). - Added
intersection_allmethod from shapely to GeoSeries/GeoDataframe (#3228). - Added
line_mergemethod from shapely to GeoSeries/GeoDataframe (#3214). - Added
set_precisionandget_precisionmethods from shapely to GeoSeries/GeoDataframe (#3175). - Added
count_coordinatesmethod from shapely to GeoSeries/GeoDataframe (#3026). - Added
minimum_clearancemethod from shapely to GeoSeries/GeoDataframe (#2989). - Added
shared_pathsmethod from shapely to GeoSeries/GeoDataframe (#3215). - Added
is_ccwmethod from shapely to GeoSeries/GeoDataframe (#3027). - Added
is_closedattribute from shapely to GeoSeries/GeoDataframe (#3092). - Added
force_2dandforce_3dmethods from shapely to GeoSeries/GeoDataframe (#3090). - Added
voronoi_polygonsmethod from shapely to GeoSeries/GeoDataframe (#3177). - Added
contains_properlymethod from shapely to GeoSeries/GeoDataframe (#3105). - Added
build_areamethod exposingbuild_areashapely to GeoSeries/GeoDataframe (#3202). - Added
snapmethod from shapely to GeoSeries/GeoDataframe (#3086). - Added
transformmethod from shapely to GeoSeries/GeoDataFrame (#3075). - Added
get_geometrymethod from shapely to GeoSeries/GeoDataframe (#3287). - Added
dwithinmethod to check for a "distance within" predicate on
GeoSeries/GeoDataFrame (#3153). - Added
to_geo_dictmethod to generate GeoJSON-like dictionary from a GeoDataFrame (#3132). - Added
polygonizemethod exposing bothpolygonizeandpolygonize_fullfrom
shapely to GeoSeries/GeoDataframe (#2963). - Added
is_valid_reasonmethod from shapely to GeoSeries/GeoDataframe (#3176). - Added
to_arrowmethod andfrom_arrowclass method to
GeoSeries/GeoDataFrame to export and import to/from Arrow data with GeoArrow
extension types (#3219,#3301).
New features and improvements:
- Added
predicate="dwithin"option anddistanceargument to thesindex.query()method
andsjoin(#2882). - GeoSeries and GeoDataFrame
__repr__now trims trailing zeros for a more readable
output (#3087). - Add
on_invalidparameter tofrom_wktandfrom_wkb(#3110). make_validoption inoverlaynow uses themake_validmethod instead ofbuffer(0)(#3113).- Passing
"geometry"asdtypetopd.read_csvwill now return a GeoSeries for
the specified columns (#3101). - Added support to
read_filefor themaskkeyword for the pyogrio engine (#3062). - Added support to
read_filefor thecolumnskeyword for the fiona engine (#3133). - Added support to
to_parquetandread_parquetfor writing and reading files
using the GeoArrow-based native geometry encoding of GeoParquet 1.1 (#3253,#3275). - Add
sortkeyword toclipmethod for GeoSeries and GeoDataFrame to allow optional
preservation of the original order of observations (#3233). - Added
show_bbox,drop_idandto_wgs84arguments to allow further customization ofGeoSeries.to_json(#3226). explorenow supportsGeoDataFrames with additional columns containing datetimes, uuids and
other non JSON serializable objects (#3261).- The
GeoSeries.fillnamethod now supports thelimitkeyword (#3290). - Added support for
bboxcovering encoding in geoparquet. Can filter reading of parquet
files based on a bounding box, and write out a bounding box column to parquet files (#3282). alignkeyword in binary methods now defaults toNone, treated as True. Explicit True
will silence the warning about mismatched indices (#3212).GeoSeries.set_crscan now be used to remove CRS information by passingcrs=None, allow_override=True(#3316).- Added
autolimkeyword argument toGeoSeries.plot()andGeoDataFrame.plot()(#2817). - Updated documentation to clarify that passing a named (Geo)Series as the
geometry
argument to the GeoDataFrame constructor will not use the name but will always
produce a GeoDataFrame with an active geometry column named "geometry" (#3337). read_postgiswill query the spatial_ref_sys table to determine the CRS authority
instead of its current behaviour of assuming EPSG. In the event the spiatal_ref_sys
table is not present, or the SRID is not present,read_postgiswill fallback
on assuming EPSG CRS authority. (#3329)
Backwards incompatible API changes:
- The
sjoinmethod will now preserve the name of the index of the right
GeoDataFrame, if it has one, instead of always using"index_right"as the
name for the resulting column in the return value (#846,#2144). - GeoPandas now raises a ValueError when an unaligned Series is passed as a method
argument to avoid confusion of whether the automatic alignment happens or not (#3271). - The deprecated default value of GeoDataFrame/ GeoSeries
explode(.., index_parts=True)is now
set to false for consistency with pandas (#3174). - The behaviour of
set_geometryhas been changed when passed a (Geo)Seriesserwith a name.
The new active geometry column name in this case will beser.name, if not None, rather than
the previous active geometry column name. This means that if the new and old names are
different, then both columns will be preserved in the GeoDataFrame. To replicate the previous
behaviour, you can instead callgdf.set_geometry(ser.rename(gdf.active_geometry_name))(#3237).
Note that this behaviour change does not affect theGeoDataframeconstructor, passing a named
GeoSeriessertoGeoDataFrame(df, geometry=ser)will always produce a GeoDataFrame with a
geometry column named "geometry" to preserve backwards compatibility. If you would like to
instead propagate the name ofserwhen constructing a GeoDataFrame, you can instead calldf.set_geometry(ser)orGeoDataFrame(df, geometry=ser).rename_geometry(ser.name)(#3337). delaunay_trianglesnow considers all geometries together when creating the Delaunay triangulation
instead of performing the operation element-wise. If you want to generate Delaunay
triangles for each geometry separately, useshapely.delaunay_trianglesinstead. (#3273)- Reading a data source that does not have a geometry field using
read_file
now returns a Pandas DataFrame instead of a GeoDataFrame with an emptygeometrycolumn.
Enforced deprecations:
- The deprecation of
geopandas.datasetshas been enforced and the module has been
removed. New sample datasets are now available in the
geodatasets package (#3084). - Many longstanding deprecated functions, methods and properties have been removed (#3174), (#3190)
- Removed deprecated functions
geopandas.io.read_file,geopandas.io.to_fileandgeopandas.io.sql.read_postgis.geopandas.read_file,geopandas.read_postgisand the GeoDataFrame/GeoSeriesto_file(..)
method should be used instead. - Removed deprecated
GeometryArray.dataproperty,np.asarray(..)or theto_numpy()
method should be used instead. - Removed deprecated
sindex.query_bulkmethod, usingsindex.queryinstead. - Removed deprecated
sjoinparameterop,predicateshould be supplied instead. - Removed deprecated GeoSeries/ GeoDataFrame methods
__xor__,__or__,__and__and__sub__. Instead use methodssymmetric_difference,union,intersectionanddifferencerespectively. - Removed deprecated plotting functions
plot_polygon_collection,plot_linestring_collectionandplot_point_collection, use the GeoSeries/GeoDataFrame.plot
method directly instead. - Removed deprecated GeoSeries/GeoDataFrame
.plotparametersaxesandcolormap, instead useaxandcmaprespectively. - Removed compatibility for specifying the
versionkeyword into_parquetandto_feather.
This keyword will now be passed through to pyarrow and useschema_versionto specify the GeoParquet specification version (#3334).
- Removed deprecated functions
New deprecations:
unary_unionattribute is now deprecated and replaced by theunion_all()method (#3007) allowing
opting for a faster union algorithm for coverages (#3151).The
include_fieldsandignore_fieldskeywords inread_file()are deprecated
for the default pyogrio engine. Currently those are translated to thecolumnskeyword
for backwards compatibility, but you should directly use thecolumnskeyword instead
to select which columns to read (#3133).The
dropkeyword inset_geometryhas been deprecated, and in future thedrop=True
behaviour will be removed (#3237). To prepare for this change, you should remove any explicitdrop=Falsecalls in your code (the default behaviour already is the same asdrop=False).
To replicate the previousdrop=Truebehaviour you should replacegdf.set_geometry(new_geo_col, drop=True)withgeo_col_name=gdf.active_geometry_namegdf.set_geometry(new_geo_col).drop(columns=geo_col_name).rename_geometry(geo_col_name)
The
geopandas.use_pygeosoption has been deprecated and will be removed in GeoPandas
1.1 (#3283)Manual overriding of an existing CRS of a GeoSeries or GeoDataFrame by setting the
crsproperty has been deprecated
and will be disabled ...
Assets3
Uh oh!
There was an error while loading.Please reload this page.
v0.14.4
Small bug-fix release with several fixes for compatibility with the upcoming pandas 3.0, numpy 2.0 and fiona 1.10 releases.
Assets3
Uh oh!
There was an error while loading.Please reload this page.
v1.0.0-alpha1
Notes on dependencies:
- GeoPandas 1.0 drops support for shapely<2 and PyGEOS. The only geometry engine that is
currently supported is shapely >= 2. As a consequence, spatial indexing based on the
rtree package has also been removed. (#3035) - The I/O engine now defaults to Pyogrio which is now installed with GeoPandas instead
of Fiona. (#3223)
API changes:
unary_unionis now deprecated and replaced by theunion_allmethod (#3007).alignkeyword in binary methods now defaults toNone, treated as True. Explicit True
will silence the warning about mismachted indices. (#3212)- The
sjoinmethod will now preserve the name of the index of the right
GeoDataFrame, if it has one, instead of always using"index_right"as the
name for the resulting column in the return value (#846,#2144).
New methods:
- Added
line_mergemethod from shapely to GeoSeries/GeoDataframe (#3214). - Added
set_precisionandget_precisionmethods from shapely to GeoSeries/GeoDataframe (#3175). - Added
count_coordinatesmethod from shapely to GeoSeries/GeoDataframe (#3026). - Added
minimum_clearancemethod from shapely to GeoSeries/GeoDataframe (#2989). - Added
is_ccwmethod from shapely to GeoSeries/GeoDataframe (#3027). - Added
is_closedattribute from shapely to GeoSeries/GeoDataframe (#3092). - Added
force_2dandforce_3dmethods from shapely to GeoSeries/GeoDataframe (#3090). - Added
contains_properlymethod from shapely to GeoSeries/GeoDataframe (#3105). - Added
snapmethod from shapely to GeoSeries/GeoDataframe (#3086). - Added
transformmethod from shapely to GeoSeries/GeoDataFrame (#3075). - Added
dwithinmethod to check for a "distance within" predicate on
GeoSeries/GeoDataFrame (#3153). - Added
to_geo_dictmethod to generate GeoJSON-like dictionary from a GeoDataFrame (#3132).
New features and improvements:
- Added
predicate="dwithin"option anddistanceargument to thesindex.query()method
andsjoin(#2882). - GeoSeries and GeoDataFrame
__repr__now trims trailing zeros for a more readable
output (#3087). - Add
on_invalidparameter tofrom_wktandfrom_wkb(#3110). make_validoption inoverlaynow uses themake_validmethod instead ofbuffer(0)(#3113).- Passing
"geometry"asdtypetopd.read_csvwill now return a GeoSeries for
the specified columns (#3101). - Added support to
read_filefor themaskkeyword for the pyogrio engine (#3062). - Added support to
read_filefor thecolumnskeyword for the fiona engine (#3133). - Added
show_bbox,drop_idandto_wgs84arguments to allow further customization ofGeoSeries.to_json(#3226)
Backwards incompatible API changes:
- The deprecated default value of GeoDataFrame/ GeoSeries
explode(.., index_parts=True)is now
set to false for consistency with pandas (#3174). - The behaviour of
set_geometryhas been changed when passed a (Geo)Seriesserwith a name.
The new active geometry column name in this case will beser.name, if not None, rather than
the previous active geometry column name. This means that if the new and old names are
different, then both columns will be preserved in the GeoDataFrame. To replicate the previous
behaviour, you can instead callgdf.set_geometry(ser.rename(gdf.active_geometry_name))(#3237).
Potentially breaking changes:
- reading a data source that does not have a geometry field using
read_file
now returns a Pandas DataFrame instead of a GeoDataFrame with an emptygeometrycolumn.
Bug fixes:
- Fix
GeoDataFrame.merge()incorrectly returning aDataFrameinstead of aGeoDataFramewhen thesuffixesargument is applied to the active
geometry column (#2933). - Fix bug in
GeoDataFrameconstructor where ifgeometryis given a namedGeoSeriesthe name was not used as the active geometry column name (#3237).
Deprecations and compatibility notes:
The deprecation of
geopandas.datasetshas been enforced and the module has been
removed. New sample datasets are now available in the
geodatasets package (#3084).Many longstanding deprecated functions, methods and properties have been removed (#3174), (#3189)
- Removed deprecated functions
geopandas.io.read_file,geopandas.io.to_fileandgeopandas.io.sql.read_postgis.geopandas.read_file,geopandas.read_postgisand the GeoDataFrame/GeoSeriesto_file(..)
method should be used instead. - Removed deprecated
GeometryArray.dataproperty,np.asarray(..)or theto_numpy()
method should be used instead. - Removed deprecated
sindex.query_bulkmethod, usingsindex.queryinstead. - Removed deprecated
sjoinparameterop,predicateshould be supplied instead. - Removed deprecated GeoSeries/ GeoDataFrame methods
__xor__,__or__,__and__and__sub__. Instead use methodssymmetric_difference,union,intersectionanddifferencerespectively. - Removed deprecated plotting functions
plot_polygon_collection,plot_linestring_collectionandplot_point_collection, use the GeoSeries/GeoDataFrame.plot
method directly instead. - Removed deprecated GeoSeries/GeoDataFrame
.plotparametersaxesandcolormap, instead useaxandcmaprespectively.
- Removed deprecated functions
Fixes for compatibility with psycopg (#3167).
The
include_fieldsandignore_fieldskeywords inread_file()are deprecated
for the default pyogrio engine. Currently those are translated to thecolumnskeyword
for backwards compatibility, but you should directly use thecolumnskeyword instead
to select which columns to read (#3133).The
dropkeyword inset_geometryhas been deprecated, and in future thedrop=True
behaviour will be removed (#3237). To prepare for this change, you should remove any explicitdrop=Falsecalls in your code (the default behaviour already is the same asdrop=False).
To replicate the previousdrop=Truebehaviour you should replacegdf.set_geometry(new_geo_col, drop=True)withgeo_col_name=gdf.active_geometry_namegdf.set_geometry(new_geo_col).drop(columns=geo_col_name).rename_geometry(geo_col_name)
Assets3
Uh oh!
There was an error while loading.Please reload this page.
v0.14.3
Small bug-fix release:
- Several fixes for compatibility with the latest pandas 2.2 release.
- Fix bug in
pandas.concatCRS consistency checking where CRS differing by WKT whitespace only were treated as incompatible (#3023).
Assets3
Uh oh!
There was an error while loading.Please reload this page.
v0.14.2
Assets3
Uh oh!
There was an error while loading.Please reload this page.
v0.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_parquetandread_featherforCVE-2023-47248 (#3070).
Assets3
Uh oh!
There was an error while loading.Please reload this page.