Geodatabase

更新时间:2022-05-25 16:30

Geodatabase是一种采用标准关系数据库技术来表现地理信息的数据模型。Geodatabase支持在标准的数据库管理系统(DBMS)表中存储和管理地理信息。 Geodatabase支持多种DBMS结构和多用户访问,且大小可伸缩。从基于Microsoft Jet Engine的小型单用户数据库,到工作组,部门和企业级的多用户数据库,Geodatabase都支持。

结构

有两种geodatabase结构:个人Geodatabase和多用户Geodatabase (multiuser geodatabase)。 个人Geodatabase,对于ArcGIS用户是免费的,它使用Microsoft Jet Engine数据文件结构,将GIS数据存储在小型数据库中。个人geodatabase更像基于文件的工作空间,数据库存储量最大为2GB。个人geodatabase使用微软的Access数据库来存储属性表。

对于小型的GIS项目和工作组来说,个人Geodatabase是非常理想的工具。通常,GIS用户采用多用户Geodatabase来存储和并发访问数据。个人Geodatabase支持单用户编辑,不支持版本管理

多用户Geodatabase通过ArcSDE支持多种数据库平台,包括IBM DB2,Informix,Oracle(有或没有Oracle Spatial都可以)和SQL Server。多用户Geodatabase使用范围很广,主要用于工作组、部门和企业,利用底层DBMS结构的优点实现以下功能:

1.支持海量的,连续的GIS数据库;

2.多用户的并发访问;

3.长事务和版本管理的工作流。

基于数据库的geodatabases可以支持海量数据以及多用户并发。在众多的geodatabase实现中,空间地理数据一般存放在大型的binary object中,ESRI发现插入和取出这样的大对象,关系数据库是非常高效的。而且,GIS数据库的容量和支持的用户数远大于文件的存储形式。

增强的RDBMS要素:

由于Geodatabase是基于关系型数据库管理系统技术来创建的,于是,Geodatabase拥有关系型数据库管理系统的所有功能。

例如,你可以为Geodatabase设置字段的完整性约束。如此一来,便可以使用由RDBMS增强的关系来创建表之间的关联类(relationships)。

行为定制

由于Geodatabase的体系是基于面向对象技术构建的。

这样,用户可以为自己的Geodatabase开发代码,以满足行业的专门化应用的特殊要求。

Geodatabase的体系结构

GIS软件和数据库共同完成地理数据的管理。某些数据管理,如磁盘存储,属性数据类型的定义,联合查询和多用户的事务处理都是由数据库完成的。

GIS应用软件则通过定义DBMS表,用来表示各种地理数据和特定领域内的逻辑,以及维护数据的完整性和实用性。

实际上,DBMS是专门用来存放地理数据的,而完全不是用来定义地理数据的行为的。

这是一个多层的结构(应用和存储),数据的存取是通过存储层(DBMS),由简单表来实现,而高级的数据完整性维护和信息处理的功能是在应用层软件(GIS)完成的。

Geodatabase的实现也使用了和其他高级DBMS应用相同的多层结构。

Geodatabase对象作为具有唯一标识的表中的记录进行存储,其行为通过Geodatabase应用逻辑来实现。

Geodatabase的核心是标准的(不是特殊的)关系数据库模式(一组标准的DBMS表,字段类型,索引等等)。

数据的存储由应用层的高级应用程序对象协调和控制(可以是ArcGIS客户端或ArcGIS Server)。这些geodatabase对象定义了通用的GIS信息模型,可以在所有的ArcGIS应用和用户中使用。

Geodatabase对象的作用就是向用户提供一个高级的GIS信息模型,而模型的数据以多种方式进行存储,可以存储在标准的DBMS的表中,或者文件系统中,也可以是XML流。

所有的ArcGIS应用程序都与geodatabase的GIS对象模型进行交互,而不是直接用SQL语句对后台的DBMS实例进行操作。

Geodatabase软件组件实现了通用模型中的行为和完整性规则,并且将数据请求转换成对相应的物理数据库的操作。

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}