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*
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
(https://pythonclock.org)
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:
https://pycsw.org/download
PyPI packages are available at:
https://pypi.org/project/pycsw
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.
https://pycsw.org/https://pycsw.org/development/announce/2.4.0.html
--
Angelos Tzotsos, PhD
Charter Member
Open Source Geospatial Foundation
http://users.ntua.gr/tzotsos
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*
GeoPandas 0.4.1 is a small bug-fix release for compatibility with the
latest Fiona and PySAL releases: (awaiting the upcoming feature release
0.5.0).
- Compatibility with Fiona 1.8: fix deprecation warning (#854
<https://github.com/geopandas/geopandas/pull/854> and #916
<https://github.com/geopandas/geopandas/pull/916>).
- Compatibility with PySAL 2.0: switched to mapclassify instead of PySAL
as
dependency for choropleth mapping with the scheme keyword (#872
<https://github.com/geopandas/geopandas/pull/872>).
- Fix for new overlay implementation in case the intersection is empty (
#800 <https://github.com/geopandas/geopandas/pull/800>).
*Acknowledgments*
A total of 7 people contributed to this release. People with a "+" by their
names contributed a patch for the first time.
- Filipe
- Joris Van den Bossche
- Kris Vanhoof +
- Martin Fleischmann +
- Simon Andersson +
- TimoRoth +
- Ömer Özak
*How to get it?*
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 (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.org/
<http://geopandas.readthedocs.io/en/stable/>
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
Kind regards,
Martin Christen
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/>
Kind regards,
Martin Christen & The GeoPython Organization Team
Hi all
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
Kind regards,
Martin
-------------------------------------------------------------------------
FHNW - University of Applied Sciences and Arts
Northwestern Switzerland
Institute of Geomatics Engineering
Martin CHRISTEN
Lecturer in Geoinformatics and 3D-Computer Graphics
Gründenstrasse 40
4132 Muttenz
-------------------------------------------------------------------------
martin.christen(a)fhnw.ch<mailto:martin.christen@fhnw.ch>
www.fhnw.ch/personen/martin-christen<http://www.fhnw.ch/personen/martin-christen>
-------------------------------------------------------------------------