Modular, Interoperable, Cross-Language Geospatial libraries with GeoArrow
11-19, 14:30–14:55 (Pacific/Auckland), WG403

DuckDB, GDAL, and libraries like Lonboard can now efficiently share large vector data at low cost, thanks to GeoArrow. This talk will explain what GeoArrow is and how to get the best performance when sharing data between these libraries with practical examples.


DuckDB, GDAL, libraries like Lonboard, and more can now efficiently share large vector data at low cost, thanks to GeoArrow, a binary representation for vector geometries that can be shared across libraries without any data copies.

GeoArrow is a relatively low-level technology that tends to be unseen by end-users. This is great! Users just see performance improvements!

For example, GDAL 3.6 introduced support for exposing the data read by OGR’s vector drivers as GeoArrow. This dramatically improved performance: reading from FlatGeobuf or GeoPackage files to a GeoPandas GeoDataFrame improved by 20x.

But it can be useful to understand the factors behind what makes GeoArrow so performant. This talk will explain what GeoArrow is, how it differs from other new technologies like GeoParquet, and how to get the best performance when sharing data between these libraries with practical examples. It will also give a quick peek under the hood for how advanced users can create a cross-language library from C or Rust, but this talk will aim to be digestible for wide audiences; no deep technical prerequisites are expected.