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

fix(deps): update dependency geopandas to v1 #9437

Merged
merged 3 commits into from
Jun 25, 2024
Merged

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jun 25, 2024

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
geopandas >=0.6,<1 -> >=0.6,<2 age adoption passing confidence

Release Notes

geopandas/geopandas (geopandas)

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

Configuration

📅 Schedule: Branch creation - "after 10pm every weekday,every weekend,before 5am every weekday" (UTC), Automerge - At any time (no schedule defined).

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

Rebasing: Whenever PR becomes conflicted, 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 has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot added the dependencies Issues or PRs related to dependencies label Jun 25, 2024
@cpcloud cpcloud added this to the 9.2 milestone Jun 25, 2024
@cpcloud cpcloud added geospatial Geospatial related functionality duckdb The DuckDB backend labels Jun 25, 2024
Copy link
Contributor Author

renovate bot commented Jun 25, 2024

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

@cpcloud cpcloud added the ci-run-cloud Add this label to trigger a run of BigQuery, Snowflake, and Databricks backends in CI label Jun 25, 2024
@ibis-docs-bot ibis-docs-bot bot removed the ci-run-cloud Add this label to trigger a run of BigQuery, Snowflake, and Databricks backends in CI label Jun 25, 2024
@cpcloud cpcloud merged commit fa1037b into main Jun 25, 2024
84 checks passed
@cpcloud cpcloud deleted the renovate/geopandas-1.x branch June 25, 2024 19:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Issues or PRs related to dependencies duckdb The DuckDB backend geospatial Geospatial related functionality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant