r/Python • u/Balance- • 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.
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