地理数据库的类型geodatabase类型

地理数据库是用于保存数据集集合的“容器”。有以下三种类型:

  1. 文件地理数据库 - 在文件系统中以文件夹形式存储。每个数据集都以文件形式保存,该文件大小最多可扩展至 1 TB。建议使用文件地理数据库而不是个人地理数据库。
  2. 个人地理数据库 - 所有的数据集都存储于 Microsoft Access 数据文件内,该数据文件的大小最大为 2 GB。
  3. ArcSDE 地理数据库 - 使用 Oracle、Microsoft SQL Server、IBM DB2、IBM Informix 或 PostgreSQL 存储于关系数据库中。这些多用户地理数据库需要使用 ArcSDE,在大小和用户数量方面没有限制。
比较三种类型的地理数据库

关键特征

ArcSDE 地理数据库

文件地理数据库

个人地理数据库

描述

在关系数据库中以表的形式保存的各种类型的 GIS 数据集的集合(为在关系数据库中存储和管理的 ArcGIS 建议使用的本机数据格式。)

在文件系统文件夹中保存的各种类型的 GIS 数据集的集合(为在文件系统文件夹中存储和管理的 ArcGIS 建议使用的本机数据格式。)

在 Microsoft Access 数据文件中存储和管理的 ArcGIS 地理数据库的原始数据格式。(此数据格式的大小有限制且仅适用于 Windows 操作系统。)

用户数

多用户:多位读取者和多位写入者

单个用户和较小的工作组:每个要素数据集、独立要素类或表有多位读取者或一位写入者。浮动使用任何特定文件最终都会导致大量读取者的降级。

单个用户和较小的工作组(具有较小的数据集):多位读取者和一位写入者。浮动使用最终会导致大量读取者的降级。

存储格式

  • Oracle
  • Microsoft SQL Server
  • IBM DB2
  • IBM Informix
  • PostgreSQL

每个数据集都是磁盘上的一个单独文件。文件地理数据库是用来保存其数据集文件的文件夹。

每个个人地理数据库中的所有内容都保存在单个 Microsoft Access 文件 (.mdb) 中。

大小限制

可达 DBMS 限制

每个数据集 1 TB。每个文件地理数据库可保存很多数据集。对于超大型影像数据集,可将 1 TB 限值提高到 256 TB。每个要素类最高可扩展至每个数据集数亿个矢量要素。

每个 Access 数据库 2 GB。性能下降前的有效限制通常介于每个 Access 数据库文件 250 到 500 MB 之间。

版本管理支持

完全支持所有的 DBMS。包括交叉数据库复制、使用检出和检入进行更新以及历史存档。

对于使用检出和检入提交更新的客户机和可使用单向复制向其发送更新的客户机,仅支持地理数据库格式。

对于使用检出和检入提交更新的客户机和可使用单向复制向其发送更新的客户机,仅支持地理数据库格式。

平台

Windows、UNIX、Linux 和与 DBMS 的直连,这些 DBMS 可能会在用户的本地网络中的任意平台上运行。

跨平台。

仅适用于 Windows。

安全和权限

由 DBMS 提供

操作文件系统安全。

Windows 文件系统安全。

数据库管理工具

备份、恢复、复制、SQL 支持、安全等的完整 DBMS 功能

文件系统管理。

Windows 文件系统管理。

需要使用 ArcSDE 技术。ArcSDE for SQL Server Express 包含于

  • ArcEditor 和 ArcInfo
  • ArcGIS Engine
  • ArcGIS Server Workgroup

ArcGIS Server Enterprise 中包含面向所有其他 DBMS 的 ArcSDE

还可以以只读的压缩格式存储数据以降低存储要求。

通常用作属性表管理器(通过 Microsoft Access)。用户喜欢针对文本属性的字符串处理。

三种类型地理数据库的比较

了解有关创建地理数据库的信息

文件地理数据库和个人地理数据库

文件地理数据库和个人地理数据库是专为支持地理数据库的完整信息模型而设计的,它包含拓扑、栅格目录、网络数据集、Terrain 数据集、地址定位器等,ArcView、ArcEditor 和 ArcInfo 的所有用户可免费获取这两种地理数据库。单用户可以对文件地理数据库和个人地理数据进行编辑,这两种地理数据库不支持地理数据库版本管理。使用文件地理数据库,如果要在不同的要素数据集、独立要素类或表中进行编辑,则可以同时存在多个编辑器。

文件地理数据库是在 ArcGIS 9.2 中发布的新地理数据库类型。其旨在执行以下操作:

  • 为所有用户提供可用范围广泛、简单且可扩展的地理数据库解决方案。
  • 提供能够跨操作系统工作的可移植地理数据库。
  • 通过扩展可处理非常大的数据集。
  • 性能和可扩展性极佳。例如,要支持包含超过 3 亿个要素的单个数据集,并支持可扩展为每个文件超过 500 GB(且可获得极佳的性能)的数据集。
  • 使用性能和存储能力都得到优化的高效数据结构。文件地理数据库所使用的存储空间约为 shapefile 和个人地理数据库所必需的要素几何存储空间的三分之一。文件地理数据库还允许用户将矢量数据压缩为只读格式,以进一步降低存储要求。
  • 在涉及属性的操作方面优于 shapefile,数据大小限制可进行扩展,可使其超出 shapefile 限制。

自从个人地理数据库最初在 ArcGIS 8.0 版本中首次发布以来,ArcGIS 中一直在使用个人地理数据库,该地理数据库使用了 Microsoft Access 数据文件结构(.mdb 文件)。它们支持的地理数据库的大小最大为 2 GB。不过,在数据库性能开始降低之前,有效的数据库大小会较小(介于 250 和 500 MB 之间)。个人地理数据库只能在 Microsoft Windows 操作系统下使用。用户喜欢他们能够通过 Microsoft Access 针对个人地理数据库执行的表操作。许多用户确实喜欢 Microsoft Access 中用于处理属性值的文本处理功能。

出于很多用途,ArcGIS 将继续支持个人地理数据库。不过,多数情况下,ESRI 推荐使用文件地理数据库以实现数据库大小的可扩展性,这样可大幅度提高性能并可跨平台使用。文件地理数据库非常适合处理用于 GIS 投影的基于文件的数据集,非常适合个人使用以及在小型工作组中使用。它具有很高的性能,在不需要使用 DBMS 的情况下能够进行很好的扩展以存储大量数据。另外,还可跨多个操作系统对其进行移植。

通常,用户会针对数据集合使用多个文件或个人地理数据库,并针对他们的 GIS 工作同时访问这些地理数据库。

ArcSDE 地理数据库

如果需要一种多位用户可同时编辑和使用的大型多用户地理数据库,则 ArcSDE 地理数据库可提供一种极佳的解决方案。新增的功能可用于管理共享式多用户地理数据库和支持多种基于版本的关键性 GIS 工作流。从而使利用贵组织企业关系数据库的能力成为 ArcSDE 地理数据库的一项重要优势。

ArcSDE 地理数据库适用于多种 DBMS 存储模型(IBM DB2、Informix、Oracle、PostgreSQL 和 SQL Server)。ArcSDE 地理数据库使用范围广泛,主要适用于个人、工作组、部门和企业设置。它们充分利用 DBMS 的基础架构以支持以下内容:

  • 超大型连续 GIS 数据库
  • 多位同步用户
  • 长事务和版本化工作流
  • 对 GIS 数据管理的关系数据库支持(为保证可伸缩性、可靠性、安全性、备份以及完整性等提供建立关系数据库的优势)
  • 所有支持的 DBMS(Oracle、SQL Server、PostgreSQL、Informix 和 DB2)中的 SQL 空间类型
  • 可适应大量用户不同要求的高性能

通过许多大型地理数据库的安装启用,我们发现在将 GIS 数据所需的大型二进制对象移入和移出表格时 DBMS 的效率极高。此外,与基于文件的 GIS 数据集相比,GIS 数据库的容量更大且支持的用户数量也更多。

有关 ArcSDE 地理数据库架构以及 ArcSDE 地理数据库如何利用关系数据库技术的信息,请参见地理数据库的架构

ArcSDE 可对 DBMS 事务框架进行长事务管理和短事务管理

ArcSDE 的主要角色之一就是支持每个 DBMS 中的地理数据库版本管理框架。

绝大多数情况下,GIS 中的单个编辑事务可能涉及对多个表中的多个行进行更改。例如,更新宗地可能需要更改面的表示,并更改相应的边界线和宗地拐角。此外,还必须更新这些要素中每个要素的属性记录。此编辑操作需要对多个表中的多条记录进行更改。在这些情况下,用户希望将此编辑集合视为单个事务。提交或回滚这些更改时,会将它们视为一个统一的操作来进行管理。

同时,用户希望能够在一个编辑会话中撤消和重做单个编辑操作。为了使这种情况变得更为复杂,可能需要在与中央共享数据库断开连接的系统中执行编辑操作。

而且,在这些专门化的 GIS 数据维护过程中,GIS 数据库必须持续保持对日常操作可用,而在这些日常操作中,每位用户都有可能获取共享 GIS 数据库的个人视图或状态。

通过使用一种称为版本管理的方法,ArcSDE 地理数据库支持在多用户环境下对这些数据管理情景及许多其他数据管理情景进行管理和更新。在版本管理这种机制下,所有的数据库更改都作为表中的行进行记录。例如,每次更新某一行中的某个值时,旧值即会失效,并会新增一个更新行。

这样,通过将更改信息以增量记录的方式存储在数据库中,ArcSDE 技术就能在简单 DBMS 事务框架中管理复杂的高级 GIS 事务。

转自:http://blog.csdn.net/lz576825608/article/details/8281305

地理数据库的类型geodatabase类型的更多相关文章

  1. 《精通C#》自定义类型转化-扩展方法-匿名类型-指针类型(11.3-11.6)

    1.类型转化在C#中有很多,常用的是int类型转string等,这些都有微软给我们定义好的,我们需要的时候直接调用就是了,这是值类型中的转化,有时候我们还会需要类类型(包括结构struct)的转化,还 ...

  2. [你必须知道的.NET] 第八回:品味类型---值类型与引用类型(上)-内存有理

    原文地址:http://kb.cnblogs.com/page/42318/ 系列文章导航: [你必须知道的.NET] 开篇有益 [你必须知道的.NET] 第一回:恩怨情仇:is和as [你必须知道的 ...

  3. java基础-基础类型包装类型

    想要对基本类型数据进行更多的操作,最方便的方式就是将其封装成对象. 为啥呢?因为在对象描述中就可以定义更多的属性和行为对该基本数据类型进行操作. [八种基本数据类型的包装类] byte --Byte ...

  4. C# 如何获取某个类型或类型实例对象的大小

    在统计类型或类型实例对象时,出了个异常: “不能作为非托管结构进行封送处理;无法计算有意义的大小或偏移量.” 后来查了一下,原来,我们创建的struct或是class都是属于复杂类型的.(纠正一下,如 ...

  5. JavaScript的基本包装类型概述与基本包装类型_Number类型

    JavaScript的基本包装类型示例 为了便于操作基本类型值,javaScript 提供了 3 个特殊的引用类型:Boolean.Number和 String. 这些类型与其他引用类型相似,但同时也 ...

  6. typescript枚举,类型推论,类型兼容性,高级类型,Symbols(学习笔记非干货)

    枚举部分 Enumeration part 使用枚举我们可以定义一些有名字的数字常量. 枚举通过 enum关键字来定义. Using enumerations, we can define some ...

  7. Java 日期时间 Date类型,long类型,String类型表现形式的转换

    Java 日期时间 Date类型,long类型,String类型表现形式的转换 1.java.util.Date类型转换成long类型 java.util.Date dt = new Date(); ...

  8. 列表 ->join---> 字符串 转类型:x--->y类型 y(x)

    列表     ->join--->           字符串 转类型:x--->y类型        y(x)

  9. 媒体类型(MIME类型)

    # encoding=utf-8 #python 2.7.10 #xiaodeng #HTTP权威指南 #HTTP协议:超文本传输协议是在万维网上进行通信时所使用的协议方案. #媒体类型: #HTTP ...

随机推荐

  1. 系统调用方式文件编程,王明学learn

    系统调用方式文件编程 一.文件描述符 在Linux系统中,所有打开的文件也对应一个数字,这个数字由系统来分配,我们称之为:文件描述符. 二.函数学习 2.1打开文件  open 2.1.2 函数原形 ...

  2. python-logging-日志系统

    有时候需要记录日志,典型的出现在web程序或者服务器中,需要与正在运行的程序交互或者得知里面正在运行的信息 最近在倒腾webservice,使用spyne模块进行打包服务,很多实例代码也都用到了这个l ...

  3. loadrunner资源过滤器

    通过该功能可以实现排除某个资源,很实用 Download Filters功能 帮助在回放脚本的时候对某些特定的访问进行屏蔽,解决页面读取中跨服务器带来数据影响的问题. 过滤规则中有3中策略,即URL. ...

  4. jquery的siblings()

    jquery 点击 感兴趣 感兴趣变为 蓝色 去掉onclick事件 不感兴趣 变为 黑色 加上点击事件 点击 不感兴趣 不感兴趣变为 蓝色 去掉onclick 感兴趣 变为 黑色 加上点击事件 ht ...

  5. js-Ajax与Comet

    Ajax与Comet: 1.Ajax技术的核心是XHR(XMLHTTPRequest对象) 创建xhr对象: function createXHR(){ if(typeof XMLHttpReques ...

  6. 我的c++学习(4) C++输入输出格式的控制

    默认进制:默认状态下,数据按十进制输入输出.如果要求按八进制或十六进制输入输出,在cin或cout中必须指明相应的数据形式,oct为八进制,hex为十六进制,dec为十进制. #include &qu ...

  7. 项目新的需求,网页的自适应交付/响应式交付 Responsive/Adaptive Delivery

    网页为什么要做自适应交付,皆因现在移动设备大行其道,现在是移动互联网时代,以IOS及Android为首的各种移动终端已经遍地开花. 当人家用380px的iphone打开你的网页时,你总不能显示个102 ...

  8. 贪心 Codeforces Round #288 (Div. 2) B. Anton and currency you all know

    题目传送门 /* 题意:从前面找一个数字和末尾数字调换使得变成偶数且为最大 贪心:考虑两种情况:1. 有偶数且比末尾数字大(flag标记):2. 有偶数但都比末尾数字小(x位置标记) 仿照别人写的,再 ...

  9. webApi实践:开始WebApi 2

      1.学习步骤总结 学习网址:http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-you ...

  10. Codeforces 675E Trains and Statistic(DP + 贪心 + 线段树)

    题目大概说有n(<=10W)个车站,每个车站i卖到车站i+1...a[i]的票,p[i][j]表示从车站i到车站j所需买的最少车票数,求所有的p[i][j](i<j)的和. 好难,不会写. ...