ArcGIS Server地图服务性能优化策略①

2015-07-02 18:46俞亮周吉金
科技资讯 2015年8期
关键词:数据源图层文档

俞亮++周吉金

摘 要:ArcGIS Server是一个用来构建集中管理、支持多用户的企业级GIS应用平台。由核心的ArcObjects构建,是对ESRI其他两个应用服务器ArcSDE和ArcIMS的一个补充。数字城市地理信息公共服务平台利用AGS提供的地图服务发布和管理功能,实现了海量空间数据的处理、发布、分享、管理业务。ArcGIS Server的性能直接影响公共服务平台的使用性能。影响ArcGIS Server地图服务性能的因素有很多,该文通过优化配置服务参数、调整地图数据显示、优化地图文档结构等多种手段对ArcGIS Server的地图服务进行优化,可以大幅提高地图服务的访问性能。

关键词:ArcGIS Server 地图服务 性能优化 地图缓存

中图分类号:TP31 文献标识码:A 文章编号:1672-3791(2015)03(b)-0018-02

随着数字城市建设的不断加快,越来越多的行业部门的应用系统通过调用数字城市地理信息公共服务平台提供的基于ArcGIS Server平台发布的地图服务实现了和数字城市的对接。应用系统用户数量的不断增加,公共服务平台的地图服务负载压力越来越大,地图浏览速度逐渐变慢、数据查询性能降低。为了提高地图服务的性能,笔者通过多种手段对地图服务进行优化,在一定程度上提高了地图访问速度。根据实践经验,该文作者对一些优化策略进行了归纳,和大家一起分析探讨。

1 影响ArcGIS Server地图服务性能的几个因素

影响ArcGIS Server地图服务性能的因素有很多,主要有以下几个因素。

1.1 硬件环境

数字城市提供的地图服务用户量大,使用频率高,业务依赖性大,不可避免地会对服务运行性能带来影响,良好的硬件环境是解决系统运行性能问题的基础。

1.2 网络环境

数字城市提供的地图服务运行在政务外网,网络环境对服务性能影响很大,增加网络带宽能够有效提高服务访问速度。

1.3 部署方式

ArcGIS Server的部署方式和参数配置也会影响系统的性能。根据服务使用频率和性能要求,可以选择采用单层架构、2层架构、3层架构等不同的集群架构。

1.4 数据性能

地图服务背后的数据以及地图文档也是影响地图服务性能的一个关键因素,可以通过多种方式优化数据源和地图文档组织方式,提高地图服务性能。

2 地图服务性能优化

作者以数字城市地理信息公共服务平台发布的地图服务为例,整理了一些地图服务优化的策略。

2.1 数据源优化

数字城市地理信息公共服务平台的地图服务常用的数据类型有两种:矢量数据和栅格数据;数据的存储方式一般包括文件存储(Shape\Image\Grid)、FileGDB、ArcSDE三种方式。不同的存储方式对WMS服务的性能影响各不相同。表1是低复杂度的WMS服务采用不同数据源时的出图效率,单位:kb/S。表2是低复杂度的WMS服务采用不同数据源时的矢量查询效率,单位:TPS。表3是高复杂度的WMS服务采用本地数据和网络共享数据(UNC)时的出图效率,单位:kb/S。

通过表1、表2、表3可以清楚发现以下几点。

(1)地图服务采用FileGDB作为数据源,出图性能较好。

(2)地图服务采用ArcSDE+PostgreSQL时查询效率最高。这是由于关系型数据库内部优化查询效率的结果。

(3)地图服务采用本地数据时的性能明显强于采用UNC路径的数据。

2.2 地图文档优化

地图服务在发布之前,需要在ArcMap中对数据做一系列的优化,如整理图层、整理属性字段、比例尺控制、符号渲染等。对地图文档进行合理的优化,能有效提高地图服务的访问速度。

2.2.1 图层整理

在一个地图文档中图层数量的多少将会影响到地图服务的访问速度,在组织图层结构时,根据应用需要删除不必要的图层,并对点、线、面图层进行合理的合并处理,减少图层数据量。如果地图服务需要在多级比例尺下显示,那么利用分辨率来组织图层组,一个图层组代表一种分辨率,在其下面只包含在该分辨率下显示的图层。

2.2.2 属性整理

组织图层时,由于图层对应的数据源并没有经过显示优化,数据中包含了一些冗余的或是与业务应用无关的属性字段或记录。在发布服务之前,将这些不重要的、多余的字段和记录删除,可以提高地图查询效率。譬如,对一些只要求具备空间图形信息的图层,可以将其所有属性字段都删除,只保留“FID”、“LENGHT”、“Shape*”等图形字段。

2.2.3 地图渲染

WMS服务的出图效率和地图文档的地图渲染效果有直接关系。在制作地图文档时,对于地图中的点、线、面要素应避免复杂的渲染效果,尽量越简单越好。在地图渲染时,应注意几个方面。

(1)点的Symbol尽量使用简单符号和字符型符号,如圆点、方形、三角形等符号,用实色填充,避免使用位图符号、Halo和Mask效果。在设置符号化时,使用整型字段作为符号值,提高符号化效率。

(2)线的Symbol尽量使用简单的线型,不要使用3D类型的线型,宽度在满足视觉要求的情况下越小越好。面的Symbol最好选用无边框、无花纹、实色填充的符号,建议采用ESRI_Optimized符号,尽量少用复杂的填充图案和3D类的面符号,避免使用位图填充。

(3)地图图层尽量不使用Labels(标注),使用Annotation(注记)代替。如果确实需要Labels时,在字体Symbol的选择中,尽量不选带阴影和背景色的字体,不选加粗和加下划线。建议根据需要,通过Label Expression选择比较重要的要素显示Labels,以减少Labels的数量。

(4)地图文档中所有数据都采用相同的空间参考,避免进行地图动态投影。

(5)地图文档中的数据进行空间图形简化处理(Simplify)。

2.3 服务发布设置

从ArcGIS9.3.1开始,ESRI推出了地图服务定义文件(MSD),基于MSD发布的地图服务使用一种快速的绘制引擎,其地图服务性能比MXD文件更优秀。表4是基于MXD和MSD两种地图文档的WMS动态绘图响应数据,单位:s。表5是基于MXD和MSD的缓存瓦片生成性能(数据面积约80km2,按1:18056、1:9028、1:4514三种比例尺切图,瓦片大小256×256,格式PNG24),单位:秒。

通过表4、表5可以发现以下几点。

(1)基于MSD方式的地图服务在放大、缩小和漫游操作中平均响应性能比基于MXD方式提高比例分别为:42.77%、37.6%和41.05%。

(2)基于MSD地图服务缓存切片的生成效率相较于MXD提高比例为7.71%。

同时,基于MSD的地图服务还对线性光滑和字体边缘增加了反锯齿处理,并可同时应用于动态绘制和混村瓦片绘制。

2.4 配置参数优化

合理设置ArcGIS Server的服务参数能够有效的提高地图服务的性能。

(1)采用池化服务,将服务对象放在对象池中,有效降低了服务请求时创建对象的时间成本,提供了更好的伸缩性。

(2)采用高隔离设置,让每个Service实例都运行在一个ArcSOC.exe进程中,满足响应时间短,吞吐量高的要求。同时,当进程失败时,只会影响一个实例。表6是不同隔离机制时的性能数据,高隔离的性能优势比较明显。

(3)合理设置服务的实例数。实例数太多会导致服务争抢CPU资源,实例数太少会降低服务创建效率,增加响应时间。表7是不同数据源类型性能峰值时每个CPU核配置的实例数。

3 结语

地图服务的访问速度和性能是制约数字城市地理信息公共服务平台推广应用的一个方面,该文基于ArcGIS Server应用平台,以地图服务为例,介绍了一些在日常使用中总结整理的优化方法,供大家参考。

参考文献

[1] 张黎娜.基于ArcSDE的空间数据库性能优化技术研究[D].合肥:安徽大学,2014.

[2] 赵阳.地理信息公共服务平台集群架构的研究与设计[D].昆明:昆明理工大学,2013.

[3] 陈昕,张红军,戴亮亮,等.基于MSD地图服务性能和应用策略研究[J].现代测绘,2010(11).

[4] 王星捷,杨森.ArcGIS Server分布式技术实现与优化[J].计算机工程与设计,2012(9).

[5] 张立朝,潘贞,郑海鹰,等,分布式AGS的性能优化研究[J].测绘科学,2008(4):187-189.

[6] 宋丽,梁东业,魏显栋.ArcGIS Server应用开发中的数据优化策略[J].长江科学院院报,2010(1):42-44.

猜你喜欢
数据源图层文档
浅谈Matlab与Word文档的应用接口
有人一声不吭向你扔了个文档
轻松编辑PDF文档
为《飞舞的空竹龙》加动感
以假乱真窥探湿玻璃后的风景
图表中的交互 数据钻取还能这么用
与众不同“跳出”画面更个性
Word文档 高效分合有高招
基于Excel的照片查询系统开发与应用
再谈利用邮件合并功能批量生成准考证