WebGIS中等值面展示的相关方案简析
来源:互联网 发布:mmd怎么删除动作数据 编辑:程序博客网 时间:2024/06/07 23:29
1.背景
等值面是气象、环保等相关项目上常用到的效果展示。在传统的CS项目中,可以利用一些二次开发工具进行开发,具有科研性质的项目上还会利用一些工具进行复杂建模出图然后流程化。这里,我们撇去复杂的建模各因子,谈谈通用的等值面如何在WebGIS中进行展示。
首先,我介绍下几种可以在前端进行等值面渲染的方案:
a.利用arcgis的model进行建模,设置好输入项,插值工具,输出项等,然后发布成GP服务,前端需要使用时通过rest方式调用GP服务将最后的插值结果进行展示。
b.直接在前端进行等值面算法的实现。在开源库turfjs中提供了等值面的调用函数。
c.利用GDAL或者AE或者其他气象方面的开发包,开发专门的工具程序进行等值面生成,然后将结果以服务或者图片的方式供前端调用。
d.直接在后台写程序进行生成,比如使用wcontour.jar等进行后台开发服务。
2.等值面生成方案选择
项目首先想纯前端进行开发,但是观察了turfjs生成的等值面,效果不是很理想,出现很多没有被覆盖的空隙。例如:
GP服务的方案上,因为不想总是前端传入所有插值的点,而是让输入数据源直接关联上SDE中的表,SDE中该表的数据每天会变化,那么每次生成时,前端只需调用连接而不用传入任何数据即可生成新的等值面。目前还没解决直接让下图所示的input关联上SDE表的方法,有相关经验的同行如果知道请不吝赐教。
所以最后选择了熟悉的AE来生成等值面。
3.服务自动发布方案选择
AE生成的数据为Grid格式:
自动发布方案目前有以下三种:
a.编写代码让arcgisserver自动发布。此种方案涉及到代码编写,并且还将出现对旧服务删除、新服务增加等操作,如果频率过多,对arcgisserver是个负担。
b.先用arcgisserver发布一个mapserver服务,然后每次更新替换掉该服务对应的路径文件夹中的文件。此种方法经过测试,每次替换了文件后,必须重启一次该服务才行,同样通过代码控制对arcgisserver存在压力。
c.直接编写代码对生成的等值面图进行切图,前端直接调用本地切图文件。因为自动切图工具已经有积累,所以采用此种方案。
4.项目最终采用的方案总结
a.将插值数据做成SHP通过SDE入库,利用MXD将入库数据进行添加,并且将掩膜数据也添入MXD。每次MIS上对接数据时动态修改SDE中该图层的插值属性的值即可。
b.通过MXD获取到数据要素,利用AE中集成好的插值算法进行插值。插值时选择好各插值参数,以及插值的掩膜图层。
c.对差值出来的栅格等值面数据进行分类渲染。
d.根据切图参数对最后栅格渲染图进行自动切图。
f.将切完的瓦片转移保存至瓦片服务文件夹下。
e.前端加载等值面切图瓦片。
5.效果展示
等值面demo工具效果如下:
自动切图后的结果如下:
系统中使用如下,支持多个等值面之间的切换,比如今、明、后三天的PM2.5等值面切换(由于重庆的数据缺少部分为0,所以灰色部分很多)。
配置文件中,可以配置等值面各插值参数、等值字段、分类阈值、渲染色带、触发时间、切图参数、文件地址等:
- WebGIS中等值面展示的相关方案简析
- 浅谈WebGIS等值面模态展示的相关方案(实践经验)
- geotools中等值面的生成与OL3中的展示
- Openlayers3中如何优雅的表示等值面
- 聚焦等值面的创建
- 聚焦等值面的创建
- 转篇webGIS相关的文章
- Geotools中实现NC转等值面
- MarchingCubes算法提取等值面的基本原理
- VTK 三维轮廓等值面的提取
- WebGIS中自定义互联网地图局部注记的一种方案
- WebGIS中自定义互联网地图局部注记的一种方案
- WebGIS中自定义互联网地图局部注记的一种方案
- WebGIS中自定义互联网地图局部注记的一种方案
- WebGIS中自定义互联网地图局部注记的一种方案
- WebGIS中自定义互联网地图局部注记的一种方案
- 利用GeoWebCache实现WebGIS地形图展示的缓存优化
- 利用GeoWebCache实现WebGIS地形图展示的缓存优化
- 高精度模板(第一弹,支持正负数)
- codevs动态规划 数字三角形
- 常用消息队列对比
- HEVC/H.265理论知识(2)——profile、level、tier
- 在ssh连接github时可能出现的问题
- WebGIS中等值面展示的相关方案简析
- Android Message 内存泄漏问题
- HttpClient的使用步骤
- TensorFlow 官方文档中文版
- 2017春季实习生招聘阿里面试题(一)
- TCP/IP详解学习笔记(2)-数据链路层
- java 简介
- ObjectAnimation
- JS基础--with改变作用域