APP下载

城市地下管网系统地图缓存技术研究与优化

2016-02-27张方舟王学宇肖慧璁谢会敏

计算机技术与发展 2016年11期
关键词:切片管网客户端

张方舟,王学宇,肖慧璁,谢会敏,崔 卓

(东北石油大学 计算机与信息技术学院,黑龙江 大庆 163318)

城市地下管网系统地图缓存技术研究与优化

张方舟,王学宇,肖慧璁,谢会敏,崔 卓

(东北石油大学 计算机与信息技术学院,黑龙江 大庆 163318)

城市地下管网随着城市的建设日趋复杂,地下管网在城市的正常运转中发挥着至关重要的作用。城市管网地理信息系统有效地解决了复杂管网规模下管网数据的组织和有效管理。地理信息系统与Internet结合形成的WebGIS,使越来越多的人能轻松获取地理信息数据,随着网络地图并发访问量的增加,对地图服务的性能要求也越来越高。网络地图缓存技术作为提升服务器与客户端间交互效率的重要措施,也成为地图服务方向研究的热点问题。针对地图缓存技术中的地图切片规则、切片编码、切片组织和存储、切片索引等关键技术进行了深入研究。归纳总结了一种电子地图切片方法,编程实现了城市地下管网系统和地图切片程序。通过系统测试表明,地图缓存技术的应用在解决系统响应时间上具有明显的优化作用。

城市管网;WebGIS;地图缓存技术;地图切片

0 引 言

随着城市的快速发展,城市地下管网的建设无论从种类还是数量都得到了极大的丰富。城市地下管网在保证城市日常运转中起到了至关重要的作用。如何处理好地下管网的日常运行维护管理工作,保障居民生产生活,对于城市建设具有重要意义。管理者需要及时准确地了解城市地下管网的位置信息和属性信息。传统方式为人们在工程图纸上绘制管网信息,指导管网项目的规划,存储纸质图纸和管网信息材料。但纸质材料无论在检索还是保存上都满足不了城市管网发展的需要。城市地理信息系统很好地解决了此问题,使得城市地下管网管理更加数字化、信息化、现代化[1]。地理信息系统(Geographic Information System,GIS)以一种计算机系统的形式对地理数据进行管理,包括信息输入、信息存储、信息查询、信息分析和信息显示。地理信息系统与地理学、地图学、遥感和计算机相结合,可以应用到城市地下管网的管理中。作为地理信息系统的一个种类,网络地理信息系统(Web-GIS)是Internet技术应用于GIS开发的产物,通过二者的结合,GIS的功能得到了扩展,使得GIS的应用更加广泛[2]。通过互联网的形式,网络中任意节点都可以通过浏览器访问到WebGIS站点内的空间数据,在大量地理数据的基础上绘制地图,浏览地图,查询信息,甚至可以进行空间的检索和分析,让GIS大众化。但WebGIS具有一定的局限性,响应速度和用户的交互往往受到网络带宽、服务器开销等因素的影响。地图缓存技术的出现给WebGIS的发展带来了实质性的改变。国内外互联网地图服务提供商如Google Map、百度地图、搜狗地图等均采用地图缓存技术实现地图的快速响应、地图快速浏览、信息快速查询[3]。

文中在研究地图缓存技术的基础上归纳总结了一种电子地图切片方法,并将该方法运用到城市地下管网项目中。

1 地图缓存技术

提高地图访问效率的方法有很多种,例如在系统中构建高效的空间数据库、优化属性信息的查询、属性信息分级显示等方面。Google提出的地图切片技术是对传统WebGIS架构的一种突破,以地图切片(Map Tile)即缓存图片的概念应用到地理信息系统中,这种以空间换取用户浏览时间的方式能够高效解决网络带宽限制、网络负载和延迟[4]。使用户下一步请求可以在缓存文件和服务器同时进行访问,降低了磁盘访问的次数,提高了用户对WebGIS系统的使用效率。

地图缓存技术是提高网络地图服务访问效率的最有效技术之一,它能解决网络带宽限制和服务器开销对浏览速度影响的问题。其关键思想就是利用一定的数学规则,将制作好的数字地图文件在某几个或十几个特定的比例尺下以图片的形式进行切片。称这些地图图片为地图切片,这些形成的切片文件会依据比例尺和切片的规则进行有序的编码。通过地图切片组织模型将地图切片存放在数据库或文件夹内。当客户端向服务器发送地图服务请求时,服务器会根据请求中的特定参数,找到服务器中相对应的地图切片。服务器返回给客户端的地图切片会拼接成用户请求浏览的区域[5]。

地图缓存技术的优点就是使用静态地图切片替代动态生成的地图区域,应用地图缓存技术高质量的地图切片不但保证了地图显示的效果还缩短了动态显示复杂地图所花费的时间。但地图缓存技术也受到地图切片切片时间长、地图切片数据占用存储空间大的限制。因此地图切片技术适用于地图数据相对稳定、短时期不变的地图服务。

地图服务的广泛应用使得地图缓存技术的发展更加细化,主要研究的方向涉及地图缓存的策略,分为融合缓存、多图层缓存和按需缓存[5-6]。地图切片切图方法,包括不同的切片算法、不同的图片格式、切片大小、缩放级数、比例尺和空间参考坐标系统。还有地图切片目录组织模型、地图切片的存储和地图切片的数据更新。

2 地图切片方法

2.1 地图切片流程

地图切片技术的核心就是按照一定的数学规则,把地图按照预先设定好的比例尺进行切片,切割好的地图图片集合分别以不同的比例尺存放在服务器中[7]。用户在客户端平移和缩放操作地图时调用服务器内的地图切片,取代了动态制图请求带来的服务器开销。客户端的请求带有位置参数,服务器根据位置参数返回相应的地图切片集,提升地图浏览的速度。不同范围和应用的地图切片是不同的。为了保证地图文件切分后的图片满足服务器传输高效、客户端拼接和地图显示等要求,在地图切片过程中必须为切片定义相应的规格参数。切割的地图文档是基于ArcMap制作的电子地图即为.Mxd文件。作为ArcGIS的重要桌面组件之一,ArcMap可支持多数据源的输入、编辑、查询、分析等功能。应用其制图,可实现多图层的叠加,设置图例、可见范围、比例尺等。

地图切片的流程如图1所示。

预先制作好地图文件,确定地图文件内的地理坐标范围,设置地图切片的尺寸和格式、设定缩放级别。将此范围内的地图输出为规则大小的地图切片。保存到指定的目录文件[8]。根据图1流程由地图比例尺的最小级别开始切割逐级缩放循环执行以上步骤,直至地图的最大比例尺,地图切片完毕[9]。相邻两个比例尺大小是1∶2,切片的数量是1∶4。这种建立在区域循环分解上的数据结构符合四叉树结构的思想,四叉树数据结构在GIS领域应用广泛。地图切割后的图片成为地图缓存,地图切片依据命名和逻辑位置进行存储和检索。

2.2 切片规则

(1)切片空间范围。

切片地图地理范围是由规则的矩形构成,切片过程就是将大矩形切割成相等大小的地图切片[10]。切片的空间表示如图2所示。需要切割的地理空间范围在此坐标轴上由(TileMatrixMinX,TileMatrixMaxY),(TileMatrixMinX,TileMatrixMinY),(TileMatrixMaxX,TileMatrixMinY),(TileMatrixMaxX,TileMatrixMaxY)四个点组成。每张地图切片(TileMatrix)都具有列编码(TileCol)、行编码(TileRow),切片长度(TileHeight)、切片宽度(TileWidth),以像素为单位[11]。

图2 切片空间范围

(2)比例尺、缩放等级、地图分辨率。

电子地图不同于纸质地图固定的比例尺,它是在已知原始地理信息数据的情况下,创建足够多的离散的缩放级别。比例尺从小到大,展示的信息从宏观到细微,整个地理信息就呈现给用户浏览。地图的缩放级别与比例尺一一对应。用户通过浏览器请求地图区域时,需要计算此区域的屏幕坐标所换算的地理空间范围坐标,根据地理空间范围坐标找到此缩放级别下对应的地图切片编码,再通过客户端技术无缝拼接出地图区域呈现在计算机屏幕上。

地图缩放级别的分辨率(Resolution),是指某缩放级别每个像素代表的实际距离;比例尺(Scale),是指某缩放级别地图上一米代表的实际距离;屏幕分辨率(Screen Resolution)即为Sr;长度转换单位(Meters per inch)即为Mpi,1英寸(in)=0.025 4米(m);地图比例尺与地图缩放级别的分辨率的关系:Scale=Resolution×每米的像素个数;地图的缩放等级从0到N(N≥1),相邻缩放级别地图切片为前一级的四倍;地图比例尺与地图分辨率换算公式为:

Scale=Resolution×Sr/Mpi

(1)

屏幕构成的矩形区域分别由(WinMinX,WinMinY)(左上角坐标),(WinMinX,WinMaxY)(左下角坐标),(WinMaxX,WinMaxY)(右下角坐标),(WinMaxX,WinMinY)(右上角坐标)四个点组成。屏幕左上角坐标通常为(0,0),屏幕像素坐标为(X,Y)。已知请求区域的屏幕坐标,则对应的地理空间范围中任意一点可由式(2)和式(3)计算得:

TileMatrixX=TileMatrixMinX+(X-WinMinX)×Resolution

(2)

TileMatrixY=TileMatrixMaxY+(Y-WinMinY)×Resolution

(3)

同时可以根据地理空间坐标和上式反算出对应屏幕坐标。

(3)地图切片大小和格式。

地图切片的尺寸和格式会影响客户端地图请求的拼接和显示。依据切片空间范围图可知地图切片是规则的矩形图片,切片长度(TileHeight)、切片宽度(TileWidth)构成矩形图片的长度和宽度。常用的地图切片格式有JPEG和PNG两种。其中PNG图片又根据其透明度和色度分为PNG8、PNG24、PNG32三种格式。通过表1对图片格式的比较,选择地图切片保存为PNG32格式,满足地图切片压缩质量、浏览器兼容等条件,达到地图显示的良好效果。

表1 图片切片格式属性比较

2.3 切片方法

算法中就是要换算在某一比例尺下,一张定义好尺寸和格式的地图切片所能表示的地理空间范围,或是要切割地理空间范围对应多少张地图切片及它们的编码问题。在给出换算公式前,预先定义一些参数项。

缩放级别为N,地图切片列号为C[N],行号为R[N],地理范围如图2中的参数,设第0级缩放下地图切片列数为C[0],行数为R[0]。

则此缩放级N下每块切片表示的横向实际距离和纵向实际距离分别如式(4)和式(5)所示:

DX=(TileMatrixMaxX-TileMatrixMinX)/ (2N-1×R[0])

(4)

DY=(TileMatrixMaxY-TileMatrixMinY)/ (2N-1×C[0])

(5)

此切片的地理坐标计算公式如下:

TMinX=TileMatrixMinX+C[N]×DX

(6)

TMaxX=TileMatrixMinX+C[N+1]×DX

(7)

TMinY=TileMatrixMaxY-R[N]×DY

(8)

TMaxY=TileMatrixMaxY-R[N+1]×DY

(9)

客户端发送请求,参数包含浏览地图区域的地理范围、缩放级别等。程序依据以上公式计算请求的地理坐标范围所对应的当前缩放级别文件夹内的切片行号和列号。服务器响应并返回地图切片文件给客户端。通过地理范围坐标与屏幕范围坐标互算,客户端进行无缝拼接,拼出浏览的地图区域。

2.4 地图切片目录组织和存储

由于采用地图切片技术,地图切片的数量会随着地图比例尺的变化呈现几何增长。因此,地图切片的编码和地图切片目录组织管理势必影响地图切片技术的效率。地图切片的命名由三部分信息组成,分别是当前地图的缩放级别、此切片的列号、切片的行号。由上文定义参数可得任意一张切片命名为N_R[N]_C[N][12]。切片目录组织中所有地图切片文件存放文件夹MapTile中,依次是不同缩放级别的文件夹,然后是以行号R[N]命名的文件夹,这样在同一个叶文件夹内地图切片会按照列号排序。利用地图切片逻辑上的位置进行规范化的命名便于地图切片的查找。

地图切片存储在文件系统中,以文件系统的方式直接存储和调用地图切片。在对地图切片进行切割时,就已经为地图切片在操作系统内创建了相对应的文件目录和路径。可以通过不同比例尺下的文件路径直接访问地图切片,无需额外建立空间索引。这种方式的好处就是提高了地图服务调用地图切片的效率。数据库存储地图切片时,其自身访问的瓶颈会影响到获取地图切片的效率,而且地图图片不需要属性的查询和归类,操作系统中的文件管理更适合服务器上地图切片的存储。

3 技术应用与测试

3.1 技术应用

技术应用的实例为城市地下管网的WebGIS系统,系统采用ArcGIS Engine 9.3开发组件和C#语言分别对原型系统和切图程序编程实现[13]。城市地下管网系统中包含海量的基础地理信息和带有属性的地面综合、管线、管点信息。地面综合信息包含一些综合建筑和住宅,管线信息包含供热管线、供水管线、污水管线、雨水管线和清水管线。管点信息包含阀门、阀井和站点等,绝大部分数据不会频繁更新。此系统属于典型的WebGIS系统,具有基本的地图操作功能,如平移和缩放、查询属性信息、数据统计和管线分析功能[14]。采用地图缓存技术,用户并发访问地图加载速度变快,系统的使用性能得到了很大提升。

3.2 系统测试与分析

测试主要是为了检验采用地图缓存技术能否给城市地下管网系统性能带来提升,即在不同缩放级别下系统平均响应的时间和并发访问的情况下系统平均响应的时间的前后对比[15]。

测试的网络环境为油田内部网络,服务器端的配置为Intel(R) Xeon(R) CPU E7-4850 v2 @ 2.30 GHz 2.29 GHz 处理器,16 GB安装内存(RAM),2 TB硬盘,客户端选取三个网络节点机器PC1、PC2、PC3,配置分别为AMD Athlon(tm) Ⅱ X2 220 Processor 2.81 GHz,2 GB内存,750 GB硬盘,Pentium(R) Dual-Core CPU E5200 @ 2.50 GHz 2.50 GHz,1 GB内存,500 GB硬盘和Intel(R) Core(TM) i5-3470 CPU @ 3.20 GHz 3.20 GHz,4.00 GB内存,1 TB硬盘。表2为使用缓存技术后地图加载时间比较表。

从表2的测试数据可以分析得出:客户端配置对地图加载时间的影响较小;使用地图缓存技术后,随着区域增大地图数据量增大,客户端加载地图服务的响应时间明显缩短了。

进一步对地图比例尺固定时用户并发访问服务器地图响应的平均时间进行测试。在固定区域并发访问数不断增加时对系统的平均响应时间进行测试,如图3所示。

表2 使用缓存技术前后地图加载时间比较表

图3 并发访问数与平均响应时间前后对比图

从图中数据分析得出:采用地图缓存技术后,服务器处理请求、响应请求的时间明显缩短了。地图缓存技术有效解决了并发访问下网络带宽的限制和服务器开销的限制。

4 结束语

文中在对地图缓存技术研究的基础上,针对其网络地图切片规则、切片方法、切片编码、切片组织和存储等关键技术进行了深入研究。归纳总结出了一种地图切片方法,由地理空间范围计算地图切片的行列号;由屏幕坐标和请求地理空间范围坐标互算得出地图切片显示的位置。基于C#编程语言和ArcGIS Engine 9.3组件,将此方法应用到切图程序中。通过城市地下管网系统开发和测试分析得出,地图缓存技术能够提升用户对网络地图的体验。

[1] 董绍环.城市地下综合管线管理信息系统研究与实现[D].北京:中国石油大学,2011.

[2] 刘吉夫,陈 颙,陈棋福,等.WebGIS应用现状及发展趋势[J].地震,2003,23(4):10-20.

[3] 张俊丽,李艳明,李 欣.WebGIS地图图片缓存技术研究[J].微计算机信息,2009,25(10-1):141-143.

[4] 张晋文,周艳兵,刘小生.网络地图缓存技术研究与应用进展[J].测绘与空间地理信息,2015,38(8):59-62.

[5] 王艳丽,尹 柯,张连堂.基于ArcGIS Server的地图缓存技术研究[J].河南大学学报:自然科学版,2009,39(6):637-640.

[6] 郦敏杰,张 旗,沈萍月,等.ArcGIS Server地图缓存技术及Rest技术在气象服务中的应用[J].浙江气象,2009,30:70-73.

[7] 徐永龙,李 斌,徐明霞,等.一种数字地图切片算法的实现[J].测绘科学,2014,39(2):118-120.

[8] 徐 进,李 颖,刘 瑀.AGS中地图缓存性能优化[J].测绘通报,2012(7):88-90.

[9] 彭 杰.基于切片地图Web服务的地理信息发布技术研究[D].杭州:浙江大学,2011.

[10] 刘 冰,谢 轲,陈小乐,等.基于GIS的瓦片式地图切图算法的设计与实现[J].科技信息,2011(7):60-61.

[11] Open Geospatial Consortium(OGC).OpenGIS 07-057r7_Web_Map_Tile_Service_Standard[EB/OL].2007.http://portal.opengeospatial.org/files/?artifact_id=35326.

[12] 刘让国,刘晓杰,刘顺喜,等.一种基于TMS的瓦片金字塔切分方法[J].无线电工程,2015,45(11):40-43.

[13] 黄梦龙.瓦片地图技术在桌面端GIS中的应用[J].地理空间信息,2011(4):149-151.

[14] 戴雄奇,朱戈文,边 靖.城市供水管网GIS系统的建设管理与维护[J].中国给水排水,2011,27(10):21-24.

[15] 黄祥志,刘 南,刘仁义,等.适用于可编辑WebGIS的动态缓存策略[J].计算机工程,2011,37(5):285-287.

Research and Optimization of Map Caching Technology in Urban Underground Pipe Network System

ZHANG Fang-zhou,WANG Xue-yu,XIAO Hui-cong,XIE Hui-min,CUI Zhuo

(College of Computer and Information Technology,Northeast Petroleum University,Daqing 163318,China)

Urban underground pipe network is becoming more complex with the city’s construction,and it plays a vital role in the normal operation of the city.The urban pipe network geographic information system can effectively solve the organization and effective management of the network data under the complex pipe network.WebGIS that is formed by combining geographic information systems with the Internet lets more and more people have easy access to geographic information data.With increase of the network map concurrent views,the request of map service performance is also becoming higher and higher.As an important measure to improve the efficiency of interaction between server and client,network map caching technology has become a hot issue in map service orientation.The map cache technology in the map of the rules,the slice of encoding,slicing organization and storage,slice index and other key technologies have been studied.An electronic map slicing method is summarized.Urban underground pipe network system and map slicing program are realized by programming.The application of map cache technology is proved to have a significant optimization on the response time of the system.

urban pipe network;WebGIS;map cache technology;map slicing

2016-01-15

2016-04-20

时间:2016-10-24

国家自然科学基金资助项目(61402099);中国石油天然气集团公司重大专项(2013E-38-09)

张方舟(1973-),男,博士,教授,研究方向为计算机网络安全;王学宇(1990-),男,硕士,研究方向为软件工程。

http://www.cnki.net/kcms/detail/61.1450.TP.20161024.1113.022.html

TP39

A

1673-629X(2016)11-0148-05

10.3969/j.issn.1673-629X.2016.11.033

猜你喜欢

切片管网客户端
如何看待传统媒体新闻客户端的“断舍离”?
网络切片标准分析与发展现状
管网独立是妥协还是改革
从管网独立看国企改革
管网改革虚实
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
织起一张共管网
基于SDN与NFV的网络切片架构