从VCT到DXF数据格式转换_费中强
- 格式:pdf
- 大小:289.38 KB
- 文档页数:5
第29卷第8期 2006年8月合肥工业大学学报(自然科学版)J OU RNAL OF H EFEI UN IV ERSIT Y OF TECHNOLO GYVol.29No.8 Aug.2006 收稿日期:2005208210;修改日期:2005210219作者简介:费中强(1977-),男,安徽肥东人,合肥工业大学硕士生;高 飞(1964-),男,安徽滁州人,合肥工业大学教授,硕士生导师;胡小华(1965-),男,安徽宿县人,合肥市国土资源局信息中心教授级高工,合肥工业大学硕士生导师.从VC T 到DXF 数据格式转换费中强1, 高 飞1, 张克旺2, 胡晓华2(1.合肥工业大学土木建筑工程学院,安徽合肥 230009;2.合肥市国土资源局信息中心,安徽合肥 230001)摘 要:文章通过分析VCT 和DXF 格式文件各自的特点,制作一个包含CASS5.1图形库中所有图形的全集DXF 模板文件,并建立VCT 的要素代码和相应图形的DXF 代码的对应,找到了数据格式转换的方法;用高级编程语言编程,分别读取VCT 中的点、线、面、注记及宗地等要素,在DXF 的实体段中写入相应的DXF 代码,以读写文本文件的方式完成格式转换,从而使VCT 文件可以应用在GIS 系统中。
关键词:GIS ;VCT 格式;DXF 格式;DXF 模板文件;建立对应中图分类号:TP391 文献标识码:A 文章编号:100325060(2006)0821008205T ransform from VCT f iles to D XF f ilesFEI Zhong 2qiang 1, GAO Fei 1, ZHAN G Ke 2wang 2, HU Xiao 2hua2(1.School of Civil Engineering ,Hefei University of Technology ,Hefei 230009,China ;2.The Information Center of Hefei Bureau ofLand Resources ,Hefei 230001,China )Abstract :The characteristics of VCT and DXF files are analyzed ,and t hrough making a DXF module file which includes all t he figures in t he CASS5.1figure warehouse and building a relationship be 2tween t he element codes of VCT files and t he DXF codes of corresponding figures ,a way of t ransfor 2ming VCT files to DXF files is found.Advanced comp uter p rogramming language is adopted ,and t he figure element s such as point s ,lines ,surfaces and annotatio ns are read respectively ,and t hen t he corre 2sponding codes are written into DXF entities ,t hus achieving t he t ransform of file format s by reading and writing .t xt files.Then t he VC T files can be applied in t he geograp hical information system(GIS ).K ey w ords :geograp hical information system (GIS );VC T file ;DXF file ;DXF module file ;building of correspondence AutoCAD 软件包是美国AutoD ES K 公司20世纪80年代初开发的,现已成为国际上流行的微机CAD 软件包,在GIS 中的基础地理数据的采集编制工作中起着重要的作用。
AutoCAD 图形数据库是以一种非常紧缩的方式存储的,它难以直接读取。
为了在AutoCAD 与其他的程序之间进行交换图形,AutoD ES K 公司定义了一个图形交换文件格式———DXF 。
DXF 文件格式容易理解,它是重要的GIS 数据交换文件格式。
在我国的测绘和GIS 应用中,常使用南方CASS 成图系统。
南方CASS 是由南方测绘公司在Auto 2CAD 上二次开发的测、绘制地形图的软件。
Au 2toCAD 中支持的属性数据较弱,而南方CASS 软件扩展了其功能,使其可以支持属性数据表(如宗地属性表)。
由南方CASS生成的DXF文件中增加了一些属性、图形库的说明。
各种GIS平台软件均仅支持AutoCAD的标准DXF文件格式,而不能支持用户自定义部分。
CASS的DXF文件格式就是在标准DXF文件格式中,利用其用户接口自定义了一些属性数据(如宗地属性)。
因此,用GIS平台软件读取CASS 的DXF文件时,它仅读取其中的标准格式数据部分,而忽略掉用户自定义部分。
所以在实际应用中,一般先将DXF转换成VCT文件格式,然后将VC T转换成各GIS平台软件专用格式(如Arc GIS的专用格式是shape、coverage或GeoDa2 tabase)后,再应用在各GIS平台软件中。
经过此转换流程后,CASS的DXF文件格式可以自由的应用在各种GIS平台软件上,而不会有属性信息损失[1]。
VC T(地球空间数据交换格式)文件格式是在中国国土部门广泛使用的数据交换格式国家标准。
地理信息系统(GIS)中使用了多种文件格式,包括各种栅格数据、矢量数据。
功能最强大的GIS平台软件Arc GIS支持了多达100多种数据文件格式,并且可以将这些文件格式互相转化,但其中不包括VC T文件格式。
VCT在国外产的主流GIS平台上均不被支持(在国内产的GIS平台上一般都被支持,如Map GIS)。
国土部门是目前国内GIS系统应用最广泛的部门之一,因此将VC T文件格式转化成CASS的DXF文件格式十分必要(在本文中说的DXF格式指的是南方CASS生成的DXF文件格式)[2]。
1 2种文件格式概述1.1 VC T格式概述VC T数据文件由6部分组成:文件头(Header);要素类型参数(Feat ureCode);属性数据结构(TableSt ruct ure);几何图形数据(Point, Line,Polygon);注记(Annotation);属性数据(Attribute),如图1所示[3]。
1.2 DXF格式概述DXF类型的图形交换文件具有专门格式的ASCⅡ文本文件,它便于用编辑软件进行阅读、修改和打印等处理,并且易于被高级语言程序读写。
(1)DXF文件的构成。
一个完整的DXF文件由6个段(SEC TION)和一个文件结尾按下列顺序构成:①文件头段(H EAD ER),包含与图形关联的变量的设置;②类段(CL ASSES),包含的信息适用于应用程序定义的类,这些类的实例出现在数据库的BLOC KS、EN TITIES和OB2 J ECTS段。
假定类定义在类的层次结构中是永远固定的;③表段(TABL ES),包含命名项的定义。
包括线性表(L T YPE)、层标(L A YER)、文本字型表(ST Y L E)和视图表(V IEW)等;④块段(BLOC KS),含有图形中每个块的块名、定义块时的图层名、块的种类等说明;⑤实体段(EN TI2 TIES),包含所有实体的空间信息,是对图形中每个实体的名称、所在图层、线型、颜色以及有关的几何数据的说明。
格式转换所作的工作主要在此段中进行;⑥对象段(OBJ EC TS),包含非图形对象的组码;⑦文件结尾。
(2)DXF文件中的实体段。
该段是进行图形数据读取主要涉及的段,该段格式举例如下: 0SECTION [段开始标志] 2EN TITIES[实体段开始的标志] 0POIN T[实体名称为点] 5FFF100[实体句柄] …[省略此实体部分代码] 8 点[该实体所在的层] 10525705.706[x坐标] 203525885.60[y坐标] 30 0.0[z坐标即高程] 0 …[开始其他实体的说明] 0ENDSEC[实体段结束标志]DXF文件中每一段都用代码为0,组值为SEC TION来标志该段为实体段,后面用代码为2,组值为各段名字(此段为EN TITIES)来标志各段。
在实体段中,每个实体一组代码为0开始,组值即实体的名称(如POIN T、L IN E等)。
用8来说明实体所在层名,用10、20、30来说明三维坐标9001 第8期费中强,等:从VC T到DXF数据格式转换的x 、y 、z 值,用组值为ENDSEC 来标志实体段结束[4]。
图1 VCT 格式说明2 格式转换2.1 制作DXF 模板文件南方CASS5.1的图形库对应于地形图图式,并用其作出的地形图,每个图元都有固定的属性信息。
如,电线杆所在的层为GKSS ,块名为gc097。
图形的属性信息在由CASS5.1生成的DXF 文件中除entities 段的其他段中有详细的定义,要彻底了解这些定义格式需要对DXF 文件格式作深入的了解,而这较为复杂[5]。
本文提出一个简单的方法,制作一个DXF 文件格式模板,包括除entities 段外的各段代码,这个模板包括了所有图形库的属性信息的定义。
这样,在做格式转换时,从VC T 的几何图形数据中读取一个实体,获得其要素代码,找到相应的DXF 代码(需要建立要素代码与DXF 代码的对应),就可以将它作为一个块插入到模板的enti 2ties 段中。
将所有VCT 的几何图形数据相应的DXF 代码插入到模板的entities 段中,就形成了一个CASS5.1可以打开的DXF 文件,从而完成了格式转换的工作。
模板文件的制作方法:将所有的CASS5.1的地物符号库中的地物画入一个图形文件(称为“全集图形文件”)→执行DXFout 命令→形成一个图形全集文件→用笔记本工具删去entities 段中的所有的实体代码→模板文件。
2.2 建立VC T 的要素代码与DXF 代码的对应VC T 的几何图形数据的要素代码与101 合肥工业大学学报(自然科学版)第29卷 CASS5.1中地物符号库对应,它们也都与地形图图式[6]对应,因此将CASS5.1中符号库的DXF 代码中的entities段的部分代码截取下来,然后修改其中的坐标信息就可以建立与VCT要素代码的对应。