基于多源gis数据的地图图幅索引机制研究

上传人:E**** 文档编号:117986320 上传时间:2019-12-11 格式:PDF 页数:5 大小:211.28KB
返回 下载 相关 举报
基于多源gis数据的地图图幅索引机制研究_第1页
第1页 / 共5页
基于多源gis数据的地图图幅索引机制研究_第2页
第2页 / 共5页
基于多源gis数据的地图图幅索引机制研究_第3页
第3页 / 共5页
基于多源gis数据的地图图幅索引机制研究_第4页
第4页 / 共5页
基于多源gis数据的地图图幅索引机制研究_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于多源gis数据的地图图幅索引机制研究》由会员分享,可在线阅读,更多相关《基于多源gis数据的地图图幅索引机制研究(5页珍藏版)》请在金锄头文库上搜索。

1、基于多源GIS 数据的地图图幅索引机制研究 武舫,王家耀“,熊伟1 1 信息工程大学测绘学院,河南郑州4 5 0 0 5 2 2 苏州市数字城市工程研究中心江苏苏州2 1 5 0 2 1 摘 要:本文针对多源G IS 数据可视化研究中遇到的不同来源不同分辨率数据同时使用时的快速检索问题, 提出了一套针对地图图幅的索引机制,通过此机制可以快速检索到可视范围内适当的地图格式、地图分辨 率及相关地图图幅,提高地图绘制速度。 关键词:多源GJ S 数据;地图图幅;索引 空间数据的组织,关键是数据的索引与检索。空间索引的性能优劣直接影响空间数据库 和地理信息系统的整体性能,它是G I S 的一项关键技术

2、。对于空间索引,G I S 学者研究的较 多,常见的有B S P 树、K D B 树、R 树、R + 树、C E L L 树、四叉树等。但本文论述的索引与 上述索引从概念到内容都有着很大的不同。上述索引所针对的数据对象基本上都是单幅图、 一种分辨率( 也称比例尺) ,或者原始数据是多幅图但经过合并处理成了一幅图。目前,多源 G I S 数据集成的模式多种多样,其中比较常用的模式,还是“动态集成模式”,在这种模式下, 原始地图数据不作物理上的合并,只建立逻辑上的联系,绘制地图时,建立统一的坐标系统、 统一的投影类型,根据当前显示比例尺,实时获取可视范围内的不同格式数据源、不同分辨 率的地图图幅,

3、读取图幅内的相关数据,实现无缝拼接显示。如何快速获取合适的数据格式、 分辨率及图幅呢? 这就要求采用“动态集成模式”的G I S 软件必须创建一个高效的针对地图 格式、地图图幅的数据索引,本文介绍的“地图图幅索引树”即是该类索引。 1 数据格式、分辨率、图幅 空间数据的来源多种多样,概括起来可分为以下几种:地图数字化、观测数据、遥感与 G P S 数据、统计数据等。空间数据多源具有明显的特点,主要表现在:多语义性、多时空性、 多尺度及存储格式多源性等几个方面。本文以存储格式多源性来区别不同的数据源,所以数 据格式定义为:凡是具有相同图层组成且数据结构相同的数据源,被认为是同一种数据格式。 本文

4、的分辨率指的是地图比例尺,那为什么要使用分辨率这个概念呢? 按照I C A ( 1 9 7 3 ) 的定义,地图比例尺就是地图上的尺寸与它所表达的实际尺寸之间的比率。这种比率只是传 统制图中所理解的“比例尺”。但是在G I S 中,比例尺的概念发生了一定的变化,它使多比 例尺的表达有了可能,空间数据库可以包含很多种不同比例尺的地图,此时的比例尺反映的 是空间抽象的程度、反映空间数据库的数据精度和质量,另外又容易与显示比例尺( 视野) 混淆,因此数字环境下的“比例尺”用“空间分辨率”来代替最好不过。有了分辨率概念, 再谈图幅才有实际意义,图幅总是属于某一分辨率。 2 基本比例尺地形图的层次关系

5、我国把l :1 万、1 :2 5 万、1 :5 万、1 :1 0 万、1 :2 5 万、1 :5 0 万、l :1 0 0 万7 种比例尺作为国 家基本地图的比例尺系列。其中地形图是基础地图,它的编绘有着统一的大地控制基础、统 一的地图投影和统一的分幅编号。我国基本比例尺地形图均以1 :1 0 0 万地形图为基础,按规 定的经差和纬差划分图幅。每幅1 :1 0 0 万地形图的范围是经差6 0 、纬差4 0 ,纬度6 0 0 7 6 0 之间为经差1 2 0 、纬差4 0 。 多种分辨率的系列地形图具有明显的层次关系,如图1 所示,每幅1 :1 0 0 万地形图划分 为2 行 卜 0 9 4 9

6、 0 1 00 9 4 9 0 1 1 0 9 4 9 0 2 20 9 4 9 0 2 3 0 9 4 9 0 2 4 0 9 4 9 0 3 0 9 4 9 1 0 9 4 9 0 3 40 9 4 9 0 3 5 0 9 4 9 0 3 6 0 9 4 9 0 70 9 4 9 0 8 0 9 4 9 30 9 4 9 4 图1 图号为0 9 4 9 的1 :1 0 0 万图包含的系列地形图 2 列,共4 幅l :5 0 万地形图,每幅1 :5 0 万地形图的范围是经差3 0 、纬差2 0 。依此类推, 每幅1 :5 0 万图又由2 x 2 幅2 5 万图组成;3 x 3 幅1 0 万图

7、组成了一幅2 5 万图;每幅1 0 万图由 2 x 2 幅5 万图组成,一幅5 万图由2 x 2 幅2 5 万图组成。各分辨率地形图的经纬差、行列数 和图幅数成简单的倍数关系,也形成了明显的父子嵌套关系,而这种关系给图幅查找带来了很 大的便利,有效地利用它们之间的关系,可以避免遍历操作,从而快速地搜索到合适的地图。 3 建立索引树 3 1 图幅索引树基本单元 图幅索引树基本单元,是索引树的叶,它包含幅图的基本信息,如图名、所属地图格 式、该图存在标志、范围等。 c l a s sC M a p T r e e U n i t C S t r i n gm _ n M a p N o :图名 C

8、 S t r i n gi ns D a t a F m t :地图格式 B O O Lmb E x i s t :是否存在 C R e c tmr B o u n d :该图范围 C M a p T r e e U n i t 水mp P a r e n t : 父单元 ) 这里解释一下存在标志这个变量,并不是一幅图不存在就不建立对应的叶了,前文说过, 系列地形图不同分辨率之问有着紧密的层次关系,某个分辨率的图幅不存在,但它包含的下 一级或再下一级分辨率的地图可能存在,只要子孙图幅存在,就必须建立当前叶。为了辨别 2 0 1 该幅图是否真的存在,所以设立变量m b E x i s t 就很有

9、必要了。 3 2 图幅索引树结构 由于基本比例尺地图最小分辨率为1 :1 0 0 万,所以树根可定义为: c l a s sC M a p T r e e U n i t R o o t C T y p e d P t r L i s t m l s t C h i l d M a p s ;l 而从1 :1 0 0 万到1 :1 万可逐级定义如下: c l a s sC M a p T r e e U n i t10 0 :p u b l i cC M a p T r e e U n i t C T y p e d P t r L i s t m l s t C h i l d M a p

10、s ; c l a s sC M a p T r e e U n i tI :p u b l i cC M a p T r e e U n i t 3 3 往树中添加地图 一棵索引树只针对一种数据格式,也就是说每一种数据格式都有自己独立的树,树中包 含了多级分辨率地图。下面详细叙述一下往树中添加一幅图( 该图可能为虚图,并不存在) 的过程,所有地图添加完了,该数据格式的索引树也就建成了。第一步,判断该图的叶单元 在树中是否存在,因为该图包含的予图可能先添加过,只要子图先添加过,该叶单元就会创 建并加入树,但变量m b E x i s t 置为F A L S E 。第二步,如果叶单元存在于树中且

11、该图确实存在, 则把变量m b E x i s t 置为T R U E 。第三步,处理树中没有该叶单元的情况。首先,获取该图所 属的父图的图名,如果该父图不存在,则把它作为虚图加入树,建立父图叶单元;其次,创 建当前图的叶单元,m b E x i s t 置为T R U E ;最后把新创建的叶单元添加入父图叶单元的变量 m l s t C h i l d r e n 中。 下面以添加一幅1 :2 5 万图为例,用C + + 语言对此过程作一详细说明。 C M a p T r e e U n i t 木A d d M a p N 0 2 5 ( c o n s tC S t r i n g &

12、s M a p N a m e ,c o n s tC S t r i n g & s D a t a F m t ,B O O L b E x i s t ) 根据图号获取叶单元对象指针 C M a p T r e e U n i t 2 5 术p U n i t 2 5 = G e t M a p T r e e U n i t 2 5 ( s M a p N a m e ) ; ,对象存在( 如果先添加该图范围之内的1 0 万、5 万、2 5 万图,该对象会创建,但m b E x i s t 为F A L S E ) i f ( p U n i t 2 5 ) f如果添加的图存在,不是虚

13、图,就置标志为T R U E i f ( b E x i s t ) p U n i t 2 5 一 m b E x i s t = T R U E ; p U n i t 2 5 S e t D a t a F m t ( s D a t a F m t ) ;该 所属的地图格式 e l s e f 获取所属父图图号( 即5 0 万图号) ,此次添加的是一幅虚图,如果该图已存在, A d d M a p N 0 5 0 只是返回父单元指针 2 0 2 C S t r i n gs P a r e n t M a p = G e t F a t h e r M a p N 0 2 5f s M

14、 a p N a m e ) ; C M a p T r e e U n i t 5 0 宰p U n i t 5 0 = A d d M a p N 0 5 0 ( s P a r e n t M a p ,s D a t a F m t ,F A L S E ) ; p U n i t 2 5 = n e wC M a p T r e e U n i t 2 5 ( s M a p N a m e ,s D a t a F m t ,p U n i t 5 0 ) ;仓t J 建一个叶单元对象 i f ( b E x i s t ) p U n i t 2 5 - m b E x i s

15、t = T R U E ; p U n i t 5 0 一 m l s t C h i l d M a p s A d d T a i l ( p U n i t 2 5 ) ; 】 r e t u r np U n i t 2 5 ; 4 使用索引树 尽管多源数据的使用方式多种多样,但最后都要归根于获取显示区跨越地图图幅,根据 多源数据可视化地理论,在不同的显示比例尺,会有不同格式、不同分辨率的数据被组合使 用,但对每一种数据格式来说,都要获取它的多级分辨率对应的图幅。 检索显示区包含的某级分辨率地图,即使显示区范围很小,利用图幅索引树也要从树根 追踪起,通过对上一级分辨率叶单元的判断,可以

16、过滤掉大量的显示区域外地图数据。下面 以查找图2 所示的显示区内地图为例,对利用索引树检索地图的过程作一详细阐述。 0 9 4 9 0 4 0 0 9 4 9 蚪 厂 卜卜 u 1 0 9 4 - 0 0 - 2 嘻伽q 9 寻 9 9 鹌蝌 0 9 4 9 0 寻 0 9 4 9 40 9 牦槲9 9 钙嶙 诬珥9 I 珏喜 0 9 4 9 0 旱0 9 4 9 0 8 0 9 4 9 - ;0 9 4 9 4 图2 逐级过滤获取1 :5 万地图 图中灰色区域为显示区,假设现在需要检索该范围内1 :5 万图。步骤如下: 第一步:从树根C M a p T r e e U n i t R o o t 查起,逐一判断根部所属的每幅1 :1 0 0 万图是否 与显示区重叠,是则转入第二步,否则过滤掉该1 0 0 万图及所属的子孙图系列,此步骤只剩 下图幅0 9 4 9 。 第二步:判断0 9 4 9 所属的4 幅1 :5

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号