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
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
*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/
- 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
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
- 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
- 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
- Addition of a GeoDataFrame.rename_geometry method to easily rename the
active geometry column (#1053
- Addition of geopandas.show_versions() function, which can be used to
give an overview of the installed libraries in bug reports (#899
- The legend_kwds keyword of the plot() method can now also be used to
specify keywords for the color bar (#1102
- Performance improvement in the sjoin() operation by re-using existing
spatial index of the input dataframes, if available (#789
- Updated documentation to work with latest version of geoplot and
contextily (#1044 <https://github.com/geopandas/geopandas/pull/1044>,
- 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.
- Also try to use pysal instead of mapclassify if available (#1082
- The GeoDataFrame.astype() method now correctly returns a GeoDataFrame
if the geometry column is preserved (#1009
- The to_crs method now uses always_xy=True to ensure correct lon/lat
order handling for pyproj>=2.2.0 (#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
- Fixed GeoDataFrame.to_file to preserve VFS file paths (e.g. when a
"s3://" path is specified) (#1124
- Fixed failing case in geopandas.sjoin with empty geometries (#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 (
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*
The pycsw team announces the release of pycsw 2.4.0.
The 2.4.0 release adds WMS 1.3.0 and WPS process harvesting as well as
plugin support enhancements.
Note that though pycsw works with Python 2 and 3, we have turned
off Python 2 testing given the Python 2 end of life
scheduled for 01 January 2020. Users are strongly encouraged to update
their deployments to Python 3 as soon as possible.
Source and binary downloads:
The source code is available at:
PyPI packages are available at:
Version 2.4.0 (2019-05-17):
[Bulleted list of enhancements / bug fixes]
- fix CAT 3.0 schema locations
- fix to handle plugin loading across various operating systems
- bump of requirements
- new project logos
- safeguard WKT exceptions against newer versions of Shapely
- updated Chinese translations
- enhancements and fixes to large metadata harvesting workflows
- safeguard async naming for Python 3.7
- OpenSearch description document updates
- startposition fixes to for GetRecords workflows
Testers and developers are welcome.
We would like to thank OSGeo (https://osgeo.org) and the 2019
Minneapolis Code Sprint
(https://wiki.osgeo.org/wiki/OSGeo_Community_Sprint_2019) organizers and
sponsors for their support.
The pycsw developer team.
Angelos Tzotsos, PhD
Open Source Geospatial Foundation
Dear GeoPython subscribers
The conference schedule for GeoPython 2017 is now online at https://2017.geopython.net
On Monday May 8th 2017 we have 8 workshops, including a Python beginners tutorial.
On Tuesday and Wednesday we have a total of 7 sessions (28 talks). This year we had over 50 talk submissions.
I'm looking forward to meeting you at the conference
Dear Geo & Python community
I’m pleased to announce some updates for the upcoming GeoPython 2017 conference, which takes place in Basel, Switzerland May 8 to 10, 2017.
- The call for talks/workshops is extended until February 15, 2017.
- Early Bird Tickets are extended to February 15, 2017
More info is available at https://2017.geopython.net<https://2017.geopython.net/>
Martin Christen & The GeoPython Organization Team
I’m pleased to announce the GeoPython 2017 conference will take place from May 8 – 10, 2017 in Muttenz/Basel, Switzerland.
The call for workshops and talks is now open: https://2017.geopython.net
There will be a community voting for selecting the contributions early next year.
The conference is about “Geo with Python” and is organized by the University of Applied Sciences Northwestern Switzerland and PyBasel - the local Python User Group.
Conference topics are:
- GIS / Mapping
- Geography / Geophysics / Geodesy / Geomatics
- Earth Sciences / Environmental Sciences
- Geo Visualization
- Smart Cities
- Spatial Data / Geo data
- Geospatial Web services
- Big Data
- Data Processing
- (Spatial) Databases
- Computer Vision
- Remote Sensing
- Image Processing
- Machine Learning
- Python in General
A first flyer is available here: https://2017.geopython.net/flyer.png
FHNW - University of Applied Sciences and Arts
Institute of Geomatics Engineering
Lecturer in Geoinformatics and 3D-Computer Graphics
I've uploaded wheels for Shapely 1.6a1 to PyPI and would love to hear from
anyone who finds that the linux wheels do not work so that I can fix them
before the beta and final releases.
Reminder: these wheel distributions include the GEOS lib and its
dependencies and are fairly large in size. The upside of this is that you
should be able to `pip install` on most any linux computer without having
to, e.g., `apt-get install libgeos-dev` as root. Exactly as we can do for
Numpy, SciPy, etc.
On Mon, Jul 11, 2016 at 8:18 AM, Sean Gillies <sean.gillies(a)gmail.com>
> Hi all,
> I'm Sean Gillies. I work at Mapbox and am super fond of Python.
> For about a year now I've been publishing macosx wheels for Shapely
> (PostGIS operations without a database) that include their GEOS shared libs
> following the recipe at https://github.com/MacPython/
> wiki/wiki/Spinning-wheels and they've been a success. Very recently I
> received a contribution that does the same thing for almost any linux based
> on the work at https://github.com/pypa/manylinux and have gone ahead and
> published shapely 1.6.dev0 binary wheels for Linux:
> Here's what this means: on a Linux machine like your Travis CI or EC2
> instance or whatever all you need to do is
> $ pip install -U pip
> $ pip install --pre shapely
> and you'll get a fully loaded shapely 1.6.dev0 package with GEOS 3.5. By
> default pip does not get unstable packages and you must use --dev to get
> shapely 1.6.dev0, the very early pre-release of Shapely.
> These new wheels have been made possible by Andy Freeland (see
> https://github.com/Toblerity/Shapely/pull/391). Send Andy thanks and send
> me bug reports, I'm 100% committed to making these Linux wheels as useful
> as they can be.