New example of categorical data filtering on the GPU:
New example of categorical data filtering on the GPU:
New Lonboard release makes the first step towards rich ๐ซ๐๐ฌ๐ญ๐๐ซ data visualization in Python, starting with PMTiles!
developmentseed.org/lonboard/lat...
- New RasterLayer, supporting PMTiles input via async-pmtiles github.com/developments...
- New support for categorical data filtering on the GPU
Building on Vincent Sarago's work, I updated and published ๐๐ฌ๐ฒ๐ง๐-๐ฉ๐ฆ๐ญ๐ข๐ฅ๐๐ฌ, an asynchronous PMTiles reader for Python: github.com/developments...
This integrates with Obstore for efficiently reading remote files and Obspec for extensibility.
Published a new version of async-geotiff:
- Support for reading band-interleaved GeoTIFFs and Cloud-Optimized GeoTIFFs
- Initial support for decoding LERC, LERC_DEFLATE, LERC_ZSTD images
- Fix computation of image bounds and resolution for rotated images
github.com/developments...
Repo: github.com/developments...
Built at @developmentseed.org
Introducing ๐๐ฌ๐ฒ๐ง๐-๐๐๐จ๐๐๐
๐
, a new library for reading GeoTIFFs and COGs. developmentseed.org/async-geotif...
- Fast, with a Rust core
- Uses a non-blocking thread pool for image decoding
- Integrates with NumPy, PyProj, Affine & Morecantile
- Remote data support with Obstore
- No GDAL dependency
New version of async-tiff: Fast, async reading of TIFFs, GeoTIFFs & COGs in Rust and Python: developmentseed.org/async-tiff
- New Array class for zero-copy data sharing between Rust/numpy
- Separate CPU-bound and IO-bound work, decoding image data in a thread pool
- Revamped metadata block caching
There's a section in the docs for third party showcase; this would be a great example to put there if you have any public facing examples
wikipedia turns 25 today! the last unenshittified major website! backbone of online info! triumph of humanity! powered by urge of unpaid randos to correct each other! somehow mostly reliable! "good thing wikipedia works in practice, because it sure doesn't work in theory" - old wiki adage
Visualize a mosaic of NAIP imagery loaded from @microsoft.com Planetary Computer COGs, all in your browser, no server involved.
Render true color, false color infrared, or NDVI. developmentseed.org/deck.gl-rast...
Built at @developmentseed.org with deck.gl-raster: github.com/developments...
Thank you! Yes the goal was that it would be general enough, but it really requires a WebGL renderer. I can't remember if Leaflet supports that for rasters
yes essentially. I'm minimizing reprojection error instead of distance to the terrain surface
Announcing deck.gl-raster: ๐๐ฎ๐ฅ๐ฅ๐ฒ ๐๐ฅ๐ข๐๐ง๐ญ-๐ฌ๐ข๐๐ ๐๐๐ ๐ซ๐๐ง๐๐๐ซ๐ข๐ง๐ . No server required.
1.3 ๐ ๐ข๐ ๐๐๐ฒ๐ญ๐ COG, streamed directly into the browser: developmentseed.org/deck.gl-rast...
- GPU-accelerated raster reprojection
- GPU image processing for colormaps, nodata values
- Efficient use of COG overviews
Rendering H3 data with H3HexagonLayer
Maplibre text labels rendered above Lonboard layer
Released Lonboard v0.13!
- New layer types: H3, S2, Geohash, A5 and fixed HeatmapLayer
- Render data layers beneath Maplibre text labels
- Map UI controls: scale, fullscreen, navigation
- Significant performance improvements: fixing earlier regressions
developmentseed.org/lonboard/lat...
I'm happy to announce I've been promoted to an Apache Arrow Committer, meaning I'm authorized to merge code patches into Arrow repositories!
I join this list of amazing people: arrow.apache.org/committers/
Thank you! I also hope to have a blog post on Python-Rust interop sometime
If it's in Rust, docs.rs/pyo3-arrow makes it really easy to connect Rust to Python.
New blog post! kylebarron.dev/blog/fast-py...
This dives into performance pitfalls of Python bindings, why projects like Lonboard are so fast, and why I care about Apache Arrow so much. The post is high level and you don't need to know C/C++/Rust to understand it!
F3: The Open-Source Data File Format for the Future SIGMOD 2025
Our SIGMOD paper with our friends at Tsinghua + @wesmckinney.com + @pateljm.bsky.social on creating a next generation open-source data file format is out. F3 is a future-proof file format avoids the mistakes of Parquet.
๐ Paper: db.cs.cmu.edu/papers/2025/...
๐ Code: github.com/future-file-...
Last week Apache Sedona announced SedonaDB...and now I finally get to write about it! Here I use SedonaDB to demonstrate the explore/iterate/visualize cycle...SedonaDB's CRS support + @kylebarron.dev's `lonboard` is ๐ for exploring new data!)
dewey.dunnington.ca/post/2025/st...
Lonboard's 0.12 release improved the support for GeoArrow data types, and is moving towards being fully GeoArrow-native. Shapely is no longer a required dependency!
github.com/developments...
This was my first time using Marimo and it was a joy to use! And its interactivity plays really nicely with Lonboard.
I've been working on geospatial extensions for the Apache DataFusion SQL query engine, using GeoArrow as the underlying compute layout. It's early, but I'm working on fleshing out the PostGIS API. And there are Python bindings too!
github.com/datafusion-c...
Lonboard's 0.12 release improved the support for GeoArrow data types, and is moving towards being fully GeoArrow-native. Shapely is no longer a required dependency!
github.com/developments...
This was my first time using Marimo and it was a joy to use! And its interactivity plays really nicely with Lonboard.
Lonboard's 0.12 release improved the support for GeoArrow data types, and is moving towards being fully GeoArrow-native. Shapely is no longer a required dependency! github.com/developments...
This was my first time using Marimo and it was a joy to use! And its interactivity plays really nicely with Lonboard.
New Lonboard release and new demo! Integrating marimo and Apache DataFusion to visualize the NYC taxi dataset. developmentseed.org/lonboard/lat...
Published a new version of parquet-wasm: github.com/kylebarron/p...
- Update to latest version of Rust parquet crate
- Workaround to read Parquet data containing Arrow string view/binary view types
- Streaming writes
- Comparison between parquet-wasm and hyparquet, a pure-JavaScript Parquet reader
Published arro3-core v0.6 with wider dtype support for converting numpy ndarrays to Arrow. It now additionally supports:
- datetime64
- timedelta64
- fixed-width strings/bytes
- variable-width strings
- object arrays of str/bytes
And the Python wheel is still just 2.5MB!
github.com/kylebarron/a...
New GeoArrow-Rust release (& Python bindings) with a dedicated FlatGeobuf reader and writer:
- Fast bounding box queries, pushed down to the original file format
- Sync/async data reading through obstore
- Fully Rust with no GDAL means easy installation
geoarrow.org/geoarrow-rs/...