实战案例 | 高德地图MCP+DeepSeek 接入实现火警智能应急系统

举报
高德开放平台 发表于 2025/06/25 11:40:13 2025/06/25
【摘要】 高德开放平台第四期技术征文二等奖作品前言火灾是威胁城市安全和人民生命财产的重大隐患。随着城市化进程加快,建筑密度不断增加,火灾风险也随之上升。传统的火灾报警系统往往局限于单点报警,缺乏全局视角和智能分析能力,同时也给消防救护人员带来繁重的工作。本文将介绍如何利用高德地图开放平台API,构建一个智能化的火灾报警系统,实现民众的智能报警、火灾位置的快速定位、周边资源分析以及最优救援路径规划等功能...
高德开放平台第四期技术征文
二等奖作品

前言

火灾是威胁城市安全和人民生命财产的重大隐患。随着城市化进程加快,建筑密度不断增加,火灾风险也随之上升。传统的火灾报警系统往往局限于单点报警,缺乏全局视角和智能分析能力,同时也给消防救护人员带来繁重的工作。本文将介绍如何利用高德地图开放平台API,构建一个智能化的火灾报警系统,实现民众的智能报警、火灾位置的快速定位、周边资源分析以及最优救援路径规划等功能。

背景

近年来,城市建筑密度与人口集中度持续攀升,火灾风险隐患增多。据统计,2024年全国消防救援队伍共接报火灾90.8万起。社会对高效、精准的智能消防系统的需求迫在眉睫。在火灾救援中,“黄金十分钟”至关重要,但传统系统存在以下问题:

1. 民众报警信息定位不精确,并自己也无法知道偏差,影响救援效率。

2. 民众报警相应时间长,比如难以实时计算最优逃生路径,没法高效实时响应。

3. 消防队需要人工值守存在交接盲区,夜间响应延迟,非专业人员可能无法解答消防设备操作问题。

4. 消防队从接到报警后需要规划路线,没法接到报警自动规划好路线。

基于大模型DeepSeek接入高德地图开放平台MCP服务,依赖它提供了丰富的地理信息服务,包括地图展示、地理编码、路径规划、周边搜索等API,为解决上述问题提供了技术基础。

系统目标

本系统旨在实现以下目标:

1. 智能报警助手:替代人工报警接线员,全天候处理报警,即时智能回复。

2. 精准定位:通过高德地图API将文字地址转换为精确坐标,并在地图生成报警位置。

3. 资源可视化:在地图上标记火灾位置及周边消防资源(消防站、医院等)。

4. 智能分析决策:调动最近的消防站出警和医院响应,自动计算最优救援路径,估算到达时间。

系统架构设计

screenshot_2025-06-20_17-22-41.png


技术选型

  • 前端:Vue.js + Element UI(Web端

  • 后端:Spring Boot + MyBatis Plus 

  • 地图服务:高德地图JavaScript API、Web服务API、MCP服务

  • 大模型服务: DeepSeek 

  • 数据库:MySQL 8.0

核心功能实现

报警智能助手端:


Spring Ai实现智能体角色设置prompt的设计

this.chatClient = chatClientBuilder.defaultSystem("""
  你是一个集成在高德地图中的智能火灾报警助手,能够帮助用户快速报告火灾、获取逃生路线并提供火灾应急指导。请遵循以下原则:
     1. 紧急响应:当用户报告火灾时,立即询问关键信息(地点),如果知道火灾地址后 将地址的信息以火灾地点位于:广东省广州市天河区员村松岗园0栋201号,其经纬度坐标为:113.366716,23.118363。的形式告知用户告知,当地消防部门已知道火灾信息,他们正在紧急响应中,然后在咨询关键信息(火势、有无被困人员、报警人、联系电话)。
     2. 分级响应:根据火势大小提供不同级别的应急建议
     请用简洁、明确的语言与用户交互,保持冷静专业的语气。
""")
.defaultTools(tools)
.defaultAdvisors(new PromptChatMemoryAdvisor(chatMemory))
.build();
Spring Ai集成高德地图MCP方案,智能助手可以基于高德地图MCP Server现已覆盖12大核心服务接口的工具来思考回复用户问题。
高德地图MCP Server:提供全场景覆盖的地图服务,包括地理编码、逆地理编码、IP定位、天气查询、骑行路径规划、步行路径规划、驾车路径规划、公交路径规划、距离测量、关键词搜索、周边搜索、详情搜索等。
{
 
"mcpServers": {
        
"amap-maps": {
            
"command": "npx.cmd",
            
"args": [
                
"-y",
                
"@amap/amap-maps-mcp-server"
            
],
            
"env": {
               
"AMAP_MAPS_API_KEY": "自己高德地图API_KEY"
            
}
}

消防应急智能后端

1. 火灾位置精准定位利用高德地图的地理编码API,将用户输入的文本地址转换为精确的地理坐标。

2. 周边资源可视化通过周边搜索API,查找火灾点周围的消防站、医院等关键资源。

3. 最优路径规划利用路径规划API,计算从消防站到火灾地点的最优路径。

// AmapService.java
@Service
public class AmapService {
@Value("${amap.key}")
    
private String apiKey;
    
// 地理编码
    
public JSONObject geoCode(String address) {
        
String url = "https://restapi.amap.com/v3/geocode/geo?address=" + 
       
URLEncoder.encode(address) + "&key=" + apiKey;
        
return HttpUtil.get(url);
    
}
    
// 周边搜索(消防站)
    
public JSONObject aroundSearch(double longitude, double latitude) {
        
String url = "https://restapi.amap.com/v3/place/around?key=" + apiKey +
"&location=" + longitude + "," + latitude +
                    
"&keywords=消防站&radius=5000";
        
return HttpUtil.get(url);
    
}
    
// 路径规划
    
public JSONObject pathPlanning(double originLng, double originLat, 
    
double destLng, double destLat) {
        
String url = "https://restapi.amap.com/v3/direction/driving?key=" + apiKey +
"&origin=" + originLng + "," + originLat +
"&destination=" + destLng + "," + destLat +
"&strategy=2"; // 2表示最短距离
        
return HttpUtil.get(url);
    
}
}

系统功能展示

用户火灾报警界面


1. 火警报警:在确认报警成功后,会提示报警位置已报火警,让用户确认报警信息定位精确。

2. 信息咨询:逃生路线、附近的消防站、医院等信息、其他的信息逃生信息。

15.1.png

16.1.png


消防站应急系统页面

1. 报警地点精准定位:通过用户报警的地址定位出具体的经纬度;

2. 出警的消防站:离火灾地点最近的消防站跟进;

3. 救治的医院:离火灾地点最近的就医位置;

4. 救援路径规划:从消防站到火灾地点的最优路径规划,从火灾地点到医院的最优路径规划;

17.png


高德地图API参考

本文涉及的高德地图开放平台API包括:

1. Web端JavaScript API

2.  地理编码/逆地理编码API

3. 周边搜索API

4. 路径规划API

5. MCP服务

系统演示

http://fanjh.mynatapp.cc/index.html

screenshot_2025-06-25_11-36-53.png


高德开放平台第四期技术征文,二等奖作品

作者:范建豪

仅代表作者个人观点

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。