地理数据库的类型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. wp8 入门到精通 生命周期

  2. PHPCMS 多站点管理切换问题

    打开系统函数库global.func.php 可以看到获取站点ID的函数如下 /** * 获取当前的站点ID */ function get_siteid() { static $siteid; if ...

  3. codeforces Round#380 div2

    1.字符串替换ogo+go…换成*** 思路:找ogo记录g位置,做初步替换和标记,非目标字母直接输出, 间隔为2的判断是否一个为标记g,一个为非标记做***替换 #include<iostre ...

  4. maven项目Tomcat controller 404

    今天使用tomcat7.0.54启动现有的maven项目,可以正常启动,但是自己所写的所有的@controller注解的请求都报出了404的错误,在网上查了好久也很少找到这个问题,各种方法都尝试了也没 ...

  5. 第一个java程序hello world

    首先需要配置环境,没配置的请参考:详细配置教程:http://www.cnblogs.com/qq1871707128/p/6047232.html 切入主题: java基础首先得了解基本的dos命令 ...

  6. javascript中时间的手动创建date的方式

    new Date("month dd,yyyy hh:mm:ss"); new Date("month dd,yyyy"); new Date(yyyy,mth ...

  7. 汇编指令CLI/STI

    CLI禁止中断发生STL允许中断发生 这两个指令只能在内核模式下执行,不可以在用户模式下执行:而且在内核模式下执行时,应该尽可能快的恢复中断,因为CLI会禁用硬件中断,若长时间禁止中断会影响其他动作的 ...

  8. 【前台 ajax】web项目前台传递数组给后台 两种方式

    项目使用maven    springMVC 有需求 将前台的数组   在ajax中 送给后台 方式1: 前台代码:[注意:ajax中的属性---traditional:true,  ] 如果Post ...

  9. 深入理解java中的synchronized关键字

    synchronized 关键字,代表这个方法加锁,相当于不管哪一个线程A每次运行到这个方法时,都要检查有没有其它正在用这个方法的线程B(或者C D等),有的话要等正在使用这个方法的线程B(或者C D ...

  10. 《DSP using MATLAB》示例Example5.5

    代码: %% ---------------------------------------------------------- %% START N=5 %% ------------------ ...