GIS实现城市内涝监测预警系统平台应用
本文介绍了一套基于数字孪生技术的城市内涝智能监测预警系统解决方案。该系统整合空天地一体化监测、AI算法和水文学原理,构建包含降水监测、管网分析、洪水演进等模块的智慧水利平台。通过Cesium、OpenLayers等GIS技术实现地理数据可视化,结合物联网感知网络实时采集雨量水位数据,利用水文模型进行内涝模拟推演,最终形成"预报-预警-预演-预案"的完整管理体系。文章详细展示了系
技术参照:
cesium在vue中进行架构设计与实现_cesium怎么修改entity的层级-CSDN博客
iClientOL实现前端gis开发架构_前端iclientol-CSDN博客
天地图电子地图矢量地图底图结合图像学实现风格底图地图-CSDN博客
iclient for ol实现风险区识别_iclient-ol polygon-CSDN博客
java实现反距离权重插值算法生成geojson矢量数据_contour.tracingcontourlines-CSDN博客
java+iClientOpenlayers实现城市内涝积涝模拟内涝模拟演进-CSDN博客
基于空天地一体化监测、AI算法、数字孪生等现代信息技术和水文学原理,实现城市内涝全要素、全过程、精细化管理。
业务挑战
方案介绍
智慧水利洪水场景平台基于城市降水、城市产汇流、节点水量交换、地下管网行洪、街道洪水演进、外源洪水和下游河道排水等水文水力分析计算模块,分析超标准暴雨下城市内涝淹没过程,用以评估城市排水能力,识别超标准暴雨下的内涝风险点,实现城市内涝“预报、预警、预演、预案”功能。以数字孪生技术赋能城市洪涝减灾防治,为有效解决城市水灾害,应对防洪排涝提供有效的技术解决方案。
方案组成
提供雨量水位实时监测、低洼点监测、重点设施监测、视频实时监控、智能淹没仿真模拟、灾情推演等功能,利用数据分析研判提前发现内涝隐患区域并进行实时预警,为管理者提供有标准、有依据、有推算、有经验的决策辅助。
业务场景
防汛“一张图”务场景
内涝风险识别
内涝监测预警
内涝模型管理
内涝风险模拟仿真
预警及应急管理
方案优势
设施“物联化”
通过一体化的物联感知网络监测设备,保证了雨量监测、水位监测、低洼点监测、重点设施监测等信息获取的丰富性、准确性和实时性。
时空信息“互联化”
通过构建时空大数据共享平台,实现了城市内涝监测预警信息的互通互联,构建坚实的防洪排涝数字时空底座。
排水防涝“模型化”
基于城市内涝模型平台,进行智能淹没仿真模拟、灾情推演,通过实时数据分析研判及时发现内涝隐患区域并发出实时预警。
管理服务“协同化”
利用数字孪生可视化平台、网络通信、移动设备等,结合“一张图”及综合管理调度系统,为城市洪涝监测预警构建完善的管理服务体系。
典型案例
智慧水利洪水场景平台
基于城市降水、城市产汇流、节点水量交换、地下管网行洪、街道洪水演进、外源洪水和下游河道排水等水文水力分析计算模块,分析超标准暴雨下城市内涝淹没过程,用以评估城市排水能力,识别超标准暴雨下的内涝风险点,实现城市内涝“预报、预警、预演、预案”功能。
部分关键代码实现:
export function CommonDrawByGeojson(zjnCesium,layersInfo,LayersRenderSet,LayersRenderLabelSet,layerId,calleend){ var options = { camera : zjnCesium.viewer.scene.camera, canvas : zjnCesium.viewer.scene.canvas, markerSize: 96, clampToGround: layersInfo[layerId].options.clampToGround //开启贴地 }; //Seed the random number generator for repeatable results. CMath.setRandomNumberSeed(0); var promise=GeoJsonDataSource.load(layersInfo[layerId].url, options); promise.then(function(dataSource) { zjnCesium.viewer.dataSources.add(dataSource); var entities = dataSource.entities.values; for (var i = 0; i < entities.length; i++) { var entity = entities[i]; entity.show = layersInfo[layerId].options.isShow var symbol = getLyaerRenderSymbol(LayersRenderSet,layerId,entity.properties); if(symbol != null){ if(layersInfo[layerId].options.geoType=='polygon'){ // entity.polygon.height = 500000-1000*entity.properties.hvalue entity.polygon.material = Color.fromBytes(symbol.color[0],symbol.color[1],symbol.color[2],symbol.color[3]); entity.polygon.outline = true entity.polygon.outlineWidth = symbol.outlineWidth entity.polygon.outlineColor = Color.fromBytes(symbol.outlineColor[0],symbol.outlineColor[1],symbol.outlineColor[2],symbol.outlineColor[3]); entity.polygon.extrudedHeight = symbol.extrudedHeight || null; } debugger if(layersInfo[layerId].options.geoType=='polyline'){ entity.polyline.material = Color.fromBytes(symbol.color[0],symbol.color[1],symbol.color[2],symbol.color[3]); entity.polyline.width = symbol.width } if(layersInfo[layerId].options.geoType=='point'){ entity.point = { pixelSize: symbol.pixelSize, color:Color.fromBytes(symbol.color[0],symbol.color[1],symbol.color[2],symbol.color[3]), outlineColor:Color.fromBytes(symbol.outlineColor[0],symbol.outlineColor[1],symbol.outlineColor[2],symbol.outlineColor[3]), outlineWidth:symbol.outlineWidth, heightReference: (zjnCesium.viewer.scene.mode == SceneMode.SCENE3D) ? HeightReference.CLAMP_TO_GROUND : null, clampToGround: true }; } } } layersInfo[layerId].entities=entities calleend() }); } export function CommonRefreshPolygon(data,dataField,geoField,layerId,layersInfo,LayersRenderSet){ for(var i = 0, leni = data.length; i < leni; i++){ for (var j = 0, lenj = layersInfo[layerId].entities.length; j < lenj; j++){ if(data[i][dataField] == layersInfo[layerId].entities[j].properties[geoField]['_value']){ var symbol = getLyaerRenderSymbol(LayersRenderSet,layerId,data[i]); if(symbol != null){ if(layersInfo[layerId].options.geoType=='polygon'){ layersInfo[layerId].entities[j].polygon.material = Color.fromBytes(symbol.color[0],symbol.color[1],symbol.color[2],symbol.color[3]); layersInfo[layerId].entities[j].polygon.outline = true layersInfo[layerId].entities[j].polygon.outlineWidth = symbol.outlineWidth layersInfo[layerId].entities[j].polygon.outlineColor = Color.fromBytes(symbol.outlineColor[0],symbol.outlineColor[1],symbol.outlineColor[2],symbol.outlineColor[3]); layersInfo[layerId].entities[j].polygon.extrudedHeight =symbol.extrudedHeight || null; } if(layersInfo[layerId].options.geoType=='polyline'){ layersInfo[layerId].entities[j].polyline.material = Color.fromBytes(symbol.color[0],symbol.color[1],symbol.color[2],symbol.color[3]); layersInfo[layerId].entities[j].polyline.width = symbol.width } layersInfo[layerId].entities[j].show = true } } } } }
如果对您有所帮助,请点赞打赏支持!
技术合作交流qq:2401315930
最后分享一下地图下载器设计及下载地址:
链接:https://pan.baidu.com/s/1RZX7JpTpxES-G7GiaVUxOw
提取码:61cn
地图下载器代码结构设计及功能实现_地图下载管理器解析-CSDN博客
更多推荐
所有评论(0)