地理数据库存储模型以一系列简单但核心的关系数据库概念为基础,并利用了基础数据库管理系统 (DBMS) 的优势。简单表和明确定义的属性类型用于存储各地理数据集的方案、规则、库以及空间属性数据。该方法为存储和使用数据提供了一个正式模型。通过此方法,可使用结构化查询语言 (SQL)(即一系列关系函数和运算符)来创建、修改以及查询表及其数据元素。

通过检查具有面几何的要素在地理数据库中的建模方式,您可以了解上述操作的工作原理。要素类以表的形式存储,通常称为基表或业务表。表中的每一行代表一个要素。shape 列保存每个要素的面几何。当表中的内容(包括 shape)以 SQL 空间类型存储时,可通过 SQL 进行访问。

然而,只是向 DBMS 添加空间类型和对空间属性的 SQL 支持并不足以支持 GIS。ArcGIS 采用多层应用程序架构,在地理数据库存储模型之上的应用程序层执行高级逻辑和行为。该应用程序逻辑支持一系列通用地理信息系统 (GIS) 数据对象和行为,如要素类、栅格数据集、拓扑、网络以及更多。

地理数据库 (geodatabase) 为对象关系型

地理数据库使用在其他高级 DBMS 应用程序中的相同多层应用程序架构来实现;地理数据库的实现不存在任何特别之处。地理数据库的这种多层架构有时被称为对象关系模型。地理数据库对象在具有标识的 DBMS 表中以行形式保存,而行为通过地理数据库应用程序逻辑提供。通过将应用程序逻辑与存储相分离,可支持多个不同的 DBMS 以及多种数据格式。

关系数据库中的地理数据库 (geodatabase) 存储

地理数据库的核心部分是一个标准的关系数据库方案(一系列标准的数据库表、列类型、索引和其他数据库对象)。方案保留在定义地理信息完整性和行为的 DBMS 的一系列地理数据库系统表中。这些表或者以文件的形式存储到磁盘上,或者存储到 DBMS 的数据库中,如 Oracle、IBM DB2、PostgreSQL、IBM Informix 或 Microsoft SQL Server。

明确定义的列类型用于存储传统表格属性。将地理数据库存储在 DBMS 中时,空间制图表达(多用矢量或栅格表示)通常使用扩展的空间类型进行存储。

地理数据库包含两组主要表:系统表和数据集表。

  • 数据集表 - 地理数据库中的每个数据集都存储在一个或多个表中。这些数据集表使用系统表管理数据。
  • 系统表 - 地理数据库系统表用于追踪每个地理数据库的内容。它们实质上描述的是用于指定所有数据集定义、规则和关系的地理数据库方案。这些系统表包含并管理元数据,所有这些元数据均为实现地理数据库属性、数据验证规则和行为所需。

从 ArcGIS 10 开始,这些表的内部结构进行了重构。在 ArcGIS 10 之前的版本中,与地理数据库方案相关的信息存储在超过 35 个地理数据库系统表内,而在 ArcGIS 10 中则被合并为四个主表:

  • GDB_Items:包含地理数据库中的所有项(例如要素类、拓扑和属性域)的列表
  • GDB_ItemTypes:包含识别的项类型(例如表)的预定义列表
  • GDB_ItemRelationships:包含各个项之间的方案关联,例如要素数据集中包含哪些要素类
  • GDB_ItemRelationshipTypes:包含识别的关系类型(例如 DatasetInFeatureDataset)的预定义列表

将数据集表和系统表共同用于显示和管理地理数据库的内容。例如,以基础存储格式进行查看时,要素类只是一个包含空间列的表。但通过 ArcGIS 访问时,存储在系统表中的所有规则将与基础数据相结合,从而使所呈现的要素类具备所有定义的行为。

地理数据库 (geodatabase) 的架构相关推荐

  1. oracle存储栅格数据,ArcGIS_栅格数据在地理数据库 (geodatabase) 中的存储方式

    在 ArcSDE 地理数据库中存储栅格数据 当栅格数据存储在 ArcSDE 地理数据库时,将提供企业级的功能,如安全.多用户访问和数据共享.以下为将栅格数据存储在 ArcSDE 中的三个主要原因:其更 ...

  2. 什么是地理数据库geodatabase?

    在最基本的层面上,ArcGIS 地理数据库是存储在通用文件系统文件夹.Microsoft Access 数据库或多用户关系 DBMS(如 Oracle.Microsoft SQL Server.Pos ...

  3. 地理数据库 —— Geodatabase

    shapefile数据模型 geodatabase简介 参考南师大杨昕老师地学分析的课件 1.Shapefile数据模型 2. Geodatabase

  4. ArcGIS基础学习笔记之空间数据Geodatabase数据库

    1. Geodatabase介绍 地理数据库Geodatabase是面向对象的地理数据模型..Geodatabase是按照成层次型的数据对象来组织地理数据的.这些数据对象包括对象类(0bjects). ...

  5. ArcGIS版本高级应用 数据归档(历史归档 存档数据)

    QQ交流群:607330463 GIS开发技术最强交流群   未经允许 禁止转载  可以参考 目录 1地理数据库 (Geodatabase) 存档 2启用存档 3存档过程 4使用历史版本 5使用历史标 ...

  6. oracle存储栅格数据,如何存储和管理栅格数据

    地理数据库中的栅格数据存储 在下述情况下可将栅格数据存储在地理数据库中:要管理栅格.添加行为和控制方案时:要将明确的栅格数据集作为 DBMS 的一部分进行管理时:要使用一个数据架构来管理全部内容时.地 ...

  7. GIS基础软件及操作(十)

    原文 GIS基础软件及操作(十) 练习十.网络分析 (1) 加深对网络分析基本原理.方法的认识: (2) 熟练掌握ARCGIS下进行道路网络分析的技术方法: (3) 结合实际.掌握利用网络分析方法解决 ...

  8. 《ArcGIS Runtime SDK for Android开发笔记》——离在线一体化技术:离线矢量数据同步...

    1.前言 上一篇文章中我们实现了离线要素的编辑操作,这一篇中主要介绍离在线一体化技术中最后一个环节离线数据的同步功能,通过对数据的上传,服务器端的版本化管理,实现数据生产管理的整个流程. 转载请注明出 ...

  9. ArcGIS介绍:ArcObjects、 ArcGIS Desktop、ArcGIS Engine 和 ArcSDE、ArcIMS、ArcGIS Server

    版权声明 :转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://hgg2002.blogbus.com/logs/45875381.html 在ArcGIS 9系列产品中,ArcGI ...

最新文章

  1. 理解关于java反射中类的域及修饰符
  2. jzoj3852-单词接龙【0/1分数规划,负环】
  3. 笔记本电脑如何保养_电脑保养只是吹一吹?别再被骗了,电脑没做这些就等于没保养...
  4. 通用ShellCode深入剖析
  5. app 怎么通过jmeter 进行性能测试
  6. Java 集合HashSet TreeSet HashMap ArrayList TreeList
  7. 关于iOS 6 中的一些“xxxxxx” is deprecated 问题的解决办法
  8. python生成姓名,python生成随机姓名
  9. opencv将透明PNG图片填充为白色背景
  10. 计算机无法筛选怎么办,电脑突然出现什么筛选键怎么处理?
  11. 面向对象之抽象类与接口【Java】
  12. C#语言实例源码系列-鼠标左右键颠倒
  13. Ubuntu16.04安装vscode,并修改为简体中文版,设置显示空格和tab,汉字或者汉字的标点带黄色框
  14. sht11湿度程序c语言,温湿度传感器 sht11 仿真程序下载
  15. zbb20180921 spring事物的七种事物传播属性行为及五种隔离级别
  16. Mybatis缓存探索,查询集合后修改内容,再次执行sql查询结果发现是被修改过的
  17. solidworks正版软件的授权经销商有这样的软件
  18. html可复用的div写法,六种常见的HTML5写法误用
  19. 数字+字母 通用验证码图片识别 无限识别
  20. php mysql oracle_php连接Oracle数据库

热门文章

  1. OpenStack 的部署T版(二)——Keystone组件
  2. ubuntu切换中文输入法
  3. linux怎么制作运行包,简单 RPM 包制作
  4. python包括几种数据类型_简单谈谈Python中的几种常见的数据类型
  5. 计算机科学英文杂志,Journal of Computer Science Technology
  6. php post请求跳转,学习猿地-php如何实现post跳转
  7. 基于朴素贝叶斯的书籍评价信息分类
  8. 前端JavaScripts基础知识点
  9. 工具栏,底部导航栏,可扩展列表视图
  10. CSS3给网页穿上美丽的外衣