资讯与服务

    (周一至周日 9:00-21:00)
    微信:liu87712531
    微信:lin445385978

    邮箱:87712531@qq.com

    咨询电话:15321970583

网站服务

您当前位置:首页 -> 计算机论文 -> 计算机理论->详细(目前国内最大最全原创最多的免费论文中心)

客服QQ咨询:点击这里给我发消息 点击这里给我发消息

无忧论文,为您指导,让您轻松发表,轻松晋级!

字号大小:


基于ComGIS的从Shape文件到Dxf文件格式转换的方法(一)

作者:来来来 整理:本网站论文网 录入时间:2011-12-14 00:18:11

  Abstract:This article analyzes the form of DXF file and Shape file in detail, and introduces a simple method of translating Shape file into DXF file to solve the problem of the data sharing between AutoCAD system and GIS system. Through the author’s practice, it has been confirmed that the means is efficient.

  Key words:Dxf File Shape File MapObject

  

  随着软件组件式开发技术的逐渐成熟,GIS组件(如ESRI 的MapObject和MapInfo的MapX)在专业型地理信息系统开发中扮演了重要的角色[3],然而GIS二次开发组件都具有其天生的局限性,即不同系统之间的数据转换功能非常弱,特别是基本不具备从GIS数据到AutoCAD制图系统的数据格式转换功能,影响GIS的数据共享。因此为了实现数据的共享,必须进行数据格式的转换,目前,通用的数据格式转换方式有以下几种:

  一、数据格式转换方法

  1、常规的GIS数据格式转化方法

  就是采用某种编程语言首先读取源数据文件,提取源文件中的图形信息和属性信息,然后再写入目标文件中去。这种方法需要同时非常熟悉两种数据文件的格式,因此给数据转换带来了不小的难度。

  2、利用数据格式转换工具

  这种方法简单方便,但是通用数据格式转换器难以避免的会丢失一些图形信息,转换出来的图形一般还需要一些特别的处理,如图形颜色设置,符号设置,区域填充设置。

  3、利用第三方数据文件访问工具进行数据格式转换

  这种方法灵活简单,也具有很强的灵活性,开发难度小,代价就是需要第三方的数据访问组件。随着GIS组件式开发技术的逐渐成熟,各种GIS组件都具有访问其本身的GIS数据的功能,如MapObject可以访问ESRI Shape Files、ArcInfo Coverage 和VPF等矢量数据格式。利用GIS组件的这种特点可以灵活的自己编写与其他数据格式转换的程序,或者在GIS系统的二次开发中集成数据格式转换的功能,实现GIS数据共享。本文研究的内容就是利用GIS组件(MapObject)进行由Shape到Dxf的格式转换。

  二、基于ComGIS的从Shape文件到Dxf文件格式转换的方法

  1、Shape文件结构

  ESRI的Shape文件是二进制文件,能够同时存储空间图形数据和属性数据。一个Shape文件包括三个文件:一个主文件(*.shp),一个索引文件(*.shx),和一个dBASE(*.dbf)表。主文件是一个直接存取变量记录长度文件,其中每个记录描述一个有它自己的vertices列表的shape。在索引文件中,每个记录包含对应主文件记录离主文件头开始的偏移,dBASE表包含了实体的属性数据。图形数据和属性数据通过索引号建立一一对应的关系。

  Shape文件是按照地物类型来组织的。地物类型可以分为简单的分为点(Point)、线(Line)、面(Polygon)三种类型,一个Shape文件中只能包括一种类型的地物,即只能包括点、线或者面状地物中的一种。点状地物存储的是一组坐标(X,Y),线包括简单线和多段线,存储的是一系列的坐标串(X1,Y1,X2,Y2…),面状地物存储的是一系列封闭的坐标串(X1,Y1,X2,Y2, …, X1,Y1)。

  2、DXF文件结构

  DXF文件有两种格式:ASC码文本格式和二进制格式。前者可以用记事本打开,简单易读,后者存储效率高[2]。DXF文件最小组成单位是组(GROUP),一个DXF文件由多个组组成。每个组在DXF文件中占两行。第一行是组码(GROUP CODE),它是一个整数;第二行是组值(GROUP VALUE),它的数据类型取决于组码的数值。例如X坐标的组码为10,Y坐标的组码为20,Z坐标的组码为30。一个DXF文件分为多个节(SECTION),每个节均由多个组(GROUP)组成。每个节均由一个组值为字符串“SECTION”的0组开始,后跟组值为表示

首页 上一页 1 2 3 下一页 尾页 1/3/3

上一篇赞自由软件(六)
下一篇国内外企业信息化指标体系比较研究