🌐 GeoJupyter 🌐
@
🌥️ CNG ’26 🌥️

Exploring more approachable geospatial data workflows as a community

Matt Fisher

Schmidt DSE @ UC Berkeley

Guillaume Eynard-Bontemps

Centre National d’Etudes Spatiales (CNES)

👋 Hi, I’m Matt! Website: mattz.cool

💻 Research Software Engineer (RSE)

🧑‍🤝‍🧑 Community builder

👐 Open source maintainer & contributor: jupytergis, jupyter-tiler, earthaccess, several conda-forge packages, more!

🐻 At Schmidt DSE, UC Berkeley

❄️ Previously at National Snow & Ice Data Center (NSIDC)

👐 📖 🧠 🌱 🎶 🥁 🎹 🐶

🐶 🐶 🐶 🐶 🐶🐶 🐶 🐶 🐶 🐶 🐶 🐶

👋 Hi, I’m Guillaume! GitHub: guillaumeeb

💻 👾 Satellite image processing and distributed data analysis expert at CNES

❄️ 💾 Maintaining snow detection algorithm (Let it snow), and improving CNES library ecosystem (from the outside mainly)

🌏 Member of Pangeo community for 8 years (missed the start)

🏭 Previously head of the CNES computing center team, specialized in Big Data tools (Spark, Dask)

👐 Open source supporter, funding and small contributor: dask, dask-jobqueue, Let it snow,

👐 📡 🧠 🌏 ⛺ 🏃 🏂 🎸 🍷 🌉

🌏 GeoJupyter community overview

⚡ Lightning version!

🔗 geojupyter.org

GeoJupyter community overview




GeoJupyter is an open and community-owned effort to reimagine geospatial interactive computing experiences within the Jupyter architecture to enable more people to confidently engage with geospatial data.



Many players!!!

GeoJupyter is not software; it’s a community which will build many things together!

GeoJupyter community overview

Open, participatory development

💞 User-centered & user-led

🤗 Welcoming (like Jupyter)

🔦 Exploring: finding & opening hidden doors

🏯 Data & computational sovereignty



🏗️ Projects in the GeoJupyter community

JupyterGIS

A screenshot of JupyterGIS

🤝 Collaborate

Two users collaborating in real-time on a JupyterGIS project (QuantStack)

🤝 Collaborate: Follow a user

One user following another in real-time on a JupyterGIS project (QuantStack)

🤝 Collaborate: Edit together

Two users editing a shared map (QuantStack)

🤝 Collaborate: Annotations

Two users having a conversation with spatial context through annotations (QuantStack)

🔮 Discover data with STAC (WIP)

Browsing a STAC catalog in JupyterGIS (eo science for society blog)

📖 Tell a story

Viewing a story map created in JupyterGIS

Experiment: reproducible viz -> Notebook workflows

Reproducible workflow from viz-land to Notebook-land (👏 Benny & Esha!)

Jupyter Trail (prototyping!)

The 2026 Carto State of Spatial Analytics report:

…the majority use between 3 and 8 tools to get work done

page 35

Cloud-native has become non-negotiable

page 23 (emphasis added)

Jupyter Trail (prototyping!)

A tool for tracking workflows across tools

A diagram of a “trail”

Jupyter Tiler

A building block (on top of TiTiler and xpublish-tiles) for interactively exploring Xarray data.

🎉 Available to try now in JupyterGIS!

A diagram of jupyter-tiler

Jupyter Tiler

Animation of an Xarray-computed layer with jupytergis-tiler

Jupyter Tiler

Google Earth Engine UX with open source tools?

Secret sauce is using overviews efficiently

🎉 Demo time

🚨 Emergency video, ignore me

Jupyter Tiler - current limitations

Overviews

A visualization of overviews / tile pyramid.

Jupyter Tiler - current limitations

Overviews

Problem: A computation on an Xarray dataset is still performed at full resolution.

For a tight viz-analysis feedback loop, we might want to compute on overviews.

Jupyter Tiler - current limitations

Overviews

An open Xarray Dataset represents a single resolution – no built-in concept of overviews

A DataTree can represent overviews! But the familiar way of doing computations is with a Dataset or DataArray.

Can technically map a computation across a DataTree!

dt = xr.open_datatree("s3://.../some.zarr", ...)

def add_ndvi(ds):
    ...
    ds["ndvi"] = (ds.nir - ds.red) / (ds.nir + ds.red)
    return ds

dt = dt.map_over_datasets(add_ndvi)

xpublish-tiles can generate tiles from these DataTree objects

Jupyter Tiler - current limitations

Overviews

🫣 That was unfamiliar. A user wouldn’t know they need to do this.

✨ Imagine: Familiar Xarray Datasets (or similar objects) that are aware of overviews and capable of computing on overviews if explicitly requested (e.g. by a tile server!)

🤷 How?

JupyterGIS with OpenEO (WIP)

Another approach: server-side execution!

An OpenEO layer and process graph in JupyterGIS

How you can participate in GeoJupyter

🗨️ Chat with us, share ideas on the Jupyter Zulip!

🎙️ Sign up for an interview!

📆 Join a hackathon or community meeting!

🧪 Try JupyterGIS! Where does it meet your needs (or not)?

🎁 Report bugs, request features! Open Pull Requests!

😎 Share your rad vibes and leadership!

❤️ Thank you! ❤️

🎉 Bonus slides

GeoJupyter community overview

Our values

👐 Open source & open science - geospatial data is important to everyone!

🤸 Approachability and playfulness, like desktop GIS tools

🪶 Flexibility and reproducibility, like coding methods

🎭 Collaboration and storytelling, like Jupyter Notebooks

GeoJupyter community overview

Geospatial data practice for the modern era

Geospatial data is everywhere and matters for everyone! 🚚🚢🗺️🧪🌏

🤝 Real-time collaboration (like Google Docs)

♻️ Reproducibility (by default!)

🍃 Accessibility (transition to new ways of working, including reproducibility)

☁️ Cloud-native (computing, data formats)

🤖 AI 😱 💥 (risks & opportunities)



GeoJupyter community overview

Partners 🧑‍🔬 🧑‍🏫 🧑‍💻

  • QuantStack - Open source for science
  • Maryam Hosseini - urban systems, computer vision, & open source
  • Clancy Wilmott - Critical Cartography, Geovisualisation and Design
  • Qiusheng Wu - Geospatial, AI, & education
  • Sarah Chasins & Parker Zeigler - cartography, CS, & open source
  • Nancy Thomas & Iryna Dronova - Berkeley Geospatial Innovation Facility
  • Carl Boettiger - Geospatial, AI, & education
  • Benny Szeghy & Esha Potharaju - GeoJupyter interns
  • Friends & neighbors: BIDS, MyST, JupyterHub, earthaccess, DevSeed, Pangeo, 2i2c, Clark University, Stanford, Simula, CNES, ESA
  • MANY MORE!!!

Potential future initiatives?

📖 “Scrollytelling” with a Markdown authoring workflow? (initiative)

🤖 GeoAI? 🤔 (initiative, prototype, talk)

🪨 Richer geospatial primitives for Python? (initiative)

⛰️ Reproducible GUI “geoprocessing” (following lessons learned from interns’ exploration)? (initiative)

🎨 Reusable symbology editor component? (initiative)

🧑‍🏫 Example datasets for education? (initiative)