GeoPandas 1.0 and beyond — Martin Fleischmann

Learn about GeoPandas 1.0's major performance gains, new features like GeoArrow support, and future plans including spherical geometry and Rust implementation.

Key takeaways
  • GeoPandas provides subclasses of Pandas objects - GeoPandas geo series and geo data frame - with added spatial functionality

  • Version 1.0 brings significant performance improvements:

    • Requires Shapley 2.0 with vectorized interface
    • Switched from Fiona to Pyagria for faster file reading/writing
    • New GeoArrow and GeoParquet support for efficient geometry encoding
    • Coverage-based union operations for improved performance
  • Key dependencies simplified:

    • Core: Pandas, Shapley (geometries), Fiona/Pyagria (file I/O), Pyproj (coordinate systems)
    • Some dependencies like GDAL made optional to improve installation experience
  • Major new features:

    • D-within spatial predicate for distance-based joins
    • Full Shapley API parity
    • Interactive visualization support
    • Coverage-based operations for topology-aware processing
  • Future developments planned:

    • Spherical geometry support through Spherley (Google S2)
    • Curved geometry types support
    • Coverage simplification improvements
    • Potential Rust implementation for better performance
    • Enhanced GeoArrow integration
  • Project evolution:

    • Started in 2013 at SciPy conference
    • Received NumFOCUS affiliation in 2020
    • Over 200 code contributors to date
    • Removed controversial datasets module in favor of neutral geodatasets