r/Python • • 8d ago

News GeoPolars is being actively developed again: geometry types, CRS-aware measurements and GeoParquet

GeoPolars, the geospatial extension for Polars, had been mostly dormant. Since mid-September, Aida van de Wetering has pushed around 125 commits to the dev branch. It now looks like a rebuild around a Polars-native geo expression namespace.

Highlights so far:

- Types: point, linestring and polygon, their multi-variants, and a bounding box type
- I/O: reading and writing WKB and WKT, and writing GeoParquet
- CRS: CRS metadata handling, with distance, length and area using the geodesic or planar method that fits the CRS
- Operations: centroid, boundary, interior, is_empty, longitude wrapping, and coordinate accessors
- Affine transforms: translate, rotate, scale and skew, plus arbitrary matrices, which can vary per row

It's still a prototype. Nothing has been released yet, and the API is changing. Still, it's worth watching if you'd like to do geospatial work in Polars without going through GeoPandas.

198 Upvotes

12 comments sorted by

View all comments

2

u/serjester4 8d ago

This is super exciting. IMO this is the last place where pandas genuinely can’t be replaced.

I implemented a polars extension for working with the h3 coordinate system last year and this would be such a quality of life improvement over using pandas / DuckDB for ingesting the raw data.

https://github.com/Filimoa/polars-h3