尹 川,宁方馨
(1.首都师范大学 资源环境与旅游学院,北京 100048; 2.中国国土资源航空物探遥感中心,北京 100083)
基于SVG道路网增量更新的提取、组织与表达
尹 川1,宁方馨2
(1.首都师范大学 资源环境与旅游学院,北京 100048; 2.中国国土资源航空物探遥感中心,北京 100083)
针对道路网增量更新模式中增量更新文件的组织和表达等问题,对现有方法进行了比较和改进,提出一种基于可伸缩矢量图形(SVG)数据格式增量更新文件的快速生成方法;重点研究如何在现有GIS软件平台下快速提取增量信息以及生成增量更新文件的关键技术。实验结果表明,得到的SVG增量更新文件更适用于客户端的数据更新操作,较传统的XML格式有更好的表达显示效果,验证了该技术方案的可行性。
道路网;增量更新文件;提取;更新;SVG
随着导航电子地图应用的日趋广泛,如何进行快速、准确地地图数据更新就显得格外重要。道路网增量更新模式由于其方式灵活且能更好地保证空间数据的现势性,是未来数据库更新的主要趋势。增量更新模式的实质是通过增量更新文件实现服务器端和客户端异构系统平台间的地理空间数据的信息共享和互操作。随着XML的不断发展,地理信息科学领域利用其特点来实现空间数据的共享和互操作的应用也越来越多。在地图增量更新模式的研究中,不少学者采用XML作为增量更新文件数据格式,但一般生成文件的操作方法比较复杂,加大了研究的难度[1-3]。SVG是基于XML的,用于描述二维矢量图形的一种图形格式,可很好地解决以上的问题。本文在综合分析XML数据结构和组织特点的基础上,简化了增量更新文件的操作步骤,提出了一种基于SVG的增量更新文件快速生成方法。
如图1所示,同一地区不同时间版本的两个数据集(T1>T0),服务器端获取外部新版地图数据,通过与旧版数据进行对比和匹配,完成对增量信息的识别和提取,提取的增量信息按照数据交互格式规范组织成增量信息文件。
服务器端基于目标匹配的方法完成增量信息的识别和提取,对增量信息依据《地球空间数据交换格式》相关标准进行数据组织。服务器端数据更新操作是在ArcGIS9.3环境下进行,增量信息的识别和提取利用ArcGIS Engine二次开发将需要的非几何信息作为属性数据写入shape文件,最后由ArcGIS Desktop数据导出功能将shape文件生成SVG文件。
图1 更新技术流程图
2.1 增量更新文件的识别和提取
目标匹配是通过对目标的几何、拓扑和语义进行相似性度量,识别出同一地区不同来源的空间数据集中的同一地物,从而建立两个空间数据集间同名目标间的链接,以及探测不同数据集间的差异或变化[4]。
线状目标几何匹配时常用的度量指标有角度、分裂度、距离和重合度[5]。道路网数据在实际的匹配过程中,若源目标集合与待匹配目标集合数据集来自同一数据源,那么两个数据集之间误差较小,可对道路线要素采用重叠分裂度的方法进行匹配[6];若两个数据集不是来自同一数据源,误差较大,就需要采用面积迭置率的计算。本文属于后一种情况,此处面积迭置率定义为两个面实体相互重叠的面积占各自总面积的比值[7-8]。
首先需要定义面积迭置率的指标。假设Ai和Bi是两个待匹配的道路实体的面缓冲区,根据Sim(Ai,Bi)和Sim(Bi,Ai)来计算其面积迭置率,则它们之间的迭置率为:
式中,Area(Ai,Bi)为Ai与Bi缓冲区相交面积。当Sim(Ai,Bi)、Sim(Bi,Ai)中至少有一个大于某个阈值时,它们就存在匹配的可能性。当Sim(Ai,Bi)接近1时,表明Ai整体和Bi匹配;当Sim(Bi,Ai)接近1时,表明Bi整体和Ai匹配;当Sim(Ai,Bi)、Sim(Bi,Ai)同时接近1时,说明Ai与Bi是1∶1匹配的。这里的阈值采用最大类间方差进行计算得到,该方法得到的匹配阈值相对于经验阈值具有更好的针对性和准确性[9]。
假设tl时刻的道路要素集合为t2时刻的道路要素集合为两个对象图形匹配允许阈值为e,遍历道路对象集合OBJt1,设O为其中任意元素,对O以一定宽度作缓冲区A,在该缓冲区范围内查找t2时刻内满足匹配阈值大于e的元素,则根据t1、t2时刻匹配目标元素的数量,目标匹配的关系表达为1∶0、1∶1、1∶N、N∶1、0∶1、M∶N六种,则对线对象增量提取过程可以如下描述:
1)若目标匹配关系为1∶0,则变化类型为消失。
2)若目标匹配关系为1∶1,则需要分别通过判断该对象t1时刻的面积迭置率Simt1和对应匹配对象t2时刻的面积迭置率Simt2与阈值e的大小关系来决定其对象变化类型。如果Simt1、Simt2同时大于e且属性信息没有发生改变,则变化类型为稳定;属性信息发生改变,则变化类型为属性变化,将该对象写入增量更新文件;如果Simt1>e且Simt2<e,则变化类型为变形;如果Simt1<e且Simt2>e,变化类型也为变形。
3)若目标匹配关系为1∶N,则变化类型为分割。4)若目标匹配关系为N∶1,则变化类型为合并。5)若目标匹配关系为0∶1,则变化类型为新增。6)若目标匹配关系为M∶N,则变化类型为重新分配。
2.2 增量更新文件数据格式
完整的空间矢量数据由图形的定位属性、图形表现属性和非图形属性组成。当空间矢量数据只包含图形的定位属性和图形表现属性时,可满足电子地图数据交换的需求;当空间矢量数据只包含图形的定位属性和非图形属性时,可满足GIS数据交换服务的需求;当空间矢量数据3个属性都包含时,既可满足GIS数据交换服务,又可满足地图制图数据转换要求[10]。
本文设计的道路增量更新文件主要包括系统内部编号、道路ID、几何信息、属性信息、层名、地理变化类型和更新操作ID等,其对象组织结构关系如表1。
表1 增量文件组织结构表
系统内部ID为系统内部自动生成的递增编号;道路ID为旧版地图道路的ID,更新操作过程可通过该ID在旧版地图中获得待更新的道路要素;层名记录当前道路要素所在的道路层名称;地理变化类型为当前要素发生地理变化类型的编号,本文共定义8种(消失、稳定、新增、变形、分割、合并、属性变化和重新分配)。
2.3 转换生成svg格式
目前,对于空间数据互操作的研究主要是基于XML规范的,即客户端与服务器端的信息通信采用遵循XML的数据流,用XML语言描述空间对象的定义及具体表达形成,以实现不同GIS软件之间数据的共享和互操作[11]。空间数据的互操作层次一般有3种:元数据层、数据层和语义层[12]。元数据结构相对简单,利用XML来定义描述较容易,实现数据互操作相对可行。数据层由于基于XML的互操作涉及空间数据与空间关系描述的复杂性,现在还没有较好的标准提出。语义层互操作涉及更广泛、复杂的问题,已成为目前研究的热点。
SVG共支持3种图形对象,分别是文本、矢量图形和点阵图像。基本的图形元素包括line、circle、polygon和path等,增量更新文件的几何信息可用这些图形要素来表达。增量更新文件中其他非几何信息可用SVG的属性数据来进行组织。目前获得SVG图形数据的方式一般有两种:采用专业的支持svg格式的图形图像软件生成SVG图像;利用已有的GIS地图数据通过格式转换生成SVG图像。本文先采用第一种方式在ArcGIS中通过格式转换功能将shape文件生成标准svg格式,再通过第二种方式对标准SVG进行格式转换生成移动客户端支持的MSVG格式[13]。
基于ArcEngine二次开发技术,将提取的增量信息写入相应的字段中,生成的增量信息文件为shape格式,属性表如图2所示。
图2 shape格式增量更新文件
利 用ArcGIS工 具 栏 下 的“Data Interoperaility Tools”数据导出功能将shape文件以svg格式输出,浏览器在安装SVG相关插件后就可直接打开SVG文件,显示效果如图3。
图3 shape转换为标准SVG文件
标准的svg格式只能用在性能较高的PC机上,不支持移动设备,为此SVG开发团队针对移动设备CPU速度慢、内存和显示屏小等特点,对标准SVG文件进行了相应的缩减,取消了某些高级属性和功能的支持,制定出MSVG规范。根据移动设备硬件的具体情况,MSVG分为两个级别:SVG Basic和SVG Tiny[14]。
3.1 MSVG数据特点
SVG与MSVG同时支持的基本图形元素有<path>、<text>、<rect>、<circle>、<ellipse><line><polyline><polygon>。另外还包括<image>元素,支持外部SVG文件或图形文件的嵌入;<symbol>和<defs>支持自定义图形,利用<use>将其显示在特定的位置。虽然MSVG是针对移动设备表达的SVG二维图形指定的标准,但是由于移动设备本身硬件条件的限制,所以SVG很多的高级属性(渐变、透明、剪贴、符号及滤镜等),MSVG并不支持[15]。表2是MSVG对各种属性的支持程度的简要介绍。
3.2 数据转换步骤
SVG具有设计完善的DOM接口,用户可通过DOM接口对SVG进行存取和维护。DOM包含两个关键的抽象概念:树状的层次结构和用来表示文档内容和结构的节点集合。这些节点是SVG文档的各个元素及属性名,这样就可通过该层次结构找到并修改某一特定节点的信息。标准SVG转化为MSVG主要包括3个步骤:
表2 MSVG对各元素功能的支持表
1)由于标准SVG与MSVG命名空间不同,首先需要对其引用的命名空间进行转换,标准SVG的命名空间为:
<!-- Creator: ESRI ArcMap 9.3.0.1770 -->
<!DOCTYPESVG PUBLIC "-//W3C//DTD SVG 1.1// EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/SVG11. dtd">
<SVG width="853.51181pt" height="621.01417pt" viewBox="0 0 853.51181 621.01417" enable-backgroun d="new00853.51181621.01417"version="1.1"xmlns="h ttp://www.w3.org/2000/SVG" xmlns:xlink="http://www. w3.org/1999/xlink" >
MSVG的命名空间为:
<!-- Generator: Mobile Designer 2 2.0 -->
<SVG width="240" height="320" viewBox="-120 -160 240 320" stroke-miterlimit="2" xmlns="http:// www.w3.org/2000/SVG"xmlns:xlink="http://www. w3.org/1999/xlink"xml:space="preserve" version="1.1" baseProfile="tiny">
2)因为MSVG并不支持SVG规定的高级功能,在进行转换时需将一些高级属性,如渐变、透明、剪贴、符号及滤镜等删除。
3)经过ArcGIS对shape转换后的SVG的某些属性名称会发生改变,如<fme∶OBJECTID>、<fme∶NameUpdate="delete">等,在原有名称前面加了frm∶,而MSVG属性命名规则是不支持这样命名的,所以需将含有特殊字符的属性名字替换为符合MSVG命名规则的名称。
3.3 客户端验证
将经过转换得到的MSVG增量更新文件加载到客户端,模拟浏览器显示效果如图4所示。由于SVG文件采用DOM树结构,用户能方便获取所有文档的标签及它们的属性,可间接地对地理对象进行访问和管理。通过DOM接口获取SVG的各个对象后,利用JavaScript可响应诸如鼠标移动、键盘操作等交互事件,可对增量更新文件的属性数据进行查询、选取和编辑等。这样再进行客户端更新操作就可达到更高的交互性,由于这方面的研究很多,技术比较成熟,不再过多阐述。
图4 MSVG移动端显示
在增量更新过程中,增量更新文件可根据实际情况灵活地采用多种格式,但是由于XML格式的优越性,大多数研究者采用该格式。SVG是基于XML的一种数据格式,本文利用当前流行的GIS软件直接生成SVG文档,相对于传统方法,省去了手工编写XML文档的过程,可把更多精力放在设计文档数据结构或其他研究内容上。经过转换后的MSVG增量更新文件更加轻量化,方便在客户端进行数据显示和更新操作。但由于本文实验地图数据范围较小,当更新范围较大时更新文件很难满足需求,在下一步工作中就需要对更新文件数据组织进行相应的优化和数据压缩,以提高其实用性。
[1] 陈军,胡云岗,赵仁亮,等.道路数据缩编更新的自动综合方法研究[J].武汉大学学报(信息科学版),2007,32(11)∶1 022-1 027
[2] 应申,李霖,刘万增.版本数据库中基于目标匹配的变化信息提取与数据更新[J].武汉大学学报(信息科学版), 2009,34(6)∶45-50
[3] 唐远彬.土地利用更新的联动机制与增量提取[D].杭州∶浙江大学,2011
[4] 胡云岗,陈军,赵仁亮,等.地图数据缩编更新中道路数据匹配方法[J].武汉大学学报(信息科学版),2010,35(4)∶451-456
[5] 王鹏波.多比例尺道路数据的联动更新研究[D].郑州∶信息工程大学,2009
[6] 唐炉亮,杨必胜,徐开明.基于线状图形相似性的道路数据变化检测[J].武汉大学学报(信息科学版),2008,33(4)∶367-370
[7] 李德仁,龚健雅,张桥平.论地图数据库合并技术[J].测绘科学,2004,29(1)∶1-4
[8] 张桥平,李德仁,龚健雅.地图合并技术[J].测绘通报,2001(7)∶6-8
[9] 尹川.导航电子地图更新中道路网增量信息的提取与发布[D].北京∶首都师范大学,2012
[10] 许珺.关于线状地理特征空间关系的自然语言描述的形式化表达[J].遥感学报,2007,11(2)∶152-158
[11] 马文涛,赵彩云,郝起礼,等.面状要素几何度量指标的研究[J].测绘技术装备,2007,9(3)∶10-12
[12] 罗广祥,王丹丹,王俊峰,等.线状与面状对象的拓扑关系及其度量指标体系研究[J].测绘科学,2007,32(4)∶85-92
[13] Ostu N.A Threshold Selection Method from Gray-level Histogram[J].IEEE Trans,1979,SMC-9∶62-66
[14] 景晓军,蔡安妮,孙景鳌.一种基于二维最大类间方差的图像分割算法[J].通信学报,2001,22(4)∶71-76
[15] 陈科. 基于判别分析的遥感影像变化检测方法研究[D].郑州∶ 信息工程大学,2009
本 刊 声 明
为适应我国信息化建设,扩大本刊及作者知识信息交流渠道,本刊数据已被《中国核心期刊(遴选)数据库》《CNKI 中国期刊全文数据库》和《中文科技期刊数据库(全文版)》等收录。在《地理空间信息》发表的论文均默认将其在著作权保护期内的复制权、发行权、汇编权、翻译权以及网络传播权授权给《地理空间信息》编辑部,编辑部可将上述权利转授给第三方使用。作者不再许可他人以任何形式使用该篇论文,但可以在其后续作品中引用(或翻译)该论文中部分内容或将其汇编在作者的非期刊类文集中。如不同意,请事先声明,本刊另作处理。其文章的著作权使用费与本刊稿酬一次性给付(已在收取发表费时折减和换算为杂志赠阅)。
(本刊编辑部)
P208
B
1672-4623(2016)05-0014-04
10.3969/j.issn.1672-4623.2016.05.005
尹川,博士,主要从事地图数据更新、空间分析研究。
2015-03-17。
项目来源:国家自然科学基金资助项目(41371375);国家科技支撑计划资助项目(2012BAH33B03、2012BAH33B05);北京市自然科学基金资助项目(8132018)。