资讯与服务

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

    邮箱:87712531@qq.com

    咨询电话:15321970583

网站服务

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

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

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

字号大小:


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

作者:来来来 整理:本网站论文网 录入时间:2011-12-14 00:18:11
段名的字符串的2组,其后为组成该节的各个组,最后以组值为字符串“ENDSEC”的0组表示该节结束。所有节都结束后,在DXF文件的最后是组值为字符串EOF(END OF FILE)的0组作为文件的结束标志。一个完整的DXF文件由以下七个节(SECTION)组成:

  A. 标题(HEADER)节:包括与图形相关联的变量的设置,例如图形节最大、最小X坐标和最大、最小Y坐标($LIMMIN,$LIMMAX),点显示模式($PDMODE),点尺寸($PDSIZE)等。其中的每一个变量都通过组码9 给出变量名,并由其后的组码提供变量值。

  B. 类(CLASSES)节:类节保存由应用程序定义的类,而该类的实例则出现在块节(BLOCKS)、实体节(ENTITIES)和对象节(OBJECTS)中。

  C. 表(TABLE)节:包含命名项的定义,存放一系列表。包括线型(LTYPE)表、层(LAYER)表、文本字样(STYLE)表、视(VIEW)表、用户坐标系统(USC)表、视窗配制(VPORT)表、尺寸标注式样(DIMSTYLE)表、应用标识(APPID)表。

  D. 块(BLOCK)节:存放块定义的实体。对图形中每个块引用,在块节中都必需有一个条目与之对应。

  E. 实体(ENTITIES)节:存放图形实体,其中包括块插入实体。DXF图形文件中的所有图元(包括点、线、面、插入块,注记文字等实体)都将在ENTITIES节定义。

  F. 实体(OBJECTS)节:存储非图形对象。

  G. 预览图像(THUMBNAILIMAGE)节:只有当预览图像被保存在DXF文件中时该节才存在。

  编写一个构造完备的DXF文件的程序是比较困难且烦琐的,因为必须保持图形的一致性,以使AutoCAD能够接受它,同时还必须保持信息的完整性。值得庆幸是一个DXF文件可以只包含以上七个节中的若干个节,而不是全部节。以上七个节中,最重要的是实体(ENTITIES)节,实体节存储了DXF文件所有的图形对象。一个最简单的DXF文件可以只包含实体(ENTITIES)节,而不需要包含其他任何节。这样就大大降低了DXF文件编写的难度。

  3、Shape文件到DXF文件转化的实现

  由于Shape文件是二进制文件,且文件格式复杂,直接使用编程语言读取Shape文件具有一定的困难,由此作者使用第三方开发组件MapObject提供的对Shape文件的数据访问接口来读取Shape文件内容,大大降低了Shape文件到DXF文件格式转化的编程工作量。

  MapObject是目前最优秀的GIS二次开发组件之一,他提供了一系列的GIS制图功能和访问ESRI Shape Files的数据访问接口[1]。利用MapObject对Shape文件的数据访问功能来提取Shape的图形信息,具有不丢失图形信息、数据访问简单等优点。下面是Shape文件类型与DXF图元类型对照表:

  地物类型 Shape 文件地物类型 DXF 图元类型

  点 MoShapeTypePoint Point,Block

  线 MoShapeTypeLine Line

  面 MoShapeTypePolygon Polygon

  文字 注记 ( 不属于 Shape 文件类型 ) TEXT

  图1. Shape文件地物类型与DXF文件图元类型对照表

  作者以某市地下管线Shape文件为例,实现了将管线Shape文件转化为Auto CAD系统DXF文件,并将数据转化功能集成到某市地下管线管理信息系统中,很好的解决了地下管线管理系统与Auto CAD制图系统之间的数据格式共享问题。转化过程中没有丢失图形信息。下面以地下管点Shape文件为例,简单介绍如何将点图元写入DXF文件。

undefined undefined

  点状地物对应DXF文件的点图元,但是由于Shape文件中点状地物通常表示地图上的一个独立地物,如电线杆等,他具有某些特殊的符号,因此往往需要把Shape文件的点状地物作为一个块(Block)插入到DXF文件中,这也是通用的文件格式转换工具所不能做到的。下面是一个插入图块的通用函数:

  Public Sub InsertBl

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

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