
We are pleased to announce a new release of GeoPandas!
GeoPandas 0.6.0 features a refactor of the internals based on the new pandas ExtensionArray interface, for better integration with pandas. Although this change should keep the user interface mostly stable, there are a few changes summarized below. Further, this release includes a nice set of other improvements and bug fixes. See the full list below.
Important note! This will be the last release to support Python 2.7 (#1031 https://github.com/geopandas/geopandas/issues/1031) GeoPandas can be installed with conda from the conda-forge channel (conda install -c conda-forge geopandas) or with pip assuming the dependencies are available for your platform or are already installed (pip install geopandas ).
Please report any issues, or request new features via our GitHub repository: https://github.com/geopandas/geopandas/issues
*What is it?*
GeoPandas is an open source project to make working with geospatial data in python easier. GeoPandas combines the capabilities of pandas and shapely, providing geospatial operations in pandas and a high-level interface to multiple shapely geometries. GeoPandas enables you to easily do operations in python that would otherwise require a spatial database such as PostGIS.
Documentation can be found here: http://geopandas.readthedocs.io/en/stable/
*What's new?*
API changes:
- A refactor of the internals based on the pandas ExtensionArray interface (#1000 https://github.com/geopandas/geopandas/issues/1000). The main user visible changes are: - The .dtype of a GeoSeries is now a 'geometry' dtype (and no longer a numpy object dtype). - The .values of a GeoSeries now returns a custom GeometryArray, and no longer a numpy array. To get back a numpy array of Shapely scalars, you can convert explicitly using np.asarray(..). - The GeoSeries constructor now raises a warning when passed non-geometry data. Currently the constructor falls back to return a pandas Series, but in the future this will raise an error (#1085 https://github.com/geopandas/geopandas/pull/1085). - The missing value handling has been changed to now separate the concepts of missing geometries and empty geometries (#601 https://github.com/geopandas/geopandas/issues/601, 1062). In practice this means that (see the docs https://geopandas.readthedocs.io/en/v0.6.0/missing_empty.html for more details): - GeoSeries.isna now considers only missing values, and if you want to check for empty geometries, you can use GeoSeries.is_empty ( GeoDataFrame.isna already only looked at missing values). - GeoSeries.dropna now actually drops missing values (before it didn't drop either missing or empty geometries) - GeoSeries.fillna only fills missing values (behaviour unchanged). - GeoSeries.align uses missing values instead of empty geometries by default to fill non-matching index entries.
New features and improvements:
- Addition of a GeoSeries.affine_transform method, equivalent of Shapely's function (#1008 https://github.com/geopandas/geopandas/pull/1008). - Addition of a GeoDataFrame.rename_geometry method to easily rename the active geometry column (#1053 https://github.com/geopandas/geopandas/issues/1053). - Addition of geopandas.show_versions() function, which can be used to give an overview of the installed libraries in bug reports (#899 https://github.com/geopandas/geopandas/issues/899). - The legend_kwds keyword of the plot() method can now also be used to specify keywords for the color bar (#1102 https://github.com/geopandas/geopandas/pull/1102). - Performance improvement in the sjoin() operation by re-using existing spatial index of the input dataframes, if available (#789 https://github.com/geopandas/geopandas/pull/789). - Updated documentation to work with latest version of geoplot and contextily (#1044 https://github.com/geopandas/geopandas/pull/1044, #1088 https://github.com/geopandas/geopandas/pull/1088). - A new geopandas.options configuration, with currently a single option to control the display precision of the coordinates ( options.display_precision). The default is now to show less coordinates (3 for projected and 5 for geographic coordinates), but the default can be overridden with the option.
Bug fixes:
- Also try to use pysal instead of mapclassify if available (#1082 https://github.com/geopandas/geopandas/pull/1082). - The GeoDataFrame.astype() method now correctly returns a GeoDataFrame if the geometry column is preserved (#1009 https://github.com/geopandas/geopandas/pull/1009). - The to_crs method now uses always_xy=True to ensure correct lon/lat order handling for pyproj>=2.2.0 (#1122 https://github.com/geopandas/geopandas/pull/1122). - Fixed passing list-like colors in the plot() method in case of "multi" geometries (#1119 https://github.com/geopandas/geopandas/pull/1119). - Fixed the coloring of shapes and colorbar when passing a custom norm in the plot() method (#1091 https://github.com/geopandas/geopandas/pull/1091, #1089 https://github.com/geopandas/geopandas/pull/1089). - Fixed GeoDataFrame.to_file to preserve VFS file paths (e.g. when a "s3://" path is specified) (#1124 https://github.com/geopandas/geopandas/pull/1124). - Fixed failing case in geopandas.sjoin with empty geometries (#1138 https://github.com/geopandas/geopandas/pull/1138).
In addition, the minimum required versions of some dependencies have been increased: GeoPandas now requires pandas >=0.23.4 and matplotlib >=2.0.1 ( #1002 https://github.com/geopandas/geopandas/pull/1002).
*Acknowledgments*
Thanks to everyone who contributed to this release! A total of 20 people contributed patches to this release. People with a "+" by their names contributed a patch for the first time.
- Alan D. Snow + - Aleksey Bilogur - Archana Alva + - François Leblanc - Geir Arne Hjelle - Ian Rose + - James Gaboardi + - James McBride - Joris Van den Bossche - Joshua Wilson - Kushal Borkar + - Leah Wasser - Martin Fleischmann - Mike Taves + - René Buffat + - Sergio Rey + - Thomas Pinder + - awa5114 + - donlo + - jbrockmendel +
*-- The GeoPandas developers*

We are pleased to announce a new release of GeoPandas!
The main highlight of GeoPandas 0.7.0 is related to Coordinate Reference System (CRS) handling. The .crs attribute of a GeoSeries and GeoDataFrame no longer stores the CRS information as a proj4 string or dict, but as a pyproj.CRS object. This gives a better user interface and integrates improvements from pyproj and PROJ 6, but might also require some changes in your code. Check the migration guide https://geopandas.readthedocs.io/en/latest/projections.html#upgrading-to-geopandas-0-7-with-pyproj-2-2-and-proj-6 in the documentation.
Further, this release includes a nice set of other improvements and bug fixes. See the full list below.
--- GeoPandas can be installed with conda from the conda-forge channel (conda install -c conda-forge geopandas) or with pip assuming the dependencies are available for your platform or are already installed (pip install geopandas ).
Please report any issues, or request new features via our GitHub repository: https://github.com/geopandas/geopandas/issues
*What is it?*
GeoPandas is an open source project to make working with geospatial data in python easier. GeoPandas combines the capabilities of pandas and shapely, providing geospatial operations in pandas and a high-level interface to multiple shapely geometries. GeoPandas enables you to easily do operations in python that would otherwise require a spatial database such as PostGIS.
Documentation can be found here: http://geopandas.readthedocs.io/en/stable/
*What's new?*
Support for Python 2.7 has been dropped. GeoPandas now works with Python >= 3.5.
The important API change of this release is that GeoPandas now requires PROJ > 6 and pyproj > 2.2, and that the .crs attribute of a GeoSeries and GeoDataFrame no longer stores the CRS information as a proj4 string or dict, but as a pyproj.CRS object (#1101 https://github.com/geopandas/geopandas/pull/1101).
This gives a better user interface and integrates improvements from pyproj and PROJ 6, but might also require some changes in your code. Check the migration guide https://geopandas.readthedocs.io/en/latest/projections.html#upgrading-to-geopandas-0-7-with-pyproj-2-2-and-proj-6 in the documentation.
*Other API changes:*
- The GeoDataFrame.to_file method will now also write the GeoDataFrame index to the file, if the index is named and/or non-integer. You can use the index=True/False keyword to overwrite this default inference (#1059 https://github.com/geopandas/geopandas/pull/1059).
*New features and improvements:*
- A new geopandas.clip function to clip a GeoDataFrame to the spatial extent of another shape (#1128 https://github.com/geopandas/geopandas/pull/1128). - The geopandas.overlay function now works for all geometry types, including points and linestrings in addition to polygons (#1110 https://github.com/geopandas/geopandas/pull/1110). - The plot() method gained support for missing values (in the column that determines the colors). By default it doesn't plot the corresponding geometries, but using the new missing_kwds argument you can specify how to style those geometries (#1156 https://github.com/geopandas/geopandas/pull/1156). - The plot() method now also supports plotting GeometryCollection and LinearRing objects (#1225 https://github.com/geopandas/geopandas/pull/1225). - Added support for filtering with a geometry or reading a subset of the rows in geopandas.read_file (#1160 https://github.com/geopandas/geopandas/pull/1160). - Added support for the new nullable integer data type of pandas in GeoDataFrame.to_file (#1220 https://github.com/geopandas/geopandas/pull/1220).
*Bug fixes:*
- GeoSeries.reset_index() now correctly results in a GeoDataFrame instead of DataFrame (#1252 https://github.com/geopandas/geopandas/pull/1252). - Fixed the geopandas.sjoin function to handle MultiIndex correctly ( #1159 https://github.com/geopandas/geopandas/pull/1159). - Fixed the geopandas.sjoin function to preserve the index name of the left GeoDataFrame (#1150 https://github.com/geopandas/geopandas/pull/1150).
*Acknowledgments*
Thanks to everyone who contributed to this release! A total of 12 people contributed patches to this release. People with a "+" by their names contributed a patch for the first time.
- Alan D. Snow - Aleksey Bilogur - Ardie Orden + - Brendan Ward + - Brett Naul - James McBride - Joris Van den Bossche - Leah Wasser - Martin Fleischmann - Mike Taves - jess + - sangarshanan +
*-- The GeoPandas developers*

We are pleased to announce a new release of GeoPandas!
Highlights: more IO (PostGIS, Parquet, Feather), optional speed-up using PyGEOS, better support for multiple geometry columns, and lots of other fixes and improvements. See below for more detailed notes. Thanks to all contributors for making this possible!
---
GeoPandas can be installed with conda from the conda-forge channel (conda install -c conda-forge geopandas) or with pip assuming the dependencies are available for your platform or are already installed (pip install geopandas ).
Please report any issues, or request new features via our GitHub repository: https://github.com/geopandas/geopandas/issues
Documentation can be found here: http://geopandas.readthedocs.io/en/stable/
*What's new?*
*Experimental*: optional use of PyGEOS to speed up spatial operations (#1155 https://github.com/geopandas/geopandas/issues/1155). PyGEOS is a faster alternative for Shapely (being contributed back to a future version of Shapely), and is used in element-wise spatial operations and for spatial index in e.g. sjoin (#1343 https://github.com/geopandas/geopandas/pull/1343, #1401 https://github.com/geopandas/geopandas/pull/1401, #1421 https://github.com/geopandas/geopandas/pull/1421, #1427 https://github.com/geopandas/geopandas/pull/1427, #1428 https://github.com/geopandas/geopandas/pull/1428). See the installation docs https://geopandas.readthedocs.io/en/latest/install.html#using-the-optional-pygeos-dependency for more info and how to enable it.
*New features and improvements:*
- IO enhancements: - New GeoDataFrame.to_postgis() method to write to PostGIS database ( #1248 https://github.com/geopandas/geopandas/pull/1248). - New Apache Parquet and Feather file format support (#1180 https://github.com/geopandas/geopandas/pull/1180, #1435 https://github.com/geopandas/geopandas/pull/1435) - Allow appending to files with GeoDataFrame.to_file (#1229 https://github.com/geopandas/geopandas/pull/1229). - Add support for the ignore_geometry keyword in read_file to only read the attribute data. If set to True, a pandas DataFrame without geometry is returned (#1383 https://github.com/geopandas/geopandas/pull/1383). - geopandas.read_file now supports reading from file-like objects ( #1329 https://github.com/geopandas/geopandas/pull/1329). - GeoDataFrame.to_file now supports specifying the CRS to write to the file (#802 https://github.com/geopandas/geopandas/pull/802). By default it still uses the CRS of the GeoDataFrame. - New chunksize keyword in geopandas.read_postgis to read a query in chunks (#1123 https://github.com/geopandas/geopandas/pull/1123). - Improvements related to geometry columns and CRS: - Any column of the GeoDataFrame that has a "geometry" dtype is now returned as a GeoSeries. This means that when having multiple geometry columns, not only the "active" geometry column is returned as a GeoSeries, but also accessing another geometry column (gdf["other_geom_column"]) gives a GeoSeries (#1336 https://github.com/geopandas/geopandas/pull/1336). - Multiple geometry columns in a GeoDataFrame can now each have a different CRS. The global gdf.crs attribute continues to returns the CRS of the "active" geometry column. The CRS of other geometry columns can be accessed from the column itself (eg gdf["other_geom_column"].crs) ( #1339 https://github.com/geopandas/geopandas/pull/1339). - New set_crs() method on GeoDataFrame/GeoSeries to set the CRS of naive geometries (#747 https://github.com/geopandas/geopandas/pull/747). - Improvements related to plotting: - The y-axis is now scaled depending on the center of the plot when using a geographic CRS, instead of using an equal aspect ratio (#1290 https://github.com/geopandas/geopandas/pull/1290). - When passing a column of categorical dtype to the column= keyword of the GeoDataFrame plot(), we now honor all categories and its order (#1483 https://github.com/geopandas/geopandas/pull/1483). In addition, a new categories keyword allows to specify all categories and their order otherwise (#1173 https://github.com/geopandas/geopandas/pull/1173). - For choropleths using a classification scheme (using scheme=), the legend_kwds accept two new keywords to control the formatting of the legend: fmt with a format string for the bin edges (#1253 https://github.com/geopandas/geopandas/pull/1253), and labels to pass fully custom class labels (#1302 https://github.com/geopandas/geopandas/pull/1302). - New covers() and covered_by() methods on GeoSeries/GeoDataframe for the equivalent spatial predicates (#1460 https://github.com/geopandas/geopandas/pull/1460, #1462 https://github.com/geopandas/geopandas/pull/1462). - GeoPandas now warns when using distance-based methods with data in a geographic projection (#1378 https://github.com/geopandas/geopandas/pull/1378).
*Deprecations:*
- When constructing a GeoSeries or GeoDataFrame from data that already has a CRS, a deprecation warning is raised when both CRS don't match, and in the future an error will be raised in such a case. You can use the new set_crs method to override an existing CRS. See the docs https://geopandas.readthedocs.io/en/latest/projections.html#projection-for-multiple-geometry-columns . - The helper functions in the geopandas.plotting module are deprecated for public usage (#656 https://github.com/geopandas/geopandas/pull/656 ). - The geopandas.io functions are deprecated, use the top-level read_file and to_file instead (#1407 https://github.com/geopandas/geopandas/pull/1407). - The set operators (&, |, ^, -) are deprecated, use the intersection(), union(), symmetric_difference(), difference() methods instead (#1255 https://github.com/geopandas/geopandas/pull/1255). - The sindex for empty dataframe will in the future return an empty spatial index instead of None (#1438 https://github.com/geopandas/geopandas/pull/1438). - The objects keyword in the intersection method of the spatial index returned by the sindex attribute is deprecated and will be removed in the future (#1440 https://github.com/geopandas/geopandas/pull/1440).
*Bug fixes:*
- Fix the total_bounds() method to ignore missing and empty geometries ( #1312 https://github.com/geopandas/geopandas/pull/1312). - Fix geopandas.clip when masking with non-overlapping area resulting in an empty GeoDataFrame (#1309 https://github.com/geopandas/geopandas/pull/1309, #1365 https://github.com/geopandas/geopandas/pull/1365). - Fix error in geopandas.sjoin when joining on an empty geometry column ( #1318 https://github.com/geopandas/geopandas/pull/1318). - CRS related fixes: pandas.concat preserves CRS when concatenating GeoSeries objects (#1340 https://github.com/geopandas/geopandas/issues/1340), preserve the CRS in geopandas.clip (#1362 https://github.com/geopandas/geopandas/issues/1362) and in GeoDataFrame.astype (#1366 https://github.com/geopandas/geopandas/issues/1366). - Fix bug in GeoDataFrame.explode() when 'level_1' is one of the column names (#1445 https://github.com/geopandas/geopandas/pull/1445). - Better error message when rtree is not installed (#1425 https://github.com/geopandas/geopandas/pull/1425). - Fix bug in GeoSeries.equals() (#1451 https://github.com/geopandas/geopandas/pull/1451). - Fix plotting of multi-part geometries with additional style keywords ( #1385 https://github.com/geopandas/geopandas/pull/1385).
And we now have a Code of Conduct https://github.com/geopandas/geopandas/blob/master/CODE_OF_CONDUCT.md!
GeoPandas 0.8.0 is the last release to support Python 3.5. The next release will require Python 3.6, pandas 0.24, numpy 1.15 and shapely 1.6 or higher.
*Acknowledgments*
Thanks to everyone who contributed to this release! A total of 28 people contributed patches to this release. People with a "+" by their names contributed a patch for the first time.
- Adrian Garcia Badaracco + - Alan D. Snow - Bhavika Tekwani + - Bo-Deng + - Brendan Ward - Christopher Yeh + - Geir Arne Hjelle - Henrikki Tenkanen + - Ian Rose - James McBride - Joris Van den Bossche - Julia Signell + - Kyle Barron + - Martin Fleischmann - Martin Jul + - Mateusz Konieczny + - Mike Taves - Oliver Schillinger + - Rowan Molony + - Sergio Rey - SylvainLan + - TimothyLucas + - abonte + - harryposner + - pietro + - raphacosta27 + - rwijtvliet + - sangarshanan
*-- The GeoPandas developers*

Congratulations to Joris and all of the contributors.
This seems like a monumental release and huge testament to the cross-project collaboration in the python/GIS world. Very excited to give this a go! -paul
On Wed, Jun 24, 2020 at 8:19 AM Joris Van den Bossche < jorisvandenbossche@gmail.com> wrote:
We are pleased to announce a new release of GeoPandas!
Highlights: more IO (PostGIS, Parquet, Feather), optional speed-up using PyGEOS, better support for multiple geometry columns, and lots of other fixes and improvements. See below for more detailed notes. Thanks to all contributors for making this possible!
GeoPandas can be installed with conda from the conda-forge channel (conda install -c conda-forge geopandas) or with pip assuming the dependencies are available for your platform or are already installed (pip install geopandas).
Please report any issues, or request new features via our GitHub repository: https://github.com/geopandas/geopandas/issues
Documentation can be found here: http://geopandas .readthedocs.io/en/stable/
*What's new?*
*Experimental*: optional use of PyGEOS to speed up spatial operations ( #1155 https://github.com/geopandas/geopandas/issues/1155). PyGEOS is a faster alternative for Shapely (being contributed back to a future version of Shapely), and is used in element-wise spatial operations and for spatial index in e.g. sjoin (#1343 https://github.com/geopandas/geopandas/pull/1343, #1401 https://github.com/geopandas/geopandas/pull/1401, #1421 https://github.com/geopandas/geopandas/pull/1421, #1427 https://github.com/geopandas/geopandas/pull/1427, #1428 https://github.com/geopandas/geopandas/pull/1428). See the installation docs https://geopandas.readthedocs.io/en/latest/install.html#using-the-optional-pygeos-dependency for more info and how to enable it.
*New features and improvements:*
- IO enhancements:
(#1248 https://github.com/geopandas/geopandas/pull/1248).
- New GeoDataFrame.to_postgis() method to write to PostGIS database
https://github.com/geopandas/geopandas/pull/1180, #1435 https://github.com/geopandas/geopandas/pull/1435)
- New Apache Parquet and Feather file format support (#1180
https://github.com/geopandas/geopandas/pull/1229).
- Allow appending to files with GeoDataFrame.to_file (#1229
read the attribute data. If set to True, a pandas DataFrame without geometry is returned (#1383 https://github.com/geopandas/geopandas/pull/1383).
- Add support for the ignore_geometry keyword in read_file to only
#1329 https://github.com/geopandas/geopandas/pull/1329).
- geopandas.read_file now supports reading from file-like objects (
the file (#802 https://github.com/geopandas/geopandas/pull/802). By default it still uses the CRS of the GeoDataFrame.
- GeoDataFrame.to_file now supports specifying the CRS to write to
in chunks (#1123 https://github.com/geopandas/geopandas/pull/1123 ).
- New chunksize keyword in geopandas.read_postgis to read a query
- Improvements related to geometry columns and CRS:
returned as a GeoSeries. This means that when having multiple geometry columns, not only the "active" geometry column is returned as a GeoSeries, but also accessing another geometry column (gdf["other_geom_column"]) gives a GeoSeries (#1336 https://github.com/geopandas/geopandas/pull/1336).
- Any column of the GeoDataFrame that has a "geometry" dtype is now
different CRS. The global gdf.crs attribute continues to returns the CRS of the "active" geometry column. The CRS of other geometry columns can be accessed from the column itself (eg gdf["other_geom_column"].crs) (#1339 https://github.com/geopandas/geopandas/pull/1339).
- Multiple geometry columns in a GeoDataFrame can now each have a
naive geometries (#747 https://github.com/geopandas/geopandas/pull/747).
- New set_crs() method on GeoDataFrame/GeoSeries to set the CRS of
- Improvements related to plotting:
using a geographic CRS, instead of using an equal aspect ratio ( #1290 https://github.com/geopandas/geopandas/pull/1290).
- The y-axis is now scaled depending on the center of the plot when
of the GeoDataFrame plot(), we now honor all categories and its order (#1483 https://github.com/geopandas/geopandas/pull/1483). In addition, a new categories keyword allows to specify all categories and their order otherwise (#1173 https://github.com/geopandas/geopandas/pull/1173).
- When passing a column of categorical dtype to the column= keyword
the legend_kwds accept two new keywords to control the formatting of the legend: fmt with a format string for the bin edges (#1253 https://github.com/geopandas/geopandas/pull/1253), and labels to pass fully custom class labels (#1302 https://github.com/geopandas/geopandas/pull/1302).
- For choropleths using a classification scheme (using scheme=),
- New covers() and covered_by() methods on GeoSeries/GeoDataframe for
the equivalent spatial predicates (#1460 https://github.com/geopandas/geopandas/pull/1460, #1462 https://github.com/geopandas/geopandas/pull/1462).
- GeoPandas now warns when using distance-based methods with data in a
geographic projection (#1378 https://github.com/geopandas/geopandas/pull/1378).
*Deprecations:*
- When constructing a GeoSeries or GeoDataFrame from data that already
has a CRS, a deprecation warning is raised when both CRS don't match, and in the future an error will be raised in such a case. You can use the new set_crs method to override an existing CRS. See the docs https://geopandas.readthedocs.io/en/latest/projections.html#projection-for-multiple-geometry-columns .
- The helper functions in the geopandas.plotting module are deprecated
for public usage (#656 https://github.com/geopandas/geopandas/pull/656).
- The geopandas.io functions are deprecated, use the top-level
read_file and to_file instead (#1407 https://github.com/geopandas/geopandas/pull/1407).
- The set operators (&, |, ^, -) are deprecated, use the intersection(),
union(), symmetric_difference(), difference() methods instead (#1255 https://github.com/geopandas/geopandas/pull/1255).
- The sindex for empty dataframe will in the future return an empty
spatial index instead of None (#1438 https://github.com/geopandas/geopandas/pull/1438).
- The objects keyword in the intersection method of the spatial index
returned by the sindex attribute is deprecated and will be removed in the future (#1440 https://github.com/geopandas/geopandas/pull/1440).
*Bug fixes:*
- Fix the total_bounds() method to ignore missing and empty geometries
(#1312 https://github.com/geopandas/geopandas/pull/1312).
- Fix geopandas.clip when masking with non-overlapping area resulting
in an empty GeoDataFrame (#1309 https://github.com/geopandas/geopandas/pull/1309, #1365 https://github.com/geopandas/geopandas/pull/1365).
- Fix error in geopandas.sjoin when joining on an empty geometry
column (#1318 https://github.com/geopandas/geopandas/pull/1318).
- CRS related fixes: pandas.concat preserves CRS when concatenating
GeoSeries objects (#1340 https://github.com/geopandas/geopandas/issues/1340), preserve the CRS in geopandas.clip (#1362 https://github.com/geopandas/geopandas/issues/1362) and in GeoDataFrame.astype (#1366 https://github.com/geopandas/geopandas/issues/1366).
- Fix bug in GeoDataFrame.explode() when 'level_1' is one of the
column names (#1445 https://github.com/geopandas/geopandas/pull/1445 ).
- Better error message when rtree is not installed (#1425
https://github.com/geopandas/geopandas/pull/1425).
- Fix bug in GeoSeries.equals() (#1451
https://github.com/geopandas/geopandas/pull/1451).
- Fix plotting of multi-part geometries with additional style keywords
(#1385 https://github.com/geopandas/geopandas/pull/1385).
And we now have a Code of Conduct https://github.com/geopandas/geopandas/blob/master/CODE_OF_CONDUCT.md!
GeoPandas 0.8.0 is the last release to support Python 3.5. The next release will require Python 3.6, pandas 0.24, numpy 1.15 and shapely 1.6 or higher.
*Acknowledgments*
Thanks to everyone who contributed to this release! A total of 28 people contributed patches to this release. People with a "+" by their names contributed a patch for the first time.
- Adrian Garcia Badaracco +
- Alan D. Snow
- Bhavika Tekwani +
- Bo-Deng +
- Brendan Ward
- Christopher Yeh +
- Geir Arne Hjelle
- Henrikki Tenkanen +
- Ian Rose
- James McBride
- Joris Van den Bossche
- Julia Signell +
- Kyle Barron +
- Martin Fleischmann
- Martin Jul +
- Mateusz Konieczny +
- Mike Taves
- Oliver Schillinger +
- Rowan Molony +
- Sergio Rey
- SylvainLan +
- TimothyLucas +
- abonte +
- harryposner +
- pietro +
- raphacosta27 +
- rwijtvliet +
- sangarshanan
*-- The GeoPandas developers*
-- You received this message because you are subscribed to the Google Groups "PyData" group. To unsubscribe from this group and stop receiving emails from it, send an email to pydata+unsubscribe@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/pydata/CALQtMBYGjZ3Mg83S%2Bc%3DU_9ysNT%2BG... https://groups.google.com/d/msgid/pydata/CALQtMBYGjZ3Mg83S%2Bc%3DU_9ysNT%2BGGZ_MztygtNJBzkm%2B9iencw%40mail.gmail.com?utm_medium=email&utm_source=footer .

Dear Mr. Van den Bossche.. Joris..
Greetings of the day.. Thank you soooo much for the email update.. may god bless.. i look forward to tiring it.. and i have passed to my eager colleagues .. thanks a lot.. wishing you a great pleasant start of the week..
Best regards, take care.. have a ice day..
Mohammed
On 2020-06-24 17:18, Joris Van den Bossche wrote:
We are pleased to announce a new release of GeoPandas!
Highlights: more IO (PostGIS, Parquet, Feather), optional speed-up using PyGEOS, better support for multiple geometry columns, and lots of other fixes and improvements. See below for more detailed notes. Thanks to all contributors for making this possible!
GeoPandas can be installed with conda from the conda-forge channel (conda install -c conda-forge geopandas) or with pip assuming the dependencies are available for your platform or are already installed (pip install geopandas).
Please report any issues, or request new features via our GitHub repository: https://github.com/geopandas/geopandas/issues [1]
Documentation can be found here: http://geopandas.readthedocs.io/en/stable/ [2]
What's new?
Experimental: optional use of PyGEOS to speed up spatial operations (#1155 [3]). PyGEOS is a faster alternative for Shapely (being contributed back to a future version of Shapely), and is used in element-wise spatial operations and for spatial index in e.g. sjoin (#1343 [4], #1401 [5], #1421 [6], #1427 [7], #1428 [8]). See the installation docs [9] for more info and how to enable it.
New features and improvements:
IO enhancements:
New GeoDataFrame.to_postgis() method to write to PostGIS database
(#1248 [10]).
- New Apache Parquet and Feather file format support (#1180 [11],
#1435 [12])
- Allow appending to files with GeoDataFrame.to_file (#1229 [13]).
- Add support for the ignore_geometry keyword in read_file to only
read the attribute data. If set to True, a pandas DataFrame without geometry is returned (#1383 [14]).
- geopandas.read_file now supports reading from file-like objects
(#1329 [15]).
- GeoDataFrame.to_file now supports specifying the CRS to write to
the file (#802 [16]). By default it still uses the CRS of the GeoDataFrame.
- New chunksize keyword in geopandas.read_postgis to read a query in
chunks (#1123 [17]).
Improvements related to geometry columns and CRS:
Any column of the GeoDataFrame that has a "geometry" dtype is now
returned as a GeoSeries. This means that when having multiple geometry columns, not only the "active" geometry column is returned as a GeoSeries, but also accessing another geometry column (gdf["other_geom_column"]) gives a GeoSeries (#1336 [18]).
- Multiple geometry columns in a GeoDataFrame can now each have a
different CRS. The global gdf.crs attribute continues to returns the CRS of the "active" geometry column. The CRS of other geometry columns can be accessed from the column itself (eg gdf["other_geom_column"].crs) (#1339 [19]).
- New set_crs() method on GeoDataFrame/GeoSeries to set the CRS of
naive geometries (#747 [20]).
Improvements related to plotting:
The y-axis is now scaled depending on the center of the plot when
using a geographic CRS, instead of using an equal aspect ratio (#1290 [21]).
- When passing a column of categorical dtype to the column= keyword
of the GeoDataFrame plot(), we now honor all categories and its order (#1483 [22]). In addition, a new categories keyword allows to specify all categories and their order otherwise (#1173 [23]).
- For choropleths using a classification scheme (using scheme=), the
legend_kwds accept two new keywords to control the formatting of the legend: fmt with a format string for the bin edges (#1253 [24]), and labels to pass fully custom class labels (#1302 [25]).
- New covers() and covered_by() methods on GeoSeries/GeoDataframe
for the equivalent spatial predicates (#1460 [26], #1462 [27]).
- GeoPandas now warns when using distance-based methods with data in
a geographic projection (#1378 [28]).
Deprecations:
- When constructing a GeoSeries or GeoDataFrame from data that
already has a CRS, a deprecation warning is raised when both CRS don't match, and in the future an error will be raised in such a case. You can use the new set_crs method to override an existing CRS. See the docs [29].
- The helper functions in the geopandas.plotting module are
deprecated for public usage (#656 [30]).
- The geopandas.io [31] functions are deprecated, use the top-level
read_file and to_file instead (#1407 [32]).
- The set operators (&, |, ^, -) are deprecated, use the
intersection(), union(), symmetric_difference(), difference() methods instead (#1255 [33]).
- The sindex for empty dataframe will in the future return an empty
spatial index instead of None (#1438 [34]).
- The objects keyword in the intersection method of the spatial index
returned by the sindex attribute is deprecated and will be removed in the future (#1440 [35]).
Bug fixes:
- Fix the total_bounds() method to ignore missing and empty
geometries (#1312 [36]).
- Fix geopandas.clip when masking with non-overlapping area resulting
in an empty GeoDataFrame (#1309 [37], #1365 [38]).
- Fix error in geopandas.sjoin when joining on an empty geometry
column (#1318 [39]).
- CRS related fixes: pandas.concat preserves CRS when concatenating
GeoSeries objects (#1340 [40]), preserve the CRS in geopandas.clip (#1362 [41]) and in GeoDataFrame.astype (#1366 [42]).
- Fix bug in GeoDataFrame.explode() when 'level_1' is one of the
column names (#1445 [43]).
- Better error message when rtree is not installed (#1425 [44]).
- Fix bug in GeoSeries.equals() (#1451 [45]).
- Fix plotting of multi-part geometries with additional style
keywords (#1385 [46]).
And we now have a Code of Conduct [47]!
GeoPandas 0.8.0 is the last release to support Python 3.5. The next release will require Python 3.6, pandas 0.24, numpy 1.15 and shapely 1.6 or higher.
Acknowledgments
Thanks to everyone who contributed to this release! A total of 28 people contributed patches to this release. People with a "+" by their names contributed a patch for the first time.
- Adrian Garcia Badaracco +
- Alan D. Snow
- Bhavika Tekwani +
- Bo-Deng +
- Brendan Ward
- Christopher Yeh +
- Geir Arne Hjelle
- Henrikki Tenkanen +
- Ian Rose
- James McBride
- Joris Van den Bossche
- Julia Signell +
- Kyle Barron +
- Martin Fleischmann
- Martin Jul +
- Mateusz Konieczny +
- Mike Taves
- Oliver Schillinger +
- Rowan Molony +
- Sergio Rey
- SylvainLan +
- TimothyLucas +
- abonte +
- harryposner +
- pietro +
- raphacosta27 +
- rwijtvliet +
- sangarshanan
-- The GeoPandas developers
Links:
[1] https://github.com/geopandas/geopandas/issues [2] http://geopandas.readthedocs.io/en/stable/ [3] https://github.com/geopandas/geopandas/issues/1155 [4] https://github.com/geopandas/geopandas/pull/1343 [5] https://github.com/geopandas/geopandas/pull/1401 [6] https://github.com/geopandas/geopandas/pull/1421 [7] https://github.com/geopandas/geopandas/pull/1427 [8] https://github.com/geopandas/geopandas/pull/1428 [9] https://geopandas.readthedocs.io/en/latest/install.html#using-the-optional-p... [10] https://github.com/geopandas/geopandas/pull/1248 [11] https://github.com/geopandas/geopandas/pull/1180 [12] https://github.com/geopandas/geopandas/pull/1435 [13] https://github.com/geopandas/geopandas/pull/1229 [14] https://github.com/geopandas/geopandas/pull/1383 [15] https://github.com/geopandas/geopandas/pull/1329 [16] https://github.com/geopandas/geopandas/pull/802 [17] https://github.com/geopandas/geopandas/pull/1123 [18] https://github.com/geopandas/geopandas/pull/1336 [19] https://github.com/geopandas/geopandas/pull/1339 [20] https://github.com/geopandas/geopandas/pull/747 [21] https://github.com/geopandas/geopandas/pull/1290 [22] https://github.com/geopandas/geopandas/pull/1483 [23] https://github.com/geopandas/geopandas/pull/1173 [24] https://github.com/geopandas/geopandas/pull/1253 [25] https://github.com/geopandas/geopandas/pull/1302 [26] https://github.com/geopandas/geopandas/pull/1460 [27] https://github.com/geopandas/geopandas/pull/1462 [28] https://github.com/geopandas/geopandas/pull/1378 [29] https://geopandas.readthedocs.io/en/latest/projections.html#projection-for-m... [30] https://github.com/geopandas/geopandas/pull/656 [31] http://geopandas.io [32] https://github.com/geopandas/geopandas/pull/1407 [33] https://github.com/geopandas/geopandas/pull/1255 [34] https://github.com/geopandas/geopandas/pull/1438 [35] https://github.com/geopandas/geopandas/pull/1440 [36] https://github.com/geopandas/geopandas/pull/1312 [37] https://github.com/geopandas/geopandas/pull/1309 [38] https://github.com/geopandas/geopandas/pull/1365 [39] https://github.com/geopandas/geopandas/pull/1318 [40] https://github.com/geopandas/geopandas/issues/1340 [41] https://github.com/geopandas/geopandas/issues/1362 [42] https://github.com/geopandas/geopandas/issues/1366 [43] https://github.com/geopandas/geopandas/pull/1445 [44] https://github.com/geopandas/geopandas/pull/1425 [45] https://github.com/geopandas/geopandas/pull/1451 [46] https://github.com/geopandas/geopandas/pull/1385 [47] https://github.com/geopandas/geopandas/blob/master/CODE_OF_CONDUCT.md _______________________________________________ GeoPython mailing list -- geopython@python.org To unsubscribe send an email to geopython-leave@python.org https://mail.python.org/mailman3/lists/geopython.python.org/ Member address: qahtani@qahtani.info
participants (3)
-
Joris Van den Bossche
-
Paul Hobson
-
qahtani@qahtani.info