【海洋空间信息工程概论 实验报告5】File Geodatabase与Personal Geodatabase对比

张开发
2026/6/9 8:21:30 15 分钟阅读
【海洋空间信息工程概论 实验报告5】File Geodatabase与Personal Geodatabase对比
上一篇【海洋空间信息工程概论 实验报告4】空间数据投影变换目录File Geodatabase与Personal Geodatabase对比如何区分ShapefileCoverageGeodatabaseFile Geodatabase与Personal Geodatabase对比一、存储方式File Geodatabase 以一个资料夹方式储存而Personal Geodatabase 则为一个MS-Access 的mdb 资料库档案。二、储存限制1. Personal Geodatabase相同于MS Accesss 限制资料库最大为2GB。2. File Geodatabase资料库无限制每个表限制为1TB(1000GB)。三、平台支援1. Personal Geodatabase仅可在Windows 上运行。2. File Geodatabase跨平台支援可在Windows 及UNIX、linux上运行。四、效能File Geodatabase 相较于Personal Geodatabase 可快20%到10 倍这部分随着资料量的增加效能差异越大。五、储存空间同样的资料在File Geodatabase 中比Personal Geodatabase 和Shapefile占用的硬碟空间更少通常可以减少50%~70%最多可减少到1/5。File Geodatabase中的lock文件与Personal GDB的单个.mdb文件表现形式不同File GDB是以文件夹的形式存放在磁盘中的进入File GDB的文件夹可以看到许多凭我们肉眼凡胎无法辨认的文件你要是能认出来叫你犀利哥~这向你传递一个信息没事别到里面瞎逛。当一个ArcGIS程序比如ArcMap、ArcCatalog或者ArcGIS Server将其中的数据发布成了服务正在访问File GDB时ArcGIS会给其中相应的数据加上悲观锁表现出来就是在该File GDB的文件夹里多了若干.lock结尾的文件。当数据被锁定时你是无法对其进行修改或删除的。比如ArcMap里加载了一个FeatureClass这时你无法用ArcCatalog删除它在ArcCatalog中预览一个FeatureClass这时你无法用ArcMap编辑它。除了正在使用的数据会肯定被锁以外以下情况中还有其他数据也会被锁住1、正在访问包含在DataSet中的某个FeatureClass时这个DataSet内的其他FeatureClass也会被锁2、单独的FeatureClass之间如果做了Relate那么访问其中一个时其他的也会被锁。9.3sp1以后每个.lock文件的文件名会至少带有以下两个信息产生该锁的进程的ID号任务管理器查看选择列勾选PID可查看以及该进程所在的机器名。当数据被锁定时除了以上标志明显的.lock文件外还会有一些系统锁文件。所以根据这些.lock文件的命名你就能判断出是哪个进程占用了数据从而做出正确的处理。一般来说.lock文件会在生成它的进程正常退出时被自动删除掉。但如果进程没有正常退出比如崩溃后由该进程生成的.lock文件则会继续存在但已经没有任何作用。清除这些因意外状况遗留下的.lock文件的方法1、重新开启该进程则会清理上一次遗留的.lock文件2、用Compact Database工具或ArcCatalog中的右键菜单3、手动删除。推荐方法2方法3慎用。除非你有备份否则误删File GDB文件夹下一个哪怕0k的文件都有极大的可能造成整个数据库损坏而无法修补。如果非要用方法3建议在命令行下用del *.lock命令删除如果非要用资源管理器删建议左手在按住ctrl或shift时右手食指不要发抖。六、压缩格式File Geodatabase 支援一种新的压缩格式在查询与显示方面均与未压缩格式相同压缩比率可从2:1 到25:1。如何区分ShapefileCoverageGeodatabase在过去20年中矢量数据模型是GIS中变化最大的方面例如ESRI公司所开发每种新软件包都对应一种新的矢量数据模型Arc/Info对应CoverageArcView对应ShapefileArcGIS对应Geodatabase。Coverage和Shapefile是地理关系数据模型它利用分离的系统来存储空间数据和属性数据而Geodatabase是基于对象数据模型它把空间数据和属性数据存储在唯一的系统中。Coverage是拓扑的Shapefile是非拓扑的。Coverage支持三种基本拓扑关系连接性、面定义、邻接性。Shapefile多边形对于共享边界实际上有重复弧段且可彼此重叠不同于Coverage所用的多个文件它用几何学性质存储两个基本文件以.shp为扩展名的文件存储要素几何学特征以.shx为扩展名的文件保留要素几何特征的空间索引。Shapefile:一种基于文件方式存储GIS数据的文件格式。至少由.shp,.dbf,.shx三个文件作成分别存储空间属性和前两者的关系。是GIS中比较通用的一种数据格式。Coverage:一种拓扑数据结构一般的GIS原理书中都有它的原理论述。数据结构复杂属性缺省存储在Info表中。目前ArcGIS中仍然有一些分析操作只能基于这种数据格式进行操作。Geodatabase:ArcInfo发展到ArcGIS时候推出的一种数据格式一种基于RDBMS存储的数据格式其有两大类1.Personal Geodatabse用来存储小数据量数据存储在Access的mdb格式中。2.ArcSDE Geodatabse存储大型数据存储在大型数据库中Oracle,Sql Server,DB2等。可以实现并发操作不过需要单独的用户许可。Coverage数据模型Coverage是一个集合它可以包含一个或多个要素类。在第一个商业化GIS软件Arc/INFO之前计算计划的图形表示源自通用的CAD软件属性信息和几何要素放在一起不利于空间信息的描述和分析。Coverage的优势(1)空间数据与属性数据关联。空间数据存储于建立了索引的二进制文件中属性数据存放在DBMS表中二者以公共的标识编码关联。(2)矢量数据间的拓扑关系得以保存。Shapefile数据模型Shapefile是ArcView GIS 3.x的原生数据格式属于简单要素类用点、线、多边形存储要素的形状却不能存储拓扑关系具有简单、快速显示的优点。一个shapefile是由若干个文件组成的空间信息和属性信息分离存储所以称之为“基于文件”。每个shapefile都至少由三个文件组成其中*.shp存储的是几何要素的的空间信息也就是XY坐标。*.shx存储的是有关*.shp存储的索引信息它记录了在*.shp中空间数据是如何存储的XY坐标的输入点在哪里有多少XY坐标对等信息。*.dbf存储地理数据的属性信息的dBase表。这三个文件是一个shapefile的基本文件shapefile还可以有其他一些文件但所有这些文件都与该shapefile同名并且存储在同一路径下。下面简要介绍一下其他一些较为常见文件*.prj如果shapefile定义了坐标系统那么它的空间参考信息将会存储在*.prj文件中*.shp.xml这是对shapefile进行元数据浏览后生成的xml元数据文件*.sbn和*.sbx这两个存储的是shapefile的空间索引它能加速空间数据的读取这两个文件是在对数据进行操作、浏览或连接后才产生的也可以通过ArcToolboxDataManagement ToolsIndexesAdd spatial Index工具生成。几种常见的shapefile文件当使用ArcCatalog对shapefile进行创建、移动、删除或重命名等操作或使用ArcMap对shapefile进行编辑时ArcCatalog将自动维护数据的完整性将所有文件同步改变。所以需要使用ArcCatalog管理shapefile。虽然Shapefile无法存储拓扑关系但它并不是普通用于显示的图形文件作为地理数据它自身有拓扑的。比如一个多边形要素类shapefile会按顺时针方向为它的所有顶点排序然后按顶点顺序两两连接成的边线向量在向量右侧的为多边形的内部在向量左侧的是多边形的外部。由于1990年代地理信息的迅速发展以及ArcView GIS 3.x软件在世界范围内的推广shapefile格式的数据使用非常广泛数据来源也较多。很多软件都提供了向shapefile转换的接口egMapInfo、MapGIS等。ArcGIS支持对shapefile的编辑操作也支持shapefile向第三代数据模型geodatabase的转换。Geodatabase数据模型Geodatabase作为ArcGIS的原生数据格式体现了很多第三代地理数据模型的优势。随着IT技术的发展普通的事务型数据的管理模式早已从传统的基于文件的管理转向利用基于工业标准建立的关系型数据库进行管理这种基于数据库的管理方式的优点是不言而喻的。那么带有空间信息的地理数据是否也可以利用这种非常成熟的数据库技术进行管理呢于是ESRI推出了geodatabase数据模型利用数据库技术高效安全地管理我们的地理数据。Geodatabase可以分为两种一种是基于Microsoft Access的personal geodatabase另一种是基于oracle、SQL Server、Informix或者DB2的enterprise geodatabase由于它需要中间件ArcSDE进行连接所以nterprise geodatabase又称为ArcSDE geodatabase。由于Microsoft Access自身容量的限制personal geodatabase的容量上限为2GB这显然不能满足企业级的海量地理数据的存储需求。于是可以将geodatabase扩展为ArcSDE geodatabase底层数据库可以使用oracle这样的大型关系数据库能够存储近乎“无限”的海量数据仅受硬盘大小的限制。虽然底层使用的数据库各不相同但是geodatabase给用户提供的是一个一致的操作环境。在geodatabase中不仅可以存储类似shapefile的简单要素类还可以存储类似coverage的要素集并且支持一系列的行为规则对其空间信息和属性信息进行验证表格、关联类、栅格、注记和尺寸都可以作为eodatabase对象存储。这些在perasonal geodatabase和ArcSDE geodatabase中都是一样的栅格的存储有点小差异但对用户来说都是一样的。Geodatabase的模型结构(1)对象类Object class对象类是一种特殊的类没有空间特征。其实例是可关联某特定行为的表记录。如某地块的主人在“地块”“主人”间可建立某种关系。(2)要素类Feature class要素类是同类空间要素的集合。如河流、道路、植被、电缆等。要素类可以独立存在也可以具有某种联系。当不同的要素类之间存在关系时就将其组织到一个要素数据集Feature dataset中。(3)要素数据集Feature dataset要素数据集由一组具有相同空间参考Spatial reference的要素类组成。将不同要素类放入要素数据集的原因a.专题归类表示——当不同的要素类属于同一范畴。比如全国范围内某种比例尺的水系数据其点线面类型的要素类可组织成同一个要素数据集。b.创建几何网络——在同一几何网络中充当连接点和边的各种要素类须组织到同一要素数据集中。比如配电网络中有各种开关、变压器、电缆等它们分别对应点或线类型的要素类在配电网络建模时我们要将其全部考虑到配电网络对应的几何网络模型中。此时这些要素类就要放在统一要素数据集下。c.考虑平面拓扑——共享公共几何特征的要素类。比如用地、水系、行政区界等。当移动其中一个要素时其公共部分也要一起移动并保持这种公共的几何关系不变。(4)关系类Relationship class定义不同要素类或对象类之间的关联关系。如我们可以定义房子和主人之间的关系、房子和地块之间的关系等。(5)几何网络在若干要素类的基础上建立起的新类。定义几何网络时我们指定哪些要素类加入其中同时指定其在几何网络中扮演什么角色。比如定义一个供水网络我们指定同属一个要素数据集的“阀门”、“泵站”、“接头”对应的要素类加入其中并扮演“连接”的角色同时我们要指定同属一个要素数据集的“供水干管”、“供水支管”、“入户管”等对应的要素类加入供水网络由其扮演“边”的角色。(6)Domains定义属性的有效范围可是连续的也可是离散数值。(7)Validation rules对要素类的行为和取值加以约束的规则。如不同管径的水管连接必须通过合适的接头规定一个地块可拥有一到三个主人等。(8)Raster datasets用于存放栅格数据。支持海量栅格数据支持影像镶嵌可通过建立“金字塔”形索引在使用时指定可视范围提高检索和显示效率。(9)TIN DatasetsARC/INFO的经典数据模型用不规则分布的采样点的采样值构成不规则的三角集合。用于表达地形或其他类型的空间连续分布特征。(10)Locators定位参考和定位方法的组合。对于不同的参考用不同的定位方法进行定位操作。所谓定位参考不同的定位信息有不同的表达方法。在Geodatabase中有四种定位信息地址编码、XY、地名及邮编、路径定位。定位参考数据放在数据库表中定位器根据该定位参考数据在地图上生成空间定位点。

更多文章