We are pleased to announce a new release of GeoPandas!
GeoPandas 0.5.0 includes some improvements for writing files with fiona
(better performance, better support for data types and mixed geometry
types), along with many other new features 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?*
Improvements:
- Significant performance improvement (around 10x) for
GeoDataFrame.iterfeatures, which also improves GeoDataFrame.to_file (#864
<https://github.com/geopandas/geopandas/pull/864>).
- File IO enhancements based on Fiona 1.8:
- Support for writing bool dtype (#855
<https://github.com/geopandas/geopandas/pull/855>) and datetime
dtype, if the file format supports it (#728
<https://github.com/geopandas/geopandas/pull/728>).
- Support for writing dataframes with multiple geometry types, if the
file format allows it (e.g. GeoJSON for all types, or ESRI Shapefile for
Polygon+MultiPolygon) (#827
<https://github.com/geopandas/geopandas/pull/827>, #867
<https://github.com/geopandas/geopandas/issues/867>, #870
<https://github.com/geopandas/geopandas/pull/870>).
- Compatibility with pyproj >= 2 (#962
<https://github.com/geopandas/geopandas/pull/962>).
- A new geopandas.points_from_xy() helper function to convert x and y
coordinates to Point objects (#896
<https://github.com/geopandas/geopandas/pull/896>).
- The buffer and interpolate methods now accept an array-like to specify
a variable distance for each geometry (#781
<https://github.com/geopandas/geopandas/pull/781>).
- Addition of a relate method, corresponding to the shapely method that
returns the DE-9IM matrix (#853
<https://github.com/geopandas/geopandas/pull/853>).
- Plotting improvements:
- Performance improvement in plotting by only flattening the
geometries if there are actually 'Multi' geometries (#785
<https://github.com/geopandas/geopandas/pull/785>).
- Choropleths: access to all mapclassify classification schemes and
addition of the classification_kwds keyword in the plot method to
specify options for the scheme (#876
<https://github.com/geopandas/geopandas/pull/876>).
- Ability to specify a matplotlib axes object on which to plot the
color bar with the cax keyword, in order to have more control over
the color bar placement (#894
<https://github.com/geopandas/geopandas/pull/894>).
- Changed the default provider in geopandas.tools.geocode from Google
(now requires an API key) to Geocode.Farm (#907
<https://github.com/geopandas/geopandas/pull/907>, #975
<https://github.com/geopandas/geopandas/pull/975>).
Bug fixes:
- Remove the edge in the legend marker (#807
<https://github.com/geopandas/geopandas/pull/807>).
- Fix the align method to preserve the CRS (#829
<https://github.com/geopandas/geopandas/pull/829>).
- Fix geopandas.testing.assert_geodataframe_equal to correctly compare
left and right dataframes (#810
<https://github.com/geopandas/geopandas/pull/810>).
- Fix in choropleth mapping when the values contain missing values (#877
<https://github.com/geopandas/geopandas/issues/877>).
- Better error message in sjoin if the input is not a GeoDataFrame (#842
<https://github.com/geopandas/geopandas/pull/842>).
- Fix in read_postgis to handle nullable (missing) geometries (#856
<https://github.com/geopandas/geopandas/pull/856>).
- Correctly passing through the parse_dates keyword in read_postgis to
the underlying pandas method (#860
<https://github.com/geopandas/geopandas/pull/860>).
- Fixed the shape of Antarctica in the included demo dataset
'naturalearth_lowres'
(by updating to the latest version) (#804
<https://github.com/geopandas/geopandas/issues/804>).
*Acknowledgments*
Thanks to everyone who contributed to this release!
A total of 33 people contributed to this release. People with a "+" by their
names contributed a patch for the first time.
- Andy Garfield +
- Benjamin Goldenberg +
- Brett Naul +
- Brian Lewis +
- Dmitry Nikolaev +
- Dr Martin Black +
- Filipe
- Geir Arne Hjelle
- Géraud +
- Henry Walshaw +
- James McBride
- Jesse Pisel +
- Joris Van den Bossche
- Joshua Wilson
- Justin Shenk +
- Kris Vanhoof +
- Leah Wasser +
- Levi John Wolf
- Martin Fleischmann +
- Matthieu Viry +
- Philipp Kats +
- Pratap Vardhan +
- Pulkit Maloo +
- Raphael Delhome +
- Sean Gillies
- Simon Andersson +
- TimoRoth +
- Yohann Rebattu +
- YuichiNotoya +
- byrman +
- lmmarsano +
- Émile Nadeau +
- Ömer Özak
*-- The GeoPandas developers*