我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:彩63彩票 > 多面体简化 >

Geodatabase介绍

归档日期:04-30       文本归类:多面体简化      文章编辑:爱尚语录

  ArcGIS操作基于GIS文件格式和存储于地理数据库(Geodatabase)中的地理信息。Geodatabase是ArcGIS的本地数据结构,是用于编辑和数据管理的基本数据格式。

  空间数据库系统是描述、存储和处理空间数据及其属性数据的数据库系统,按是否对空间数据和属性数据进行一体化组织分为两种:混合型空间数据库和集成性空间数据库。在后者方案中,为实现对空间对象的一条记录(record)变长的非结构化特征在关系型数据库的存储和处理(空间图形数据不能直接采用通用的关系数据管理系统),以及维护空间数据的拓扑关系,在对空间数据和属性数据集成的研究实践中,提出面向对象数据库以及易于实现的较为折中的对象-关系模型数据库。

  地理数据库是ArcGIS的原生数据结构,并且是用于编辑和数据管理的主要数据格式。当ArcGIS使用多个地理信息系统(GIS)文件格式的地理信息时,会使用地理数据库功能。

  它是地理信息的物理存储,主要使用数据库管理系统(DBMS)或文件系统。通过ArcGIS或通过使用SQL的数据库管理系统,可以访问和使用数据集集合的此物理实例。

  地理数据库具有全面的信息模型,用于表示和管理地理信息。此全面信息模型以一系列用于保存要素类、栅格数据集和属性的表的方式来实现。此外,高级GIS数据对象可添加以下内容:GIS行为;用于管理空间完整性的规则;以及用于处理核心要素、栅格数据和属性的大量空间关系的工具。

  地理数据库软件逻辑提供了ArcGIS中使用的通用应用程序逻辑,用于访问和处理各种文件中以及各种格式的所有地理数据。该逻辑支持处理地理数据库,包括处理shapefile、计算机辅助绘图(CAD)文件、不规则三角网(TIN)、格网CAD数据、影像、地理标记语言(GML)文件和大量其他GIS数据源。

  地理数据库是各种类型地理数据集(Geodataset)的集合。数据集是在 ArcGIS 中组织和使用地理信息的主要途径。地理数据库包含三种主要数据集类型:

  创建这些数据集类型的集合是设计和构建地理数据库的第一步。用户通常是以构建若干上述三种基本数据集来开始构建地理数据库的。然后,用户可以使用更高级的功能(例如添加拓扑、网络或子类型)来添加或扩展地理数据库,以便建模 GIS 行为、维护数据完整性和处理重要的空间关系集。

  另外,Geodatabase(ArcSDE)还支持事务和版本化,除了支持可在超大规模高性能数据库中使用的多种数据类型(如注记、拓扑、网络、地形和地址定位器)以外,还支持功能完善的事务框架,可对多种数据管理工作流程和操作进行管理。

  Geodatabase的存储不仅包括简单的空间坐标和属性数据的表格,还包括这些地理数据集的模式和规则。Geodatabase的三种基础数据集(要素类,属性表和栅格数据集)和其他的Geodatabase元素都以表格的形式存储。在Geodataset中空间表示或者以矢量要素的形式存储,或者以栅格数据存储。几何对象和传统的属性字段一起存储在表的列中。

  Geodatabase将地理要素以表格的形式存储,每行记录代表一个要素。在 ArcGIS 中,几何数据类型用于指示表中所存储几何的类型(点、线、面、多点或多面体)。通过 ArcGIS 创建的存储为几何类型的字段称为 SHAPE。空间(图形)信息存储在Shape字段中,数据类型是Geometry(如下表)。例如多边形要素集,在Shape列为每个要素存储了多边形类型,值Polygon用于描述Shape列的几何坐标和几何形状,表示在每一行定义了一个polygon。更多详情参见ArcGIS字段数据类型

  Geodatabase的一个关键策略就是利用RDBMS来管理从简单要素集到海量数据集,多用户并发操作的GIS数据集。二维表为几何数据集提供了基本的存储机制。SQL语言具有强大的查询和操作表的功能,Geodatabase正是基于想利用这些功能而设计的。

  ArcGIS是采用Geodatabase作为地理数据模型的,而在Geodatabase中常用的要素类有四种:点、线、多边形和注记,这四种要素类在ArcGIS产品中具有重要概念意义。要素类是具有相同几何类型和属性的要素的集合。对于实际应用中遇到高级地理要素,可以依据属性特点,结合网络模型和拓扑模型进行建模。比如,下水道管线和入孔井盖组成了一个雨水管线网络;相邻的地块共享了公共的边界,大多数地块用户通过使用topology来保持在数据集中共享要素的完整性。

  在ArcGIS中,要素类是具有相同空间参考和属性设置的相同要素的集合。注意:当在Geodatabase中创建一个要素类时,需要设置要素类型以定义要素类的类型(点、线、多边形等等)。通常,要素类是点、线或多边形的集合,具体有7种要素类型。

  1) 点-用来表达那些很小且不能用线或多边形来表示的地理要素(如GPS观测站)。

  2) 线用来表达那些长条形的,非常狭窄也不能用多边形表示的地理要素,如街道中心线和溪流。线也可以表达那些有长度却没有面积的要素,如轮廓线) 多边形-是一个封闭的图形,用来表示均质要素的形状和位置,如州、县、土地、土壤类型或者土地利用类型区等。

  4) 注记-地图文本,包括文本如何组织的属性;例如,除了每个注记的文本字符串。还包括其他属性,如放置文字形状,字体,字体大小和其他显示属性。注记也可以是feature-linked,也可以包含子类。

  5) 维度一种特殊的注记,它显示具体的长度或距离;例如,为了显示一个建筑物或一块地的一条边的长度,或者两个不同要素之间的距离。维度经常用于GIS设计、工程和工具应用中。

  6) 多点由不止一个点组成的要素。Multipoints通常用于管理大量点集合的数组,如激光雷达点串,它们可以包含几十亿个点。使用一个单独的列表示这样的点几何是不可行的。聚类这些多点行可以使Geodatabase处理大块点集合。

  7) Multipatches一个3D几何图形用于表达要素的外部表面或者外形,这个要素占用一个离散的二维面积或者三维空间的体积。Multipatches由平面的3D环和三角形组成。Multipatches可以被用于表达任何简单到复杂的对象,如球体和立方体到表面和建筑物。

  要素数据集是共用一个通用坐标系的相关要素类的集合。要素数据集用于按空间或主题整合相关要素类。它们的主要用途是,将相关要素类编排成一个公用数据集,用以构建拓扑、网络数据集、地形数据集或几何网络。

  ,同样在AO开发中是一个很重要的基础性的类/Class。更多参见本文Geodatabase的体系结构

  说明:用户可轻松创建地理数据库并向其添加行为,并且使用ArcGIS for Desktop中的数据管理工具时不需要进行编程工作。在ArcMap(用于编辑、分析地图和以及根据数据创建地图的应用程序)中查询和编辑地理数据库时,可以很轻松地利用地理数据库中的数据和行为,而无需进行任何自定义。通过创建子类型、验证规则、关系和几何网络将行为添加到地理数据库。可以使用ArcMap通过编辑地理数据库中的一些现有要素并添加一些新要素来利用该行为。

  ,可以添加需要的字段,编辑其属性,如别称、数据类型、是否为空、默认值等,设计好之后保存。

  描述字段类型合法值的规则。多个要素类和表可以共享数据库中存储的属性域。例如,在供水管网中,不同用途的支管的压力值可以在不同psi之间。要素类的子类型

  1:1,1:n,m:n的关系,例如通过宗地与所有者之间的关系类,在使用ArcMap中的数据时,可以轻松找出哪些所有者拥有哪些宗地。点击数据库名字前的 + 号,展开数据集,在需要扩展的数据集上右键Properties,打开属性面板:在本文使用的数据库例子中,字段BSM(标识码)代表了不同地块类别,相同类型的地块拥有同一个BSM,故可以用BSM

  来设计,用户使用时需要对它进行创建,在数据库上右键New-Relationship Class

  要素数据集是一组按空间或主题相关、共享一个通用坐标系的要素类。要素数据集用于保存参与共享拓扑、网络数据集、几何网络或地形的要素类。

  。查看方法:在计算机图标上右键“管理”,在“服务与应用程序”中找到“服务”,启动ArcSde Service(esri_sde)。

  在ArcGIS和相关的用户系统中,通过Geodatabase这一规范化的地理数据模型,数据库管理系统(DBMS)可以被当作是开放的空间数据库系统

  ,这时通用关系数据模型的简单性和灵活性使数据库管理系统支持的应用程序范围非常广泛。

  数据的存储和提取由存储层DBMS实现,高端的数据整合和数据处理功能则由应用层ArcGIS提供。

  只是向DBMS添加对空间属性的空间类型以及SQL支持并不足以支持GIS,拓扑、网络、线性参考系、栅格目录、注记、terrain、地图图层等都是GIS用以基于DBMS中所存储的简单空间表现形式来实现GIS行为的高级对象。

  这个信息模型的实现是通过一系列简单数据表,这些表是存储在要素类、栅格数据集和属性表中的。

  b)高级的GIS数据对象通过增加GIS行为、规则来管理空间完整性,以及增加工具来处理要素、栅格和属性表的大量的

  ),而应用层则是维护数据的高级逻辑和行为,例如Feature Classes、Raster Dataset、Topology、Network、Address Locators等等(面向对象的思想)。多层的Geodatabase体系结构被称为object-relational模型/ORDB。DBMS作为一种存储地理数据集的实现机制而被使用。但是,DBMS并没有完全定义地理数据的语义。因此可以认为:Geodatabase采用两层体系结构,数据存储层和应用层,在数据存储层实现数据存储和检索,在应用层实现高层数据完整性和信息处理。ArcSDE正是基于基于这种思想被设计出来的。

  如上所述,Geodatabase的存储模型是以DBMS原则为基础,利用了一系列简单却基本的关系数据库概念。DBMS(File Geodatabase的文件系统)提供了简单而又合适的数据模型存储和操作表。包括以下的关键概念:

  每一列具有一个类型,如integer, decimal number, character, date等等。

  关系类用于一个表中的行和另一个表中的行发生关联,这是以每个表中都有一个公共的列为基础的。

  关系完整性规则存在于所有表中。如,每一行总是有相同的列,一个域为每一列指定了有效值或者值范围等等。

  对ArcSDE Geodatabases来说,还有大量其他的DBMS功能可以应用:

  SQL操作符同时被设计为可以处理普通的关系数据类型,如integers。

  例如,一个要素类以DBMS表的形式存储。每一行代表一个要素,每一行中列描述了该要素的各种特征或属性,表中的某一列存储了该要素的几何形状(如point, line或polygon coordinates)。假设shape字段存储了polygon形状,在DBMS中大量的列类型用于shape字段,可以是典型的binary large object (BLOB)类型或者是扩展的空间类型,它们能够被一些DBMS所支持。如,ESRI提供了一个空间列类型用于在ArcSDE Geodatabases存储要素,支持这种类型的关系数据库有Oracle, IBM DB2, 和Informix。SQL操作表中的行、列。这些列类型(numbers, characters, dates, BLOBs, spatial types等等)在SQL代数中被认为是对象。DBMS管理这些简单的数据类型和表,同时其他应用逻辑实现更复杂的对象行为和完整性约束。

  空间数据的物理存储形式DBMS中的地理数据库存储包含两组表:数据集表(用户定义的表)和系统表(元数据)。

  (1) 数据集表 - 地理数据库中的每个数据集都存储在一个或多个表中。这些数据集表使用系统表管理数据。

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

  GDB_Items:包含地理数据库中的所有项(例如要素类、拓扑和属性域)的列表

  GDB_ItemRelationships:包含各个项之间的方案关联,例如要素数据集中包含哪些要素类

  在许多情况下,用户可使用数据库管理系统(DBMS)的事务框架来管理地理数据库的编辑和更新。GIS用户会遇到许多长事务工作流极其关键的情况。在大多数情况下,通过使用多用户DBMS和ArcSDE并利用版本化方法来管理对GIS数据库的更新,可以应对这些情况。

  - 单个GIS数据库更新可能需要进行持续数天或数周的涉及多个编辑会话的大量更改。

  - 多个编辑人员经常需要同时更新相同的空间整合要素。每位用户都需要使用各自的数据库状态,从而查看各个更新,而忽略其他编辑人员所做的更新。最后,每位用户需要提交更新并与其他编辑人员进行协调,以识别并解决所有冲突。

  - 在很多情况下都需要将数据库中与某特定区域或地区对应的那部分数据检出到个人计算机中,然后在可能持续数天或数周的离线会话中更新此信息,甚至带到现场进行移动编辑和更新。这些更新必须提交到主数据库中。

  - 有时,在GIS数据库中保留每个要素的历史版本(即使在此特定版本更新后)、在存档中保留已不再使用且发生更改的要素的副本或跟踪各个要素的历史是十分有用的,例如,国家地图数据库中的宗地谱系或要素更新属性。

  - 企业数据库和空间数据基础设施(其中的信息在各个组织之间共享)的维护需要共同协作,这种协作需要采用定义完善的可扩展标记语言(XML)架构并通过Internet来共享更新,从而在数据库之间共享只变更更新。

  - 区域数据库可以是总公司GIS数据库中与某特定地理区域对应的那部分数据的副本。这两个数据库必须通过交换更新的方式定期进行同步。

  - 通常,GIS数据必须在一系列数据库副本(复本)之间保持同步,每个站点将在其本地数据库上执行各自的更新。通常,这些数据库只是定期通过Web进行连接。更新必须定期从每个数据库复本传输到其他数据库,同时自身的内容也会得到更新。在很多情况下,DBMS是不同的-例如,在Microsoft SQL Server、Oracle和IBMDB2之间复制数据集。

  通过使用地理数据库XML规范,极大地简化了地理数据库的XML地理空间信息双向交换。外部应用程序可以接收XML数据流,其中包括:

  ArcSDE是数据库系统中管理地理数据库的接口,通过该接口可以往关系数据库中加入空间数据,提供地理要素的空间位置及形状等信息,是ArcGIS与关系数据库之间的GIS通道。它允许用户在多种数据管理系统中管理地理信息,并使所有的ArcGIS应用程序都能够使用这些数据。

  ArcSDE是多种DBMS的通道,它本身不是一个关系数据库或数据存储模型。标准的SQL并不支持空间数据。ArcSDE不但支持每个DBMS提供的独特功能,而且能为底层DBMS提供它们所不具备的功能支持。(2)

  ArcSDE通道可以让用户在客户端应用程序内,或跨网络、跨计算机地对应用服务器进行多种多层结构的方案配置。

  ArcSDE用于高效的存储、索引、访问和维护DBMS中的矢量、栅格、元数据及其他空间数据。ArcSDE使用DBMS支持的数据类型,以表格的形式管理底层存储的空间数据,并可使用SQL在DBMS中访问这些数据。ArcSDE同时也提供了开放的客户端开发接口(C API和JAVAAPI),通过这些接口,用户定制的应用程序也可以完全访问底层的空间数据表。

  概述小字部分简要介绍了对象-关系模型数据库ORDB,它是面向对象思想与数据库管理系统结合的一个折中产物。ORDB与GIS结合,具有如下优势:支持基本类型扩充;支持复杂对象;支持继承;支持规则。

  由一组具有相同空间参考(Spatial Reference)的要素类组成,用于存放矢量数据。

  在若干要素类的基础上建立的类,可包括网络的边要素和点要素。2、Geodatabase对象模型

  和数据集部分,工作区部分主要负责对Geodatabase中的各种数据源进行宏观管理,而数据集部分主要用于对数据库中各种具体的数据进行描述和管理。

  类该类可被创建。用于生成Workspace,连接属性一般使用PropertySet

  一个Workspace可以被看作是文件系统中的目录,也可以被看作一个关系数据库。

本文链接:http://ashtonstewart.net/duomiantijianhua/91.html