1、兼容多 GIS 平台的瓦片生成引擎关键技术研究 张晓晓 庞婷 新乡医学院现代教育技术中心 摘 要: 通过对现有广电系统内各地区网管系统的分析, 设计并实现兼容多 GIS 平台的瓦片生成引擎系统。该系统根据各地区网管系统的实际情况进行服务设计, 通过 Web Service 方式向外发布, 将各地区网管系统内 GIS 平台的图层数据信息进行整合, 实现对 GIS 平台使用的透明性, 为上层网管系统及其他服务提供统一的接口。关键词: 地图切片; Web Service; 多 GIS 平台; 作者简介:张晓晓 (1985) , 女, 河南新乡人, 助理实验师, 硕士, 研究方向为计算机网络、无线传感
2、器网络;作者简介:庞婷 (1989) , 女, 河南洛阳人, 助理实验师, 研究方向为信息管理与信息系统。收稿日期:2017-08-20Key Technologies Research on Tile Generation Engine Compatible with Multi GIS PlatformZHANG Xiao-xiao PANG Ting Modern Educational Technology Center, Xinxiang Medical University; Abstract: Based on the analysis of the network manage
3、ment system in the existing radio and television system, the tile generation engine system compatible with multi GIS platform is designed and implemented. The system is designed according to the actual situation of network management system in all regions, through the Web Service publication, the la
4、yer data of the GIS platform in each area network management system is integrated to achieve the transparency of the GIS platform, which provides a unifiled interface for the upper network management system and other sevices.Keyword: Map tiles; Web Service; multi GIS platform; Received: 2017-08-201
5、背景GIS 具有强大的空间数据管理与分析能力、信息可视化的巨大优势。广电领域中, 大量的数据包含有地理的成分1。因此, 广电资源管理中 GIS 的需求非常大。而广电领域所使用的 GIS 是用 Super Map、Arc GIS 等平台二次开发的, 地图背景信息动态加载, 系统响应时间比较长。为提高加载性能, 本文设计并开发了兼容多 GIS 平台的瓦片生成引擎。通过该引擎可以将第三方地图供应商的图形资源转换成可在业务保障系统范围内使用的标准服务, 提高地图资源的利用率。2 瓦片生成引擎的设计2.1 瓦片生成引擎的结构和开发环境根据引擎开发过程中应用程序对相应数据信息的处理过程, 把整个引擎分为两
6、个部分:接口部分和核心部分, 如图 1 所示, 这两部分是上下层的关系, 即通过接口部分输入的数据信息, 需要通过核心部分的处理, 才能实现对特定 GIS 系统的图层信息标准化处理。其中, 多 GIS 平台接口模块实现了总控系统与不同GIS 平台之间的数据通信功能。瓦片生成引擎以开源软件 Eclipse 为开发平台, 采用 Supermap、Arc GIS、Microstation 的开发包并采用 OSGi 架构来开发, 同时运用 Java 相关知识构建开发应用程序, 客户端用 Flex 语言来开发。图 1 系统架构 下载原图2.2 瓦片切割引擎的功能设计本文以 Super Map 和 Arc
7、 GIS 等平台为样本, 对现有广电系统使用的各种 GIS平台软件进行分析, 通过分析各 GIS 平台提供的 API 接口, 实现图层信息标准化处理模块。通过 API 接口函数访问各平台, 输出 Googel Map 格式的图像文件资源, 客户端使用。瓦片生成引擎主要分为三个模块:切图模块、切图配置模块和瓦片资源库模块。详细功能如下:1) 输入模块:主要实现对 GIS 平台现有的 API 进行分析, 设计并实现统一的对外接口, 实现对各 GIS 平台使用的透明性;该模块为背景地理图片信息的输入模块。2) 切图模块:是主要的模块, 可以通过此模块与已有不同 GIS 服务器进行连接, 从 GIS
8、数据库中导出地图切片文件;并将地图切片文件存储到服务器上供客户端使用。本模块只从 GIS 系统中获得数据, 不对 GIS 系统数据修改。3) 切图配置模块:该模块为用户提供管理和同步 GIS 信息的界面。该界面采用Flex 设计, 可选择各种切图所需的地图信息, 并能实时追踪瓦片生成和上传过程中的各种信息, 在瓦片生成后自动调用上传功能。4) 瓦片资源库模块:以资源服务方式对外提供基础地理信息图片服务, 本模块以简单的接口提供图层资源信息, 避免在浏览器端或客户端作过于复杂的图层绘制工作。该模块把切图模块经过标准化处理过的切片信息通过 FTP 协议并采用断点续传方式上传至瓦片存储服务器中, 保
9、证了图片上传的准确性。3 地图瓦片参数解析3.1 瓦片大小及命名规则在不同的地图分辨率下, 通过切割的方式将地图划分为像素为 256*256 的地图单元, 划分成的每一块地图单元称为地图瓦片。实现地图切片与其真实地理坐标之间的相互换算是其他方面工作的前提和基础2。为了组织如此多的地图瓦片, 地图是用来一个简单的坐标系统。每个瓦片都有一个 level 来表示其缩放级别, 还有一个 row 和一个 column 来表示该瓦片在当前缩放级别下的网格内的位置。因此, 瓦片的命名采用 level_row_column 的形式命名, 并且生成的瓦片会放在 level 命名的文件夹中。其中, level 表
10、示地图的级别, row 表示瓦片的横向索引, 起始位置为最左边, 数值为 0, 向右+1 递增。column 表示瓦片的纵向索引, 起始位置为最上面, 数值为 0, 向下+1 递增。3.2 瓦片存储格式由于瓦片数量是随缩放级别按指数增长的, 因此每提高一个缩放级别会增加大量的地图细节, 同时为了应付越来越多的瓦片, 对带宽和存储空间的需求也会相应增加。对图像进行压缩是一种节省空间开支的有效方法3。常用的地图瓦片格式有 JPEG 和 PNG 两种。PNG 是目前保证最不失真的格式, 它能把图像文件压缩到极限以利于网络传输, 但又能保留所有与图像品质有关的信息。同时 PNG 支持透明图像的制作,
11、可让图像和网页背景和谐地融合在一起。根据透明度和色度 PNG 图片分为 PNG8、PNG24、PNG32 三种格式。通过表对图片格式的比较, 选择地图切片保存为 PNG32 格式, 满足地图切片压缩质量、浏览器兼容等条件, 达到地图显示的良好效果4。瓦片存储格式比较如表 1 所示。表 1 存储格式比较 下载原表 4 瓦片生成引擎测试与分析配置模块采用 FLex 设计了界面友好的 Flex 客户端界面如图 2 所示, 可以选择切图所需的地图信息并可对切图参数进行配置。该模块通过 Web Service 方式调用切图模块实现对配置信息的浏览及修改、初始图预览及运行状态查看等操作。同时该模块对外提供
12、图层管理的功能, 用户可以根据实际需要进行添加和删除图层以控制地图图层的显示与隐藏。图 2 切图等级 2 的基于 Flex 的客户端 下载原图基于 FLex 的客户端将切图等级为 2 的请求写入配置文件中, 点击开始切图调用瓦片生成引擎, 利用瓦片生成算法将生成的瓦片上传至指定的目录下。由算法可知, 生成的瓦片数量为 4 张。切图等级 2 时的结果如图 3 所示。图 3 等级 2 的生成的瓦片 下载原图图 4 完整的地图 下载原图图 4 是一张完整的地图, 图 3 是切图等级为 2 时 GIS Map Service 模块生成的4 张瓦片, 通过 4 张瓦片的拼合对比验证了输出瓦片的正确性。5
13、 结束语利用 GIS 系统管理广电系统的网络资源, 可以提高用户的满意度。针对各地广电系统所应用不同的 GIS 平台, 对其进行整合兼容, 使得不同地区、不同 GIS平台的有线电视部门可以统一使用本系统。本文利用瓦片生成引擎生成地图瓦片, 提高了图片资源的访问速度。参考文献1北京凯普奇科技开发有限公司.基于 Super Map GIS 的广电网络资源管理系统解决方案C.2005. 2谭庆全, 薄涛, 等.基于 Arc IMS 实现切片式 Web GIS 及其在地震应急中的应用J.防灾科技学院学报, 2011, 13 (1) :65-69. 3刘慧杰, 李英成, 靳海亮.地图缓存技术显示模式的研究J.地理信息世界, 2012, 6 (3) :52-55. 4张方舟, 王学宇, 等.城市地下管网系统地图缓存技术研究与优化J.计算机技术与发展, 2016, 26 (11) :148-152.