前言
在交通运输领域,应急运输事件的影响分析对保障社会稳定和人民生命财产安全至关重要。本文以罐车侧翻事故为例,探讨如何利用 SpringBoot 和 PostGIS 技术整合地理信息、车辆运输数据及环境监测数据,直观呈现事故影响范围和程度,为应急救援提供科学依据。
一、技术实现路径
1、需要使用的数据
| 序号 | 数据内容 | 说明 |
|---|---|---|
| 1 | 运输路线规划 | 使用天地图的路径规划服务 |
| 2 | 路网信息 | 使用天地图服务 |
| 3 | 风景区数据 | PostGIS 空间表,biz_scenic_spot |
| 4 | 机场数据 | PostGIS 空间表,biz_global_airport_info |
| 5 | 居民点数据 | PostGIS 空间表,biz_village |
2、空间分析方法
核心任务包括运输路线还原回放,以及分析事故点附近的居民点、风景区和机场空间分布。第一步通过 SpringBoot 调用天地图路径规划接口还原路线;第二步获取事故点经纬度,利用空间函数 ST_DWithin 分析周边指定范围内的敏感目标。
with bp as ( select ST_GeomFromText(format('point(%s %s)',111.620623,26.198523),4326) as geom)
select ta.* from (
select t.id pk_id,t.name,'scenicspot' as type,st_x(t.geom) lon,st_y(t.geom) lat,
st_distance(t.geom :: geography, bp.geom :: geography) dist
from biz_scenic_spot t,bp where st_dwithin(t.geom :: geography,bp.geom :: geography,3000 )
union
select t.pk_id,t.name_zh as name,'airport' type,t.lon_wgs84 lon,t.lat_wgs84 lat,
st_distance(t.geom :: geography, bp.geom :: geography) dist
biz_global_airport_info t,bp st_dwithin(t.geom :: geography,bp.geom :: geography, )
t.id pk_id,t.village_name name, type,st_x(t.geom) lon,st_y(t.geom) lat,
st_distance(t.geom :: geography, bp.geom :: geography) dist
biz_village t,bp st_dwithin(t.geom :: geography,bp.geom :: geography, )
) ta ta.dist


