基于 WebGL 的 JavaScript 库,无需插件即可在浏览器中渲染交互式 3D 地球与 2D 地图。
- 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
安装 Rust(stable)、Node.js(LTS)和 pnpm
- 2
安装 cargo-make
cargo install cargo-make - 3
运行初始设置
cargo make prepare - 4
启动带热重载的开发服务器
cargo make dev
使用前须知
- 从源码构建需要 Rust、Node.js、pnpm 和 wasm-bindgen-cli,工具链较重。
- 首次开发运行时,在 WASM 编译完成并刷新页面之前,浏览器会显示错误。
标签
常见问题
- 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 数据每日更新。
相关项目
1.6万+24 本周3896JavaScriptApache-2.0更新于 18小时前
一个开源的浏览器 3D 地球,把实时航班、船舶、卫星、地震、交通和公共摄像头叠加在逼真地形上,并支持语音操控。
6.3万+1718 本周1.2万JavaScriptOther更新于 19小时前
一款用 Rust 编写的命令行工具,可将 LAS、LAZ、CSV 点云转换为 3D Tiles 1.1 格式(GLB 输出),供 Cesium 使用。
93+1 本周15RustMIT维护活跃更新于 20天前
一款轻量级云原生 GIS 平台,可在浏览器、桌面、移动端和 Jupyter 中可视化与分析地理空间数据。
8424+113 本周948TypeScriptMIT维护活跃更新于 18小时前
纯 Rust 实现的地理空间栅格、矢量与点云数据读写转换库和命令行工具,无 C 依赖。
286+71 本周41RustMIT维护活跃更新于 18小时前
基于 Three.js 的 3D Gaussian Splatting 渲染器,支持 WebGPU 与 WebGL2,并可流式加载大场景。
312+31 本周36JavaScriptApache-2.0维护活跃更新于 昨天