AI 大模型 + GIS 平台的项目演示

0 阅读1分钟

一个基于 AI 大模型的 GIS 平台项目,支持资产统计、风险评估、巡检建议、生成报告、空间分析等功能。

架构

┌─────────────────────────────────────────────────────┐
│ 前端 (Vue 3 + TS + OpenLayers + 天地图)              │
│ 2D 地图 · 对话面板 · SSE 流式解析 · 打字机渲染        │
└───────────────────────┬─────────────────────────────┘
                        │ HTTP / SSE
                        ▼
┌─────────────────────────────────────────────────────┐
│ 后端 (Spring Boot 3.5 + JDK 21 + Spring AI Alibaba)  │
│ ChatClient · @Tool 工具集 · 记忆持久化 · 调用日志切面 │
└───────┬───────────────────────────────┬─────────────┘
        │                               │
        ▼                               ▼
┌───────────────────────┐   ┌─────────────────────────┐
│ PostgreSQL 15          │   │ DashScope(阿里云百炼)  │
│ + PostGIS(空间查询)   │   │ qwen-plus 对话           │
│ + pgvector(向量检索)  │   │ text-embedding-v3 向量化 │
└───────────────────────┘   └─────────────────────────┘
用户提问
   │
   ▼
大模型 结合系统提示词 + 要素概要 + 历史,自行判断:
   │
   ├─ 能直接答的("要素数量、状态等")
   │     → 不调工具,直接基于注入的要素数据回答
   │
   └─ 需要精确计算/执行动作的 → 发起 tool call:
         ├─ "移动地图到泵站A1"      → Search(查坐标)
         ├─ "分析周边3公里风险点"    → Nearby(组合工具:内部查库+再调一次AI排序)
         ├─ "生成500米缓冲区"       → Buffer(GeoTools 投影变换 + JTS buffer)
         └─ "生成风险分析报告"       → Report(确定性流水线:查询→AI摘要→证据→落库)
                 │
                 ▼
         框架在后端执行 Java 方法,把结果文本交回模型
                 │
                 ▼
         模型基于真实结果组织最终回答

演示

  • 资产统计

    Q: 简述图中资产,包括数量、状态等

image.png

  • 资产评估

    Q: 哪个资产优先级最高,为什么

image.png

  • 巡检建议

    Q: 请给出巡检路线建议 image.png

  • 报告总结

    Q: 请根据图中资产生成一份评估报告

image.png

  • 空间分析

    Q: 为泵站A1执行缓冲区分析,半径为1000米

image.png