!"#空间数据转换为 $%&格式的方法研究
孟妮娜’ ( 周校东)
(’* 长安大学地质工程与测绘工程学院,陕西西安,+’,,-.;)* 西安测绘研究所,陕西西安,+’,,-.)
[摘( 要]!"#空间数据具有多源性的特征,为数据综合利用和数据共享带来不便,解决多格式数据源集成一
直是近年来 !"#应用系统开发中需要解决的重要问
[-]。$%& 格式作为一种空间数据转换的事实上的标准,
对于 !"#软件来说,实现两者的数据转换具有重要意义。本文
了 !"#空间数据与 /0123/$数据模型的组
织特征,在比较分析的基础上
了转换
,并就实现过程中的关键技术进行了论述。
[关键词]!"#;$%&;空间数据;数据转换
:; <=>;?@2=A BC1D2E @=2A !"# #F>1G>H $>1> 12 $%& $>1>
!"#$ #%&’(’,)*+, -%(.&/.’0)
(’* 32HHCIC 2@ !C2H2IJ K;IG;CC=G;I >;E !C2A>1GL? ,3D>;IM>; N;GOC=?G1J,%GM>; +’,,-.,3DG;>;
)* %GM>; ";?1G101C 2@ #0=OCJG;I >;E B>FFG;I,%GM>; +’,,-.,3DG;>)
!"#$%&’$:!"# #F>1G>H E>1> G? A0H1G?20=LCE,>;E G1 G? 2P?1=0L1GOC 12 E>1> ?D>=G;I* "1 G? GAF2=1>;1 1D>1 =C?2HOG;I E>1> G;Q
1C=I=>1G2; 2@ EG@@C=C;1 @2=A>1C? G; 1DC F=2LC?? 2@ !"# ?2@1R>=C C;IG;CC=G;I* $%& G? > SG;E 2@ 0;GOC=?>H @2=A>1,?2 G1 G? ?GIQ
;G@GL>1GOC @2= !"# ?2@1R>=C 12 =C>HGTC 1DC E>1> L2;OC=?G2; PC1RCC; !"# >;E /0123/$* "; 1DC F>FC= 1DC E>1> A2ECH 2@ /0Q
123/$ >;E !"# ?F>1G>H E>1> RC=C ?10EGCE,1DC AC1D2E 2@ L2;OC=?G2; R>? EC?GI;CE,>;E 1DC SCJ 1CLD;2H2IGC? RC=C CUF>1GQ
>1CE G; 1DC F=2LC?? 2@ =C>HGT>1G2;*
()* +,%-#:!"#;$%&;?F>1G>H E>1>;E>1> L2;OC=?G2;
( ( 与其它 "< 产业不同的是,!"# 产业更强调数
据[8]。随着 !"#建设与应用的逐步深人,空间数据
逐渐表现出多样化的特征,其原因首先是由于空间
数据获取手段的多源性;其次是空间数据本身的多
尺度以及时空特征;再次是长期以来 !"# 应用系统
多数都处于以具体项目为中心孤立发展的状态中,
各个系统的数据模型与数据结构不一致,并有可能
存在语义理解上的不同。面对众多不同格式的空间
数据,对于自主版权的 !"# 软件来说,一般都希望
能够跟其它的系统进行数据交换,尤其是与主流平
台之间的数据转换。目前 /0123/$作为一种计算机
辅助制图和设计软件而广泛应用于许多行业,它的
对外交换格式 $%&已成为大多数制图及 !"#软件进
行数据交换的事实上的标准格式之一。因此,实现
基于 $%&格式的空间数据转换对于自主版权的 !"#
软件来说,无论从数据共享或软件集成的角度都具
有重要意义。
’( !"#与 /0123/$系统数据模型
’V ’( !"#空间数据的组织特征
!"#的操作对象是空间数据,它具体描述地理
实体的空间特征、属性特征和时间特征。空间特征
是指地理实体的空间位置、拓扑关系和几何特征;
属性特征表示地理实体的名称、类型和数量等;时
间特征指实体随时间而发生的相关变化[.]。根据地
理实体的空间图形表示形式,可将空间数据抽象为
点、线、面三类元素,它们的数据表达可以采用矢
量和栅格两种组织形式。!"# 空间数据主要采用空
间分区、专题分层的数据组织方法,一般可分为图
形、属性、注记、符号数据[’],其中图形数据指地
理实体的空间位置和形状,可用几何对象来描述,
包括点、折线、圆、圆弧、椭圆、椭圆弧、PCTGC=
曲线、样条曲线等。!"# 空间数据的组织情况如图
’ 所示。
图 ’( 空间数据组织
)V )( /0123/$系统数据组织特征及 $%&格式分析
/0123/$是一种通用绘图系统,图形编辑功能
测绘信息网http:/www.othermap.com网友测绘人提供
很强。系统按图层组织空间图形数据,由多种绘图
实体组成,其实体采用 ! 维坐标描述,实体间不具
备拓扑描述信息[!]。虽然它与 "#$ 都有参考系统,
都能描述图形,但 %&’系统存储和处理的对象是能
以图形表示的各种地理数据,即地理数据中可用定
位图形来表示的部分;属性库功能弱,不能存储足
够多的属性信息,地图图层和注记标注是基本的属
性描述[(]。当然更不具备 "#$ 的空间分析和决策支
持的能力。
’)*格式是 &+,-%&’ 图形文件中所包含的全部
信息的标记数据的一种表示方法,本质上是由成对
的组码和与组码关联的值组成,组码的值表明了其
后数据元素的类型,也指出了数据元素对于给定对
象或记录类型的含意[.]。典型的 ’)*文件由六个节
组成:标题节、类节、表节、块节、实体节和对象
节[/]。实体节中定义了各个对象实体,包括点、三
维多义线、多义线、平行线、圆、圆弧、椭圆、填
充、块、文本、图像等;其基本数据包括对象的名
称、句柄、图层名、颜色值、线型名、线型比例、
线宽、厚度、扩展数据等属性信息以及对象的坐标
信息,实体节是转换的核心部分。
!0 转换思想
基于 "#$ 空间数据与 %&’ 系统数据的不同特
点,转换时需解决两个问题:一是 "#$ 空间数据的
各种类型能否转入到 %&’系统,它们之间有怎样的
对应关系;二是要对目标文件 ’)*格式的数据模型
和数据结构进行全面的分析,尤其要掌握某些至关
重要的细节,这样才能保证成功创建 ’)*文件。
经过分析,转换思路如下:
!%&’系统要求按图层组织数据,这与 "#$ 空
间数据的组织方式不矛盾;
"由于 %&’系统本身数据模型的限制,空间数
据的拓扑关系信息会损失;
#"#$空间数据的各种数据类型如图形数据、
属性数据、注记数据、符号数据及栅格结构的数据
与 ’)*格式中数据的对应关系如图 1。
根据以上思想,运用 234 在 5-67 工具中为
"#$应用系统设计“’)* 数据转换功能”的类结构
图如图 !。其中,#’)*89,:,;是 "#$空间数据的转换
接口,类 %"#$’<,<%-9=7>,是 "#$应用系统的数据转
换类,它从 #"#$’<,<$7, 接口中获取系统的空间数
据,按照图 1 所示的对应关系对数据经过分析处理
后,放入转换接口 #’)*89,:,;,其它创建 ’)* 实体
及生成 ’)* 文件的任务由面向 ’)* 格式设计的实
体基类及各个子类完成。
图 10 空间数据与 ’)*文件转换的对应关系
图 !0 数据转换类结构图
?0 实现的关键技术
数据转出的基本过程是从应用系统提取数据信
息,并对它们进行处理,使之与 ’)*格式的数据和
结构形成映射关系,最后转换成标准 ’)* 格式输
出。由于不是借助其宿主软件 &+,-%&’ 生成 ’)*
文件,因此转出过程需要对 ’)*格式更深入地分析
和研究,其中有一些关键技术必须解决。
(@)句柄的控制
句柄是用来标识对象的一个标识符,’)* 格式
要求每个对象都有唯一的标识符,即句柄值唯一。
句柄值存为 /? 位数字(. 字节),当它实际存储在
数据库中时,会以十六进制的字符串形式来表示。
因此,句柄的最大值为“****************”,等
于十进制整数 @.??/(??A(!(ABCC@/@C,使用正常的
图形环境应该不会达到这个极限[.]。
当我们在转换时,有两个问题需要注意,其一
是要保证新生成的实体对象的句柄值唯一,其二是
在 ’)*文件的标题节中有一个名为 D E&F’$88’
的头变量,它表示 &+,-%&’ 开始句柄增量的起始
值,即下一个可用句柄的值。转换系统中新生成的
第一个对象的句柄应以该值为起点,即不能小于
D E&F’$88’后所指示的句柄值,否则就可能导致
句柄增量错误。
(1)字体的设置
’)*文件中的字型表($GH48)中给出了样式
名、字体名、固定文字高度、宽度因子等参数,隐
测绘信息网http:/www.othermap.com网友测绘人提供
含为标准的 !"! 字体。如果不在字型表中对其它字
体进行定义的话,那么当在 #$!%’下打开转出的
’()文件时,对于原数据中非标准的 !"! 字体将以
“?”显示。为了避免出现这种情况,我们需要按照
字型表的格式对其它常用字体予以定义,保证信息
的完整性。
(*)符号的处理
在 #$!%’系统中没有符号的概念,但对于制
图系统或 +,-来说,符号是地理实体可视化表示的
一种重要方式,具有重要意义。因此,我们希望能
够将符号转出到 ’() 文件。虽然 ’() 没有对符号
的定义,但可以通过块图元来解决问题。一个点状
符号作为一个块实体插入;面状符号的边界作为基
本图元转换,内部可以作为一个块定义的多个块实
例,即在实体节中作为多个 ,.-/01 实体插入,不
过是插入点坐标、旋转角度、各轴比例等参数可能
不同;线状符号要分情况解决,有些简单的线符号
如境界线、地类界等可通过线型来控制,将其转换
为具有不同线型的线状图元,如 2%343567、-83567、
9:2%343567等,对于可以分解为小单元的线状符号,
如长城、陡坎等符号仍然分为若干个块实体转换。
这样就解决了符号的转换问题。
需要注意的是块是 ’() 中比较复杂的一类对
象,它在 ’()文件的三个地方都有描述,并且这三
个位置的描述都是相关联的。’() 文件的块表仅列
出该块的名称和地址之类的信息,其中不含块所属
实体的描述;块节是对块实体的定义,定义每一个
块的块名、当前图层名、块的种类、块的插入基点
及组成该块的所有成员的相关信息,如坐标、名
称、线型名、颜色号、基面高度等;块的实例
(,.-/01)即作为实体插入的信息在实体节描述,
一个 ,.-/01表示有一个块实例。,.-/01中描述了
该块实例的插入点坐标、缩放比例、旋转角度及所
插块的名称等信息。我们在生成 ’()文件时,对表
达块图元的三个位置都要进行修改,否则就会出
错,导致转出的 ’()文件打开失败。
(;)栅格数据的转换
’()文件中并不直接存储图像的颜色值,而是
通过图像文件的引用来记录。在转换图像时,我们
要关注 ’()文件的两个地方,一个是对象节中 ,<=
#+/’/)对象,记录图像的文件名称、路径及图像
大小,是图像的引用信息的描述部分;另一个是实
体节中的 ,<#+/ 图元,其中记录着图像的插入点
坐标、以像素表示的图像尺寸等信息,其中最重要
的是组码 *;>,它的值表示图像定义对象的固定引
用,该引用与对象节中 ,<#+/’/)对象的主句柄的
值相同,系统就是通过该值找到一个图像实体的引
用的。因此,在构造 ’()文件来表达图像时,要注
意上述两处的信息处理。
(?)颜色转换
#$!%’系统采用颜色索引(#&,)[@],用 > A
B?? 的整数表示 B?@ 种颜色。#&, 与 0+C 颜色系统
有一定的对应关系,在对系统的颜色值进行转换时
要参考“#$!%’索引颜色(#&,)与 0+C 颜色对
照表”建立两者间的对应关系,以完成从 0+C 颜
色系统到 #$!%’颜色索引的转换。
(@)属性数据
对于制图系统或 +,- 中要素的属性信息,为了
减少损失,通常可以考虑利用 #$!%’ 系统中图元
的扩展数据来解决,可以将较为重要的信息作为图
元的扩展数据来存储。扩展数据为我们提供了多种
数据类型,包括整型、字符型、浮点型等,这就为
我们装入对象的属性信息并减少损失提供了可能。
?D 结束语
依照本文的转换思路及方法完成了自主版权的
+,-软件
规范开发的不同空间数据处理系统,通过公共接
口实现不同系统间、不同数据结构、不同数据格式
的数据动态调用。
参考文献
[G] D 廖义杰,余洁,刘继琳H 基于出版的地图数据向 +,-
空间数据转换的方法探讨[ I]H 测绘通报,B>>;,
(*):;; A ;@H
[B] D 何孝莹H 空间数据在不同平台间的转换方法[ I]H
辽宁工程技术大学学报,B>>;,B*(B):G@J A GK>H
(下转第 GB; 页)
测绘信息网http:/www.othermap.com网友测绘人提供
图 !" 地图整饰和打印示意图
最合适的解决方案。下一步的工作将是开发出有关
地图整饰和打印的 #$%&’() 控件,使得开发人员可
以更加方便地使用 *+,-./($%0。
参考文献
[1] " 薛伟2 *+,-./($%0—地理信息系统程序设计[*]2
北京:国防工业出版社,!3345
[!] " 祝国瑞,郭礼珍,尹贡白,等2 地图设计与编绘
[*]2 武汉:武汉大学出版社,!3312
[6] " 党安荣,贾海峰,易善桢,等2 #7$89: ; <(0=%>, 地
理信息系统应用指南[*]2 北京:清华大学出版
社,!3365
[收稿日期]!33? @ 34 @ 3A
[作者简介]赵东保(1BCB @),男,河南郑州人,硕士,
助教,主要从事地理信息系统软件的开发研究。
[基金项目]国家自然科学基金和黄河研究联合基金资助项
目(A36CB34;);水资源与水电工程科学国家重点实验室开
放基金资助项目(!334D33B)。
(上接第 1!1 页)
[6] " 王艳东,龚健雅,黄俊韬2 基于中国地球空间数据
交换格式的数据转换方法[ E]2 测绘学报,!333,
!B(!):14! @ 14;2
[4] " 邬伦,刘瑜,张晶,等2 地理信息系统———原理、
方法与应用[*]2 北京:科学出版社,!33!2
[A] " 钟耳顺,王康弘,宋关福2 89:多源数据集成模式评
述[FD G -H]2 I%%,: G G JJJ2 K&0L>7MN2 O(%,!33A @ !
@ 42
[?] " 郑立楷2 明经通道二次开发 @ <)P 参考[FD G -H]2
I%%,: G G JJJ5 N/%Q5 $>N,!33! @ ; @ !B2
[C] " 张俊,孙朝阳,庄怀耀,等2 地理数据模型的发展
[FD G -H] 5 I%%,: G G JJJ5 8&00=R5 $>N,!33A @ 1! @
1;5
[;] " #M%>Q(0=技术支持文档[:]5
[B] " 梁军,周成虎,方裕,等2 89: 应用新图谋[FD G
-H]5 I%%,: G G JJJ5 $$&QO(%5 $>N,!33! @ 34 @ !B2
[收稿日期]!33? @ 34 @ 34
测绘信息网http:/www.othermap.com网友测绘人提供