基于新一代WebGIS Rest技术的地图显示优化技术

2015-01-08 02:18任连程韩喜燕王华艳
中国科技纵横 2014年12期
关键词:底图端点图层

任连程++韩喜燕++王华艳

【摘 要】 本文探讨如何使用新一代Rest技术提高在线地图的显示速度。文中以ArcGIS Rest API为例,介绍了其支持的各种地图显示方式的优缺点,加快地图显示的一些方法,并重点描述了瓦片地图+要素图层这种新型的高效率地图配置方式,以及要注意的问题等。

【关键词】 WebGIS Rest ArcGIS Feature Layer 地图优化

Rest即表征状态转移,是一种针对网络应用的设计和开发方式,目前在三种主流的Web服务实现方案中,因为REST模式的Web服务与复杂的SOAP和XML-RPC对比来讲明显的更加简洁,其已经成为最主要的Web服务设计模式。在Rest服务的基础上设计B/S方式的GIS应用已成为WebGIS应用的主流设计方式之一。其好处是兼容性广泛,可以兼容各种桌面浏览器,功能强大,界面友好,大量的计算、成图可以放在客户端执行,减轻服务器压力,提高绘图效率。本文以新一代的ArcGIS 10.2.2版本为例,探讨一些目前为止可以提高客户端绘图的方法,使客户端的绘图也能达到或超越本地单机绘图的显示效率。

ArcGIS是美国ESRI公司的主打GIS产品,市场占有率世界第一,其10.2.2版本是其最近版本,于2014年4月发布,其Web Rest API代表了世界最高应用水平,其Web Rest API分为Javascript、Flex、Silverlight三个版本,其桌面和移动端的Runtime API(9种)的Web地图调用和Web Rest API类似,本文也可作为参考。

Web应用中,所有的数据都是由服务器储存的,包括栅格数据(影像)和矢量数据,在ArcGIS Server中数据以服务(地图服务)的形式发布出来,供客户端使用。在Web Rest API中地图图层的类型有4种:Tiled Layer(瓦片地图),Dynamic Layer(动态地图),Feature Layer(要素图层),Graphics Layer(临时图层)。各个调用方式都有不同的应用范围和优势。

Tiled Layer,瓦片地图或切片地图,是预先将地图渲染生成为图片,这样在用户访问的时候,可以直接调用这些结果图片,而不需要实时的进行渲染,从而极大的提升地图访问速度。所有的公共在线地图的底图,如Google Map,百度地图等都是这种访问方式。其特点是比例尺固定,受地图数据量影响很小。但因为传输的是预先图片,其数据更新的步骤繁琐、耗时长,占用服务器空间大。推荐在储存空间允许的情况下,对所有影像地图,不需要变更和查询的底图,都使用瓦片地图。

Dynamic Layer,动态地图,即服务器根据客户端的请求,动态生成地图图片并发给客户端显示。其特点是可以无级放缩,使用方便,但速度较慢。虽说经过GIS行业的不断努力,动态地图的效率已经提升了很多,但因为是服务器渲染,需要占用大量的服务器资源,速度提升受限,在Feature Layer图层面前除了使用方便,对必须做大量数据同时显示的渲染效率高些(服务器比客户机要强大的多)之外,没有任何优势可言。对客户经常要看的图层,如非必要,不建议使用Dynamic Layer。

Feature Layer,要素图层,是把动态地图中的某一层当做数据源,把矢量数据和相应的属性等发给客户端,由客户端进行渲染成图。其可以一次性把全部矢量数据(或根据范围,比例尺等控制)保存在客户端缓存里,调用页面语言强大的绘图能力,在一定的数据量范围内,渲染效率很高,几乎没有延迟。因为是矢量数据,其可以结合多种动态效率,如鼠标悬浮在多边形上,此多边形高亮显示,并有悬浮窗口显示属性(如MapTip浮动窗口);鼠标悬浮在图标上,图标有行动画效果,并变大提醒等等,人机交互提升巨大。其缺点是,配置复杂,动画效果靠编程实现,系统开发量会相应的增大。推荐在数据量不大的情况下,大量使用。

Graphics Layer,临时图层,储存临时数据的图层,一般用于储存查询得到的空间数据,临时显示等。其特性和Feature Layer一致(其实Feature Layer是Graphics Layer的一种),区别是Feature Layer里的要素来自于发布的图层,Graphics Layer里的要素靠程序赋予。

Web 地图中,高效率的地图显示推荐采用Tiled Layer(底图)+ Feature Layer(业务)+ Graphics Layer(查询结果)的组合方式,使服务器的负荷最小,客户端的绘图速度最快。对不需要属性查询,只做地图显示的图层,可以做好切片缓存,以Tiled Layer方式进行访问。切片时设置合适的多级比例尺,并设置好切片范围已提高处理的效率。对经常要属性查看的业务图层,可以采用Feature Layer进行访问,其地图高效率显示的关键是控制同时显示数据中的图形端点数量,根据现在的硬件水平,页面上同时显示的要素的端点要控制在1万个以内,因屏幕像素数量限制,端点过多也不行提高地图显示效果。如图形端点数量过多,可以采用多级比例尺控制+多级抽希方式。根据底图的比例尺把数据多级抽希成不同比例尺的地图,用多个Feature Layer并加以比例尺控制对应图层比例尺的方式显示数据,形成金字塔式的多级要素地图,达到减少同时显示的端点数量,提高地图渲染效率。对用户做空间或属性查询得到的数据可以使用Graphics Layer做加载和成图。

限制Dynamic Layer的使用,和采用多级比例尺地图控制需要显示要素的端点数是提高地图显示速度的关键。在新的Rest技术下,Feature Layer已经足够的强大,能够替代原有Dynamic Layer的大部分工作,配合合理的地图数据优化以及地图切片缓存技术,在线地图的显示效率可以得到成倍的提升。endprint

猜你喜欢
底图端点图层
一种基于实际GIS底图的精准计费方式探究
非特征端点条件下PM函数的迭代根
巧用混合图层 制作抽象动感森林
参数型Marcinkiewicz积分算子及其交换子的加权端点估计
底图档案管理的科学化与工作者的综合素质
企业底图档案的归档管理
基丁能虽匹配延拓法LMD端点效应处理
图层法在地理区域图读图中的应用
跟我学添加真实的光照效果
浅析“递层优化法”在矿井制图中的应用