资源描述
Geodatabase与ArcSDE中文版
第1章Geodatabase
1、1 Geodatabase概述
Geodatabase 概述
ArcGIS操作基于GIS文件格式和存储于geodatabases中的地理信息。Geodatabase是ArcGIS的本地数据结构,是用于编辑和数据管理的基本数据格式。
Geodatabase 能将空间数据存储在文件、MDB文件或者大型DBMS中。以上三种存储方式的区别在于可存储数据量的不同以及可支持的并发用户数量不同,能够实现从小数据量、单用户的文件数据库到大数据量、多用户并发编辑的企业级DBMS的不同层次的应用。
理解geodatabase
简介:geodatabase是大量不同类型的地理数据集的集合。在这一章节可以学习geodatabase的基础,这些概念能够为学习和有效使用geodatabase打下坚实的基础。
Geodatabase定义:geodatabase是大量不同类型的地理数据集的集合,这些地理数据集可以存储在普通的文件中、微软的Access数据库中或者多用户的关系数据库(比如Oracle, Microsoft SQL Server, 或者IBM DB2)。
Geodatabase中主要数据集:数据集是geodatabase中的一个重要概念。它是ArcGIS用来组织和运用地理信息的基本机制。Geodatabase包含三种主要的数据集类型:要素类、栅格数据集和表。
在创建Geodatabase时,首先生成不同的Dataset类型,然后添加或者扩展Geodatabase基本要素的能力,例如添加拓扑、网络、子类以实现GIS行为建模、维护数据完整性以及建立空间关系。
Geodatabase的存储
Geodatabase的存储不仅包括简单的空间坐标和属性数据的表格,还包括这些地理数据集的模式和规则。Geodatabase的三种基础数据集(要素类,属性表和栅格数据集)和其他的geodatabase元素都以表格的形式存储。在地理数据集中空间表示或者以矢量要素的形式存储,或者以栅格数据存储。几何对象和传统的属性字段一起存储在表的列中。
Geodatabase将地理要素以表格的形式存储,每行记录代表一个要素。下表是多边形要素,在Shape列为每个要素存储了多边形类型,值Polygon用于描述Shape列的几何坐标和几何形状,表示在每一行定义了一个polygon。
Geodatabase的一个关键策略就是利用RDBMS来管理从简单要素集到海量数据集,多用户并发操作的GIS数据集。二维表为几何数据集提供了基本的存储机制。SQL语言具有强大的查询和操作表的功能,geodatabase正是基于想利用这些功能而设计的。
空间数据在下列数据库中支持Sql访问空间信息:
可带或不带oracle spatial 和oracle locator的oracle
IBM DB2
IBM Informix
内在的SQL ApI 是基于 标准Sql Spatial和OGL 的简易特征SQL规范的,这一规范对空间向量类型以标准Sql 扩展。
用高级数据类型扩展要素类、栅格数据集和属性表
大量的geodatabase元素用来扩展简单的表,要素类、栅格数据集,包括添加丰富的行为,数据完整性、数据管理等能力。Geodatabasse的模式包括定义、完整性规则和行为。
具体包括coordinate systems, coordinate resolution, feature classes, topologies, networks, raster catalogs, relationships, domains等等。模式信息存储在DBMS的geodatabase元数据表的集合中,这些表定义了数据的完整性和行为。
Geodatabase元素
不管ArcGIS用户使用何种操作系统,他们都操作三种的基本数据集类型。即一系列的要素类(如ESRI的shapefiles),或者大量的属性表(如dBase 文件、 Microsoft Access 表、Excel电子表格、DBMSs等等),还有大量的影像和栅格数据集。
原则上,所有的geodatabase都包含相同类型的内容,设计GIS数据库的第一步就是生成不同类型的数据集。
实际上,用户需要扩展他们的数据模型以支持特定的能力,geodatabase有大量数据元素和数据集类型用来扩展基本的数据集类型。
Geodatabase的事务处理和版本管理
ArcSDE geodatabases支持版本和长事务处理
Geodatabase支持丰富的数据类型,如annotation, topology, networks, terrains, and address locators等等,这些类型都可以应用于海量、高性能的数据库。Geodatabase同时还支持长事务框架,以支持多种数据管理工作流和操作。
大多数情况下需要多用户并发编辑
以Check out 和 check in方式更新
多个复制品之间由共享只供改变更新的多个同步拷贝可以是DBMS 类型的任何数字(譬如Oracle 和SQL 服务器) 并且不需要被连接。(翻译有误)
创建、管理和使用历史归档数据
1、2 表基础
表基础
Geodatabase中的属性存储在二维表中,建立在以下一系列简单但根本的关系数据概念:
表包含行。
表中所有的行含有相同的列。
每一列具有一个数据类型,如integer, decimal number, character, and date。
一系列的相关函数和操作符(如SQL)可以用于操作表和表的数据元素。
和在传统的数据库中的应用一样,表和关系在ARCGIS中同样扮演着重要的角色。表中的行可以用于存储地理对象的所有属性,包括在Shape列存储和管理要素的几何图形。
下表解释了两个表如何通过使用一个公共的字段使它们的记录相互关联。
Geodatabase支持的属性数据类型
在geodatabase中支持很多数据类型存储和管理属性列,包括很多数值类型、文本类型、日期类型、二进制大对象类型和全球唯一标识码(GUIDS)。
在Geodatabase的数据表支持的数据类型包括:
Number:包括short integers, long integers , single-precision floating-point numbers (通常称为单精度浮点类型)和 double-precision floating-point numbers (通常称为双精度浮点类型)。
Text:任何一定长度的文字数字式字符的集合。
Date:存储日期和时间数据。
BLOBs:二进制大对象用于存储和管理二进制信息,如符号和CAD几何图形。
Global Identifiers:GlobalID和GUID数据类型存储用波形括号括起来的由36个字符组成的registry style字符串。
XML列类型也可以通过程序接口支持 ,XML列可以包含任何格式化XML内容(如元数据XML)。
扩展表
在geodatabase中表为要素类、栅格数据集和传统的属性表提供了详细的信息描述,用户也可以实现对表的关系操作。
在geodatabase中有以下一些可选的功能用于扩展表的能力,它们包括以下几种:
1、3 要素类基础
要素类基础
要素类是具有相同几何类型和属性的要素的集合。在geodatabase中常用的要素类有四种:点、线、多边形和注记。
在下面的图示中,点、线、多边形和注记用于表示同一地区的四种数据集。(1)入孔井盖用点表示(2)下水道用线表示(3)地块用多边形表示(4)街道名称用注记表示。
在这个图示中,也许已经注意到一些潜在的对高级要素属性建模的要求。比如,下水道管线和入孔井盖组成了一个雨水管线网络。同时,相邻的地块共享了公共的边界,大多数地块用户通过使用topology来保持在数据集中共享要素的完整性。
Geodatabase中要素类的类型
矢量要素是最常用的表达地理数据的数据格式,它适合于表达离散的有明显边界且稳定存在的地理对象。如井、街道、河流、州和地块。一个要素是一个简单对象,它存储其几何图形,它可以是一个点、线或者面,作为这条记录中的一个属性或者字段。在ArcGIS中,要素类是具有相同空间参考和属性设置的相同要素的集合。例如,用一个线要素来表达道路中心线。
注意:当在geodatabase中创建一个要素类时,需要设置要素类型以定义要素类的类型(点、线、多边形等等)。
通常,要素类是点、线或多边形的集合,具体有7种要素类型。
1、点-用来表达那些很小且不能用线或多边形来表示的地理要素(如GPS观测站)。
2、线—用来表达那些长条形的,非常狭窄也不能用多边形表示的地理要素,如街道中心线和溪流。线也可以表达那些有长度却没有面积的要素,如轮廓线和边界。
3、多边形-是一个封闭的图形,用来表示均质要素的形状和位置,如州、县、土地、土壤类型或者土地利用类型区等。
4、注记-地图文本,包括文本如何组织的属性;例如,除了每个注记的文本字符串。还包括其他属性,如放置文字形状,字体,字体大小和其他显示属性。注记也可以是feature-linked,也可以包含子类。
5、维度—一种特殊的注记,它显示具体的长度或距离;例如,为了显示一个建筑物或一块地的一条边的长度,或者两个不同要素之间的距离。维度经常用于GIS设计、工程和工具应用中。
6、多点—由不止一个点组成的要素。Multipoints通常用于管理大量点集合的数组,如激光雷达点串,它们可以包含几十亿个点。使用一个单独的列表示这样的点几何是不可行的。聚类这些多点行可以使geodatabase处理大块点集合。
7、Multipatches—一个3D几何图形用于表达要素的外部表面或者外形,这个要素占用一个离散的二维面积或者三维空间的体积。 Multipatches由平面的3D环和三角形组成。Multipatches可以被用于表达任何简单到复杂的对象,如球体和立方体到表面和建筑物。
要素的几何特征系统
要素类不仅包含每一要素的几何形状,还包含描述要素的属性。一个要素可以用点、线或多边形三种要素类型来定义,但是其他的地理属性也可以定义,如要素是单部件或多部件,可以有3D定点,可以有线性测量(称为m-值),可以曲线。这一部分对这些功能作了简单介绍。
单部件和多部件的线,多边形
Geodatadase中线和多边形要素可以有单部件或多部件组成。如,一个州可以包含多部件(夏威夷岛),但是通常认为它是一个单独的要素。
顶点、线段、高程值和测量值
要素几何图形主要是由坐标顶点组成的。线和多边形要素中的线段跨多个顶点。线段可以是直线边线或者是参数定义的曲线。要素中的顶点也可以包含表达高程值的Z值和表达沿着线要素的度量值的M值。
线段类型
线段和多边形可以由两个关键元素定义(1)定义线段或多边形的几何形状的一系列有序定点(2)连接每对定点之间的线段类型。因此,每一条线段或一个多边形可以认为是由一系列可以连接的有序定点形成的几何形状。还有一种表达线或多边形的方法是:每一条线段或一个多边形是一系列有序的可以连接的线段,每一线段可以是以下类型中的一种:直线段、圆弧、椭圆弧或Bezier曲线。
默认的线段类型是直线段,但是,当需要定义curves或parametric shapes时,可以有三种其他线段类型选择:圆弧、椭圆弧或Bezier曲线。这些几何形状常常用于表达建筑环境,如地块边界和车道线。
用Z值作垂直量度
要素的几何坐标可以包括x、y或x、y、z。Z值大多数情况下表示高程值,但它们也可以用来表示其他的属性,如降雨量等或空气质量值。
用m值作线性量度
线性要素的每一个顶点也可以指定一个M值或线性量度。一些GIS应用利用线性量度方法沿着线性要素内插距离,如道路、溪流和管线。可以给点、多点、折线或多边形的每一个点指定一个M值或线性量度。线性度量方法的一个典型例子就是公路或运河沿线的里程标志或码头。
含线性量度的顶点的坐标可以是(x,y,m)或者(x,y,z,m)。
支持这些数据类型通常称为线性参照(Linear Referencing)。沿着这些量度系统的发生的地理定位事件的过程称为动态分割(Dynamic Segmentation)。
在ArcGIS的线性参照的实现中,术语route引用任何线性要素,如一个城市街道、高速公路、河流或者管道,它具有唯一一个标识符和沿着每个线性要素的一个通用度量系统。用一个通用度量系统的routes集合建立在一个线性要素类上,如下所示:
要素容差
在各类ArcGIS操作中,使用一些关键的地理属性来处理和管理要素坐标。这些属性在每个要素类或者要素数据集创建的时候被定义。
X,y tolerance
当创建一个新的要素类时,将被提示设置x,y tolerance。x,y tolerance被用于在聚类操作中设置坐标之间的最小距离,如拓扑验证、缓冲区生成和多边形叠加等编辑操作。
要素处理操作是被x,y tolerance影响的,它决定了在这些操作中所有要素坐标的最小距离。通过定义,它也定义了在聚类操作中一个坐标在x或y方向(或者两者)可以移动的距离。
x,y tolerance是及其小的距离。它用于在聚类操作中解决坐标之间不精确的相交位置。当使用几何操作处理要素类时,如拓扑验证、多边形叠加、缓冲分析和裁剪等,坐标之间的x距离和y距离落在x、y tolerance内时,则被认为是一致的点。因此,聚类坐标被移动到一个公共的位置。通常,较低精确的坐标被移动到较高精度坐标的位置,或者一个新的位置在聚类的坐标之间作为一个加权平均值距离被计算。在这种情况下,加权平均值距离是基于聚类坐标的精度级别的。
聚类处理通过移动整个地图内的落入x、y tolerance的坐标来进行。ArcGIS使用这个运算法则发现、清除和管理要素之间的共享几何图形。这意味着这些坐标被认为是一致的。这是许多GIS操作和概念的根本。
在这些操作中一个坐标可以移动到新位置的最大距离是√2倍XYTolerance。
默认的x、y tolerance是0.001 meters(地理坐标系统)。例如,如果是在state plane feet坐标系统中,默认的x、y tolerance是0.0003281 feet (0.003937 inches)。如果是latitude-longitude坐标系统,默认的x、y tolerance是0.2995 degrees。
x、y tolerance的默认值是10倍的默认x,y resolution,这是在大多数情况下推荐使用的。
注意:x、y tolerance不是打算用于生成几何形状。相反,它是用于在拓扑操作中集成线和边界的。这意味着集成彼此落入非常小距离的坐标。
有用的提示:
一般地,使用10倍x,y resolution的一个x,y tolerance;
为了保持较小的移动,保持x,y tolerance很小。但是,一个太小的x,y tolerance可能不能准确地集成一致性边界的线元素和坐标;
相反,如果x,y tolerance太大,要素坐标可能相互覆盖。这可能降低要素边界表达的准确性;
x,y tolerance应该永远不要接近data capture resolution;
在拓扑中,可以设置每个要素类的coordinate rank。
X,y resolution
要素类或者要素数据集的x,y resolution是用于存储x、y坐标值的数值精度。精度对准确的要素表达、分析和制图是很重要的。
x,y resolution定义了小数点后可以保留的小数位数,或者存储要素坐标的有效数。坐标值在ArcGIS以integers被精确存储和操作。
默认的要素类的x,y resolution在ArcGIS9.2中是0.0001 meter(地理坐标)。如果要素是被存储在State Plane feet中,默认的x,y resolution是0.0003281 feet (0.003937 inches)。如果是latitude-longitude坐标系统,则默认的x,y resolution是0.000000001 degrees。
以下是一个关于x,y resolution的概念视图的图表。
如果必要,可以不用管默认的x,y resolution值,设置要素类或者要素数据集的另一个x,y resolution值。设置一个较小的x,y resolution值,相比一个较大的x,y resolution值,可能潜在地增加了数据存储和处理的时间。
设置X,y tolerance和X,y resolution
当在ArcCatalog中建立一个新的要素类,将被询问设置新要素类的x,y tolerance。数据集坐标系统的默认x,y tolerance值如下面板所示:
在大多数情况下,默认的x,y tolerance是最好的选择。
在这个面板上,也可以选择接受默认的x,y resolution,它是0.0001 meters或者与坐标系统单位相等的量。默认的x,y resolution在大多数情况下,是合适的,除非需要比测量和土木工程更好的精度存储坐标值。
为了设置自己的x,y resolution,取消选择上面面板中的Accept default resolution复选框,到下一个面板中设置需要的x,y resolution值。
Z-resolution, z-tolerance和垂直坐标系统
Z-coordinates主要用于包含高程的GIS要素中。但是,Z-coordinates也可以被用于其他垂直度量,如空气污染观察数据、温度和其他度量值。
当建立一个新要素类时,需要包含Z-coordinates,可以选择Coordinates include z values复选框:
当建立了一个含Z-coordinates的要素类,将随意设置一个垂直坐标系统(VCS):
指定一个垂直坐标系统的主要目标是数据集文档化,在VCS中定义的z-units将被用于ArcGIS的3D处理操作。
大多数z-units值以x,y 坐标相同单位来度量海平面以上或者以下的高度,但是,还有一些其他的z度量,它可能需要一个不同的z-tolerance和z-resolution值。
Z-tolerance和 z-resolution
z-tolerance定义了处理过程中聚类z-values。默认的z-tolerance是0.001 meters或者定义的VCS的单位的相等的量。
如果坐标是一致的,它们的z-values落入了z-tolerance,它们的z-values将被设置为相同。
当建立一个新的要素类时,可以接受默认的z-tolerance的值,或者选择设置自己的值。
在大多数情况下,默认的z-tolerance能很好工作,除非z-coordinate units与x,y coordinates
有很大的不同。
在与上面相同的一个面板上,可以选择接受默认的z-resolution值。如果选择修改x,y resolution、z-resolution或者两者,取消选择Accept default resolution and domain extent复选框,将出现一个面板,在其中可以看到默认的z-resolution和z-values的最大和最小值。
对于z-tolerance,在大多数情况下,接受默认的z-resolution和z-range将能很好地工作。
Z-resolution定义了z-values的resolution。默认的z-resolution是默认的z-tolerance1/10倍。
线性参照的M-resolution和m-tolerance
当建立含m-measures的要素类,可以设置m-measures值的两个属性:
在ArcCatalog的New Feature Class对话框上,通过选择Coordinates include M values复选框指定含m-measures的要素类。
在接下来的面板中,可以设置m-tolerance或者接受默认值。m-tolerance定义了处理过程中m-values的tolerance。它默认值是0.001 units。如果坐标的x和y一致,它们的m-values落入m-tolerance,那么它们的m-values将被设置为相等。
大多数情况下,接受默认的m-tolerance能满足工作。但是,如果m-measure值相当小,需要保证m-measure不聚类,可以指定自己的m-tolerance。
在同一个面板中也可以选择修改默认的m-resolution:取消选择Accept default resolution and domain extent复选框。如下所示:
在接下来的面板中可以设置一些其他的m-coordinate的属性:
在此,M-resolution定义了自己m-values的resolution。它的默认值是0.0001 units。
通过设置m-values最小值(Min)和最大值(Max)来设置m-values的范围
geodatabase中的要素类存储
在geodatabase中,每个要素类在一个单独的表中被管理。每行中的Shape列用于存储每个要素的geometry 或shape。
在要素类表中:
每个要素类是一个表;
单独的要素被存储为行;
Shpe列存储每个要素的geometry (point, line, polygon);
Object ID列存储每个要素的唯一标识符。
在ArcSDE geodatabases中,关系数据库存储每个要素类为一个表。有三种DBMSs(Oracle, DB2, 和Informix)提供了SQL访问geodatabase中的要素的geometry。
扩展要素类
Geodatabase中的每个要素类是具有相同几何形状、相同属性和相同空间参考的地理要素的集合。要素类可以根据需要被扩展。以下是一些用于要素类扩展的方法:
1、4 栅格基础
栅格基础
栅格数据集是采用规则的格网来表示地理要素的,每个规则格网单元用于表达这个位置的一些属性。
栅格数据集通常用于表示和管理影像、数字高程模型和大量其他的现象。通常栅格作为一个表达点、线和多边形要素的方法而使用。在下面的例子中,可以看到一系列多边形被表达为一个栅格数据集。
栅格被感兴趣是基于两个原因:一,它们可以被用于表达所有的地理信息(要素、影像和表面),二,它们具有一套丰富的分析处理运算符。因此,栅格作为一种通用的在GIS中存储影像的数据类型,也被用于表达用于基于栅格模型和分析的要素。
Geodatabase中的栅格
一个栅格就是按行和列分布的一组格网单元,是被经常用于GIS的一种数据集。用户通常使用大量栅格文件,但是许多用户需要在一个DBMS中同时管理地理信息和栅格数据。Geodatabase提供了一个非常有效的方法在 geodatabase中管理栅格数据。
栅格数据集管理策略
两种栅格数据集管理策略是重要的:
Raster provisioning。
Rasters in the geodatabase。
栅格数据的地理属性
通常有四个地理属性为栅格数据集存储。这些属性在地理参考和帮助解释栅格数据文件如何结构化方面很有用的。
栅格数据集用一个特殊的方法定义地理位置。一旦格网单元或者象素可以被精确引用,然后获得一个栅格中所有格网单元值的一个顺序列表是容易的。这意味着每个栅格数据集通常有一个header record存储它的地理属性,数据的主要部分是格网单元值的一个顺序列表。
一个栅格的地理属性通常包括:
坐标系统;
参考坐标系统或者x,y位置(通常指左上角或者左下角);
一个格网的大小;
行和列的数量。
这个信息可以被用于找到任何具体的格网单元的位置。获得这个信息后,栅格数据结构容易地列出所有的格网单元值,从左上角开始,沿着每一行,然后到最右下角。如下图所示:
Geodatabase中的raster block table
栅格数据通常在大小上比要素要大很多,需要一个side table存储。例如,一个正常的正射影像有6700行*7600列。
为了取得这些大栅格数据集的高性能,一个geodatabase栅格被分割为较小的片(称为blocks),通常为128行*128列或者256行*256列。这些较小的blocks然后存储在side table中。如下图所示:
扩展栅格数据
栅格数据集被日益广泛地用于GIS应用。Geodatabase可以管理栅格为:一个单独的数据集、数据集的逻辑集合和表中的图片属性。
大量geodatabase功能允许用户扩展如何管理这些栅格信息,如下表所示:
1、5 Geodatabase类型
geodatabase类型
Geodatabase是一个容器用于存储数据集集合。它有三种类型:
1、—以文件系统中的文件夹存储。每个数据集以一个文件被存储,可达到TB级。与personal geodatabases相比,推荐使用这种类型。
2、Personal Geodatabases—所有的数据集被存储在一个Microsoft的Access数据文件中,它的容量限制为2GB。
3、ArcSDE Geodatabases—使用Oracle, Microsoft SQL Server, IBM DB2,IBM Informix存储在一个关系数据库中。这个多用户的geodatabase需要ArcSDE的使用,在容量和用户数量上没有限制。
三种类型geodatabase的比较:
和 personal geodatabases
geodatabase,对所有的ArcGIS用户都是免费使用的,支持geodatabase的全部信息模型。这包括拓扑、栅格目录、网络数据集、表面数据集、地址定位器等。 geodatabase被设计为由一个单独的用户编辑,不支持geodatabase版本。对于,可以有多个编辑者同时进行编辑,只要是他们编辑不同的要素数据集、独立要素类或者表。
是在ArcGIS9.2版本中新发布的一种新的geodatabase类型。它的目标是:
提供所有用户一个广泛可用、简单和可伸缩的geodatabase解决方案;
提供一个跨操作系统的简便的geodatabase;
提高处理大数据集的能力;
提供了优越的性能和可伸缩性;
使用一个有效的数据结构,它对数据存储和性能是最优化的;
Personal geodatabases从ArcGIS8.0版本开始就被ArcGIS使用,使用Microsoft的 Access数据结构(mdb file)。它们支持的geodatabase容量限制在2GB或者小于2GB。但是,有效的数据库大小是比较小的,大概在250MB-500 MB之间,超过这个范围之后,数据库性能将开始降低。Personal geodatabases也仅在Microsoft的Windows操作系统上被支持。
由于多个原因,ArcGIS将继续支持personal geodatabases。但是,它也高度推荐使用。对于基于文件数据集的GIS项目使用是理想的,对于比较小的工作组,使用personal geodatabases比较理想。
ArcSDE geodatabases
当需要一个可以由多个用户同时编辑和使用的多用户geodatabase,ArcSDE geodatabase是一个好的解决方案。它添加了管理一个共享、多用户geodatabase,以及基于版本的GIS工作流的能力。利用企业级的关系数据库的功能是ArcSDE geodatabase的最大优势。
ArcSDE geodatabase使用多种DBMS存储模型(IBM DB2, Informix, Oracle, 和SQL Server)。ArcSDE geodatabases主要被用于工作组、部门和企业范围。它们利用基本的DBMS体系支持:
及其大、连续的GIS数据库;
多个并发用户;
长事务和版本工作流;
支持GIS数据管理的关系数据库;
通过许多ArcSDE geodatabase的实现,已经发现DBMSs在加载和删除大二进制对象类型的数据很有效。另外,GIS数据库的容量和支持的用户数量比GIS文件系统大得多。
在ArcGIS中访问和使用ArcSDE有三种级别
ArcSDE geodatabases包括Personal ArcSDE geodatabase、Workgroup ArcSDE geodatabase和Enterprise ArcSDE geodatabase三个级别。ArcSDE geodatabase的功能可以在以下的ESRI软件产品中获得:
Personal ArcSDE included with ArcEditor and ArcInfo:从ArcGIS9.2开始,ArcEditor 和ArcInfo包括免费的Microsoft SQL Server Express database。这些软件也包括ArcSDE的功能支持同时有三个连接的Personal ArcSDE geodatabase-其中一个可以编辑数据。
SQL Server Express限制在一个CPU上运行,使用1GB的内存。SQL Server Express最大的数据库限制在4GB。
Personal ArcSDE geodatabase提供了在ArcEditor 和ArcInfo中使用SQL Server Express管理ArcSDE geodatabases的功能。
Workgroup ArcSDE included with ArcGIS Server for Workgroups: ArcGIS Server的Workgroups级别包括支持SQL Server Express。在这个级别上的ArcSDE,可以在任何数量的用户和编辑者上使用SQL Server Express,只要他们被配置所支持。
对于personal ArcSDE,使用ArcEditor或者ArcInfo创建、执行和管理workgroup ArcSDE geodatabases。可以使用SQL Server Express在ArcCatalog中建立和管理这些workgroup ArcSDE geodatabases。不需要额外的数据库管理技术。
在这里,可以认为ArcGIS Server的Workgroups级别是ArcEditor或者ArcInfo的扩展,帮助管理和服务workgroup ArcSDE geodatabases。
Enterprise ArcSDE included with ArcGIS Server for Enterprises:这是传统的ArcSDE技术,它运行在Oracle, SQL Server, IBM DB2, 和IBM Informix,可达到任何容量和任何数量用户的数据库,运行在任何大小和配置的计算机上。
ArcSDE在DBMS的事务框架上提出长和短事务处理
ArcSDE geodatabase包括对一个多用户geodatabase的编辑和更新的高级支持。随着GIS日益增加的用户和对来自一组传感器数据的管理的需要,GIS对事务管理的需要变得更加重要。在GIS中,长事务的需求更多。
通常,GIS用户具有特殊的事务处理需求,其中一个就是跨长时间的(不仅是几秒或者几分钟,有时几个小时,甚至几天和几个月)。
另外,GIS中一个单独的编辑会话可能包括多个表中的多条记录的变化。用户需要undo和redo操作。用户在他们提交变化时,需要对待每个编辑会话为一个单独的事务。甚至,编辑通常必须是在一个与中央、共享数据库断开的环境中执行的。
在一个多用户的数据库中,GIS事务必须与DBMSs的短事务框架协调。ArcSDE通过管理高层次、复杂的GIS事务在这些操作中扮演一个关键角色。
ArcSDE以delta records在数据库中存储这些变化的信息;使用版本分离多个编辑会话;支持复杂事务、自动历史数据归档和历史查询。
1、6 常见geodatabase的任务
创建和操作geodatabase的主要任务包括以下:
设计一个geodatabase;
建立一个geodatabase;
加载数据集和栅格到geodatabase中;
用高级数据类型扩展要素类;
用域、关联和子类型扩展表;
扩展栅格数据集;
加载和维护geodatabase中每个数据集的数据;
管理geodatabase的更新和事务;
管理File或者Personal geodatabase;
管理ArcSDE geodatabase。
第2章 Geodatabase体系结构
2、1 Geodatabase体系结构
用户通常认为geodatabase是地理信息的物理存储,但从根本来说,是使用DBMS或文件来存储的。除了作为数据集集合的一个物理实例,每个geodatabase还有其他关键方面特征。
1、 geodatabase有一个广泛的信息模型来表达和管理地理信息。这个信息模型的实现是通过一系列简单数据表,这些表是存储在要素类、栅格数据集和属性表中的。另外,高级的GIS数据对象通过增加GIS行为、规则来管理空间完整性,以及增加工具来处理要素、栅格和属性表的大量的空间关系。
geodatabase的software logic提供了通用的application logic,贯穿整个ArcGIS,用于访问和处理各种数据格式的地理数据。无疑,它是支持geodatabase的,并且支持shapefiles, CAD 文件, TIN's, grids, CAD 数据, imagery, 还有其他大量的GIS数据源。
geodatabase具有一个事务处理模型来管理GIS的数据工作流。
2、2 Geodatabase基于关系原则存储
用户倾向于认为DBMS本质上是开放的,这是因为关系数据模型的简易性和灵活性,使得它能支持广泛的应用。
Geodatabase的存储模型是以DBMS原则为基础,利用了一系列简单却基本的关系数据库概念。DBMS( 的文件系统)提供了简单而又合适的数据模型存储和操作表。
包括以下的关键概念:
数据被组织为表
表包含行
表中所有的行具有相同的列
每一列具有一个类型,如integer, decimal number, character, date等等。
关系类用于一个表中的行和另一个表中的行发生关联,这是以每个表中都有一个公共的列为基础的。
关系完整性规则存在于所有表中。如,每一行总是有相同的列,一个域为每一列指定了有效值或者值范围等等。
对ArcSDE geodatabases来说,还有大量其他的DBMS功能可以应用:
SQL,一系列关系函数和操作符可以用于操作表和表中的元素。
SQL操作符同时被设计为可以处理普通的关系数据类型,如integers, d
展开阅读全文