Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update dependency geopandas to v1 #86

Closed
wants to merge 1 commit into from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Oct 16, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
geopandas ==0.10.2 -> ==1.0.1 age adoption passing confidence

Release Notes

geopandas/geopandas (geopandas)

v1.0.1

Compare Source

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)

v1.0.0

Compare Source

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_geometries method from shapely to GeoSeries/GeoDataframe (#​3154).
  • Added count_interior_rings method from shapely to GeoSeries/GeoDataframe (#​3154)
  • Added relate_pattern method from shapely to GeoSeries/GeoDataframe (#​3211).
  • Added intersection_all method from shapely to GeoSeries/GeoDataframe (#​3228).
  • Added line_merge method from shapely to GeoSeries/GeoDataframe (#​3214).
  • Added set_precision and get_precision methods from shapely to GeoSeries/GeoDataframe (#​3175).
  • Added count_coordinates method from shapely to GeoSeries/GeoDataframe (#​3026).
  • Added minimum_clearance method from shapely to GeoSeries/GeoDataframe (#​2989).
  • Added shared_paths method from shapely to GeoSeries/GeoDataframe (#​3215).
  • Added is_ccw method from shapely to GeoSeries/GeoDataframe (#​3027).
  • Added is_closed attribute from shapely to GeoSeries/GeoDataframe (#​3092).
  • Added force_2d and force_3d methods from shapely to GeoSeries/GeoDataframe (#​3090).
  • Added voronoi_polygons method from shapely to GeoSeries/GeoDataframe (#​3177).
  • Added contains_properly method from shapely to GeoSeries/GeoDataframe (#​3105).
  • Added build_area method exposing build_area shapely to GeoSeries/GeoDataframe (#​3202).
  • Added snap method from shapely to GeoSeries/GeoDataframe (#​3086).
  • Added transform method from shapely to GeoSeries/GeoDataFrame (#​3075).
  • Added get_geometry method from shapely to GeoSeries/GeoDataframe (#​3287).
  • Added dwithin method to check for a "distance within" predicate on
    GeoSeries/GeoDataFrame (#​3153).
  • Added to_geo_dict method to generate GeoJSON-like dictionary from a GeoDataFrame (#​3132).
  • Added polygonize method exposing both polygonize and polygonize_full from
    shapely to GeoSeries/GeoDataframe (#​2963).
  • Added is_valid_reason method from shapely to GeoSeries/GeoDataframe (#​3176).
  • Added to_arrow method and from_arrow class 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 and distance argument to the sindex.query() method
    and sjoin (#​2882).
  • GeoSeries and GeoDataFrame __repr__ now trims trailing zeros for a more readable
    output (#​3087).
  • Add on_invalid parameter to from_wkt and from_wkb (#​3110).
  • make_valid option in overlay now uses the make_valid method instead of
    buffer(0) (#​3113).
  • Passing "geometry" as dtype to pd.read_csv will now return a GeoSeries for
    the specified columns (#​3101).
  • Added support to read_file for the mask keyword for the pyogrio engine (#​3062).
  • Added support to read_file for the columns keyword for the fiona engine (#​3133).
  • Added support to to_parquet and read_parquet for writing and reading files
    using the GeoArrow-based native geometry encoding of GeoParquet 1.1 (#​3253, #​3275).
  • Add sort keyword to clip method for GeoSeries and GeoDataFrame to allow optional
    preservation of the original order of observations (#​3233).
  • Added show_bbox, drop_id and to_wgs84 arguments to allow further customization of
    GeoSeries.to_json (#​3226).
  • explore now supports GeoDataFrames with additional columns containing datetimes, uuids and
    other non JSON serializable objects (#​3261).
  • The GeoSeries.fillna method now supports the limit keyword (#​3290).
  • Added on_attribute option argument to the sjoin()
    method, allowing to restrict joins to the observations with
    matching attributes. (#​3231)
  • Added support for bbox covering 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).
  • align keyword in binary methods now defaults to None, treated as True. Explicit True
    will silence the warning about mismatched indices (#​3212).
  • GeoSeries.set_crs can now be used to remove CRS information by passing
    crs=None, allow_override=True (#​3316).
  • Added autolim keyword argument to GeoSeries.plot() and GeoDataFrame.plot() (#​2817).
  • Added metadata parameter to GeoDataFrame.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_postgis will 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_postgis will fallback
    on assuming EPSG CRS authority. (#​3329)

Backwards incompatible API changes:

  • The sjoin method 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_geometry has been changed when passed a (Geo)Series ser with a name.
    The new active geometry column name in this case will be ser.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 call gdf.set_geometry(ser.rename(gdf.active_geometry_name)) (#​3237).
    Note that this behaviour change does not affect the GeoDataframe constructor, passing a named
    GeoSeries ser to GeoDataFrame(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 of ser when constructing a GeoDataFrame, you can instead call
    df.set_geometry(ser) or GeoDataFrame(df, geometry=ser).rename_geometry(ser.name) (#​3337).
  • delaunay_triangles now 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, use shapely.delaunay_triangles instead. (#​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 empty
    geometry column.

Enforced deprecations:

  • The deprecation of geopandas.datasets has 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_file and geopandas.io.sql.read_postgis.
      geopandas.read_file, geopandas.read_postgis and the GeoDataFrame/GeoSeries to_file(..)
      method should be used instead.
    • Removed deprecated GeometryArray.data property, np.asarray(..) or the to_numpy()
      method should be used instead.
    • Removed deprecated sindex.query_bulk method, using sindex.query instead.
    • Removed deprecated sjoin parameter op, predicate should be supplied instead.
    • Removed deprecated GeoSeries/ GeoDataFrame methods __xor__, __or__, __and__ and
      __sub__. Instead use methods symmetric_difference, union, intersection and
      difference respectively.
    • Removed deprecated plotting functions plot_polygon_collection,
      plot_linestring_collection and plot_point_collection, use the GeoSeries/GeoDataFrame .plot
      method directly instead.
    • Removed deprecated GeoSeries/GeoDataFrame .plot parameters axes and colormap, instead use
      ax and cmap respectively.
    • Removed compatibility for specifying the version keyword in to_parquet and to_feather.
      This keyword will now be passed through to pyarrow and use schema_version to specify the GeoParquet specification version (#​3334).

New deprecations:

  • unary_union attribute is now deprecated and replaced by the union_all() method (#​3007) allowing
    opting for a faster union algorithm for coverages (#​3151).

  • The include_fields and ignore_fields keywords in read_file() are deprecated
    for the default pyogrio engine. Currently those are translated to the columns keyword
    for backwards compatibility, but you should directly use the columns keyword instead
    to select which columns to read (#​3133).

  • The drop keyword in set_geometry has been deprecated, and in future the drop=True
    behaviour will be removed (#​3237). To prepare for this change, you should remove any explicit
    drop=False calls in your code (the default behaviour already is the same as drop=False).
    To replicate the previous drop=True behaviour you should replace
    gdf.set_geometry(new_geo_col, drop=True) with

    geo_col_name = gdf.active_geometry_name
    gdf.set_geometry(new_geo_col).drop(columns=geo_col_name).rename_geometry(geo_col_name)
  • The geopandas.use_pygeos option 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 crs property has been deprecated
    and will be disabled in future. Use the set_crs() method instead (#​3085).

Bug fixes:

  • Fix GeoDataFrame.merge() incorrectly returning a DataFrame instead of a
    GeoDataFrame when the suffixes argument is applied to the active
    geometry column (#​2933).
  • Fix bug in GeoDataFrame constructor where if geometry is given a named
    GeoSeries the name was not used as the active geometry column name (#​3237).
  • Fix bug in GeoSeries constructor when passing a Series and specifying a crs to not change the original input data (#​2492).
  • Fix regression preventing reading from file paths containing hashes in read_file
    with the fiona engine (#​3280). An analgous fix for pyogrio is included in
    pyogrio 0.8.1.
  • Fix to_parquet to write correct metadata in case of 3D geometries (#​2824).
  • Fixes for compatibility with psycopg (#​3167).
  • Fix to allow appending dataframes with no CRS to PostGIS tables with no CRS (#​3328)
  • Fix plotting of all-empty GeoSeries using explore (#​3316).

v0.14.4

Compare Source

  • Several fixes for compatibility with the upcoming pandas 3.0, numpy 2.0 and
    fiona 1.10 releases.

v0.14.3

Compare Source

  • 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).

v0.14.2

Compare Source

  • 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).

v0.14.1

Compare Source

  • 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 (#​3070).

v0.14.0

Compare Source

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.

Full Changelog: geopandas/geopandas@v0.13.2...v0.14.0

v0.13.2

Compare Source

Bug fix:

  • Fix a regression in reading from local file URIs (file://..) using
    geopandas.read_file (#​2948).

v0.13.1

Compare Source

Bug fix:

  • Fix 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).

v0.13.0

Compare Source

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 +

v0.12.2

Compare Source

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)

v0.12.1

Compare Source

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

v0.12.0

Compare Source

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

v0.11.1

Compare Source

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).

v0.11.0

Compare Source

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 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 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 theGeoSeries 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

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot requested review from DerekRoberts and a team as code owners October 16, 2024 23:05
@renovate renovate bot enabled auto-merge (squash) October 16, 2024 23:05
@renovate renovate bot force-pushed the renovate/geopandas-1.x branch 3 times, most recently from 650c546 to abce1f7 Compare October 24, 2024 17:57
@renovate renovate bot force-pushed the renovate/geopandas-1.x branch from abce1f7 to e1ee636 Compare October 24, 2024 20:44
@fergmac fergmac closed this Oct 24, 2024
auto-merge was automatically disabled October 24, 2024 20:56

Pull request was closed

Copy link
Contributor Author

renovate bot commented Oct 24, 2024

Renovate Ignore Notification

Because you closed this PR without merging, Renovate will ignore this update. You will not get PRs for any future 1.x releases. But if you manually upgrade to 1.x then Renovate will re-enable minor and patch updates automatically.

If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.

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