Changelog¶
Unreleased¶
[0.6.0] - 2025-10-16¶
What's Changed¶
- docs: include constructor docs in the table of contents by @keewis in geoarrow/geoarrow-rs!1347
- fix(geoarrow-flatgeobuf): Fix FlatGeobuf reader with missing (null) properties by @kylebarron in geoarrow/geoarrow-rs!1356
- test: Fix Python WKT and WKT tests by @kylebarron in geoarrow/geoarrow-rs!1359
- fix: Preserve import errors from Arrow C Stream by @kylebarron in geoarrow/geoarrow-rs!1360
- feat: conversion method parameter for
from_shapelyby @keewis in geoarrow/geoarrow-rs!1348 - feat(python, geoarrow-rust-core): Implement
geometry_colby @kylebarron in geoarrow/geoarrow-rs!1381 - feat(python): Constructor for GeoChunkedArray by @kylebarron in geoarrow/geoarrow-rs!1383
- fix(python): Fix
__geo_interface__export for GeoScalar by @kylebarron in geoarrow/geoarrow-rs!1384 - feat(python): Constuctor for GeoArray by @kylebarron in geoarrow/geoarrow-rs!1385
New Contributors¶
- @keewis made their first contribution in geoarrow/geoarrow-rs!1347
Full Changelog: github.com/geoarrow/geoarrow-rs/compare/py-v0.5.3...py-v0.6.0
[0.5.3] - 2025-09-25¶
- chore: Bump lockfiles to update wkb dependency #1342
[0.5.2] - 2025-09-12¶
- fix(geoarrow-array): Fix persisting CRS when creating GeometryArray from Field #1326. This also fixes an internal error when downcasting a GeometryArray with a CRS.
- ci(Python): Remove Windows x86 build #1329
[0.5.1] - 2025-08-11¶
- Build Python 3.13 wheels for Windows geoarrow/geoarrow-rs!1305
[0.5.0] - 2025-08-07¶
- Add
get_type_idto infer geometry types from array #1280 - Release GIL when blocking tokio runtime geoarrow/geoarrow-rs!1281
- Add
read_flatgeobuf,read_flatgeobuf_async,write_flatgeobufgeoarrow/geoarrow-rs!1279
[0.4.1] - 2025-07-17¶
- Added
pathproperty toGeoParquetFileclass so information about each fragment of aGeoParquetDatasetcan be associated back to the original file.
[0.4.0] - 2025-07-01¶
This release contains the Python bindings for more or less a full rewrite of the GeoArrow Rust library.
New Features :magic_wand:¶
- Full support for the GeoArrow 0.2 specification, including all geometry array types and dimensions.
- See documentation for
GeoArray,GeoChunkedArray,GeoScalar, andGeometryTypefor more details. - Support for reading and writing GeoParquet 1.1 files, including spatial filtering, including support for reading from remote files.
[0.3.0] - 2024-09-07¶
New Features :magic_wand:¶
- Remove geometry class specializations. Instead of
PointArray,LineStringArray, etc, there's now justGeometryArray,ChunkedGeometryArray, andGeometry(a scalar). - Remove GeoTable class, in favor of external, generic arrow Table implementations, such as
arro3.core.Table. - Move to slimmer, functional API. No more geometry methods on classes.
- Don't materialize input data when writing to a file.
- New
GeometryTypeclass for understanding the geometry type of an array or chunked array. - Split Python code into three modules:
geoarrow-rust-core,geoarrow-rust-computeandgeoarrow-rust-io. - Support for Pyodide Python environment
- Support Python file objects for reading and writing GeoParquet
Bug fixes
¶
- Fix array indexing with negative integers by @kylebarron in geoarrow/geoarrow-rs!724
[0.2.0] - 2024-03-22¶
New!
¶
New I/O support for reading and writing to geospatial formats¶
- Asynchronous FlatGeobuf reader. This also supports passing a spatial filter.
- Initial support for reading from PostGIS. Note that not all Postgres data types are supported yet. Create an issue if your query fails.
- Reading and writing newline-delimited GeoJSON.
- Pyogrio integration for reading from OGR/GDAL.
- Asynchronous GeoParquet reader for reading from remote files. By @weiji14 in geoarrow/geoarrow-rs!493
- Also new support for writing GeoParquet files.
- Most I/O readers and writers support Python file-like objects (in binary mode).
- Support for reading and writing Arrow IPC files.
Better interoperability with the Python geospatial ecosystem.¶
- Import from and export to GeoPandas GeoDataFrames. Refer to the GeoPandas interoperability documentation.
- Import from and export to Shapely arrays. Refer to the Shapely interoperability documentation.
- Better integration with Lonboard for fast visualization in Jupyter.
- All scalars, arrays, chunked arrays, and table objects implement
__geo_interface__for interoperability with existing tools. - Numpy interoperability for float array output from algorithms. Pass any
Float64ArrayorBooleanArraytonumpy.asarray. You can also pass a numpy array as vectorized input into a function likeline_interpolate_point.
New algorithms!¶
- Explode a Table where each multi-geometry expands into multiple rows of single geometries.
total_bounds- Unified
areafunction for planar and geodesic area. - Unified
simplifyfunction for multiple simplification methods. Also new support for topology-preserving simplification. - Unified
lengthfunction for euclidean and geodesic length calculations. frechet_distancefor LineString similarity.affine_transform, which integrates with the Pythonaffinelibrary.line_interpolate_pointandline_locate_pointfor linear referencing.polylabelfor polygon labeling.
Improved display of Python objects:¶
- Scalars now display as SVG geometries inside Jupyter environments.
- Tables, arrays, and chunked arrays implement
__repr__so that you can inspect data easily.
Improved usability:¶
PointArray.from_xyto simplify creating a point array from numpy arrays of coordinates.- Index into arrays and chunked arrays with square brackets. E.g.
point_array[0]will access the first point in the array. Negative indexing is also supported, sopoint_array[-1]will get the last item in the array. - New top-level docs website.
New Contributors¶
- @Robinlovelace made their first contribution in geoarrow/geoarrow-rs!484
- @weiji14 made their first contribution in geoarrow/geoarrow-rs!493
Full Changelog: github.com/geoarrow/geoarrow-rs/compare/py-v0.1.0...py-v0.2.0
[0.1.0] - 2024-01-08¶
- Initial public release.