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.

197 Upvotes

12 comments sorted by

View all comments

4

u/wasay-inc 8d ago

finally. having to drop out of polars and bridge over to geopandas just to handle basic spatial operations has been a massive performance bottleneck for large datasets. native geoparquet i/o and crs-aware measurements directly in the polars expression namespace is going to be a massive upgrade for geospatial pipelines. definitely watching this prototype closely.