arcgis中的geodatabase模型

简介
Geodatabase是ESRI公司定义的一个为ArcGIS所用的数据框架,该框架定义了ArcGIS中用到的所有的数据类型。不管ArcGIS的数据存储到何处、以什么格式存储,都脱离不了该框架。也可以认为Geodatabase是ArcGIS所有支持的数据的一组接口,然后各种数据类型和存储方式都实现了该接口。

例如一个矢量数据,不管其存储成Shape文件,还是存储在Personal Geodatabase(Acess)、File Geodatabase(GDB文件夹)、SDE for Oracle中,当ArcGIS读取出来之后,都是FeatureClass。然后ArcGIS通过FeatureClass对数据进行展示、编辑等,不用关心数据存储在何处以及何种格式。也可以说Geodatabase也是对ArcGIS数据体系的一种规范。

在Geodatabase中(也就是ArcGIS中)我们常用的元素有表(Table)、要素类(FeatureClass)、要素数据集(Feature Dataset)、视图(View)、关系类(RelationShip Class)、栅格(Raster)、栅格数据集(Raster Dataset)。在要素数据集中,可以建立地形三角网(Terrain)、网络数据集(Network Dataset)、拓扑(Topology)等。

数据类型介绍


Table
表。可以理解为我们平常数据库中属性表。有至少一个字段、0或多条记录。对应AE中的ITable接口。

FeatureClass
要素类,可以认为是带有空间数据的Table。除了带有空间数据之外,和Table的特性都是一样的,对应AE中的IFeatureClass接口。普通的要素类对用的类是FeatureClassClass,我们可以用类库帮助中看到,FeatureClassClass是继承ITable的。

要素类可以表示湖泊、行政区划、城市等,除了表示城市的位置外,也可以在要素类中记录城市的面积、人口、GDP等属性信息。要数类在存储的时候各种存储方式也比较类似,一般都会有Geometry或者Shape的一个字段,来存储要素的空间信息。根据集合体类型的不同,可以分为点、线和面三大类,例如湖泊这样的数据就需要面要素类来存储、村庄在小比例下就可以使用点来存储,而铁路就可以使用线类存储。

除了上述分类外,还有一种分类就是以简单要素类和符合要素类分类。简单要素类就是没有拓扑的要素类,这些数据在存储的时候可以放在一个要素数据集中,也可以放在数据集外。复合要素类包括拓扑要素,几何网络等,这些必须存储到一个要素类集合中。

Feature Dataset
要素数据集是一个具有相同空间参考的要素类集合。简单的要素类存储在要素数据集内外都可以,但拓扑等复合要素类必须存储在要素数据集内,以保证作用的数据都处于同一空间参考之下。

RelationShip
关系。关系是一种表(要素类)和另一个表(要素类)之间的联系机制。关系类是有一个表(要素类)指向另一个要素类。当第一个要素类中的数据发生变化后,另一个要素类的数据要会发生变化。感觉和属性数据库中的视图+触发器的概念。例如我们可以把地块和建筑物关联起来,当地块移动的时候,地块内的建筑物可以随着地块自动移动。

Topology
拓扑关系。拓扑关系可以为指定的单个或多个要素类执行拓扑规则。例如地块是不能出现交叠的、一个地块不能跨越两个行政区划,建筑物必须在地块之内等,都是一些拓扑规则,这些规则建立后可以作用到这些要素类上,当对这些要素类进行数据编辑的时候,ArcGIS对自动进行拓扑检查。

Geometric Network
几何网络。几个要素类可以作为一个整体参与到几何网络的构造。几何网络通过拓扑关系保证参与到几何网络中的各个要素的空间信息的连通性。例如我们有一个阀门图层和管线图层,当两个数据参与到同一几何网络中后,当移动阀门时,水管也会延伸、以保持他们在几何上的连通性。

Raster Dataset
栅格数据集,影像作为栅格表来管理。
---------------------
作者:mytudousi
来源:CSDN
原文:https://blog.csdn.net/mytudousi/article/details/31350807
版权声明:本文为博主原创文章,转载请附上博文链接!

原文地址:https://www.cnblogs.com/abella/p/10045165.html