一种GIS与AutoCAD数据交换方法及中间文件的制作方法

文档序号:9750912阅读:527来源:国知局
一种GIS与AutoCAD数据交换方法及中间文件的制作方法
【技术领域】
[0001 ]本发明涉及一种GIS与AutoCAD数据交换方法及中间文件,属于地理信息数据交换领域。
【背景技术】
[0002]近年来,GIS技术已经广泛应用于经济社会的各个方面。然而在GIS项目中数据录入与建库流程往往要花费大量时间,而且相当耗费精力。鉴于此将现有的地图和图形数据进行格式转换成为GIS数据已经成为GIS行业的普遍要求。GIS地图数据绝大多数来源于测绘部门,由于传统测绘行业大都使用计算机辅助设计CAD类软件,其中AutoCAD是最普遍最常用的CAD软件,这就出现了从AutoCAD到GIS的数据格式转换问题。而且在基础数据的生产过程中,也有必要将与地理信息相关的GIS数据转化为CAD数据。
[0003]CAD数据与GIS数据的相互转化可以为数据采集节省大量的人力、物力和时间。尽管大部分GIS软件都提供了从CAD数据转化到GIS数据的功能,然而由于不同GIS平台间的壁皇,当前不同GIS软件在数据存储,元数据定义存在不同,缺乏统一的空间数据标准。商业GIS软件厂商已将各自对空间数据的定义、存储方式,文件组织结构,和数据转化的方法等视为其核心技术加以保护,开发和应用人员往往只能通过系统提供的函数接口来操作和访问数据,而且在GIS数据和CAD数据的相互转化过程中普遍存在特征丢失、特征变形、数据冗余坐标转换偏差等问题。
[0004]为解决上述问题AutoCAD提供了与外界进行数据交换的文件(Drawing ExchangeFormat )DXF文件,DXF文件可以存储为二进制格式或ASCII码格式,一个完整的DXF文件由标题段(HEADER)、类段(CLASSES)、符号表段(TABLES)、块段(BLOCKS)、图元段(ENTITIES)、对象段(OBJECTS)、文件结束符号(组码为O,组值为EOF)。其中包含了所绘图形的基本信息,应用程序定义的类的信息,图形元素的坐标和属性信息、非图像对象信息。DXF文件由多行"码一值〃记录组成各个段,DXF在表现图形要素方面以十分精确,由于AutoCAD现在是最流行的cad系统,DXF也被广泛使用,成为事实上的标准。然而DXF文件的结构较为复杂,完整读取DXF文件也是一项异常繁琐的工程。

【发明内容】

[0005]为了解决现有技术的不足,本发明提供了一种GIS与AutoCAD数据交换方法及中间文件,通过定义一个中间文件的标准,中间文件只包含了需要数据交换的基本信息,保留了图形要素的空间坐标信息和需要的属性信息,结构简明,存储量小,利用该中间文件,在实际的数据交换过程中可根据需要随时进行拓展,从而能较好的适应实际数据交换的需要。
[0006]本发明为解决其技术问题所采用的技术方案是:提供了一种GIS与AutoCAD数据交换方法,包括以下步骤:
[0007](I)调用ArcGIS平台的 geodatabase 接口、geometry 接口、car to接口和display 接口从GIS系统的空间数据库或SHP文件中提取图形要素的空间信息、属性信息和矢量符号信息,所述图形要素包括点、线、面和注记点,空间信息为图形要素的空间坐标,属性信息包括图形要素编码oid、样式信息和注记点属性信息,所述注记点属性信息包括注记文本字符串和旋转角度,所述矢量符号信息包括矢量符号编号和矢量描述格式;
[0008](2)生成空的中间文件,调用文件1流接口将步骤(I)提取到的图形要素的空间信息和属性信息按照中间文件的格式写入生成的中间文件中各子文件,包括以下过程:
[0009]点、线、面和注记点的要素编码oid分别写入中间文件中点文件、线文件、面文件和注记文件的要素实体号字段;
[0010]点、线、面和注记点的空间坐标分别写入中间文件中点文件的点xy坐标字段、线文件的线上点坐标串字段、面文件的点坐标序列字段和注记文件的注记点Xy坐标字段;
[0011]点、线、面和注记点的注记文本字符串和旋转角度分别写入中间文件中注记文件的注记文本字符串字段和角度字段;
[0012]矢量符号编号和矢量描述格式分别写入中间文件矢量符号描述文件的子图号字段和矢量描述字段;
[0013]点、线、面和注记点的样式信息分别写入中间文件中点样式描述文件、线样式描述文件、面样式描述文件和注记样式描述文件的各字段,中点样式描述文件、线样式描述文件、面样式描述文件和注记样式分别通过各自的样式ID分别与点文件、线文件、面文件和注记文件关联;
[0014]将各点文件、线文件、面文件和注记文件的文件名写入工程图层总体描述文件;
[0015]上述点文件、线文件、面文件、注记文件、点样式描述文件、线样式描述文件、面样式描述文件、注记样式描述文件和工程图层总体描述文件均为中间文件的子文件;
[0016](3)调用1流接口从中间文件各子文件各字段提取待导入的信息,所述待导入的信息包括点文件、线文件、面文件和注记文件中分别记录的要素实体号,点文件的点Xy坐标、线文件的线上点坐标串、面文件的点坐标序列和注记文件的注记点Xy坐标、注记文本字符串和角度,点文件、线文件、面文件和注记文件中的样式ID,以及样式描述文件中的样式信息;
[0017](4)调用AutoCAD的二次开发接口将步骤(3)提取出的待导入的信息导入AutoCAD的dwg文件,完成数据交换。
[0018]本发明同时提供了一种用于所述数据交换方法的中间文件,所述中间文件由工程图层总体描述文件、样式描述文件、点文件、线文件、面文件以及注记文件组成;其中,
[0019]工程图层总体描述文件用于记录点文件、线文件、面文件和注记文件的文件名;
[0020]样式描述文件包括以下子文件:点样式描述文件、线样式描述文件、面样式描述文件、注记样式描述文件和矢量符号描述文件;其中,
[0021 ]点样式描述文件用于记录各个点要素实体的样式信息,点样式描述文件的字段包括样式ID、类型、点大小、颜色、旋转角度、基点坐标、字体索引、字体名和符号图片;
[0022]线样式描述文件用于记录各个线要素实体的样式信息,线样式描述文件的字段包括样式ID、线类型、线宽和颜色;
[0023]面样式描述文件用于记录各个面要素实体的样式信息,面样式描述文件的字段包括样式ID、填充颜色、线型、线宽和边线颜色;
[0024]注记样式描述文件用于记录各个注记要素实体的样式信息,注记样式描述文件的字段包括样式ID、字体名、字大小、角度和颜色;
[0025]矢量符号描述文件的字段包括子图号和矢量描述,矢量描述包括以下格式:多边形、线、圆和圆弧;
[0026]点文件用于存储GIS文件中点的坐标和样式信息,点文件的字段包括要素实体号、点xy坐标和样式ID;
[0027]线文件用于存储组成线要素实体的点的坐标和线的样式信息,即线的起点和终点的坐标和线的样式信息,线文件的字段包括要素实体号、线上点坐标串和样式ID;
[0028]面文件用于存储组成面要素实体的点的坐标信息和面的样式信息,面文件的字段包括要素实体号、点坐标序列和样式ID;
[0029]注记文件用于存储注记要素实体的坐标信息、注记文本、旋转角度和注记样式,注记文件的字段包括要素实体号、注记点Xy坐标、注记文本字符串、样式ID和角度。
[0030]图层总体描述文件的后缀名为ly,点样式描述文件、线样式描述文件、面样式描述文件和注记样式描述文件的后缀名均为sym,矢量符号描述文件的后缀名为sub,点文件的后缀名为pnt,线文件的后缀名为lin,面文件的后缀名为pgn,注记文件的后缀名为anno。
[0031]本发明基于其技术方案所具有的有益效果在于:
[0032](I)本发明通过定义一个中间文件的标准,中间文件只包含了需要数据交换的基本信息,保留了图形要素的空间坐标信息和需要的属性信息,结构简明,存储量小,在实际的数据交换过程中可根据需要随时进行拓展,从而能较好的适应实际数据交换的需要;
[0033](2)本发明的中间文件舍弃了与图形实体坐标几何和属性信息无关的其它描述信息,而这些舍弃的信息也是与实际数据转化无关的;本发明将交换文件DXF由单一文件变成一个中间文件系统,该文件系统自然区分的各图形实体的类型,在图形实体的记录中一个实体为一条记录,文件结构清晰;
[0034](3)本发明提供的中间文件是通过编程的方式进行AutoCAD和GIS数据的交换、对中间文件的存储类型没有做硬性规定,在实际编程过程中所述中间文件可以是文本文件、二进制文件或其他文件类型,而且在中间文件中并没有定义图形实体类,用户可以根据实际需要编写程序。
【具体实施方式】
[0035]下面结合实施例对本发明作进一步说明。
[0036]提供了一种GIS与AutoCAD数据交换方法,包括以下步骤:
[0037](I)调用ArcGIS平台的geodatabase 接口、geometry 接口、car to接口 和display 接口从GIS系统的空间数据库或SHP文件中提取图形要素的空间信息、属性信息和矢量符号信息,所述图形要素包括点、线、面和注记点,空间信息为图形要素的空间坐标,属性信息包括图形要素编码oid、样式信息和注记点属性信息,所述注记点属性信息包括注记文本字符串和旋转角度,所述矢量符号信息包括矢量符号编号和矢量描述格式;
[0038](2)生成空的中间文件,调用文件1流接口将步骤(I)提取到的图形要素的空间信息和属性信息按照中间文件的格式写入生成的中间文件中各子文件,包括以下过程:
[0039]点、线、面和注记点的要素编码oid分别写入中间文件中点文件、线文件、面文件和注记文件的要素实体号字段;
[0040]点、线、面和注记点的空间坐标分别写入中间文件中点文件的点xy坐标字段、线文件的线上点坐标串字段、面文件的点坐标序列字段和注记文件的注记点xy坐标字段;
[0041]点、线、面和注记点的注记文本字符串和旋转角度分别写入中间文件中注记文件的注记文本字符串字段和角度字段;
[0042]矢量符号编号和矢量描述格式分别写入中间文件矢量符号描述文件的子图号字段和矢量描述字段;
[0043]点、线、面和注记点的样式信息分别写入中间文件中点样式描述文件、线样式描述文件、面样式描述文件和注记样式描述文件的各字段,中点样式描述文件、线样式描述文件、面样式描述文件和注记样式分别通过各自的样式ID分别与点文件、线文件、面文件和注记文件关联;
[0044]将各点文件、线文件、面文件和注记文件的文件名写入工程图层总体描述文件;
[0045]上述点文件、线文件、面文件、
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1