<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Yang Zhi Hao</title>
        <link>https://yzh6688.top/</link>
        <description>Yang Zhi Hao's blog</description>
        <lastBuildDate>Mon, 19 Jan 2026 09:30:45 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>Yang Zhi Hao</title>
            <url>https://yzh6688.top//favicon.ico</url>
            <link>https://yzh6688.top/</link>
        </image>
        <copyright>All rights reserved Yang Zhi Hao 2026</copyright>
        <item>
            <title><![CDATA[北斗网格引擎 MCP 智能平台]]></title>
            <link>https://yzh6688.top//blogs/beidou-grid-engine</link>
            <guid>https://yzh6688.top//blogs/beidou-grid-engine</guid>
            <pubDate>Thu, 16 Jan 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[基于 Model Context Protocol 的空间数据智能分析平台，通过自然语言交互实现 GIS 数据的查询、分析和可视化。]]></description>
            <content:encoded><![CDATA[
# 北斗网格引擎 MCP 智能平台

<div align="center">

**基于 Model Context Protocol 的空间数据智能分析平台**

[在线演示](https://demo.example.com) · [快速开始](#快速开始) · [架构设计](#架构设计) · [功能特性](#功能特性)

</div>

---

## 📖 项目简介

北斗网格引擎 MCP 智能平台是一个创新的空间数据智能分析系统，通过自然语言交互实现 GIS 数据的查询、分析和可视化。项目基于 Anthropic 的 **Model Context Protocol (MCP)** 协议，将大语言模型与地理信息系统深度融合，让用户无需掌握复杂的 GIS 查询语法，仅通过对话即可完成空间数据分析。

### 🎯 核心价值

- **降低门槛**：用自然语言替代复杂的 GIS 查询语法
- **智能交互**：AI 自动理解用户意图并调用相应工具
- **可视化呈现**：查询结果自动在地图上渲染展示
- **标准化协议**：基于 MCP 协议，易于扩展和集成

### 🌟 应用场景

- 🗺️ **城市规划**：快速查询特定区域的建筑、道路等数据
- 📊 **数据分析**：通过对话完成空间统计和分析任务
- 🔍 **应急响应**：快速定位和查询灾害影响范围
- 🏢 **企业决策**：辅助选址、市场分析等业务场景

---

## 🏗️ 架构设计

### 整体架构图

```
┌─────────────────────────────────────────────────────────────┐
│                      用户界面层                               │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────┐   │
│  │ AI 对话  │  │ 地图交互 │  │ 工具监控 │  │ 配置管理 │   │
│  └──────────┘  └──────────┘  └──────────┘  └──────────┘   │
└─────────────────────────────────────────────────────────────┘
                            ↕
┌─────────────────────────────────────────────────────────────┐
│                    MCP 客户端层                               │
│  ┌─────────────────────────────────────────────────────┐   │
│  │           MCP Client Factory (工厂管理)              │   │
│  │  • 多服务器连接管理                                    │   │
│  │  • 工具自动发现与注册                                  │   │
│  │  • 会话生命周期管理                                    │   │
│  │  • 超时保护与错误处理                                  │   │
│  └─────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────┘
                            ↕ SSE 长连接
┌─────────────────────────────────────────────────────────────┐
│                    MCP 服务器层                               │
│  ┌─────────────────────────────────────────────────────┐   │
│  │              MCP Server (工具提供者)                  │   │
│  │  • get_data_source_list - 获取数据源列表             │   │
│  │  • geometry_search - 空间几何检索                    │   │
│  │  • get_layer_by_indexLibraryName - 图层查询          │   │
│  └─────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────┘
                            ↕
┌─────────────────────────────────────────────────────────────┐
│                   业务数据层                                  │
│              北斗网格引擎服务 (REST API)                       │
└─────────────────────────────────────────────────────────────┘
```

### 技术栈

#### 前端
- **框架**：Next.js 15 + React 19
- **语言**：TypeScript
- **地图**：Leaflet + React-Leaflet
- **状态管理**：Zustand
- **UI 组件**：Radix UI + TailwindCSS
- **MCP 客户端**：@modelcontextprotocol/sdk

#### 后端
- **MCP 服务器**：Node.js (TypeScript) / Python (FastMCP)
- **传输协议**：SSE (Server-Sent Events)
- **参数校验**：Zod Schema
- **HTTP 框架**：Express

#### AI 集成
- **模型**：智谱 AI GLM-4 / DeepSeek
- **工具调用**：OpenAI Function Calling 标准
- **响应方式**：流式输出（SSE）

---

## 🔄 核心流程

### 1️⃣ 用户查询流程

```
用户输入自然语言
    ↓
系统构建上下文（包含地图空间信息）
    ↓
发送给大语言模型（携带可用工具列表）
    ↓
LLM 分析意图并决定调用哪个工具
    ↓
返回工具调用指令（工具名 + 参数）
    ↓
前端展示工具调用卡片（等待用户确认）
    ↓
用户确认后执行工具
    ↓
MCP 客户端调用 MCP 服务器
    ↓
MCP 服务器调用业务 API
    ↓
返回结果给 LLM 进行总结
    ↓
展示最终答案 + 地图可视化
```

### 2️⃣ MCP 工具调用流程

```
┌─────────────┐
│  LLM 决策   │ "需要调用 geometry_search 工具"
└──────┬──────┘
       ↓
┌─────────────┐
│ 工具路由器  │ 查找工具所属的 MCP 服务器
└──────┬──────┘
       ↓
┌─────────────┐
│ MCP Session │ 通过 SSE 连接发送工具调用请求
└──────┬──────┘
       ↓
┌─────────────┐
│ MCP Server  │ 接收请求并执行工具逻辑
└──────┬──────┘
       ↓
┌─────────────┐
│ 业务 API    │ 调用实际的数据服务
└──────┬──────┘
       ↓
┌─────────────┐
│ 返回结果    │ 逐层返回给用户
└─────────────┘
```

### 3️⃣ 地图交互流程

```
用户在地图上绘制区域（多边形/矩形）
    ↓
系统捕获 GeoJSON 坐标
    ↓
存储到全局状态（Zustand Store）
    ↓
用户发起查询
    ↓
GeoJSON 作为上下文传递给 LLM
    ↓
LLM 理解空间范围并调用工具
    ↓
工具使用 GeoJSON 作为查询参数
    ↓
返回该区域内的数据
    ↓
数据自动渲染到地图上（矢量图层）
```

---

## ✨ 功能特性

### 🤖 智能对话

- **自然语言理解**：支持口语化的查询表达
- **上下文记忆**：记住对话历史，支持追问
- **推理过程展示**：实时显示 AI 的思考链路
- **流式响应**：逐字输出，提升交互体验

### 🗺️ 地图功能

- **交互式地图**：基于 Leaflet 的高性能地图渲染
- **空间绘制**：支持绘制多边形、矩形作为查询条件
- **图层管理**：动态添加、删除、样式自定义
- **数据可视化**：查询结果自动渲染为矢量图层
- **弹窗展示**：点击要素显示详细属性信息

### 🔧 工具调用

- **工具自动发现**：连接 MCP 服务器后自动获取可用工具
- **可视化监控**：实时展示工具调用状态和参数
- **用户确认机制**：工具执行前需用户审批（可配置）
- **超时保护**：防止工具调用长时间阻塞
- **错误降级**：工具失败时返回友好提示

### ⚙️ 配置管理

- **多服务器支持**：同时连接多个 MCP 服务器
- **动态配置**：通过配置文件添加新工具，无需改代码
- **传输协议切换**：支持 SSE 和 stdio 两种传输方式
- **环境隔离**：开发/测试/生产环境独立配置

---

## 🚀 快速开始

### 环境要求

- Node.js 20+
- pnpm 10+
- Python 3.9+（如使用 Python MCP 服务器）

### 安装步骤

#### 1. 克隆项目

```bash
git clone https://github.com/your-repo/beidou-engine-mcp.git
cd beidou-engine-mcp
```

#### 2. 启动后端 MCP 服务器

```bash
cd server
pip install fastmcp python-dotenv requests pydantic
python es_app.py
```

服务器将在 `http://localhost:8000` 启动。

#### 3. 启动前端应用

```bash
cd web/beidou-engine-mcp-web
pnpm install
pnpm run dev
```

访问 `http://localhost:3000` 即可使用。

### 配置说明

在 `web/beidou-engine-mcp-web/.env` 中配置：

```env
# MCP 服务器地址
NEXT_PUBLIC_MCP_SSE_URL=http://localhost:8000/sse

# LLM API 配置
OPENAI_API_KEY=your-api-key
OPENAI_BASE_URL=https://open.bigmodel.cn/api/paas/v4/
OPENAI_MODEL=glm-4-9b
```

---

## 📊 项目亮点

### 1. MCP 协议深度应用

- **国内首批**基于 MCP 协议的生产级 GIS 应用
- **标准化工具定义**，符合 MCP 规范，易于生态集成
- **多服务器聚合**，统一管理不同来源的工具
- **工具自动发现**，动态加载可用功能

### 2. 创新交互范式

- **多模态输入**：文字 + 地图空间选择
- **双向联动**：地图 ↔ AI 的实时交互
- **可视化反馈**：工具调用过程全程可见
- **零学习成本**：无需了解 GIS 专业知识

### 3. 工程化实践

- **全栈 TypeScript**：端到端类型安全
- **设计模式应用**：工厂模式、适配器模式、事件驱动
- **状态管理优化**：Zustand 轻量级方案
- **性能优化**：SSE 连接复用、流式响应、动态导入

### 4. 可扩展架构

- **插件化设计**：通过配置文件添加新 MCP 服务器
- **工具聚合器**：自动合并多个服务器的工具
- **前后端分离**：MCP 服务器可独立部署和升级
- **协议标准化**：遵循 MCP 规范，易于集成第三方工具

---

## 🎬 使用示例

### 示例 1：查询数据源

**用户**：帮我看看现在有哪些数据源？

**系统**：
1. AI 识别意图，决定调用 `get_data_source_list` 工具
2. 展示工具调用卡片，显示工具名称和参数
3. 用户点击"执行工具"
4. 返回数据源列表：建筑数据、道路数据、POI 数据...
5. AI 总结：当前系统有 3 个数据源可用

### 示例 2：空间范围查询

**用户**：
1. 在地图上绘制一个矩形区域
2. 输入："查询这个区域内的建筑数据"

**系统**：
1. 捕获地图绘制的 GeoJSON 坐标
2. 构建上下文：用户输入 + 空间范围
3. AI 决定调用 `geometry_search` 工具
4. 参数：数据源=建筑数据，几何范围=GeoJSON
5. 返回该区域内的 156 条建筑记录
6. 自动在地图上渲染建筑轮廓
7. AI 总结：该区域共有 156 栋建筑，其中住宅 89 栋，商业 67 栋

### 示例 3：多轮对话

**用户**：查询深圳市南山区的数据源

**AI**：南山区有以下数据源：建筑数据、道路数据、绿地数据

**用户**：那帮我看看建筑数据有哪些图层

**AI**：（调用 `get_layer_by_indexLibraryName` 工具）建筑数据包含：住宅楼、商业楼、工业厂房、公共设施

**用户**：查询住宅楼的数量

**AI**：（调用 `geometry_search` 工具）南山区共有 2,345 栋住宅楼

---

## 📈 项目数据

- **代码量**：前端 ~12,500 行，后端 ~840 行
- **核心模块**：5 个（MCP 客户端、服务器、AI 编排、地图、状态管理）
- **支持工具**：3 个（可扩展）
- **响应速度**：首字节时间 < 500ms（流式输出）
- **并发支持**：多客户端同时连接

---

## 🛣️ 未来规划

### 短期目标（1-3 个月）

- [ ] 增加更多空间分析工具（缓冲区、叠加分析）
- [ ] 支持数据导出（GeoJSON、Shapefile、CSV）
- [ ] 优化地图性能（大数据量渲染）
- [ ] 添加用户认证和权限管理

### 中期目标（3-6 个月）

- [ ] 多用户协作功能
- [ ] 查询历史和收藏功能
- [ ] 自定义 MCP 工具开发工具包
- [ ] 移动端适配

### 长期目标（6-12 个月）

- [ ] MCP 工具市场（社区贡献）
- [ ] 多模态输入（图片、语音）
- [ ] 实时数据订阅（WebSocket）
- [ ] 私有化部署方案
]]></content:encoded>
            <author>yangzhihao688@163.com (Yang Zhi Hao)</author>
        </item>
        <item>
            <title><![CDATA[低空经济无人机空域避障服务]]></title>
            <link>https://yzh6688.top//blogs/drone-obstacle-detection</link>
            <guid>https://yzh6688.top//blogs/drone-obstacle-detection</guid>
            <pubDate>Thu, 16 Jan 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[面向新一代城市空中交通的智能化空域管理系统，提供实时三维空域障碍物检测与识别能力。]]></description>
            <content:encoded><![CDATA[
# 低空经济无人机空域避障服务 - 技术架构解析

## 项目概述

低空经济无人机空域避障服务是一个面向新一代城市空中交通的智能化空域管理系统。该系统为无人机提供实时的三维空域障碍物检测与识别能力，支持多机协同和动态空域管理，是保障低空飞行安全的核心基础设施。

本系统基于**北斗网格码引擎 + Elasticsearch 8.8.2**构建，采用**DDD领域驱动设计**和**分布式空间索引技术**，实现了从二维到三维、从单点查询到区域检测的全方位障碍物识别能力。

## 核心能力

### 1. 多维度障碍物检测

系统提供四种不同场景的障碍物检测接口：

#### 🎯 点坐标快速检测（性能优先）
适用于实时飞行场景，能够在毫秒级响应时间内判断无人机航路上的关键坐标点是否存在障碍物。该接口通过优化的网格查询算法，实现了高并发、低延迟的障碍物识别。

**应用场景**：
- 无人机实时导航
- 动态避障决策
- 多机协同路径规划

#### 🔍 点坐标精确检测（精度优先）
提供更高精度的障碍物识别能力，通过精细化的空间查询策略，确保检测结果的准确性。虽然响应速度较标准接口稍慢，但可用于飞行前的安全验证。

**应用场景**：
- 飞行前安全评估
- 精准避障路径规划
- 障碍物精度验证

#### 📊 二维区域障碍物检测
将指定空域范围转换为二维网格数组，标识每个网格单元内的障碍物分布情况。系统返回一个二维矩阵，其中每个元素代表对应网格是否存在障碍物。

**应用场景**：
- 区域空域态势感知
- 飞行禁区可视化
- 地面障碍物分布分析

#### 🌐 三维空域障碍物检测
这是系统最核心的能力，能够构建完整的三维空域障碍物模型。系统将三维空域划分为立体网格，精确标识每个立体网格单元内的障碍物类型和分布。

**应用场景**：
- 城市峡谷飞行
- 高层建筑区域避障
- 垂直起降安全评估
- 立体空域管理

#### 🔄 三维空域二维投影检测
将三维障碍物数据投影到二维平面，适用于需要综合考虑高度信息但以二维视角展示的场景。

## 技术架构

### 整体架构设计

系统采用经典的**四层DDD架构**，实现了业务逻辑与技术实现的完美解耦：

```
┌─────────────────────────────────────────┐
│   用户接口层 (API Controller)            │
│   - RESTful API                          │
│   - 请求参数验证                          │
│   - 统一响应封装                          │
└─────────────────────────────────────────┘
                    ↓
┌─────────────────────────────────────────┐
│   应用层 (Application Service)           │
│   - 业务流程编排                          │
│   - 跨领域协调                            │
│   - 事务管理                              │
└─────────────────────────────────────────┘
                    ↓
┌─────────────────────────────────────────┐
│   领域层 (Domain Service)                │
│   - 空间编码算法                          │
│   - 障碍物检测逻辑                        │
│   - 网格计算引擎                          │
└─────────────────────────────────────────┘
                    ↓
┌─────────────────────────────────────────┐
│   基础设施层 (Infrastructure)            │
│   - Elasticsearch 8.8.2                  │
│   - 空间数据持久化                        │
│   - 分布式查询                            │
└─────────────────────────────────────────┘
```

### 核心技术栈

#### 1. **GeoSOT空间网格编码**

系统基于**GeoSOT（地球空间网格）**编码体系，这是一种递归四叉树网格剖分方法：

- **二维网格编码**：将地球表面按照经纬度进行递归四分，每个网格拥有唯一的编码
- **三维网格编码**：在二维基础上增加高度维度，形成立体网格体系
- **多层级支持**：支持从全球到厘米级的32个层级精度

GeoSOT编码的优势：
- 全球统一编码，无投影变形
- 支持快速邻域查询
- 编码即位置，无需额外存储坐标
- 天然支持多尺度分析

#### 2. **Elasticsearch 8.8.2 空间索引**

系统选用ES 8.8.2作为数据存储引擎，充分利用其空间索引能力：

- **BKD树索引**：基于k-d树的多维空间索引，支持高效的范围查询
- **GeoShape原生支持**：完整支持GeoJSON和WKT格式的三维几何体
- **矢量检索**：支持NLP自然语言和向量相似度搜索
- **分布式架构**：水平扩展能力，支持PB级数据存储

#### 3. **OcTree八叉树优化**

在三维空间查询中，系统引入了**八叉树（OcTree）**数据结构：

- 递归分割三维空间，减少空间查询复杂度
- 支持粗粒度快速插入和精细化查询
- 优化高层建筑等复杂障碍物的表达效率

### 数据流程

#### 障碍物数据入库流程

```
矢量数据源 → 坐标系转换(EPSG:4490) → GeoSOT编码 
    ↓
空间聚合 → 网格范围计算 → 行列号转换
    ↓
Elasticsearch索引构建 → 空间字段映射 → 持久化存储
```

系统采用**LiteFlow流程引擎**编排数据入库流程：
1. **参数校验组件**：验证数据格式和完整性
2. **坐标转换组件**：统一转换为CGCS2000坐标系（EPSG:4490）
3. **网格编码组件**：计算GeoSOT二维/三维编码
4. **数据存储组件**：批量写入Elasticsearch
5. **日志记录组件**：记录导入历史和状态

#### 障碍物检测查询流程

以**三维空域障碍物检测**为例：

```
1. 接收查询参数
   - 空域范围（Geometry/Grid Codes）
   - 地面高度（DEM）
   - 障碍物高度
   - 网格层级

2. 空间编码转换
   - 将几何范围转为GeoSOT网格集合
   - 计算三维网格的行列高序号
   - 确定查询边界（左上角、右下角）

3. 构建ES查询条件
   - 网格范围过滤
   - 高度范围过滤
   - 数据源过滤

4. 并行查询与聚合
   - 按障碍物类型分组聚合
   - 统计每个网格的障碍物分布
   - 返回行列高序号集合

5. 构建三维数组
   - 初始化三维矩阵
   - 映射障碍物到网格单元
   - 处理多障碍物重叠情况
   - 障碍物标识标签化

6. 返回结果
   - 三维障碍物数组
   - 网格元数据（层级、尺寸、坐标）
   - 性能统计信息
```

## 关键技术亮点

### 1. 性能优化策略

#### 网格聚合查询优化
系统通过预计算网格的**行列号范围（row_col_range）**，将空间查询转化为高效的数值范围查询，相比传统的几何相交查询，性能提升数十倍。

#### 批量查询策略
对于点坐标检测接口，支持批量传入多个坐标点，系统内部自动进行查询合并和并行处理，大幅降低网络开销。

#### 分层查询机制
支持指定不同的`geo_level`和`z_level`，在保证精度的前提下，通过降低层级减少计算量。

### 2. 精度与性能权衡

系统提供两种点检测模式：

- **快速模式**：基于网格范围查询，适合实时场景
- **精确模式**：基于精确几何相交判断，适合安全验证

用户可根据实际业务需求在性能和精度之间灵活选择。

### 3. 多障碍物融合

在同一网格单元中可能存在多个障碍物（如建筑物、树木、电线杆等），系统通过：

- **标签映射机制**：为每个障碍物组合分配唯一标识
- **反向索引**：快速查询标识对应的障碍物集合
- **标识合并算法**：处理网格边界上的障碍物重叠

### 4. 可扩展性设计

#### 多数据源支持
通过**节点注册表（IndexLibraryName）**抽象不同的数据存储节点，支持：
- 连接多个Elasticsearch集群
- 按数据源隔离查询
- 动态扩展存储容量

#### 灵活的坐标系统
系统内部统一使用CGCS2000（北斗坐标系），同时支持：
- 自动坐标系识别与转换
- WGS84、CGCS2000等多坐标系互转
- 自定义坐标系扩展

## 应用场景

### 🚁 无人机智能避障

实时查询飞行航线上的障碍物，动态调整飞行轨迹，确保飞行安全。

### 🗺️ 低空空域态势感知

构建城市低空三维障碍物地图，为空域管理部门提供决策支持。

### 🛤️ 航路规划与优化

基于障碍物分布数据，规划最优飞行航线，降低飞行风险和能耗。

### 🏙️ 城市空中交通管理

支持多架无人机的协同飞行，实现空域资源的动态分配与管理。

### 📡 禁飞区与限飞区管理

精确标识禁飞区域，实现电子围栏功能，防止无人机误入敏感区域。

## 系统优势

### ✅ 高性能
- 毫秒级响应时间
- 支持高并发查询
- 分布式架构天然扩展

### ✅ 高精度
- 支持厘米级网格精度
- 三维立体空间建模
- 多障碍物精确识别

### ✅ 高可用
- Elasticsearch集群冗余
- 数据多副本存储
- 自动故障转移

### ✅ 易扩展
- DDD分层架构
- 流程引擎驱动
- 插件化设计

### ✅ 易集成
- 标准RESTful API
- 丰富的接口文档
- 多语言SDK支持

## 技术创新点

1. **首创GeoSOT+Elasticsearch融合架构**：将国产自主GeoSOT编码体系与世界领先的Elasticsearch引擎深度融合，兼具编码效率和查询性能。

2. **三维空间网格数组表达**：创新性地将三维空域抽象为三维数组，直观高效地表达障碍物分布。

3. **多精度自适应查询**：根据业务场景自动选择合适的网格层级，平衡精度与性能。

4. **智能障碍物标识融合**：独创的障碍物标签合并算法，解决网格边界多障碍物识别问题。

## 未来展望

随着低空经济的蓬勃发展，本系统将持续演进：

- **AI预测能力**：集成机器学习模型，预测动态障碍物轨迹
- **实时数据流**：接入物联网传感器，实现障碍物数据的实时更新
- **边缘计算支持**：下沉计算能力到无人机端，降低网络依赖
- **多源数据融合**：整合卫星遥感、激光雷达等多源空间数据
- **国际化扩展**：支持全球主流坐标系和空间数据标准

## 总结

低空经济无人机空域避障服务是一个技术密集型的空间智能系统，通过创新性地融合GeoSOT编码、Elasticsearch空间索引、DDD架构设计等先进技术，为无人机低空飞行提供了可靠的安全保障。

系统不仅具备优秀的性能表现和精度保证，更通过良好的架构设计确保了长期的可维护性和可扩展性。这套技术方案对于低空经济基础设施建设具有重要的参考价值和推广意义。
]]></content:encoded>
            <author>yangzhihao688@163.com (Yang Zhi Hao)</author>
        </item>
        <item>
            <title><![CDATA[影像向量检索平台]]></title>
            <link>https://yzh6688.top//blogs/image-vector-platform</link>
            <guid>https://yzh6688.top//blogs/image-vector-platform</guid>
            <pubDate>Thu, 16 Jan 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[基于 RemoteCLIP 的遥感影像智能存储检索系统，实现影像与文本的语义级检索。]]></description>
            <content:encoded><![CDATA[
# 影像向量检索平台 (Image Vector Platform)

## 📖 项目简介

**影像向量检索平台** 是一个基于 RemoteCLIP 的遥感影像智能存储检索系统，专为航空遥感影像管理和智能检索而设计。该系统通过 AI 技术实现遥感影像的自动化处理和智能化检索，让用户可以使用自然语言查询影像内容，极大提升了遥感影像的管理效率和使用体验。

### 🎯 核心特性

- **🤖 智能自动入库**：监听 MinIO 对象存储事件，自动提取影像元数据并入库，无需人工干预
- **🧠 AI 向量化处理**：调用 RemoteCLIP 模型为每张影像生成 768 维特征向量，实现语义理解
- **🔍 自然语言检索**：支持中文自然语言查询（如"城市建筑区域"、"森林覆盖区"），基于向量相似度智能检索
- **📊 实时系统监控**：提供完整的数据统计、处理进度追踪和系统健康监控
- **🗺️ 地理可视化**：基于 Cesium 的三维地球展示，直观浏览影像分布
- **⚡ 高性能架构**：采用 PostgreSQL + pgvector 实现向量相似度计算，支持海量影像检索

---

## 🏗️ 系统架构

系统采用前后端分离的四层架构设计：

```
┌─────────────────────────────────────────────────────────────┐
│                    前端展示层 (Frontend)                       │
│  Next.js 14 + React 18 + TypeScript + Tailwind CSS + Cesium  │
│  ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐       │
│  │ 仪表板   │ │ 地图视图  │ │ 影像浏览  │ │ 语义搜索  │       │
│  └──────────┘ └──────────┘ └──────────┘ └──────────┘       │
└─────────────────────────────────────────────────────────────┘
                            ↕ HTTP/REST API
┌─────────────────────────────────────────────────────────────┐
│                    API 服务层 (Backend)                       │
│  Spring Boot 3.4.5 + Spring Data JPA                         │
│  ┌──────────────┐ ┌──────────────┐ ┌──────────────┐         │
│  │ Controller   │ │ Service      │ │ Repository   │         │
│  │ (REST APIs)  │ │ (业务逻辑)   │ │ (数据访问)   │         │
│  └──────────────┘ └──────────────┘ └──────────────┘         │
└─────────────────────────────────────────────────────────────┘
                            
┌─────────────────────────────────────────────────────────────┐
│                    数据存储层 (Storage)                        │
│  ┌──────────────┐ ┌──────────────┐ ┌──────────────┐         │
│  │ PostgreSQL   │ │ MinIO        │ │ ElasticSearch│         │
│  │ + pgvector   │ │ 对象存储     │ │ 元数据检索   │         │
│  └──────────────┘ └──────────────┘ └──────────────┘         │
└─────────────────────────────────────────────────────────────┘
                            ↕
┌─────────────────────────────────────────────────────────────┐
│                    AI 服务层 (AI Services)                     │
│  ┌──────────────┐ ┌──────────────┐                           │
│  │ RemoteCLIP   │ │ DeepSeek     │                           │
│  │ 向量化服务   │ │ 翻译服务     │                           │
│  └──────────────┘ └──────────────┘                           │
└─────────────────────────────────────────────────────────────┘
```

### 架构说明

- **前端展示层**：基于 Next.js 14 的现代化 Web 应用，提供响应式用户界面和三维地球可视化
- **API 服务层**：Spring Boot 构建的 RESTful API 服务，处理业务逻辑和数据流转
- **数据存储层**：多数据源架构，PostgreSQL 存储结构化数据和向量，MinIO 存储影像文件，Elasticsearch 提供全文检索
- **AI 服务层**：RemoteCLIP 模型提供图像和文本的向量化能力，实现语义理解

---

## 🔄 核心业务流程

### 1. 影像自动入库流程

```
影像上传到 MinIO
    ↓
MinIO 触发事件 → PostgreSQL 事件表
    ↓
事件监听器自动捕获
    ↓
解析影像路径和元数据
    ↓
动态创建/选择目标表
    ↓
提取地理信息（层级、行、列）
    ↓
保存到数据库 → 标记事件已处理
```

**关键特性**：
- 自动监听 MinIO 对象创建事件
- 动态表名解析，根据影像路径自动创建和管理不同的表
- 支持 GeoSOT 网格编码，自动解析地理信息
- 重复处理检测，避免数据重复入库
- 定时任务（每 5 秒）自动处理未处理事件

### 2. 向量化处理流程

```
数据库中的影像记录
    ↓
检测未向量化的影像
    ↓
从 MinIO 获取影像数据
    ↓
调用 RemoteCLIP API
    ↓
生成 768 维特征向量
    ↓
存储到向量表（独立存储）
    ↓
更新处理状态
```

**关键特性**：
- 向量与元数据分离存储，优化查询性能
- 支持批量向量化处理
- 失败自动重试机制
- 详细的处理进度追踪

### 3. 语义检索流程

```
用户输入中文查询文本
    ↓
调用 RemoteCLIP 文本编码器
    ↓
生成查询向量（768 维）
    ↓
PostgreSQL + pgvector 向量相似度计算
    ↓
返回相似度最高的影像列表
    ↓
前端展示结果（缩略图 + 元数据）
```

**关键特性**：
- 支持自然语言查询（如"城市道路"、"农田区域"）
- 基于余弦相似度的向量检索
- 可配置返回结果数量和相似度阈值
- 支持多表联合检索

---

## 🛠️ 技术栈

### 后端技术

| 技术            | 版本   | 用途       |
| --------------- | ------ | ---------- |
| Spring Boot     | 3.4.5  | 应用框架   |
| Java            | JDK 17 | 开发语言   |
| Spring Data JPA | 3.x    | ORM 框架   |
| PostgreSQL      | 14+    | 关系数据库 |
| pgvector        | 0.5+   | 向量扩展   |
| MinIO           | 8.5.7  | 对象存储   |
| Elasticsearch   | 8.15.5 | 搜索引擎   |
| Lombok          | -      | 代码简化   |

### 前端技术

| 技术         | 版本    | 用途       |
| ------------ | ------- | ---------- |
| Next.js      | 14.2.0  | React 框架 |
| React        | 18.3.1  | UI 库      |
| TypeScript   | 5.6.3   | 类型安全   |
| Tailwind CSS | 3.4.15  | 样式框架   |
| Cesium       | 1.132.0 | 三维地球   |
| Radix UI     | Latest  | UI 组件    |

### AI 模型

| 模型                  | 用途               |
| --------------------- | ------------------ |
| RemoteCLIP (ViT-L-14) | 图像和文本向量化   |
| DeepSeek              | 中英文翻译（可选） |

---

## 📦 核心功能模块

### 1. 动态表管理模块

- **自动表创建**：根据影像路径自动创建和管理数据表
- **表名解析**：支持灵活的路径到表名映射规则
- **统一表结构**：所有动态表使用相同的标准化结构

**示例**：
- 路径 `raster-manage/tiles/geosot/245/test/11/86_444.png` → 表 `tif_test_tb`
- 路径 `raster-manage/tiles/geosot/245/demo/12/100_200.png` → 表 `tif_demo_tb`

### 2. MinIO 事件监听模块

- **实时事件捕获**：监听 PostgreSQL 事件表
- **事件解析**：提取 MinIO 事件中的对象信息和元数据
- **定时处理**：每 5 秒自动处理未处理事件
- **错误恢复**：处理失败的事件保留以便重试

### 3. CLIP 向量化模块

- **图像向量化**：为影像生成 768 维特征向量
- **文本向量化**：为查询文本生成特征向量
- **向量存储**：独立的向量表存储，优化性能
- **批量处理**：支持批量向量化任务

### 4. 向量检索模块

- **语义搜索**：基于向量相似度的智能检索
- **多表检索**：支持跨多个数据表检索
- **结果排序**：按相似度自动排序
- **性能优化**：使用 pgvector 索引加速查询

### 5. 系统监控模块

- **仪表板统计**：总影像数、已向量化数、未处理事件数
- **处理进度**：实时显示向量化处理进度
- **历史记录**：数据集处理历史追踪
- **健康检查**：MinIO、数据库、Elasticsearch 连接状态

### 6. 影像浏览模块

- **影像列表**：分页浏览影像数据
- **详情查看**：查看影像元数据和地理信息
- **缩略图生成**：自动生成影像缩略图
- **地图展示**：在三维地球上标注影像位置

---

## 🗄️ 数据库设计

### 事件监听表

```sql
minio_geotile_events_tb
├── id (主键)
├── key (对象路径)
├── value (事件 JSON)
├── processed (处理状态)
├── created_at (创建时间)
└── processed_at (处理时间)
```

### 动态影像元数据表

```sql
tif_{prefix}_tb
├── id (主键)
├── minio_bucket_name (桶名)
├── minio_object_key (对象键)
├── minio_object_name (对象名)
├── tif_size (文件大小)
├── etag (ETag)
├── last_modified (最后修改时间)
├── content_type (内容类型)
├── tags (标签 JSONB)
├── user_metadata (用户元数据 JSONB)
├── geo_level (地理层级)
├── row (行号)
├── col (列号)
└── clip_id (向量 ID，外键)
```

### 向量存储表

```sql
tif_{prefix}_vector_tb
├── id (主键)
├── clip_embedding (向量数据 vector(768))
└── created_at (创建时间)
```

**设计亮点**：
- 元数据与向量分离存储，优化查询性能
- 使用 JSONB 存储灵活的元数据
- 支持 pgvector 扩展进行高效向量检索

---

## 🚀 快速开始

### 环境要求

- **Java**: JDK 17+
- **Node.js**: 18.0+
- **PostgreSQL**: 14+ (需安装 pgvector 扩展)
- **MinIO**: 8.5+
- **Elasticsearch**: 8.15+

---

## 📡 API 接口概览

### 系统统计接口

- `GET /api/system/overview` - 获取系统仪表板统计
- `GET /api/system/history` - 获取数据集处理历史

### 影像管理接口

- `GET /api/images` - 获取影像列表（分页）
- `GET /api/images/{id}` - 获取影像详情

### 语义搜索接口

- `POST /api/v0/search` - 中文自然语言检索
- `POST /api/v1/search` - 高级向量检索

### 数据处理接口

- `POST /api/tif/process-events` - 手动触发事件处理
- `GET /api/tif/unprocessed-count` - 查询未处理事件数
- `POST /api/tif/scan-and-vectorize` - 扫描并向量化影像

### 监控接口

- `GET /api/tif/health` - 系统健康检查
- `GET /api/tif/table/{prefix}/stats` - 表统计信息

---

## 🎯 应用场景

### 1. 遥感影像智能管理

- 自动化影像入库，无需人工整理
- 统一的元数据管理和查询
- 地理信息自动提取和索引

### 2. 自然语言影像检索

- "查找包含城市建筑的影像"
- "搜索森林覆盖区域"
- "找出有道路的卫星图"

### 3. 影像内容分析

- 基于语义的影像相似度分析
- 影像内容自动分类
- 场景识别和标注

### 4. 数据可视化展示

- 三维地球上的影像分布展示
- 影像覆盖范围可视化
- 交互式影像浏览

---

## 🌟 项目亮点

### 1. 智能化

- 基于 RemoteCLIP 的语义理解能力
- 自然语言查询，无需专业知识
- AI 驱动的影像检索

### 2. 自动化

- 全自动影像入库流程
- 自动向量化处理
- 定时任务自动运行

### 3. 高性能

- pgvector 向量索引加速检索
- 向量与元数据分离存储
- 支持海量影像数据

### 4. 可扩展

- 动态表管理，灵活适应不同数据源
- 模块化架构，易于扩展
- 标准化 REST API

### 5. 易用性

- 直观的 Web 界面
- 三维地球可视化
- 完善的系统监控

---

## 📊 测试与质量保证

系统经过完整的测试验证：

- **功能测试**：100% 用例执行率，93.2% 通过率
- **性能测试**：支持并发处理，响应时间达标
- **异常测试**：完善的错误处理和恢复机制
- **集成测试**：各模块协同工作验证

]]></content:encoded>
            <author>yangzhihao688@163.com (Yang Zhi Hao)</author>
        </item>
        <item>
            <title><![CDATA[Blog Test]]></title>
            <link>https://yzh6688.top//blogs/test-blog</link>
            <guid>https://yzh6688.top//blogs/test-blog</guid>
            <pubDate>Wed, 11 Dec 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[This is a test blog]]></description>
            <content:encoded><![CDATA[
# H1

## H2

### H3





---

]]></content:encoded>
            <author>yangzhihao688@163.com (Yang Zhi Hao)</author>
        </item>
        <item>
            <title><![CDATA[交通安全事故智能检测系统]]></title>
            <link>https://yzh6688.top//blogs/traffic-ai-system</link>
            <guid>https://yzh6688.top//blogs/traffic-ai-system</guid>
            <pubDate>Thu, 16 Jan 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[基于深度学习的实时视频 AI 推理平台，提供车牌识别、事故检测、车辆追踪等能力。]]></description>
            <content:encoded><![CDATA[
# 交通安全事故智能检测系统

## 项目背景

随着城市交通流量持续增长，道路交通事故已成为威胁公共安全的重要隐患。传统的人工视频监控方式存在响应滞后、人力成本高、容易疲劳遗漏等问题。本系统基于深度学习技术，实现对道路监控视频的实时智能分析，自动识别交通事故并快速预警，为交通管理部门提供高效的技术支撑。

---

## 系统概述

本系统是一套面向道路监控场景的 AI 驱动型交通事故智能检测系统，能够接入现有监控视频流，进行 7×24 小时不间断实时分析。系统采用多模型协同与多策略验证机制，在保证高召回率的同时有效降低误报，实现从检测、验证到告警推送的全流程自动化闭环。

### 核心能力

- **实时智能检测**：对视频流进行逐帧分析，毫秒级响应交通事故
- **多维智能验证**：结合空间关系、语义理解、目标追踪的多重验证机制
- **自动化告警**：检测结果通过消息队列实时推送，支持快速响应
- **可靠存证留痕**：结果图像自动归档存储，支持事后追溯与分析
- **灵活易集成**：标准化 API 接口，可无缝对接现有监控平台

---

## 系统架构

系统采用分层模块化架构设计，保证高性能与高可扩展性：

### 架构层次

```
┌─────────────────────────────────────────────┐
│          API 服务层（FastAPI）              │
│   提供 RESTful 接口 | 任务管理 | 异步处理   │
└─────────────────────────────────────────────┘
                    ↓
┌─────────────────────────────────────────────┐
│              推理引擎层                      │
│   视频流推理器 | 图像推理器 | 资源调度      │
└─────────────────────────────────────────────┘
                    ↓
┌─────────────────────────────────────────────┐
│            AI 模型层                         │
│  事故检测模型 | 车辆识别 | 多模态验证模型   │
└─────────────────────────────────────────────┘
                    ↓
┌─────────────────────────────────────────────┐
│          验证与追踪层                        │
│  空间验证 | 语义验证 | 目标追踪 | 策略管理   │
└─────────────────────────────────────────────┘
                    ↓
┌─────────────────────────────────────────────┐
│          存储与推送层                        │
│     MQTT 消息推送 | MinIO 对象存储          │
└─────────────────────────────────────────────┘
```

### 模块说明

**1. API 服务层**
- 基于 FastAPI 构建的高性能 Web 服务
- 提供任务启动、停止、状态查询等完整接口
- 支持异步并发处理，单实例可管理多路视频流

**2. 推理引擎层**
- **视频流推理器**：处理 RTMP/HTTP 等协议的实时视频流
- **图像推理器**：支持单张图像的快速推理
- 智能资源调度，支持 GPU 自动分配与负载均衡

**3. AI 模型层**
- **事故检测模型**：基于深度学习的目标检测，识别事故区域与相关行人
- **车辆识别模型**：辅助判断事故涉及车辆数量
- **多模态验证模型**：通过视觉-语言模型进行语义级验证

**4. 验证与追踪层**
- **空间关系验证**：基于重叠度、距离等几何特征的策略验证
- **语义理解验证**：多模态模型对事故场景的语义判断
- **目标追踪**：持续跟踪目标，避免重复告警

**5. 存储与推送层**
- **MQTT 消息推送**：检测结果实时推送到指定主题，支持订阅式消费
- **MinIO 对象存储**：结果图像按时间与任务自动归档，支持快速检索

---

## 核心检测流程

### 完整业务流程

```
监控摄像头 → 视频流推送
        ↓
系统接收视频流地址
        ↓
创建异步推理任务
        ↓
┌──────────────────────┐
│    视频逐帧处理      │
│  ↓                   │
│ AI模型实时检测       │
│  ↓                   │
│ 提取事故区域与行人    │
│  ↓                   │
│ 多策略智能验证       │
│  ├─ 空间关系验证     │
│  ├─ 语义理解验证     │
│  └─ 追踪持续性验证    │
│  ↓                   │
│ 通过验证？           │
│  ├─ 是 → 保存图像    │
│  │       推送告警    │
│  └─ 否 → 跳过        │
└──────────────────────┘
        ↓
持续监控，直至任务停止
```

### 关键技术环节

**1. 视频流接入与解析**
- 支持 RTMP、HTTP-FLV、HLS 等多种协议
- 自动适配不同分辨率与帧率
- 连接异常自动重试机制

**2. 实时目标检测**
- 逐帧进行深度学习推理
- 同时检测事故区域（碰撞、剐蹭等）与相关行人
- 输出检测框、置信度、类别等结构化信息

**3. 多策略智能验证**

为降低误报，系统设计了三重验证机制：

- **空间关系验证**
  - 重叠度策略：判断事故区域与行人的空间重叠程度
  - 距离策略：计算事故区域与行人的距离是否在合理范围
  - 联合策略：组合多种空间特征进行综合判断

- **语义理解验证**
  - 引入视觉-语言多模态模型
  - 对疑似事故区域进行语义级理解
  - 通过自然语言提示（如"是否发生车辆碰撞"）获得高层语义判断

- **追踪持续性验证**
  - 对检测目标进行跨帧追踪
  - 记录目标出现时长与轨迹稳定性
  - 过滤瞬时噪声，提升告警可靠性

**4. 结果存储与推送**
- 通过验证的事故自动保存带标注的检测图像
- 按 `日期/模型名称/时间戳_目标ID` 组织存储路径
- 检测结果通过 MQTT 推送，包含图像路径、坐标、时间戳、车辆数量等信息
- 支持设置推送时间间隔，避免重复告警

---

## 技术亮点

### 1. 多模型协同工作

系统并非依赖单一模型，而是采用多模型协同的方式：
- **事故检测模型**：负责初步识别疑似事故区域
- **车辆识别模型**：辅助统计事故涉及的车辆数量
- **多模态验证模型**：提供语义层面的二次确认

### 2. 可配置验证策略

系统支持灵活的验证策略配置：
- 可根据实际场景选择重叠、距离、联合等不同策略
- 可调整阈值参数以适应不同监控角度与环境
- 支持运行时动态配置，无需重启服务

### 3. 高效资源管理

- 智能 GPU 资源调度，支持多模型并发推理
- 任务级资源隔离，避免相互干扰
- 优雅的任务停止与资源释放机制

### 4. 生产级稳定性

- 异常自动重试与降级机制
- 完整的日志记录与状态监控
- 支持长时间连续运行

---

## 应用场景

### 城市交通监控中心
实时监测城市主干道、路口等重点区域，第一时间发现交通事故，缩短响应时间，减少二次事故风险。

### 高速公路智能管控
对高速公路进行 7×24 小时不间断监控，及时发现事故并自动通知调度中心，提升高速公路运行安全性。

### 智慧城市一体化平台
作为智慧城市视觉感知的重要组成部分，与交通信号控制、应急指挥等系统联动，构建智能化交通管理体系。

### 应急指挥与调度系统
作为自动化告警源接入应急指挥系统，结合 GIS 定位与资源调度，提升应急响应效率。

---

## 系统优势

| 优势维度     | 说明                               |
| ------------ | ---------------------------------- |
| **高准确率** | 多策略验证机制，误报率显著降低     |
| **实时性强** | 流式处理架构，检测到告警秒级响应   |
| **易于集成** | 标准 RESTful API，支持跨平台对接   |
| **扩展性好** | 模块化设计，可灵活扩展其他检测能力 |
| **运维友好** | 完整的监控与日志，支持远程管理     |
| **成本优化** | 自动化替代人工监控，降低运营成本   |

---

## 技术栈

- **Web 框架**：FastAPI（高性能异步框架）
- **深度学习**：基于 YOLO 系列的目标检测模型
- **多模态模型**：视觉-语言大模型（Qwen2.5-VL 系列）
- **消息中间件**：MQTT（轻量级消息推送）
- **对象存储**：MinIO（分布式对象存储）
- **视频处理**：OpenCV、FFmpeg
- **运行环境**：Python 3.9+、CUDA（GPU 加速）

---

## 结语

本系统聚焦交通安全事故检测这一垂直场景，通过深度学习与多模态 AI 技术，实现了从视频流接入到告警推送的全流程自动化。系统在保证高准确率的同时兼顾实时性与稳定性,为交通管理部门提供了一套可靠、高效的智能化解决方案。

未来，系统还将持续优化模型性能，扩展更多交通安全场景的检测能力，为构建更加安全、智能的交通体系贡献力量。
]]></content:encoded>
            <author>yangzhihao688@163.com (Yang Zhi Hao)</author>
        </item>
    </channel>
</rss>