Repolode
maplibre

maplibre/navara

A headless-core 3D map engine that streams GIS data like satellite imagery, terrain, 3D city models and vector data onto an interactive globe.

Open-source alternative to:Google Earth

Stars
450
Forks
50
Open issues
38
Last commit
10 hours ago

What is it?

Navara is a 3D map engine for building interactive globe applications. It streams GIS data such as satellite imagery, terrain, 3D city models and vector data, and lets developers present that data as a basemap for visualization, style features by their attributes, or build a photorealistic scene with atmosphere, sunlight and shadows.

Its API is organized into four tiers: a declarative tier for sources and layers defined as config objects, a plugin tier for ready-made features such as first-person walking and DOM overlays, an API tier for attribute-based feature styling, picking, terrain sampling and camera control, and a shader tier for custom shaders and render effects. Developers can start simply and move down to lower levels only when needed.

The GIS core is headless and independent of the renderer. Data parsing and geometry construction are written in Rust compiled to WebAssembly, while drawing is currently delegated to Three.js, which keeps the rendering layer swappable.

Key features

  • 01Streams satellite imagery, terrain, 3D Tiles and vector data onto a 3D globe.
  • 02Four-tier API from declarative config down to custom shaders.
  • 03Per-feature styling driven by attributes and feature picking.
  • 04Standalone geodetic and ECEF math utilities.
  • 05GIS logic implemented in Rust and WebAssembly, with Three.js for rendering.

Use cases

  • Visualizing geospatial datasets on a 3D globe.
  • Building photorealistic city scenes with terrain and 3D building models.
  • Creating custom rendering effects on top of GIS data with your own shaders.
  • Adding interactive feature styling and picking to a globe-based web app.

Quick start

  1. 1

    Install Rust (stable), Node.js (LTS) and pnpm

  2. 2

    Install cargo-make

    cargo install cargo-make
  3. 3

    Run the initial setup

    cargo make prepare
  4. 4

    Start the dev server with hot-reload

    cargo make dev

Things to know

  • Building from source needs Rust, Node.js, pnpm and wasm-bindgen-cli, which is a heavy toolchain.
  • The first dev run shows a browser error until the WASM build finishes and the page is reloaded.

Topics

#3d-map#gis#webgl#threejs#webassembly#geospatial#terrain#3d-tiles#3d#globe

FAQ

What is navara?
A headless-core 3D map engine that streams GIS data like satellite imagery, terrain, 3D city models and vector data onto an interactive globe. Navara is a 3D map engine for building interactive globe applications. It streams GIS data such as satellite imagery, terrain, 3D city models and vector data, and lets developers present that data as a basemap for visualization, style features by their attributes, or build a photorealistic scene with atmosphere, sunlight and shadows.
Is navara free to use? What license does it have?
navara is open source under the Other license. Check the license terms before using it in commercial products.
Is navara still maintained?
Actively maintained. The last commit to navara was on Nov 6, 2026.
What can I use navara for?
Visualizing geospatial datasets on a 3D globe. Building photorealistic city scenes with terrain and 3D building models. Creating custom rendering effects on top of GIS data with your own shaders. Adding interactive feature styling and picking to a globe-based web app.
How do I install navara?
Install Rust (stable), Node.js (LTS) and pnpm Install cargo-make: cargo install cargo-make Run the initial setup: cargo make prepare Start the dev server with hot-reload: cargo make dev
Where can I get navara?
The source code and installation instructions are on GitHub: https://github.com/maplibre/navara

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects