Lonboard

Projects

Client
With DevSeed Labs

In the dynamic field of geospatial analysis, the ability to interactively visualize large vector data sets quickly and efficiently is crucial. Lonboard, a cutting-edge Python library, is transforming this landscape. Leveraging advanced technologies like GeoArrow, GeoParquet, and GPU-based map rendering, Lonboard offers an unparalleled interactive experience for visualizing extensive geospatial datasets within Jupyter.

Project cover image

Overview

Lonboard is a Python library specifically designed for rapid and interactive visualization of geospatial vector data in Jupyter environments. Building upon innovative technologies such as GeoArrow, GeoParquet, and GPU-based rendering, Lonboard simplifies working with large geospatial datasets. It enables users to interact with their data through a simple, user-friendly interface, overcoming the limitations of existing tools like ipyleaflet, folium, and pydeck, especially when handling large-scale datasets.

Challenge

Existing tools for visualizing geospatial vector data, like ipyleaflet, folium, and pydeck, are not designed to handle large datasets efficiently. This results in slow rendering times and a non-fluid experience working with vector datasets of hundreds of thousands or millions of records. Addressing this critical need, Lonboard emerges as a game-changing Python library designed to efficiently handle and render large geospatial vector datasets in Jupyter, offering a fast, smooth, and interactive user experience.

Outcome

Lonboard delivers rapid visualization of large geospatial datasets directly within Jupyter, thanks to its integration with GeoArrow and GeoParquet and GPU-based rendering. Key outcomes include accelerated data processing speeds, interactive and high-resolution visualizations, and the ability to handle complex vector datasets with ease. These features enable users to quickly generate actionable insights from geospatial data, directly impacting efficiency in fields requiring detailed geographical analysis.

Why the Name lonboard?

This is a new binding to the deck.gl geospatial data visualization library. A "deck" is the part of a skateboard you ride on. What's a fast, geospatial skateboard? A lonboard.

Advanced Technology Integrations

Lonboard sets a new standard in data processing speed by optimizing the data transfer from Python to JavaScript and subsequently to the GPU. Unlike other Python libraries for interactive maps, such as ipyleaflet or pydeck, which rely on GeoJSON encoding, Lonboard employs a binary pipeline. This approach bypasses the inefficiencies of GeoJSON, notorious for slow read-write operations and bulky data files. With Lonboard, data transition from GeoPandas to GeoArrow and then to GeoParquet results in a compressed binary buffer, enabling swift and efficient transfer to the browser. In the final rendering stage, JavaScript decodes GeoParquet to GeoArrow using WebAssembly, and deck.gl interprets the GeoArrow table directly, eliminating the need for parsing. This entire binary process, from Python to GPU rendering, not only speeds up data visualization significantly but also maintains high fidelity in the representation of complex geospatial data.

Image

Rendering 3 million points in 2.5 seconds from Python.

User Experience and Interface

Lonboard excels in rendering large geospatial datasets interactively. It offers clear and detailed visualizations, allowing users to explore data in a more engaging and informative way. Whether it's plotting millions of data points or rendering complex geographical shapes, Lonboard maintains a high level of clarity and detail, enabling users to extract maximum insights from their data.

Lonboard integrates with ipywidgets for easy extensibility. Examples are provided to connect to ColorPicker — a widget that allows users to choose and change to a specific color — and Sidecar — allowing a dual pane view with an immersive half-page map — but lonboard can be connected to any other Jupyter Widget to create rich user interfaces.

Sidecar is a widget that allows users to interactively explore and understand data. This only works in JupyterLab and not other Jupyter interfaces like Colab.

Image

Swap colormaps in a fraction of a second, applying a different color per point.

What’s Next for Lonboard?

This is just the start of lonboard, and there’s a lot of work to be done. We'd like to better support various data types, have better two-way interactivity, and animate time series data. Let us know what you’d like to see!

About DevSeed Labs

Development Seed hires some of the smartest, most passionate people eager to solve the planet's toughest problems, usually collaborating with mission-driven partners.

While we're compensated for most tasks, we also pursue self-funded projects that align with our values, such as maintaining open-source tools, staying updated with technological advancements, and creating solutions for environmental and humanitarian needs.

Our Labs feature both experimental and established open-source tools. We advocate for transparent development and welcome collaborations. If you have earth data-related challenges, we are always looking for compelling problem statements and real, hard problems to solve!

Related content

More for you

    Have a challenging project that could use our help?

    Let's connect

    We'd love to hear from you.