当前位置:文档之家› 基于CAD数据的地理空间数据库的建立

基于CAD数据的地理空间数据库的建立

基于CAD数据的地理空间数据库的建立引言计算机技术在测绘业的最早应用之一是在地图制图学中引入了机助制图技术,即cad(computer aided drafting)。

cad具有强大的绘图功能和处理矢量图形的能力,目前已广泛地被应用在工业设计、机械设计、建筑设计、城市规划之中。

随着相关学科高新技术日新月异的进步,cad技术也逐步向gis技术方向发展,同时也促进了传统的测绘产业向地理信息产业转化。

地理信息系统(gis)具有便捷的地图显示处理、地理信息查询和强大的空间分析能力[1],在数字产品的管理与应用方面明显优于cad技术[2]。

以前的cad数据能否为gis所利用呢?找寻gis利用cad数据的有效途径无疑会有事半功倍的效果。

1.cad与gis数据概述1.1cad与gis的区别1)gis是采集、存储、分析、查询、输出与空间和地理分布有关的数据的空间信息系统。

对信息进行管理是这个系统的主要目的。

cad是对制图信息进行采集、综合、识别、存储、不同比例尺和不同投影之间的转换、编辑、输出的计算机处理系统。

输出满足规范要求的图形为其最终目的。

2)gis是将空间图形实体抽象为点、线、面、注记4种类型。

以此来采集、存储、编辑和管理。

如围墙、陡坎、河流、道路等等在gis图中都是线型实体。

它们之间差别不是用图形符号来区分,而是以属性来区分。

cad图形中的图形元素种类很多,如点、线、多义线、圆、矩形、注记等等。

cad中的图形数据是矢量形式的,它不仅包含了由一组或多组的x、y、z坐标确定图形的几何位置和几何形状的可见的几何信息,还包含由数值或字符串表示线型的属性的不可见的非几何信息。

3)gis是个动态系统,存储的信息要求符合现状。

因此,空间信息也要求及时更新。

由于它是面向实体,实体图形只存储其主点主线,比较简单,所以修改比较方便。

cad图是以符号来存储,修改麻烦。

1.2数据转换的研究现状autocad具有极为强大的建模功能,能够精确、便捷地创建各种平面和三维图形,所以画地图首选autocad。

在autocad中画出的图形能生成的是.dxf和.dwg这两种格式的文件,可以被arcgis直接调用,但是在打开后只能分成“注释”、“点”、“线”、“面”4层,这样不能很好的区分地图里面的有用信息,例如:做一幅城市地图,要把建筑物和河流分开,在autocad中可以分成两层,一层叫“一般房屋”,一层叫“面状水系”。

如图1,当用arcmap打开后,这两层都合成到“面”这一层了,“一般房屋”和“面状水系”就只有靠注释和经验来分辨,这样会加长辨析的时间,远远不能满足人们的操作要求,如图2,在arcgis中的arcmap直接画地图没有在autocad中画的便捷,特别是在三维效果上面的体现更加没有autocad中表现的好。

根据上面的原因,我们不得不面临着在autocad中画图,通过转换成.shp格式的文件给arcgis调用。

2.geodatabase特点geodatabase是arcgis引入的一个全新的空间数据模型,是建立在dbms之上的统一的、智能化的空间数据库。

geodatabase中引入了地理空间要素的行为、规则和关系,当处理geodatabase中的要素时,对其基本的行为和必须满足的规则,我们无需通过程序编码;对其特殊的行为和规则,可以通过要素扩展进行客户化定义。

这些都是其他任何空间数据模型做不到的[3]。

采用geodatabase的优点如下:1)数据的输入和编辑更加简单,由于geodatabase使用的智能属性域验证技术,可以避免错误的、不合规则的数据的编辑,还允许多用户编辑同一区域的要素,并可协调出的冲突。

2)用户可以直观的处理数据模型。

geodatabase包含了与用户数据模型相对应的数据对象。

操作geodatabase的数据,用户可以针对他们感兴趣的现实对象进行操作,比如变压器、道路和湖泊等。

3)要素有丰富的关联环境,在geodatabase中使用拓扑关系,空间表达和一般关联,可以定义要素的特征和与其它要素关联的情况,当一个要素的属性和行为发生变化时,一个与之关联的要素将会自动发生变化。

4)多用户使用,geodatabase使用一种version(版本)技术来协调多用户geodatabase中的多用户同时编辑要素的行为。

这个技术在网络级应用中非常重要。

5)空间要素的几何特征得以精确描述[4],geodatabase定义了复杂的对象描述方式,可以使用折线,曲线,圆弧和贝赛尔等参数化曲线来表示要素。

3.cad数据入库与图幅提取的实现3.1建立地理空间数据库arccatalog用于组织和管理所有gis数据,是一个集成化的空间数据管理器。

使用arccatalog创建个人地理空间数据库和要素集。

图3-1 创建数据库和要素fig.3-1 creating personal geodatabase and feature dataset 3.2数据的转换arctoolbox是用于完成arcinfo所提供的诸如数据格式转换、叠加处理、叠加分析、缓冲区生成、缓冲区分析、地图转换和投影转换等空间数据处理等的集成化“工具箱”,arctoolbox以树形结构方式组织了120多个不同的空间数据处理工具,并且都是以菜单驱动的方式提供出来。

处理过程也容易理解和使用,操作简单,管理方便。

数据的转换包括cad与geodatabase,geodatabase与shapefile,shapefile与dxf之间的转换,下面介绍一下cad数据转换到geodatabase的开发过程中使用的接口:数据入库主要使用ipropertyset、iworkspacename、ifeaturedatasetname、idatasetname、iname、ifeatureclass、ifields、ifieldchecker、igeometrydef和ifeaturedataconvert 等接口。

其中ipropertyset接口用于设置数据库连接属性;iworkspacename表示ipropertyset设置的数据库连接属性对应的工作区;ifeaturedatasetname和idatasetname表示数据集对象(入库的cad数据和结果数据集都由它们表示);iname表示用于生成cad对应的要素类;ifeatureclass表示cad对应的要素类,通过它可以得到cad的所有字段信息;ifields 用于表示cad的所有字段信息;ifield checker用于对ifields所包含的各种字段进行有效性判定;ifeaturedataconvert用于实现cad数据入库操作。

图3-2 数据转换界面fig.3-2 data conversion window3.3图幅提取使用arcmap工具条中的 geoprocessing wizard 命令,选择clip one layer based on another选项,选择所需的图层,进行图幅裁切。

开发过程使用的接口如下:数据提取主要使用ifeatureclass、ifeatureclassname、iworkspacename、idataset、idatasetnameibasicgeoprocessor、ifeaturelayer等接口。

其中ifeatureclass和ifeatureclassname 表示导入和导出的图层的要素类及其名字;iworkspacename表示裁切后图层对应的工作区;idataset和idatasetname表示裁切后图层对应的要素集及其名字;ibasicgeoprocessor接口提供了基本的空间数据处理的方法和属性。

ifeaturelayer表示裁切后图层的要素层。

clip用于根据指定的几何图形和边界返回一个几何图形。

图3-3 数据提取界面fig.3-3 data takeoff window4.数据转换的问题4.1数据转换前注意的问题gis与cad数据交换,不仅仅是两种软件的数据文件交换,更重要的是两者数据概念与内容的转换。

因此,要全面解决这一问题,必须首先清楚两者的数据特点和它们的异同点。

1)cad图是以各种符号和标注来表示实物的,它着重于各种实物间的视觉表示,不反映其间的拓扑关系。

虽然大多数gis软件都能接收cad图的.dwg或.dxf格式,但进入gis平台后,这些原图都需要进行处理才能应用。

而gis的图形处理能力较cad弱,因此应在cad中对原图进行处理。

2)在cad中,一个点状元素可以用不同的图形符号表示,一条线段可以对应于不同的线型,正是有了这些符号,cad中的图形才具有很强的可视性。

不同的符号可以具有不同的形状、大小和颜色。

在gis中,图形数据只有点、线、面三大类。

各个元素没有固定符号表示在图形库中。

但是,除了图形数据之外,gis数据库中还有一部分属性数据,通常图形数据的符号特征记录在其中。

对应于不同的属性内容,图形元素也可以以不同的形式表现出来。

这样在cad与gis的数据转换中,cad图形的一部分内容(几何坐标)需要转换成gis的图形数据,另外,一部分内容(几何特征)则需要以属性的形式记录到属性表中。

例如,cad图形中的注记,当其转换到gis系统中时,注记的几何位置作为一个点记录在gis的图形库中,而注记的内容则记录到属性库中。

4.2数据转换过程中容易产生的问题问题主要表现在空间数据和属性信息方面:1)要素丢失:有些cad软件中的图形实体数据结构,gis软件不接受,或者转换前后数据的对应关系没处理好,有的内容没有转换过来,转换后就造成要素丢失。

2)要素变形:cad软件中的图形数据结构定义与gis软件中的不一致(如cad中的圆、弧等,在gis中可能变成多边形、线),或者原cad数据在作业过程中操作不规范(如线不连续、采点太多、间隔太密等),都能造成要素变形,即跑线现象。

3)数据冗余:cad中分层不合适(如母线和符号未区分好,符号也当成母线转换过来),或一条线段上点太多太密,而造成数据冗余。

4)属性信息不足:各种cad软件偏重于对空间几何信息的描述,都没有或很少有属性信息,造成转换后信息不足[5]。

而gis则要求空间信息与属性信息联合存储与管理,这就导致了在数据转换的过程中,不仅空间信息会损失,属性信息损失的情况更严重。

许多属性信息追加起来还比较费时费力,容易产生错漏,而且不易检查修改。

5)在数据转换的过程中,除了信息损失外,还往往伴随着数据膨胀。

数据膨胀的结果有时会导致gis无法对这些“海量”数据进行管理。

6)地图的符号化。

空间数据转入gis后,要素并不能以符号显示,只是点、线、面,不通过属性查询无法识别其是何种地物。

其既不符合地图制图要求也不能满足操作员的直观要求,所以要对地图进行符号化处理。

相关主题