版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于ComGIS的从Shape文件到Dxf文件格式转换 随着软件组件式开发技术的逐渐成熟,gis组件(如esri的mapobject和mapinfo的mapx)在专业型地理信息系统开发中扮演了重要的角色3,然而gis二次开发组件都具有其天生的局限性,即不同系统之间的数据转换功能非常弱,特别是基本不具备从gis数据到autocad制图系统的数据格式转换功能,影响gis的数据共享。因此为了实现数据的共享,必须进行数据格式的转换,目前,通用的数据格式转换方式有以下几种: 一、数据格式转换方法 1、常规的gis数据格式转化方法 就是采用某种编程语言首先读取源数据文件,提取源文件中的图形信息和属 _,然
2、后再写入目标文件中去。这种方法需要同时非常熟悉两种数据文件的格式,因此给数据转换带来了不小的难度。 2、利用数据格式转换工具 这种方法简单方便,但是通用数据格式转换器难以避免的会丢失一些图形信息,转换出来的图形一般还需要一些特别的处理,如图形颜色设置,符号设置,区域填充设置。 3、利用第三方数据文件访问工具进行数据格式转换 这种方法灵活简单,也具有很强的灵活性,开发难度小,代价就是需要第三方的数据访问组件。随着gis组件式开发技术的逐渐成熟,各种gis组件都具有访问其本身的gis数据的功能,如mapobject可以访问esrishapefiles、arcinfocoverage和vpf等矢量数
3、据格式。利用gis组件的这种特点可以灵活的自己编写与其他数据格式转换的程序,或者在gis系统的二次开发中集成数据格式转换的功能,实现gis数据共享。本文研究的内容就是利用gis组件(mapobject)进行由shape到dxf的格式转换。 二、基于gis的从shape文件到dxf文件格式转换的方法 1、shape文件结构 esri的shape文件是二进制文件,能够同时存储空间图形数据和属性数据。一个shape文件包括三个文件:一个主文件(*.shp),一个索引文件(*.shx),和一个dbase(*.dbf)表。主文件是一个直接存取变量记录长度文件,其中每个记录描述一个有它自己的vertice
4、s列表的shape。在索引文件中,每个记录包含对应主文件记录离主文件头开始的偏移,dbase表包含了实体的属性数据。图形数据和属性数据通过索引号建立一一对应的关系。 shape文件是按照地物类型来组织的。地物类型可以分为简单的分为点(point)、线(line)、面(polygon)三种类型,一个shape文件中只能包括一种类型的地物,即只能包括点、线或者面状地物中的一种。点状地物存储的是一组坐标(x,y),线包括简单线和多段线,存储的是一系列的坐标串(x1,y1,x2,y2),面状地物存储的是一系列封闭的坐标串(x1,y1,x2,y2,x1,y1)。 2、dxf文件结构 dxf文件有两种格式
5、:asc码文本格式和二进制格式。前者可以用记事本打开,简单易读,后者存储效率高2。dxf文件最小组成单位是组(group),一个dxf文件由多个组组成。每个组在dxf文件中占两行。第一行是组码(groupcode),它是一个整数;第二行是组值(groupvalue),它的数据类型取决于组码的数值。例如x坐标的组码为10,y坐标的组码为20,z坐标的组码为30。一个dxf文件分为多个节(section),每个节均由多个组(group)组成。每个节均由一个组值为字符串“section”的0组开始,后跟组值为表示段名的字符串的2组,其后为组成该节的各个组,最后以组值为字符串“endsec”的0组表示
6、该节结束。所有节都结束后,在dxf文件的最后是组值为字符串eof(endoffile)的0组作为文件的结束标志。一个完整的dxf文件由以下七个节(section)组成: a标题(header)节:包括与图形相关联的变量的设置,例如图形节最大、最小x坐标和最大、最小y坐标($limmin,$limmax),点显示模式($pdmode),点尺寸($pdsize)等。其中的每一个变量都通过组码9给出变量名,并由其后的组码提供变量值。 b类(classes)节:类节保存由应用程序定义的类,而该类的实例则出现在块节(blocks)、实体节(entities)和对象节(objects)中。 c表(tabl
7、e)节:包含命名项的定义,存放一系列表。包括线型(ltype)表、层(layer)表、文本字样(style)表、视(view)表、用户坐标系统(usc)表、视窗配制(vport)表、尺寸标注式样(dimstyle)表、应用标识(appid)表。 d块(block)节:存放块定义的实体。对图形中每个块引用,在块节中都必需有一个条目与之对应。 e实体(entities)节:存放图形实体,其中包括块插入实体。dxf图形文件中的所有图元(包括点、线、面、插入块,注记文字等实体)都将在entities节定义。 f实体(objects)节:存储非图形对象。 g预览图像(thumbnailimage)节:只
8、有当预览图像被保存在dxf文件中时该节才存在。 编写一个构造完备的dxf文件的程序是比较困难且烦琐的,因为必须保持图形的一致性,以使autocad能够接受它,同时还必须保持信息的完整性。值得庆幸是一个dxf文件可以只包含以上七个节中的若干个节,而不是全部节。以上七个节中,最重要的是实体(entities)节,实体节存储了dxf文件所有的图形对象。一个最简单的dxf文件可以只包含实体(entities)节,而不需要包含其他任何节。这样就大大降低了dxf文件编写的难度。 3、shape文件到dxf文件转化的实现 由于shape文件是二进制文件,且文件格式复杂,直接使用编程语言读取shape文件具有一定的困难,由此作者使用第三方开发组件mapobject提供的对shape文件的数据访问接口来读取shape文件内容,大大降低了shape文件到dxf文件格式转化的编程工作量。 mapob
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《鸦片战争》教学案例
- 幼儿园消防安全制度与幼儿园消防设施设备维护管理制度
- 人教版初中八年级英语下册 Unit 6 An Old Man Tried to Move the Mountains. (Section A 3a3c) 阅读教学设计与实施
- 中学生手机使用管理方案及宣传材料
- 九年级化学下册《物质的转化》单元教案
- 九年级英语跨学科视角下的健康饮食语篇深度阅读教学设计
- 初中七年级英语下册 Units 16 核心短语与句型整合复习教学设计
- 初中七年级英语下册 Unit 7 Reading 第二课时教案:跨学科视域下的读写融合
- 九年级英语Unit 13环境保护主题单元核心素养导向差异化复习教学设计
- 诚信教育主题小报设计及制作指导
- 电力配网工程各种材料重量表总
- 小区物业水电工培训
- 小学语文-五年级下册语文同步练习 第一单元测试(一)(含答案)
- 《机车乘务作业》 课件 07机车乘务员呼唤应答标准用语
- 高等代数试卷
- 口腔材料学之印模材料课件
- GB/T 7025.1-2023电梯主参数及轿厢、井道、机房的型式与尺寸第1部分:Ⅰ、Ⅱ、Ⅲ、Ⅵ类电梯
- 铁路危险货物运输及货物安检查危技术业务考核题库
- JJF 1083-2002光学倾斜仪校准规范
- GB/T 39504-2020病媒生物综合管理技术规范机场
- 全国优秀中医临床人才研修项目考试大纲
评论
0/150
提交评论