IntroductiontoGeospatialDatabase——DesigningandBuildingArcGISGeodatabase空间数据库导论——ArcGISGeodatabase的设计与建立侯英姿SchoolofUrbanandEnvironmentalSciences,LiaoningNormalUniversity2009第2讲Geodatabase数据模型概述3第2讲Geodatabase数据模型概述2.1Geodatabase的发展2.2Geodatabase的层次结构2.3Geodatabase的目录视图2.4Geodatabase的类型2.5Geodatabase的访问2.6Geodatabase与coverage/Shapefile的比较主要内容:4第2讲Geodatabase数据模型概述2.1Geodatabase的发展空间数据模型是对现实世界的抽象表达,是使用一系列数据对象来支持地图显示、查询、编辑和分析。1.CAD数据模型(第1代)2.coverage/Shapefile数据模型(第2代)3.Geodatabase数据模型(第3代)5第2讲Geodatabase数据模型概述1.以二进制文件格式存储地理数据;2.以点、线和面的形式表达;3.这些文件中只能保存极少的属性信息,地图图层和注记是主要的属性表达方式;1.CAD数据模型(第1代)6第2讲Geodatabase数据模型概述1981年,ESRI(美国环境系统研究所)公司推出Arclnfo,采用了coverage数据模型(也称为地理关系数据模型),有两个关键点。空间数据与属性数据相结合空间数据存储为索引化二进制文件,它为显示和存取做了优化。属性数据存储在表里,有一定数量的行,行数等于二进制文件中的要素数量,属性数据和要素通过共同的标识符(ID码)相连接。能够存储矢量要素间的拓扑关系一条线段的空间数据记录包含了以下信息:哪些节点界定了这条线,通过推断可知该线与哪些线相连,哪些多边形在其左边和右边2.coverage/Shapefile数据模型(第2代)7第2讲Geodatabase数据模型概述ArcView采用Shapefile数据模型,也是一种基于文件方式存储空间数据的数据格式。Shapefile是一种开放格式,比coverage简单得多,没有存储矢量要素间的拓扑关系,需要时通过计算提取。Shapefile至少由.shp、.Shx、.dbf三个文件组成:.shp——储存地理要素的几何关系的文件.shx——储存图形要素的几何索引的文件.dbf——储存要素属性信息的dBase文件(关系数据库文件)有时还会出现以下文件:.sbn——当执行类似选择“主题之主题”,“空间连接”等操作,或者对一个主题(属性表)的shape字段创建过一个索引,就会出现这个文件;.ain和.aih——储存地理要素主体属性表或其他表的活动字段的属性索引信息的文件。当执行过“表格链接(link)”操作,这两个文件就会出现。.prj——坐标系定义文件.shp.xml——元数据文件2.coverage/Shapefile数据模型(第2代)8第2讲Geodatabase数据模型概述3.Geodatabase数据模型(第3代)Geodatabase是一种基于关系数据库、采用面向对象技术来组织和管理空间数据的空间数据模型(对象-关系数据模型)。Geodatabase中的数据对象就是逻辑数据模型中定义的对象(如建筑物、宗地和道路等)。Geodatabase数据模型无需编写代码,通过ArcInfo提供的域、验证规则及其它功能可轻松实现大部分自定义行为(仅建模特殊的要素行为时才需编写代码)。9第2讲Geodatabase数据模型概述Geodatabase数据模型的优点:面向对象的数据建模方法能够更自然地描述要素,自行定义对象类型,定义拓扑、空间和一般关系,以及掌握这些对象如何与其他对象发生交互作用。3.Geodatabase数据模型(第3代)空间数据统一存储所有的空间数据(空间数据及属性数据)由一个(关系)数据库存储和集中管理;空间数据录入和编辑更加精确大多数错误可以通过验证规则或智能验证行为加以防止,因而错误几乎不会出现;用户操作更直观的对象经过适当的设计,Geodalabase包含的数据对象可与用户数据的模型保持一致,用户操作的不再是通常的点、线和多边形,而是他们感兴趣的对象,比如变压器、道路和湖泊等;要素拥有更丰富的背景信息有了拓扑关联、空间表达和一般关系,不仅定义了一个要素的特性而且还定义了它与其他要素背景的联系。当一个相关要素移动、改变或删除时,可以了解它对整个要素集的影响。这种背景信息也可以定位或查找与一个要素相关的两一个要素;10第2讲Geodatabase数据模型概述可以制作更优质的地图可以更深入地控制要素的绘制方式,也可以增加智能化的绘图行为。在ArcMap中可以直接采用复杂的绘图方法,而且通过编写软件代码还能执行高度自动化的绘图方法;动态显示地图上的要素当在Archfo中对要素进行处理时,这些要素能对邻接要素的变化做出相应的反应。也能使要素与定制的查询或分析工具发生关联;定义了更好的要素外形Geodatabase数据模型用直线、圆弧、椭圆弧和贝塞尔(Bezier)曲线来定义要素的外形;要素集是连续的Geodatabase数据模型能容纳非常巨大的要素集而不需要进行数据分片或其他空间分区;多用户同时编辑地理数据Geodatabase数据模型支持多用户分别在本地编辑要素的工作流,然后对出现的冲突进行处理使之达成一致。11第2讲Geodatabase数据模型概述2.2Geodatabase的层次结构Geodatabase数据模型包含3种空间数据表达方式:用矢量数据表达离散的空间要素矢量数据用一组带有关联属性的有序坐标,精确简洁地表示要素的外形。这种表示方式支持几何运算(如计算长度和面积、识别重叠和交叉、查找相邻或相近的其他要素)。矢量数据可以用维数来进行分类。●点是零维形状,它表示太小以致无法用线或面来描述的地理要素。点是用单个有属性的x,y坐标值来存储的●线是一维形状,它表示太狭窄以致无法用面来描述的地理要素。线是用一组带属性的有序的x,y坐标值来存储的,线段可以是直线、圆弧、椭圆弧或曲线。●多边形是二维形状,它表示宽阔的地理要素。多边形以一系列的线段来存储,这些线段构成一个封闭的区域。用栅格数据表达影像、格网化专题数据、曲面像素是组成栅格的基本单元,它的值能描述多种数据。像素能够存储部分谱段的光反射率,也能存储相片的颜色值,以及植被类型、表面值、高程值等专题属性。用不规则三角网(TIN)表达曲面Geodatabase在存储TIN时,将其作为一个带有高程值的节点和带有边的三角形的整体来对待。TIN所在的地理范围内的任意点的高程(或Z值)可以通过内插方法得到。12第2讲Geodatabase数据模型概述Geodatabase按照一定的模型和规则组合空间要素数据集(FeatureDataset),它按层次型的数据对象(Object)来组织空间数据,这些数据对象包括:对象类、要素类、要素数据集和关系类。对象类(ObjectClasses):存储非空间数据的表(Table);要素类(FeatureClasses):具有相同几何类型和属性的要素的集合,包括:简单要素类(SampleFeatureClasses,点、线、多边形、注记Annotation)、拓扑要素类(TopologicalFeatureClasses,节点Junction、边Edge)等;要素数据集(FeatureDatasets):共享空间参考系统的要素类的集合;关系类(RelationshipClasses):存储两个对象类或要素类中的实体间的关联关系的表。13第2讲Geodatabase数据模型概述对象(Object)代表某个实体,如一栋房子、一条河流,或一名客户。每个对象存储为一行(Row)。对象有一系列的属性,这些属性表示对象的性质,如对象的名称、度量值、分类、标识符(关键字)。属性存储为数据库的列(字段)。类(Class)是一组相似的对象,同一个类中的每个对象拥有相同的一组属性。一个类在以数据库中存储为一张关系表。表中的行、列构成一个二维矩阵。Geodatabaseelements14第2讲Geodatabase数据模型概述Geodatabase对象类ObjectClasses要素类FeatureClasses要素数据集FeatureDatasetes关系类RelationshipClasses要素类FeatureClasses几何网络GeometricNetwork关系类RelationshipClasses要素Feature网络要素NetworkFeature关系Relationship表格Table要素Feature关系RelationshipGeodatabase的层次结构15第2讲Geodatabase数据模型概述Geodatabase的层次结构ArcGIS9.216第2讲Geodatabase数据模型概述、子类型属性Geodatabase的层次结构ArcGIS9.217第2讲Geodatabase数据模型概述Geodatabase的层次结构ArcGIS8.318第2讲Geodatabase数据模型概述Geodatabase的层次结构ArcGIS8.319第2讲Geodatabase数据模型概述1.Geodatabasegeodatabase是框架数据最高一层的单位(所有类的集群)空间数据总的集合体可以跨一个或多个geodatabase存储geodatabase通常被组织成主要的数据类别,如土地利用、交通、环境、市政基础设施。geodatabase管理无缝的空间数据它不是把地理区域划分为瓦片状单元,而是使用有效的空间索引进行某个范围的连续表达。2.FeaturedatasetsGeodatabase中通过3种空间数据集实现3种空间数据模型要素数据集(Featuredataset)是具有公共坐标系的要素类的群集。栅格数据集(Rasterdataset)可以是简单数据集,也可以是具有不同光谱值或分类值的多波段复合数据集TIN数据集(TINdataset)包含一组三角形,这些三角形通过精确地覆盖某个区域来表示某种表面,三角形的每个顶点具有z值。20第2讲Geodatabase数据模型概述3.Featureclasses要素类(Featureclass)是具有相同的几何图形类型(点/线/多边形)的空间要素的群集。分2种:简单要素类(SampleFeatureClasses)包含点、线、多边形和注记,且它们之间没有任何拓扑关系。例如:一个要素类中的点与另一要素类中线的终点可能同时存在,但它们是不同的点,这两个点要素可以独立编辑。拓扑要素类(TopologicalFeatureClasses)拓扑要素类被限定在一幅图(graph)中。图是一个对象,它把组成有机拓扑单元(节点Junction、边Edge)的一组要素类捆绑起来。4.Objectclass对象类(Objectclass)是Gedatabase中的一个表(Table),它保存了与空间要素相关的对象的描述性信息,它不等同于地图上的要素。21第2讲Geodatabase数据模型概述5.Relationshipclass关系类是Gedatabase中的一个表,它存储了两个要素类中的要素间或对象间的关系。关系为对象之间的相关性进行建模。有了关系,当一个对象被移动或改变,就可以控制与之相关联的对象如何变化。22第2讲Geodatabase数据模型概述Geodatabase如何扩展数据库Geodatabase能够以三种表现形式来表达地理数据,即离散对象建模为矢量要素,连续的现象建模为栅格,表面建模为TIN。根据数据定义地图图层,并设定绘图方法的框架,通过它可以