📌 项目地址:opengeos/GeoLibre | ⭐ 3,233 颗星 | 🔧 TypeScript | 📜 未标注
一句话概括
GeoLibre 是一个免费开源、轻量级的云原生 GIS 平台,用于可视化、探索和分析地理空间数据。它基于 Tauri v2、React、MapLibre GL JS、DuckDB-WASM Spatial 和 deck.gl 构建,支持 Web 浏览器、桌面(Windows/macOS/Linux)、移动端和 Jupyter Notebook 四种运行形式,且数据始终保留在用户本地,无需上传到服务器。
它解决了什么痛点
传统 GIS 桌面端(如 QGIS、ArcGIS Pro)功能强大,但安装体积大、启动慢、跨平台体验不一致;Web GIS 方案(如 Mapbox、Cesium)往往依赖商业服务或需要复杂的前后端部署,且数据通常需要上传到云端,带来隐私隐患。
GeoLibre 将整个 GIS 核心(包括空间 SQL 引擎 DuckDB-WASM)打包进客户端,用户打开浏览器即用(web.geolibre.app),也可下载原生桌面应用或移动端 APK。数据处理、渲染、分析均在本地完成,既规避了网络延迟,也无需担心数据外泄。
怎么上手:四种途径,无需学习曲线
1. 直接浏览器访问
无需注册,打开 web.geolibre.app 即可加载内置示例(如纽约建筑3D、3D Tiles、行星底图)。所有功能与桌面版一致。
2. 下载桌面/移动应用
官方提供 Windows、macOS、Linux 安装包,同时可在 Microsoft Store、Flathub、AUR 等渠道获取。
– Windows: Microsoft Store 搜索 “GeoLibre” 或从 geolibre.app/downloads/ 下载
– Linux: flatpak install flathub app.geolibre.GeoLibre(Flatpak 页面)或通过 Arch Linux 的 AUR yay -S geolibre-bin(AUR 链接)
3. 在 Jupyter Notebook 中调用(Python)
GeoLibre 提供 Python 包 geolibre,可通过 PyPI 或 conda-forge 安装(具体命令请参考 官方文档)。官方在 Google Colab 上提供了完整的入门 Notebook,点击打开即可运行,无需本地配置。
4. 从源码运行/开发
项目完全开源(MIT 许可),源码托管于 GitHub。开发者可 fork 后使用 npm install && npm run tauri dev 启动本地开发环境(具体配置参考 Getting Started 页面)。
独到之处:不止于“另一个地图库”
行星级地图支持
GeoLibre 内置了来自 OpenPlanetaryMap 和 USGS Astrogeology 的行星底图:月球、火星、水星、金星、木卫一/二/三/四、土卫六、冥王星和卡戎。每个天体使用独立的椭球参数,距离/面积/标尺测量自动适应所选天体。切换天体只需在图层面板中选择 “Planet Switcher”。
(该功能在 README 中通过 GIF 演示了地球、月球、火星、水星、冥王星、金星的切换效果)
客户端空间 SQL 引擎
借助 DuckDB-WASM Spatial,GeoLibre 可在浏览器端执行 SQL 空间查询(例如 SELECT * FROM my_parquet WHERE ST_Intersects(geom, @bbox)),无需后端数据库。这一特性将 Desktop GIS 的分析能力直接搬到 Web,且不受网络中断影响。
原生桌面级性能
底层渲染基于 MapLibre GL JS(2D/3D 基础地图)和 deck.gl(大规模 WebGL 点云/网格/3D Tiles),配合 Tauri v2 调动系统 WebView,比纯 Electron 应用占用更少内存。桌面版支持拖拽加载 GeoJSON、Shapefile、GeoPackage、Parquet、CSV 等常见格式,所有文件在本地解析。
动态时间滑块与自动图例
以纽约建筑示例为例,GeoLibre 可根据属性字段(如建设年份)自动生成时间滑块,拖动时建筑 3D 高度随年份变化,且图例从图层符号中自动提取配色。无需手动配置。
和同类工具比怎么样
| 维度 | GeoLibre | QGIS | Mapbox GL JS | Kepler.gl |
|---|---|---|---|---|
| 运行环境 | Web + 桌面 + 移动 + Jupyter | 桌面(跨平台) | Web 前端 | Web 前端(需服务器) |
| 安装复杂度 | 零安装(Web)或1步安装 | 较大(依赖库多) | 前端库依赖 | 需要 Node.js 部署 |
| 数据隐私 | 完全本地 | 完全本地 | 通常使用 Mapbox 服务 | 本地/上传 |
| 3D 支持 | deck.gl + MapLibre(3D Tiles) | 有限(需插件) | 强(基于 MapLibre/Cesium) | 支持(基于 deck.gl) |
| 行星地图 | 内置 | 需插件 | 需自定义 | 无 |
| 空间分析 | DuckDB-WASM SQL | 丰富(工具箱) | 无原生分析 | 有限(过滤/聚合) |
| 学习成本 | 低(即开即用) | 中高 | 中等(需前端技能) | 低(配置式 UI) |
GeoLibre 的核心优势在于 “轻量 + 本地分析 + 跨平台一致体验”,既不是 Desktop GIS 的替代品(缺少完整的地理处理工具链),也不是纯可视化库(有 SQL 分析能力)。它最适合需要快速可视化与简单空间分析的场景,尤其是对数据隐私敏感或希望一步部署到 Web 和 Jupyter 的用户。
需要注意的几点
- 许可证:MIT 开源,可商用、修改、再分发,无需付费。
- 稳定性:项目处于活跃开发阶段(GitHub 3.2k Stars),部分高级功能可能仍在完善,建议及时关注 官方发布日志。
- 数据规模:虽然 DuckDB-WASM 可处理百万级数据,但浏览器内存有限,超大矢量/栅格文件建议先分区或使用 Parquet 格式。
- 移动端限制:移动版缩放/平移体验良好,但复杂 3D 场景(如大量 3D Tiles)在低端设备上可能卡顿。
- 离线使用:Web 版需要首次加载资源(约 10MB),之后可离线工作;桌面版安装后可完全离线,依赖缓存的地图底图(默认使用 MapLibre 的在线瓦片,可切换为本地底图)。
如果想彻底告别臃肿的 GIS 软件,又想拥有客户端级的隐私和性能,GeoLibre 是当前云原生 GIS 领域最值得尝试的项目之一。