技术参照:
cesium在vue中进行架构设计与实现_cesium怎么修改entity的层级-CSDN博客
iClientOL实现前端gis开发架构_前端iclientol-CSDN博客
天地图电子地图矢量地图底图结合图像学实现风格底图地图-CSDN博客
java+iClientOpenlayers实现污水排放扩散模拟(湖库污染排放扩散模拟)_软件开发污染物扩散模拟-CSDN博客
一维河流污染持续排放模拟(水污染扩散)_水污染扩散模型 js 或者 java 实现-CSDN博客
长江流域9省2市可视化(不展示业务信息水质及真实断面)_长江航道geojson-CSDN博客
以河湖智慧化管理为核心,综合利用5G移动通信、卫星遥感、无人机(船)、云计算等现代信息技术,打造河湖长制信息化平台,实现“一个平台”精准管控河湖治理全过程,有力推动河湖长制工作迈入智能高效、精准闭环新阶段。
业务挑战
方案介绍
基于时空数据可视化系统框架,围绕河湖管理业务,针对水域岸线管理、涉河项目审批、河道采砂管理等业务方向,辅助业务人员进行涉河项目数字化审批、水域岸线动态监管、采砂活动精细化管理,提升河湖管理工作的信息化水平。
商丘天沐湖生态区图保护为例
方案组成
基于卫星感知、无人机感知、地面传感器、互联网引接建立空天地网感知体系,全面实时感知河湖信息化状态。同时,依托数据中台、应用中台等技术,通过大数据汇聚、专业分析模型搭建及数据整合的私有云构建智慧河湖长智慧云脑,为河湖长综合应用提供全面得决策支撑、分析能力。
业务场景
涉河管理
河湖健康评价
河湖四乱监管
水环境监测
公众护水
方案优势
河湖信息统一监管
具备采砂管理、项目审批、岸线管理、项目辅自查等功能,实现河湖信息统一监管。
行政执法便捷高效
全域动态水体污染监测,实现污染物溯源,构建治理依据;自动生成评价报告,构建河湖健康体系。
鼓励民众积极参与
建立公众护水全民参与机制,增加全民参与度。
减轻人工核查工作
大范围主动发现、强目标高效执法、数字化自动归档。
典型案例
智慧河长平台建设
智慧河长基于“数字政府”的公共支撑服务,运用互联网思维,构建了一套纵向贯通五级河湖长、横向集成成员单位、上下联通省市县镇的智慧河湖管理系统,用互联网思维、智慧化手段解决河湖管理难题。
数字河湖管理平台
依托物联网、大数据、遥感、北斗网格、数字孪生等前沿技术,构建集智慧河湖驾驶舱、数字河湖管理、中小型水库标准化管理、水闸堤防标准化数字管理、积分公众护水、河湖数字孪生、遥感监测分析、视频监控八大子系统为一体的即墨区数字化河湖管护平台,实现了从物理河湖到数字河湖的全场景构建及动态仿真。平台建立了数据汇聚及共享机制,实现省、市、县三级水利部门数据共享、信息互通。

关键技术代码实现:
export function CommonDrawPolylineEntities(data,zjnCesium,layersInfo,LayersRenderSet,LayersRenderLabelSet,layerId,PostionsField,IDField){
CommonRemoveEntities(zjnCesium,layersInfo,layerId);
let len = data.length;
for (let i = 0; i < len; i++) {
if (data[i][PostionsField] != null){
// let positionsXYZ = Cartesian3.fromDegrees(parseFloat(data[i][LGTDField]), parseFloat(data[i][LTTDField]));
let curID = zjnCesium.viewer.entities.getById(data[i][IDField]);
//如果当前实体不存在则绘制
if(curID != undefined){
continue;
}
let entity;
let symbol=getLyaerRenderSymbol(LayersRenderSet,layerId,data[i]);
if(symbol==undefined){
continue;
}
entity = zjnCesium.viewer.entities.add({
polyline: {
// fromDegrees返回给定的经度和纬度值数组(以度为单位),该数组由Cartesian3位置组成。
positions: Cartesian3.fromDegreesArray(data[i][PostionsField]),
// 宽度
width: symbol.width,
// 线的颜色
material: Color.fromBytes(symbol.color[0],symbol.color[1],symbol.color[2],symbol.color[3]),
// 线的顺序,仅当`clampToGround`为true并且支持地形上的折线时才有效。
zIndex: 10,
// 是否显示
show: layersInfo[layerId].options.isShow
}
});
layersInfo[layerId].entities.push(entity);
let labelOptions=getLyaerRenderLabelSymbol(LayersRenderLabelSet,layerId,data[i]);
if(typeof(labelOptions)=="undefined"){
labelOptions=layersInfo[layerId].labelOptions;
}
if(layersInfo[layerId].options.showLabel){
entity.label = {
text : (typeof(labelOptions.prefixFieldPrefix)=="undefined"?'':labelOptions.prefixFieldPrefix.toString())+(typeof(labelOptions.prefixField)=='undefined'?'':(data[i][labelOptions.prefixField].toString()+(typeof(labelOptions.prefixFieldSuffix)=="undefined"?'':labelOptions.prefixFieldSuffix.toString())+'\n'))+(typeof(labelOptions.labelFieldPrefix)=="undefined"?'':labelOptions.labelFieldPrefix.toString())+(typeof(labelOptions.labelField)=="undefined"?'':data[i][labelOptions.labelField].toString())+(typeof(labelOptions.labelFieldSuffix)=="undefined"?'':labelOptions.labelFieldSuffix.toString())+(typeof(labelOptions.suffixField)=='undefined'?'':('\n'+(typeof(labelOptions.suffixFieldPrefix)=="undefined"?'':labelOptions.suffixFieldPrefix.toString())+data[i][labelOptions.suffixField].toString()))+(typeof(labelOptions.suffixFieldSuffix)=="undefined"?'':labelOptions.suffixFieldSuffix.toString()),
scale: labelOptions.scale,
font : labelOptions.font,
fillColor : Color.fromBytes(labelOptions.fillColor[0],labelOptions.fillColor[1],labelOptions.fillColor[2],labelOptions.fillColor[3]),
showBackground:labelOptions.showBackground,
//backgroundColor: Color.ANTIQUEWHITE,
backgroundColor: Color.fromBytes(labelOptions.backgroundColor[0],labelOptions.backgroundColor[1],labelOptions.backgroundColor[2],labelOptions.backgroundColor[3]),
horizontalOrigin:HorizontalOrigin[labelOptions.horizontalOrigin],
verticalOrigin:VerticalOrigin[labelOptions.verticalOrigin],
pixelOffset: new Cartesian2(labelOptions.pixelOffset[0], labelOptions.pixelOffset[1]),
heightReference: (zjnCesium.viewer.scene.mode == SceneMode.SCENE3D) ? HeightReference.CLAMP_TO_GROUND : null,
//scaleByDistance : new NearFarScalar(labelOptions.scaleByDistance[0], labelOptions.scaleByDistance[1], labelOptions.scaleByDistance[2], labelOptions.scaleByDistance[3]),
}
}
}
}
if(layersInfo[layerId].options.isFlash){
let fontDelta = -0.005;
let fontSize = 0.6;
let minFontSize = 0.2;
let maxFontSize = 0.6;
zjnCesium.viewer.scene.preUpdate.addEventListener(function(scene, time) {
fontSize += fontDelta;
if (fontSize >= maxFontSize || fontSize <= minFontSize) {
fontDelta *= -1.0;
}
for(let i = 0; i < layersInfo[layerId].entities.length; ++i)
{
layersInfo[layerId].entities[i].billboard.scale = fontSize;
}
});
}
}
如果对您有所帮助,请点赞打赏支持!
技术合作交流qq:2401315930
最后分享一下地图下载器设计及下载地址:
链接:https://pan.baidu.com/s/1RZX7JpTpxES-G7GiaVUxOw
提取码:61cn
地图下载器代码结构设计及功能实现_地图下载管理器解析-CSDN博客










549

被折叠的 条评论
为什么被折叠?



