举个例子,大家使用那么长时间的Txt和Doc文件格式,也没有去考究他们有什么区别和联系,对于学习ArcGIS中出现的这么多数据格式也不需要过多的考虑,只要对他们的一些基本应用有所了解就可以了:
Shapefile:一种基于文件方式存储GIS数据的文件格式。至少由.shp,.dbf,.shx三个文件作成,分别存储空间,属性和前两者的关系。是GIS中比较通用的一种数据格式。
Coverage:一种拓扑数据结构,一般的GIS原理书中都有它的原理论述。数据结构复杂,属性缺省存储在Info表中。目前ArcGIS中仍然有一些分析操作只能基于这种数据格式进行操作。
Coverage是一种矢量文件格式,几何和空间拓扑关系存储在二进制文件中,与之相关的属性数据则被存放在INFO表或RDBMS中(PC ArcInfo存储在DBF表中)。Coverages是对要素类组织后(feature class)的集合,每个要素类都是一些点,线(arcs),面或者annotation(文本)的集合,用于描述地理要素的Coverage要素类包括point,node,route system,section,polygon和region。一个或多个coverage要素被用于构造地理要素,例如arcs和node被用于构造街道中心线,tic,annotation,link,boundary要素类提供了对coverage数据管理和浏览的支持。
Shapefile和Coverage的区别:二者都是矢量文件结构,但和coverage不同的是shapefile文件不存储拓扑信息,因此相对其它数据格式要较少地占用存储空间,在显示和访问效率上要快许多。通常一个shapefile由一个主文件,索引文件和DBASE文件组成,在几何和属性基于记录号一对一对应,其数据格式ESRI已经公开。
Geodatabase:ArcInfo发展到ArcGIS时候推出的一种数据格式,一种基于RDBMS存储的数据格式,其有两大类:1.Personal Geodatabse 用来存储小数据量数据,存储在Access的mdb格式中。2.ArcSDE Geodatabse 存储大型数据,存储在大型数据库中Oracle,Sql Server,DB2等。可以实现并发操作,不过需要单独的用户许可。
一个geodatabase是DBMS中的一个空间数据知识库,它包含了矢量数据,栅格数据,表以及其它GIS对象。Geodatabase简称为地理数据库,是建立在简单要素层模型基础之上的。Geodatabase模型支持对象-关系矢量数据模型,在这个模型中实体被描述为对象,除具有属性外,还具有对象行为和对象间的关系。geodatabase支持在系统中创建多种地理对象模型,对象类型包括简单对象,地理要素(有位置的对象),几何网络和平面拓扑(对象和其它要素的空间关系)。Geodatabase模型允许你在对象中定义关系,使用这些规则来保持数据的完整性和一致性,这也是和它简单要素层的一个重要区别。
最简单的geodatabase模型是一系列独立要素层集合,每个要素层简单地包含点,线,多边形或注记,这和SDE3的SDE layers和ArcView的shapefile如何实现很相似。一个geodatabase可以由一个或多个要素类组成,而一个要素类则是一个或多个具有相同几何类型的要素集合,扩展的规则和行为被储存在一个附加表中,并且也由ArcSDE来管理。
ArcSDE简单要素层
ArcSDE将要素组织为要素类,一个要素类是一个/多个具有相同几何类型要素的集合,在SDE?3.0时的提法称为“layer”。一个要素是一个空间对象(例如一条道路)的几何描述,定义为一系列的X,Y坐标序列和几何的属性,要素被存储在表中一行就是一个要素。ArcSDE通过一个或多个表实现一个要素类,这取决于DBMS存储集合的列类型。ArcSDE不改变已有的DBMS功能或影响当前的应用程序,,它只是简单地在表中增加了一个空间列并为客户端应用程序提供了工具(C/JAVA API),实际上,它使用和补充了基本的DBMS功能。在ArcSDE中每个几何类型都有一个严格的验证规则集,用来检测一个要素在存储前是否几何化正确,在ArcSDE开发帮助中有对每种几何类型验证规则的描述。