基于层次划分存储结构的空间矢量数据在线交互制图方法

文档序号:6536677阅读:160来源:国知局
基于层次划分存储结构的空间矢量数据在线交互制图方法
【专利摘要】本发明提供一种空间矢量数据在线交互制图方法。技术方案是:设用户在线交互制图所操作的空间矢量数据为D,具体包括以下两部分:第一部分:建立空间矢量数据D的层次划分存储结构TD。第二部分:基于D的层次划分矢量要素瓦片集合TD的在线交互制图。首先,服务器根据金字塔索引计算得到制图区域在全球地理空间金字塔层次划分框架瓦片集合G中的层编号L;其次,将地理坐标范围R和TD在第L层进行空间拓扑相交运算,得到矢量要素瓦片子集TD’;服务器按照制图样式ST的描述对矢量要素数据进行制图渲染处理,形成制图结果并将结果返回客户端。本发明提供的在线交互制图方法更加快捷、高效,可直接用于大多数服务器地理信息系统中。
【专利说明】基于层次划分存储结构的空间矢量数据在线交互制图方法
【技术领域】
[0001]本发明涉及地理信息系统中空间矢量数据的交互制图方法,尤其涉及一种基于服务器的地理信息系统中的大规模空间矢量数据在线交互制图方法。
【背景技术】
[0002]在移动互联网时代,地理信息系统及地理信息应用开始采用服务器体系架构来构建。基于Web的服务器体系架构大大增强了地理空间数据共享程度、减轻了客户端负担、扩展了应用范围。与传统桌面架构相比,服务器体系架构实现了大规模空间数据集的处理与管理,推动了大规模地理信息应用的发展。
[0003]交互制图作为地理信息系统的核心功能之一,必须适应服务器体系架构所带来的影响,主要是当多个用户并发地对不同图层地理数据进行制图操作时,服务器要能快速地对用户交互区制图操作进行响应。
[0004]目前,实现空间矢量数据服务器地图制图的方法主要有两种:一是图层服务器叠合预渲染法;二是图层服务器渲染客户端叠合法。
[0005]图层服务器叠合预渲染法,在服务器端将参与制图的各空间矢量数据图层读取后,先行进行叠合绘制渲染,然后栅格化处理成为规则图片,随后采用索引机制对生成的规则图片进行划分和编码组织,一般按照瓦片制图服务(Tile Map Service)方式提供地图访问服务。这种方法支撑的应用模式是地图浏览,而难以支撑要对地图进行修改的交互式制图。这是由于在这种模式中,地图中的多个图层数据将融合为一个栅格图层,当用户对其中单个图层进行在线交互制图时,引起的单个图层的样式变化将导致整个地图的重新绘制,反复的制图交互而引起的地图重绘将给服务器带来巨大的运算消耗。
[0006]图层服务器渲染客户端叠合法针对上述缺点,采用了服务器绘制、客户端叠合的策略,这减轻了服务器的负担,主要做法是:在服务器端将地图中的多图层分别进行绘制渲染,然后在客户端按照顺序对这些图层进行叠合处理,成为与用户交互的地图。当用户对其中单个图层进行在线交互制图时,服务器只需对所操作图层进行重新渲染并更新到客户端,在客户端与已经生成的其它图层一道再次进行叠合处理,成为更新后的地图。这种方法虽然在一定程度上减少了服务器的负担,但是由于地图的渲染模式由预渲染变为实时渲染,所以服务器的计算消耗仍然是比较大的。
[0007]当进行在线交互制图时,上述两种方法对于服务器的消耗都是比较大的,这是由于在服务器端对于空间矢量数据的制图处理需要反复执行复杂度高的空间查询操作,图层数据量越大,查询路径就可能越长,计算代价就越高。并且,由于在交互式制图过程中,用户往往会对同一组矢量要素定义不同的样式,由此将产生对于该组空间矢量数据的大量而重复的查询处理。消耗大量服务器资源,导致系统响应变慢,服务质量下降。尤其当用户操作大规模空间矢量数据时,密集的查询操作将导致磁盘I/O长时间处于高负荷状态。在高并发条件下,会导致服务器负载过重,甚至失去响应。
【发明内容】

[0008]本发明的主要目的是:提供一种基于层次划分存储结构的空间矢量数据在线交互制图方法,减少大规模空间矢量数据的查询处理时间,降低服务器端空间矢量数据的访问代价,提高基于服务器的地理信息系统的在线交互制图整体性能。
[0009]本发明的技术方案是,一种空间矢量数据在线交互制图方法,设用户在线交互制图所操作的空间矢量数据为D,则本发明具体包括以下两部分:
[0010]第一部分:建立空间矢量数据D的层次划分存储结构TD。
[0011]首先建立全球地理空间金字塔层次划分框架瓦片集合G(集合中的元素称为瓦片);其次以上述集合G中的每个瓦片为单元,与空间矢量数据D进行空间拓扑相交运算,得到的非空矢量要素集称为该瓦片对应的矢量要素瓦片,并按照对应瓦片的层、行、列进行编号;然后,将前步得到的所有矢量要素瓦片,以文件方式进行存储,得到空间矢量数据D的层次划分矢量要素瓦片集合TD。为提高对Td中矢量要素瓦片的存取效率,建立Td的四叉树空间索引结构,改善其访问性能。
[0012]第二部分:基于D的层次划分矢量要素瓦片集合Td的在线交互制图
[0013]首先,用户向服务器提交制图区域的地理坐标范围R以及制图样式ST,服务器根据金字塔索引计算得到制图区域在全球地理空间金字塔层次划分框架瓦片集合G中的层编号L ;其次,将地理坐标范围R和Td在第L层进行空间拓扑相交运算,得到Td在第L层与R拓扑相交的矢量要素瓦片子集TD’ ;然后,对于TD’中的每一个元素(即每一个矢量要素瓦片),服务器将该矢量要素瓦片中的矢量空间要素数据读入内存,并按照制图样式ST的描述对读入内存的矢量要素数据进行制图渲染处理,形成制图结果并将结果返回客户端。
[0014]上述在线交互制图过程,也可以采取一种动态方法来实施,其特征是服务器不事先生成D的层次划分矢量要素瓦片集合TD,而是在交互中根据处理区域逐步形成TD。在这种情况下,当开始交互制图处理时,D的层次划分矢量要素瓦片集合Td是空集。
[0015]步骤如下:
[0016]首先,用户向服务器提交制图区域的地理坐标范围R以及制图样式ST,服务器根据金字塔索引计算得到制图区域在全球地理空间金字塔层次划分框架瓦片集合G中的层编号L ;其次,将地理坐标范围R与集合G在第L层进行空间拓扑相交运算,得到G在第L层与R拓扑相交的瓦片子集SD’;然后,对于SD’中的每一个元素(即每一个瓦片),若该瓦片在Td中对应的矢量要素瓦片存在,则将该矢量要素瓦片中的矢量要素数据读入内存,并按照制图样式ST的描述进行制图渲染处理,形成制图结果并返回客户端;若该瓦片在Td中对应的矢量要素瓦片不存在,则将该瓦片与D做空间相交拓扑相交运算,若结果非空,则作为该瓦片对应的矢量要素瓦片,并添加到矢量要素瓦片集合Td中,更新对应的四叉树索引;同时,将求得的矢量要素瓦片中的矢量要素数据按照制图样式ST的描述进行制图渲染处理,形成制图结果并返回客户端。
[0017]本发明的有益效果是:利用空间矢量数据的层次划分矢量要素瓦片集合,避免在服务器交互制图处理过程中向空间数据库屡次发出代价较高的空间查询操作,而代之以代价较低的面向小规模数据量的瓦片化矢量要素文件的文件读操作,减少了此过程中较为耗时的I/o时间,提高了服务器交互制图效率。此外,在本发明提供的交互制图的动态方法中,不需要对空间矢量数据做预处理,而是在交互制图操作的过程中动态地对操作区域递进生成层次划分矢量要素瓦片集合,避免了对不参与交互操作区域的层次划分处理计算,进一步减少了整体运算代价。因此,本发明提供的在线交互制图方法更加快捷、高效,可直接用于大多数服务器地理信息系统中。
【专利附图】

【附图说明】
[0018]图1是本发明第一部分所涉及的附图,说明了本发明生成空间矢量数据层次划分存储结构流程示意。
[0019]图2是基于层次划分存储结构的服务器在线交互制图处理流程示意图;
[0020]图3是基于本发明所提出的基于层次划分存储结构的服务器在线交互制图动态方法处理流程示意图;
【具体实施方式】
[0021]设用户在线交互制图所操作的空间矢量数据为D,下面结合附图对本发明提供的方法进行详细说明。
[0022]图1是本发明提供的大规模空间矢量数据层次划分存储结构生成方法流程示意图,包括六个步骤:
[0023]第11步, 基于WGS1984Web Mercator全球地理空间投影坐标系,将全球地理空间投影到正方形面,建立全球地理空间金字塔层次划分框架瓦片集合G,G是由覆盖全球的框架瓦片数据结构(以下简称瓦片)组成的集合,描述为:
[0024]G = {g(l, r, c):0 ≤ I ≤ N-1 ;0 ≤ r ≤ 2^1 ;0 ≤ c ≤ 2^1}
[0025]其中,元素g(l,r,c)是瓦片,它由三个参数来定位,分别是:
[0026]1:层编号。I为瓦片g(l,r,c)在集合G所处的划分层的编号,最顶层编号最小,为第O层;最底层编号最大,为N-1。总层数等于N,N的取值取决于该系统划分全球地理空间的分辨率,分辨率越高,N取值越大,反之越小,一般而言,当N=25级时,每个瓦片描述的地面大小约是1.2米X 1.2米。
[0027]r:行编号。r为瓦片g(l,r,c)在第I层中的行编号,最小行编号为第O行,按照四叉树索引结构,该层的行数为21 ;,最大行编号为21-^
[0028]c:列编号。c为瓦片g(l,r, c)在第I层中的列编号,最小列编号为第O列,按照四叉树索引结构,该层的列数为21,最大列编号为21-^
[0029]集合G中的每个瓦片含有两个属性,一是投影坐标,记为Proj1,^= (xfflax, yfflax, Xfflin, ymin),对应于投影空间中的范围;二是按照经纬度的地理坐标,记为Iatlonljr;c= (1nmax, Iatmax, 1nmin, Iatmin),对应于真实世界中的地理范围。
[0030]第12步,按照外包框计算方法求出空间矢量数据D的最小外包框MBRd。
[0031]第13步,将MBRd和集合G进行空间拓扑相交运算,将集合G中与MBRd拓扑相交关系不为空的瓦片提取出来,形成D的层次划分框架瓦片集合SD。
[0032]
Sd = {g{l,r, cy.g{l,r, c) ^sectMBR0 Ψ Φ,(0 < I < N - 1-,0 < r < 2l -1; O < c < 2! -1)}
[0033]记为:[0034]Sd = {s (l, r, c): (0 ≤1 ≤ N-1;rDS ≤ r ≤ rDE; Cds ≤ c ≤ cDE)}
[0035]其中,
[0036]s (1, r, c)是G内的层编号为1,行编号为r,列编号为c的瓦片。
[0037]由于空间矢量数据D的最小外包框MBRd的空间范围有限,因此在集合G的每一层上,G中与MBRd拓扑相交关系不为空的瓦片的行编号和列编号的范围也是有限的,其具体范围与MBRd的的空间位置有关。
[0038]对于行编号r,根据D的空间范围,取值rDS至rDE行,rDS指的是集合Sd中的所有瓦片在第I层中最小行编号,rDE指的是集合Sd中的所有瓦片在第I层中最大行编号。
[0039]对于列编号C,根据D的空间范围,取值cDS至cDE列,cDS指的是集合Sd中的所有瓦片在第I层中最小列编号,cDE指的是集合Sd中的所有瓦片在第I层中最大列编号。
[0040]第14步,将Sd与空间矢量数据D进行空间相交拓扑计算,将D中与Sd中各瓦片相交的要素分别提取出来,形成D的层次划分矢量要素瓦片集合Td ;
[0041]
【权利要求】
1.一种空间矢量数据在线交互制图方法,设用户在线交互制图所操作的空间矢量数据为D,其特征在于,包括以下两部分: 第一部分,建立空间矢量数据D的层次划分存储结构Td: 首先建立全球地理空间金字塔层次划分框架瓦片集合G,集合G中的元素称为瓦片;其次以上述集合G中的每个瓦片为单元,与空间矢量数据D进行空间拓扑相交运算,得到的非空矢量要素集称为该瓦片对应的矢量要素瓦片,并按照对应瓦片的层、行、列进行编号;然后,将得到的所有矢量要素瓦片,以文件方式进行存储,得到空间矢量数据D的层次划分矢量要素瓦片集合Td ;建立Td的四叉树空间索引结构; 第二部分,基于D的层次划分矢量要素瓦片集合Td的在线交互制图: 首先,用户向服务器提交制图区域的地理坐标范围R以及制图样式ST,服务器根据金字塔索引计算得到制图区域在全球地理空间金字塔层次划分框架瓦片集合G中的层编号L ;其次,将地理坐标范围R和Td在第L层进行空间拓扑相交运算,得到Td在第L层与R拓扑相交的矢量要素瓦片子集TD’ ;然后,对于TD’中的每一个元素,即每一个矢量要素瓦片,服务器将该矢量要素瓦片中的矢量空间要素数据读入内存,并按照制图样式ST的描述对读入内存的矢量要素数据进行制图渲染处理,形成制图结果并将结果返回客户端。
2.根据权利要求1所述的空间矢量数据在线交互制图方法,其特征在于,第二部分,基于D的层次划分矢量要素瓦片集合Td的在线交互制图,采用下述过程: 首先,用户向服务器提交制图区域的地理坐标范围R以及制图样式ST,服务器根据金字塔索引计算得到制图区域在全球地理空间金字塔层次划分框架瓦片集合G中的层编号L ;其次,将地理坐标范围R与集合G在第L层进行空间拓扑相交运算,得到G在第L层与R拓扑相交的瓦片子集SD’ ;然后,对于SD’中的每一个元素,即每一个瓦片,若该瓦片在Td中对应的矢量要素瓦片存在,则将该矢量要素瓦片中的矢量要素数据读入内存,并按照制图样式ST的描述进行制图渲染处理,形成制图结果并返回客户端;若该瓦片在Td中对应的矢量要素瓦片不存在,则将该瓦片与D做空间相交拓扑相交运算,若结果非空,则作为该瓦片对应的矢量要素瓦片,并添加到矢量要素瓦片集合Td中,更新对应的四叉树索引;同时,将求得的矢量要素瓦片中的矢量要素数据按照制图样式ST的描述进行制图渲染处理,形成制图结果并返回客户端。
【文档编号】G06F17/30GK103744999SQ201410032717
【公开日】2014年4月23日 申请日期:2014年1月23日 优先权日:2014年1月23日
【发明者】陈荦, 景宁, 刘露, 熊伟, 吴秋云, 孙璐 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1