Geodatabase的基础知识(看不大懂,先放这儿了,呵呵)

1.矢量要素存储环境设置Spatial Reference:

1XY Tolerance
指实现Cluster或者进行拓扑验证缓冲区分析多边形叠加等操作时,点与点的坐标之间的最小距离。缺省的XY Tolerance0.001 meter(投影坐标系);如果是State Plane Feet,则缺省值是0.003281feet;如果是地理坐标系,则缺省值是0.000000008982995degrees。一旦点与点的X坐标或者Y坐标的距离小于XY Tolerance,则两点应该合并为一个点。缺省状态下XY Tolerance=XY Resolution * 10。在实际应用中,XY Tolerance太大或者太小均有问题,应该根据实际情况设定合适的Tolerance在设定Topology时,可以设定不同要素类的Rank,以确保当两个要素的点小于XY Tolerance时,应该是哪个点向哪个点移动。
(2XY Resolution
表示存储要素坐标时的数值精度,即可以保留的小数点的位数。缺省状态下的Resloution0.0001meter(投影坐标系) ;如果是State Plane Feet,则缺省值是0.0003281feet;如果是地理坐标系,则缺省值是0.0000000008982995degrees
对于3D数据以及(Linear Referencing?)数据,可以分别对Z值和M值设置Z ToleranceZ Resolution,以及M ToleranceM Resolution
可以将GeodatabaseFeature Classes扩展为高级数据类型:Feature Dataset,、SubtypesAttribute DomainsRelationship ClassesTopologyNetwork DatasetGeometric NetworkTerrainAddress LocatorLinear ReferencingCadastral FabricCartographic RepresentationVersioning

2.Raster数据存储:

Coordinate System
Reference Coordinate or XY Location
Cell Size
Count of RowsColumns
RasterImage数据类型也是存储和管理在关系表格中,Raster数据通常比较大,存储的时候需要一个Side Table来存储,将Raster切为小片,或者大小通常为128*128或者256*256Blocks,存储在Raster表中,通过Side表的每一行记录去记录栅格中的每一个Block

Gedatabase的结构
    Geodatabase是Object-Oriented的,采用两层结构:数据存储层和应用层。数据存储层是将GIS数据存储为File、XML、DBMS等多种格式,而应用层则是维护数据的高级逻辑和行为,例如Feature Classes、Raster Dataset、Topology、Network、Address Locators等等。Geodatabase的管理功能由ArcGIS软件和DBMS一起实现。
目前有三种方法来创建一个Geodatabase:
  (1) 设计和创建一个新的Geodatabase;
  (2) 拷贝和修改一个已经存在的Geodatabase Schema
  (3) 对已经存在的Geodatabase复制数据和Schema
                                                                                 Copying the schema of a Geodatabase
   有多种方式实现数据库Schema的移动:
(1)在ArcCatalog中通过工具将数据Export To XML Workspace Document,选择只导出Schema。然后再点击要导入Schema的Geodatabase,选择Import XML Workspace Document;
(2)在ArcMap中利用Extract Data Wizard:包含在Distributed Geodatabase工具栏中;
(3)从ArcGIS Model Template中拷贝Geodatabase Schema:利用ESRI网站上已经建立的Model:http://support.esri.com/datamodels
(4)利用CASE 工具和UML语言来创建Geodatabase Schema:但是这种方法的局限性在于:不能够很好的设计Topology,Network,Terrain,Raster Catalog,Map Layer,Map Symbol,Metadata,Cartographic Representation,Semantic Classification。
Copying Geodatabase
   有三种方法实现Geodatabase的复制:
(1) ArcToolbox/Copy;
(2) ArcCatalog/Export Geodatabase to XML Workspace;
(3) ArcMap/Distributed Geodatabase/Extract Data Wizard;
(4) ArcCatalog/Export。
   需要注意的是:只有简单Feature Class才能够Copy,对于Feature Dataset、、Topology、Network等高级数据类型,无法通过拷贝方式来实现数据的复制。
   附件中为ArcGIS 9.2的三种ArcGIS Geodatabase的对比

   
                                                                     What is transaction?
      Transaction事实上是数据库的某一个工作过程。一个Transaction开始以后,可以对数据库进行修改、提交结果以及回滚。一旦提交Transaction,则该Transaction实现的所有变化也将被其他用户和应用获得。
     Transaction具备以下特点:
    (1)Atomic:一旦提交Transaction的工作,所做的修改都会提交到Geodatabase中;一旦回滚,则所有的变化都被放弃;
    (2)Consistent:Transaction使得数据库状况保持一致性;
    (3)Isolation:Transaction中的所有变化与其它Transaction的变化相互独立,提交变化以后,其他用户才能获得该Transaction的变化信息;
    (4)Durable:一旦开始Transaction,它的结果是可持续的。
    为了实现以上的目标,DBMS采用一系列的Locking机制以保证多个并发的Transactions能够相互独立。此外地理数据库的Transaction在持续时间和复杂性上变化很大,Geodatabase支持两种类型-maintenance with and without versions,即用户采用短事务或者长事务,也可以在同一个Geodatabase中同时采用以上两种机制。

                                                                              Schema Locking
    ArcGIS会自动应用和释放Geodatabase的Shared Locks和Exclusive Locks,以帮助用户管理数据库的变化,不至于与其他的用户发生冲突。
    在ArcSDE Geodatabase中,可能会有多个用户同时浏览和编辑同一个数据,则应该保证每一个用户在对其数据浏览和编辑时,数据库的Schema是固定不变的。例如,当加载一个Feature Class到ArcMap中,则它的Schema不能再发生变化。一旦将该Feature Class从ArcMap中删除,没有其他用户查询或编辑该Feature Class,则其Schema可以发生改变。ArcGIS提供了很多自动的Schema Locking机制以帮助管理Geodatabase的变化。
    (1)Shared Locks
    用户使用一个单独的Dataset时,ArcGIS将自动获取Shared Lock,例如,用户在编辑或者查询Feature Class或者Table时,ArcGIS将自动获取Shared Lock,使得其他用户不能修改Dataset的内容和Schema。对于一个单独的Feature Class或者Table,能够创建任意数量的Shared Locks。当用户使用ArcGIS来修改Geodatabase Schema时,则将创建一个Exclusive Lock,但是如果该Dataset已经创建了Shared Lock,则就不能再创建Exclusive Lock。
    (2)Exclusive Locks
    Exclusive Locks用于锁定Geodatabase的Dataset,以防止其他用户更改数据。一旦具备权限的用户开始修改某个Dataset时,ArcGIS将自动创建一个Exclusive Lock。如果用户希望能够修改一个Geodatabase的Schema,则要确保没有其他人正在使用该数据库。
   对于Personal Geodatabase来说, Geodatabase的某一个部分,例如Table、Rows创建Shared Locks或者Exclusive Locks,则整个Geodatabase都将具备Shared Locks或者Exclusive Locks,代表某一时刻只能有一个用户编辑Personal Geodatabase。
    对于File Geodatabase来说,只有具备读写权限的用户能够修改File Geodatabase的Schema。对于所有的Geodatabase 来说,如果对Feature Dataset中的某个Feature Class创建Lock,则该Lock应用于整个Feature Dataset的内容。如果相关联的要素之间,有一个要素设置了Lock,则与其关联的另一个要素也具备了Lock。

 

Geodatabase and ArcSDE系列讲座 第一部分:Geodatabase的基础知识(之四)
     Data maintenance without versions
  这是最简单的数据库管理方式,直接采用了DBMS的Transaction模型,Nonversional Edits等同于标准的数据库事务。
   当开始编辑数据时,首先创建一个编辑Session,然后才可以实现数据的编辑,保存时,所有编辑的结果将以一个单独的Transaction向数据库提交。一旦提交,则该Transaction所做的编辑结果也能够被其他用户和应用获得。
  当用户开始编辑时,采用的是直接编辑DBMS时Transaction所采用的Locking机制。ArcGIS没有修改底层的DBMS Transaction 环境,因此当用户同时编辑一个数据源时,将采用Locking机制锁定数据,只保证一个用户正在编辑数据。
  Nonversional Edit适合于简单要素的编辑,不支持Archiving和Replication等功能。这种方式不需要版本,因此GIS和Non-GIS用户都可以访问一个相同的数据库。
   这种方式的局限性是:
(1)只能够编辑point、line、polygon、annotation、relationship,不可以编辑Topology和Geometric Network中的要素;
(2)对数据源直接编辑,因此不能够Undo和Redo;
(3)每一个Transaction必须是在一个单独的Edit Session中开始和结束的,每个Edit Session之能够持续很短的时间。
                                                                                  Data maintenance with versions
   如果一个大系统有多种用户环境存在,包括ArcGIS用户以及第三方用户。ArcGIS用户希望能在版本的状态下编辑数据,在编辑的时候保证数据的独立性,直到提交数据才与其他用户共享数据。而第三方用户也希望获取数据库的当前状况,这时就需要将数据库注册为Versioned with the Option to move edits to the base table 。在这种情况下,其他版本数据的变化情况都保存在Delta表中。而对于Default版本,不论是直接将编辑结果保存到Default版本,还是直接编辑Default版本,或者将其他版本的编辑提交到该版本,这些编辑都是保存在Base Table中,保证不使用ESRI软件的用户也能够在标准事务中获得和修改数据,不需要创建Multiversioned Views。
   把数据库注册为as Versioned with the Move edits to base option的局限性如下:
   (1)只能够编辑points、lines、polygons、annotation、relationships,而不能够编辑Topology和Geometric Network中的要素;
  (2)不能实现Archive、Replicate;
  (3)当用户直接编辑Default版本或者将一个版本提交到Default版本,则不能够实现冲突解决的能力,因此可能会Overwrite其他用户的编辑成果。
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值