转自:http://www.cnblogs.com/quansixiang/archive/2010/09/17/1829286.html

1  Geodatabase概念

  Geodatabase是ArcInfo8引入的一种全新的面向对象的空间数据模型,是建立在DBMS之上的统一的、智能的空间数据模型。“统一”是指,Geodatabase之前的多个空间数据模型都不能在一个统一的模型框架下对地理空间要素信息进行统一的描述,而Geodatabase做到了这一点;“智能化”是指,在Geodatabase模型中,对空间要素的描述和表达较之前的空间数据模型更接近我们的现实世界,更能清晰、准确地反映现实空间对象的信息。

  GeoDatabase的设计主要是针对标准关系数据库技术的扩展,它扩展了传统的点、线和面特征,为空间信息定义了一个统一的模型。在该模型的基础上,使用者可以定义和操作不同应用的具体模型,例如交通规划模型、土地管理模型、电力线路模型等。GeoDatabase为创建和操作不同用户的数据模型提供了一个统一的、强大的平台。

  由于Geodatabase是一种面向对象的数据模型,在此模型中,空间中的实体可以表示为具有性质、行为和关系的对象。Geodatabase描述地理对象主要通过以下以下四种形式:

  (1)用矢量数据描述不连续的对象;

  (2)用栅格数据描述连续对象;

  (3)用TINs描述地理表面;

  (4)用Location或者Address描述位址。

  Geodatabase还支持表达具有不同类型特征的对象,包括简单的物体、地理要素(具有空间信息的对象)、网络要素(与其他要素有几何关系的对象)、拓扑相关要素、注记要素以及其他更专业的特征类型。该模型还允许定义对象之间的关系和规则,从而保持地物对象间相关性和拓扑性的完整。

2  Geodatabase体系结构

  Geodatabase以层次结构的数据对象来组织地理数据。这些数据对象存储在要素类(Feature Classes)、对象类(0bject classes)和数据集(Feature datasets)中。Object Class可以理解为是一个在Geodatabase中储存非空间数据的表。而Feature class是具有相同几何类型和属性结构的要素(Feature)的集合。

  要素数据集(Feature datasets)是共用同一空间参考要素类的集合。要素类(Feature Class)储存可以在要素数据集(Feature datasets)内部组织简单要素,也可以独立于要素数据集(Feature datasets)。独立于要素数据集(Feature datasets)的简单的要素类(Feature Class)称为独立要素类(Feature class)。存储拓扑要素( Feature )的要素类必须在要素数据集(Feature dataset)内,以确保一个共同的空间参考。

  Geodatabase的基本体系结构包括要素数据集、栅格数据集、TIN数据集、独立的对象类、独立的要素类、独立的关系类和属性域。其中,要素数据集又由对象类、要素类、关系类、几何网络构成。

3  Geodatabase的三种存储方案

  Geodatabase提供了不同层次的空间数据存储方案,可以分成三种——PersonalGeodatabase(个人空间数据库)、File Geodatabase(基于文件格式的数据库)和ArcSDE Geodatabase(企业级空间数据库)。

1.Personal Geodatabase

  Personal Geodatabase主要适用于在单用户下工作的CIS系统,适用于小型项目的地理信息系统。ArcGIS对个人Geodatabase同样具有全功能支持。Personal Geodatabase实际上就是一个Microsoft Access数据库,当用户安装ArcGIS的时候,系统就自动安装了Microsoft Jet,用户无需再另外安装Microsoft Access数据库。也就是说,PersonalGeodatabase对于ArcGIS用户是免费的,它使用Microsoft Jet Engine的数据文件,将空间数据存放在Access数据库中。Personal Geodatabase更像基于文件的工作空间,在使用Personal Geodatabase时需要注意的是,Personal Geodatabase的最大容量是2G,并且只支持windows平台。

2.File Geodatabase

  在ArcGIS 9.2版本中,引入了一种全新的空间数据存储方案——File Geodatabase,它也是适用于单用户环境的,同样能够支持完整的Geodatabase数据模型,同样可以让用户在没有DBMS的情况下使用大数据集。File Geodatabase数据以文件形式存储在Windows、Solaris以及Linux系统的文件夹内。容量限制方面,File Geodatabase中的每个表都能存储1TB的数据,这就是说对任何应用目的,用户都能够支持非常大的数据集。Fiel Geodatabase还具有压缩矢量数据的选项,通过这个选项,用户可以在保证性能的同时减少硬盘占用,压缩比率可以达到2:1到25:1。从目前测试的情况来看,File Geodatabsse性能比Personal Geodatabase要高20%到10倍。如果采用压缩方式,它的性能与Shape文件相仿,并且要强于Personal Geodatabase。存储同样的数据时,File Geodatabase比Personal Geodatabase减少了50%到80%的磁盘占用空间。

  ArcGIS提供了一些工具来从DBMS形式的Geodatabase中提取一个File Geodatabase以及将一个File Geodatabase导人DBMS中。用户可以通过从其他任何Geodatabase或者所支持的文件结构内,例如Shape文件,加载数据来轻松地创建File Geodatabaee。File Geodatabase很容易被ArcGIS Desktop、ArcGIS Engine以及ArcGIS Server访问和使用。

  另外,File Geodatabage还支持存储海量栅格数据集,与ArcSDE raster schema兼容。从目前的趋势来看,File Geodatabase将要逐步取代Personal Geodatabase。

3.ArcSDE Geodatabase

  ArcSDE Geodatabase主要用于在多用户网络环境下工作的GIS系统。通过TCP/IP协议,安装在管理企业数据的关系数据库的服务器上的ArcSDE为运行在客户端的CIS应用程序提供ArcSDE Geodatabase。通过ArcSDE,用户可以将多种数据产品按照Geodatabase模型存储于商业数据库系统中,并获得高效的管理和检索服务。

  ArcSDE Geodatabase的一个最大特点就是使用ArcSDE在网络环境下对空间数据进行多用户并行操作。另外 ArcSDE Geodatabaee提供的版本控制机制也是Personal Geodatabaee和File Geodatabase不具有的。通过ArcSDE,用户可以在0racle、Microsoft SQL Server、InfoMix和DB2  中存取SDE图层。

  当用户从SDE图层中创建Geodatabase时,客户端需要向这些图层加入元数据表。这些元数据包括子类、域、关联类、要素集等,这些元数据使得ArcSDE管理的空间数据库真正体现了Geodatabase模型。

3  Geodatabase的优势

  地理空间数据模型从最初的CAD数据模型到Coverage数据模型,再发展为现今普通使用的Geodatabase 数据模型,经历了几十年的时间。Geodatabase为GIS应用程序提供常用的数据接口和管理框架,提供了处理丰富数据类型、应用复杂规则和关系、存取大量地理数据等功能。

  Geodatabase的优势主要在该模型对关系数据库的扩展,具体体现以下几个方面:

  (1)  Geodatabase存储要素的几何特性,便于开发GIS应用程序中的空间操作功能,比如查找与要素邻近的对象或者具有特定长度的对象,Geodatabase中还提供定义和管理数据的地理坐标系统的框架。

  (2) Geodatabase中的几何网络(Geometric Network)可以模拟道路运输实业或者其他公用设施网络,进行网络拓扑运算。

  (3) Geodatabase中可以定义对象、要素之间的关联(Relationships)。使用拓扑关系、空间表达和一般关联,用户不仅可以定义要素的特征,还可以定义要素与其他要素的关联规则。当要素被移动、修改或删除的时候,用户预先定义好的关联要素也会作出相应的变化。

  (4) Geodatabase通过定义域(Domain)和验证规则(Validation rule)来增强属性的完整性。

  (5) Geodatabase将要素的一些“自然”行为绑定到存储要素的表中。

  (6) Geodatabase可以有多个版本(Version),同一时刻允许不同用户对同一数据进行编辑,并可自动协调出现的冲突。

GIS数据格式:Geodatabase的更多相关文章

  1. GIS数据格式:Shapefile

    转自:http://lab.osgeo.cn/2449.html Shapefile是ESRI提出的数据格式,随着ArcView GIS 3.x发布,属于简单要素类.Shapefile由于其数据结构简 ...

  2. GIS数据格式:Coverage

    转自:http://www.cnblogs.com/w2william/archive/2009/10/15/1583954.html 我之前做了一个模块,基本实现了ArcCatalog中左边树状结构 ...

  3. 更小的GIS数据格式-Geobuf

    背景 我们经常遇到直接传输gis数据到前端展示的时候,有时候数据量一稍微多点,传输速度就减慢,因为我们用于传输的json格式比较大. Geobuf介绍 Geobuf是一种用于地理数据的紧凑二进制编码. ...

  4. gis数据格式转换(数据导入)ConvertFeaCls

    本文主要对数据导入等里 常用的不同格式数据创建.转换等 进行代码示例.主要用到IFeatureDataConverter.ConvertFeatureClass方法. 代码如下,难度不大,只是个技巧问 ...

  5. GIS数据格式topojson

    Topojson源自于GeoJson,是D3中描述地理数据的格式,D3的作者觉得GeoJson太繁琐.同样的数据,TopoJson是GeoJson的1/5. 这里有一个转换TopoJson,GeoJs ...

  6. 【GIS数据格式】ArcInfo Binary Grid Format

    最近在修改项目时发现有些提取的坡度数据在参与了下一步计算后会出错,仔细跟了代码之后发现AE生成的坡度数据和其他一些分析后的栅格都被存储为.adf文件.说起惭愧,并不了解这是什么数据,由于下层算法使用G ...

  7. 聊聊GIS数据的四个分层与GIS服务

    本篇不讨论矢量栅格数据的结构,也不讨论矢量与栅格的区别(即设定读者有这方面的基础). 版权声明:原创.博客园/B站/小专栏/知乎/CSDN @秋意正寒 转载请标注原地址并声明转载: https://w ...

  8. 开源GIS软件初探

    谈到GIS软件,首先让我们想到的便是GIS界的龙头大哥ESRI公司旗下的ArcGIS产品,从最初接触的version 9.2到如今的version 10.1,其发展可谓风生水起.MapInfo软件也不 ...

  9. 开源GIS浅谈 【转】

    http://blog.csdn.net/happyduoduo1/article/details/51773850 谈到GIS软件,首先让我们想到的是GIS界的龙头大哥ESRI公司旗下的ArcGIS ...

随机推荐

  1. ACE 6.2.0 RHEL6_Linux 编译

    第一步. 设置环境变量 export ACE_ROOT=$HOME/ace/ACE_wrappersexport LD_LIBRARY_PATH=$ACE_ROOT/ace:$ACE_ROOT/lib ...

  2. PHP学习笔记(1) - 开发环境搭建

    运行环境:phpstudy 它基本包括运行php应用需要的一切,php. apache.mysql,一键傻瓜安装 装好之后只需要配置虚拟主机和修改host文件就可以支持多站点 下载: http://w ...

  3. Python subprocess模块学习总结

    从Python 2.4开始,Python引入subprocess模块来管理子进程,以取代一些旧模块的方法:如 os.system.os.spawn*.os.popen*.popen2.*.comman ...

  4. codeforces 630K - Indivisibility

    K. Indivisibility 题意:给一个n(1 <= n <= 10^18)的区间,问区间中有多少个数不能被2~10这些数整除: 整除只需要看素数即可,只有2,3,5,7四个素数: ...

  5. 一步步学习NHibernate(8)——HQL查询(2)

    请注明转载地址:http://www.cnblogs.com/arhat 在上一章中,老魏带着大家学习了HQL语句,发现HQL语句还是非常不错的,尤其是在懒加载的时候,书写起来比较的舒服,但是这里老魏 ...

  6. Monitor All SQL Queries in MySQL (alias mysql profiler)

    video from youtube: http://www.youtube.com/watch?v=79NWqv3aPRI one blog post: Monitor All SQL Querie ...

  7. 实现n皇后问题(回溯法)

    /*======================================== 功能:实现n皇后问题,这里实现4皇后问题 算法:回溯法 ============================= ...

  8. js add media query

    var msViewportStyle = document.createElement("style"); msViewportStyle.appendChild( docume ...

  9. JAVA入门第二季(mooc-笔记)

    相关信息 /** * @subject <学习与创业>作业1 * @author 信管1142班 201411671210 赖俊杰 * @className <JAVA入门第二季&g ...

  10. CSS 元素透明

    1.HTML 元素透明 其实本身,CSS 实现元素透明是件容易事儿.直接上代码: opacity:.5 opacity 指的是不透明度,取值为 0~1 之间,1 表示完全不透明,0 表示完全透明. A ...