ArcGIS地理数据库简介

      ArcGIS地理数据库(Geodatabase)是ESRI公司在ArcGIS 8版本引入的一个全新的空间数据模型,是建立在关系型数据库管理信息系统之上的统一的、智能化的空间数据库。它是在新的一体化数据存储技术的基础上发展起来的新数据模型。实现了Geodatabase之前所有(包括Coverage/shapefile)空间数据模型都无法完成的数据统一管理,即在一个公共模型框架下对GIS通常所处理和表达的地理空间特征如矢量、栅格、TIN、网络、地址进行同一描述。同时,Geodatabase是面向对象的地理数据模型,其地理空间特征的表达较之以往的模型更接近我们对现实事物对象的认识和表达。

  Geodatabase能将空间数据存储在文件、MDB文件或者大型DBMS中。以上三种存储方式的区别在于可存储数据量的不同以及可支持的并发用户数量不同,能够实现从小数据量、单用户的文件数据库到大数据量、多用户并发编辑的企业级DBMS的不同层次的应用。

  Geodatabase事实上是很多Geographic Dataset的集合,最基本的Dataset的类型包括Feature Classes、Raster Dataset、Attribute Tables。在以上基本要素的基础上,还能定义Geodatabase的Schema、数据的完整性、规则和行为,包括Spatial Reference、Spatial Resolution、Topology、Network、Domain等等。在创建Geodatabase时,首先生成不同的Dataset类型,然后添加或者扩展Geodatabase基本要素的能力,例如添加拓扑、网络、子类以实现GIS行为建模、维护数据完整性以及建立空间关系。

  不同的数据库中,存储矢量和栅格数据几何特征的字段在是不一样的,如果DBMS能够支持Spatial type Extensions,则能够很容易采用这种方式存储空间几何特征。目前有三种DBMS能够支持Geodatabase的Spatial Type:

  (1)Oracle using the ESRI spatial type or optionally the Oracle Spatial type;

(2)IBM DB2 using the Spatial Extender Geometry Object;(3)Informix using the Spatial DataBlade Geometry Object。

Geodatabase将地理要素以表格的形式存储,每行记录代表一个要素。在Geodatabase的数据表支持的数据类型包括:

 

  • Numbers:包括Short Integers、Long Integers、Single-Precision floating points、Double-Precision Floating Point Numbers;
  • Text;
  • Date;
  • BLOB’S;Binary Large Objects用来存储和管理二进制信息,例如Symbols和CAD几何特征;
  • Globe Identifiers:Globe Unique Identifiers。GlobeID和GUID用来唯一标识一行记录。

对于矢量要素的存储来说,创建新的Feature Dataset或者新的Feature Class时,需要对数据的环境进行设置,即Spatial Reference,以下为主要的几种空间参考的参数:

  (1)XY Tolerance

 

       指实现Cluster或者进行拓扑验证、缓冲区分析、多边形叠加等操作时,点与点的坐标之间的最小距离。缺省的XY Tolerance是0.001 meter(投影坐标系);如果是State Plane Feet,则缺省值是0.003281feet;如果是地理坐标系,则缺省值是0.000000008982995degrees。一旦点与点的X坐标或者Y坐标的距离小于XY Tolerance,则两点应该合并为一个点。缺省状态下XY Tolerance=XY Resolution * 10。在实际应用中,XY Tolerance太大或者太小均有问题,应该根据实际情况设定合适的Tolerance。在设定Topology时,可以设定不同要素类的Rank,以确保当两个要素的点小于XY Tolerance时,应该是哪个点向哪个点移动。

 

  (2)XY Resolution

表示存储要素坐标时的数值精度,即可以保留的小数点的位数。缺省状态下的Resloution是0.0001meter(投影坐标系) ;如果是State Plane Feet,则缺省值是0.0003281feet;如果是地理坐标系,则缺省值是0.0000000008982995degrees。

 

  对于3D数据以及Linear Referencing数据,可以分别对Z值和M值设置Z Tolerance、Z Resolution,以及M Tolerance、M Resolution

可以将Geodatabase的Feature Classes扩展为高级数据类型:Feature Dataset,、Subtypes、Attribute Domains、Relationship Classes、Topology、Network Dataset、Geometric Network、Terrain、Address Locator、Linear Referencing、Cadastral Fabric、Cartographic Representation、Versioning。

 

  对于Raster数据的存储来说,Raster数据是采用规则网格表示连续的地理事物和现象。其存储时需要注意以下部分的设置:

  • Coordinate System;
  • Reference Coordinate or XY Location;
  • Cell Size;
  • Count of Rows和Columns。

      Raster和Image数据类型也是存储和管理在关系表格中,Raster数据通常比较大,存储的时候需要一个Side Table来存储,将Raster切为小片,或者大小通常为128*128或者256*256的Blocks,存储在Raster表中,通过Side表的每一行记录去记录栅格中的每一个Block。

 

  ArcGIS地理数据库模型是通过ArcSDE应用服务器在标准的关系型数据库上实现的。ArcSDE为数据库系统定义了一个开放的接口,它允许ArcInfoTM或ArcEditorTM在多种不同数据库平台上管理地理信息,如Oracle、Microsoft、SQL Server、IBM、DB2以及Informix等。

      Geodatabase为地理信息提供了一个通用框架,该框架可以用来定义和操作各种不同的用户模型或专业应用模型。

  Geodatabase支持面向对象的矢量和栅格数据。在该模型中,实体表示为具有属性、行为和关系的对象;支持内建于系统中的各种不同的地理对象类型。这些对象类型包括简单对象、地理要素、网络要素、注记要素以及其他更专业的要素类型。该模型还允许用户定义对象间的关系,并通过规则来维护对象间的参照和拓扑完整性。

 

  对于一个成功的多用户地理信息系统(GIS)来说,如何在数据库中存储数据,如何访问数据以及客户端与服务器端的硬件配置都是关键因素。成功实现一个使用ArcInfo和ArcSDE的GIS系统,必须以良好的数据模型设计为开端。设计Geodatabase是一个关键性的过程,它需要不断地设计和修改,直到满足用户需求并且运行良好为止。用户既可以从一个现有的地理数据库设计开始,也可以从头开始来设计自己的地理数据库。用户一旦拥有了一个设计,即可通过这几种方式来创建地理数据库及其模式:

  • 使用ArcCatalog创建新的数据库数据项;
  • 装载现有的shape文件和coverage数据;
  • 使用统一建模语言(UML)和计算机辅助软件工程(CASE)工具,
  • 或者是将以上几项综合起来使用。

  对于存储地理数据库的数据库管理系统的调整(tuning)是一个高性能地理数据库的关键部分。个人地理数据库不需要这种调整,可是它对于ArcSDE而言却非常重要。如果有兴趣学习调整ArcSDE数据库和地理数据库的更多知识,可以参阅《Configuration and Tuning Guide for DBMS》一书的PDF文件。

     用户用于创建和编辑地理数据库的主要工具在ArcCatalog和ArcMap中均可找到。ArcCatalog具有创建和修改地理数据库模式的各种工具,而ArcMap则具有分析和编辑地理数据库内容的工具。

你可能感兴趣的:(Geodatabase)