RustGIS:把地图分析做成可回放的 GIS 工作流
RustGIS 是以 Rust 编写的桌面与浏览器 GIS,支持 CLI、Python 和 MCP;每个界面操作都对应可脚本化命令,项目仍在快速迭代。
项目资料
GitHub Ecosystem- 许可证
- Apache-2.0
- 主语言
- Rust
- 星标
- 1,403
- 核查时间
- 2026-10-17
以上快照资料以核查当日为准,可能随版本或运营策略变化。
需要处理地理数据、又不想把工作绑在一套复杂桌面环境上时,RustGIS 提供了一个可在桌面、浏览器和命令行之间切换的 GIS。这个以 Rust 编写的开源项目把每个 Ribbon 按钮映射成带 ID 的命令,同一操作可以由界面触发、写进脚本,也可以交给 AI 助手或 MCP 客户端调用。GitHub 上的 v0.3.0 于 2026-10-16 发布;截至 2026-10-17,仓库有 1,403 颗星,采用 Apache-2.0 许可。 README 演示图 展示了它的 3D 地球视图与 AI 助手面板。
核心功能
- 界面操作可以重放:Ribbon 上的按钮有对应命令 ID,
rustgis-cli commands会列出命令和参数。CLI 可在示例数据上串接分析、符号设置和地图导出;相同的命令也能通过 Python API、Jupyter Notebook 或 MCP 调用。这让地图处理步骤更容易保存和复核。 - 桌面与浏览器共用工作方式:项目提供 Windows、macOS、Linux 桌面发行包,也提供 WebAssembly 网页版。README 的最新
v0.3.0发布资产显示,macOS ARM64 DMG 约 23.4 MB、x86_64 DMG 约 25.7 MB,Linux x86_64 AppImage 约 36.0 MB;因此“不到 30 MB”只适用于部分安装包,不能代表所有平台。 - 支持常见矢量、栅格与空间分析:README 列出 GeoJSON、CSV、Shapefile、GeoPackage、GeoParquet、KML、LAS/LAZ 等数据格式,以及 GeoTIFF、COG 和 Zarr 栅格。分析工具涵盖 Buffer、Clip、路径分析、视域和模型构建,并接入 GeoLibre 与 Whitebox 的 1,000 多项工具。
- AI 助手通过真实命令操作地图:助手可以读取图层、回答数据问题或执行制图操作,也可连接 Anthropic、OpenAI、Gemini、Ollama 等服务。每项地图修改都能撤销。README 同时说明,选择的模型会收到你提出的问题及它读取的数据;在线底图、插件和部分工具也会访问网络。
- 插件与导出接口:基于 WebAssembly 的沙盒插件可增加命令、工具和 Ribbon 标签;项目还支持 PDF、PNG、Web Map、MapLibre 样式、glTF 场景等输出。需要在受控桌面 GIS 里批量调用现有应用的用户,也可以比较 CLI-Anything 为专业软件生成命令行接口的路线。
典型使用场景
- 要复现空间分析步骤的 GIS 用户:把分析操作保存为 CLI 命令或 Notebook,之后可以重新运行,也能查看地图如何从输入图层变成结果。
- 需要先试用再安装的人:打开 RustGIS 网页版即可体验,适合检查常用数据和界面操作是否符合现有流程。
- 想让 agent 调用 GIS 的开发者:通过
rustgis-cli mcp注册 MCP 服务,或从 Python 中调用同一套引擎,让 agent 执行地图查询和处理命令。
独立媒体 It’s FOSS 在 2026-10-13 的试用文章也记录了图层分析、DuckDB Spatial、AI 助手和命令行入口,并将它定位为仍在发展中的 GIS。官方比较页把 RustGIS 与 QGIS、ArcGIS 等工具并列,适合在选型时核对,而不是把“纯 Rust”当成完整替代结论。
快速上手
不用编译即可先打开 web.rustgis.app。如果要从源码启动桌面应用,先克隆仓库并安装 Rust 1.90 或更新版本:
cargo run --release -p rustgis
命令行可从内置样例开始:
rustgis-cli commands
rustgis-cli ask --sample "Which 5 countries have the largest GDP?"
上面的命令名来自项目 README;桌面版、网页版、Python 包和 CLI 的安装方式及系统依赖并不完全相同,实际部署前应查看安装文档和当前发行说明。
小结
RustGIS 面向需要地图数据查看、空间分析与可重复流程的 GIS 用户,也适合想把地图操作开放给脚本和 agent 的开发者。可回放命令、网页试用和多种数据接口是它最具体的优势;当前发布仍然密集,适合先拿公开样例或副本数据试用,再评估是否进入生产流程。
截至 v0.3.0,项目仍在补充功能。官方路线图把现有要素顶点编辑列为后续工作,功能覆盖和大型项目稳定性也不应从格式清单直接推断。项目的云底图、插件、GeoLibre 工具和所选 AI 模型会产生网络请求;即使本地文件默认留在设备上,使用 AI 功能时仍应先确认数据是否可以发送给对应服务。RustGIS 采用 Apache-2.0 许可,主要语言是 Rust。