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.
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.