Repolode
maplibre

maplibre/navara

一款面向三维地球的地图引擎,可将卫星影像、地形、三维城市模型和矢量数据流式加载到交互式地球上。

可替代:Google Earth

Star
450
Fork
50
未关闭 Issue
38
最近提交
23小时前

这是什么?

Navara 是一款用于构建交互式三维地球应用的地图引擎。它可以加载卫星影像、地形、三维城市模型和矢量数据等 GIS 数据,既可用作数据可视化的底图,也可按要素属性进行样式设置,还能搭建带有大气、光照和阴影的写实场景。

它的 API 分为四层:声明式层通过配置对象定义数据源和图层;插件层提供第一人称漫游、DOM 叠加等现成功能;API 层支持按属性设置要素样式、拾取要素、地形采样和相机控制;着色器层允许编写自定义着色器和渲染效果。开发者可以从简单用法起步,只在需要时再深入底层。

其 GIS 核心与渲染引擎解耦。数据解析和几何构建用 Rust 编写并编译为 WebAssembly,绘制目前交由 Three.js 完成,因此渲染层可以替换。

核心功能

  • 01将卫星影像、地形、3D Tiles 和矢量数据加载到三维地球上。
  • 02提供从声明式配置到自定义着色器的四层 API。
  • 03支持按属性进行要素级样式设置和要素拾取。
  • 04提供可独立使用的大地测量与 ECEF 坐标计算工具。
  • 05GIS 逻辑基于 Rust 和 WebAssembly 实现,渲染使用 Three.js。

适用场景

  • 在三维地球上可视化地理空间数据集。
  • 结合地形与三维建筑模型构建写实城市场景。
  • 基于 GIS 数据使用自定义着色器实现特殊渲染效果。
  • 为基于地球的 Web 应用添加交互式要素样式和拾取功能。

快速上手

  1. 1

    安装 Rust(stable)、Node.js(LTS)和 pnpm

  2. 2

    安装 cargo-make

    cargo install cargo-make
  3. 3

    运行初始设置

    cargo make prepare
  4. 4

    启动带热重载的开发服务器

    cargo make dev

使用前须知

  • 从源码构建需要 Rust、Node.js、pnpm 和 wasm-bindgen-cli,工具链较重。
  • 首次开发运行时,在 WASM 编译完成并刷新页面之前,浏览器会显示错误。

标签

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

常见问题

navara 是什么?
一款面向三维地球的地图引擎,可将卫星影像、地形、三维城市模型和矢量数据流式加载到交互式地球上。 Navara 是一款用于构建交互式三维地球应用的地图引擎。它可以加载卫星影像、地形、三维城市模型和矢量数据等 GIS 数据,既可用作数据可视化的底图,也可按要素属性进行样式设置,还能搭建带有大气、光照和阴影的写实场景。
navara 可以免费使用吗?用的什么许可证?
navara 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
navara 还在维护吗?
活跃维护中。navara 最近一次提交是在 2026年11月6日。
navara 适合用来做什么?
在三维地球上可视化地理空间数据集。 结合地形与三维建筑模型构建写实城市场景。 基于 GIS 数据使用自定义着色器实现特殊渲染效果。 为基于地球的 Web 应用添加交互式要素样式和拾取功能。
navara 怎么安装和运行?
安装 Rust(stable)、Node.js(LTS)和 pnpm 安装 cargo-make: cargo install cargo-make 运行初始设置: cargo make prepare 启动带热重载的开发服务器: cargo make dev
在哪里获取 navara?
源代码和安装说明在 GitHub 上:https://github.com/maplibre/navara

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目