ArcGIS 10新特性之地理数据库

2025-04-24 02:51:07

  一、地理数据库管理

  所做的以下改进可帮瘭忮较萱助您管理地理数据库及其连接:

  1、使用“升级地理数据库”地理处理工具或Python脚本升级所有类型的地理数据库

  使用升级地理数据库地理处理工具或Python脚本升级个人和文件地理数据库以及ArcSDE地理数据库(需要具有ArcGISDesktop、ArcGISEngine、ArcGISServerWorkgroup或ArcGISServerEnterprise许可)。(在Windows上请不要使用ArcSDE的“安装后配置”向导或sdesetup命令升级现有地理数据库;它们已不再用于执行地理数据库升级。)

  “升级地理数据库”工具包括一个用于在升级前检查是否已满足特定要求的选项。

  

ArcGIS 10新特性之地理数据库

  升级过程会更新现有系统表、函数、过程和类型,并在需要时创建新的上述内容。在ArcGIS10中,地理数据库系统表已发生了更改。因此,升级到ArcGIS10版本会创建新的地理数据库系统表并将现有信息移动到其中。地理数据库会智能升级;而不需要重新加载数据。

  通过“数据库属性”对话框可访问“升级地理数据库”工具,也可通过“数据管理”工具箱直接打开。

  2、地理数据库系统表已合并

  ArcGIS10版本中的地理数据库方案已经重建,将先前存储在地理数据库系统表中的信息合并为六张表。此操作部分是通过使用XML列存储与地理数据库数据相关联的信息而完成的。

  所有新的和升级后的文件、个人以及ArcSDE地理数据库都将具有新的地理数据库方案。

  要在ArcSDE地理数据库中实现此新方案,数据库必须能够使用XML列。此外,必须使用新的“升级地理数据库”地理处理工具或Python脚本(而不是“后安装”向导或sdesetup命令)升级现有ArcSDE地理数据库。

  3、在文件地理数据库中控制几何和BLOB列的存储

  在文件地理数据库中创建要素类、栅格目录或栅格数据集时,可以使用三个新增选项来指定配置关键字,每个选项都会对几何或BLOB列进行行外存储。这些关键字包括GEOMETRY_OUTOFLINE、BLOB_OUTOFLINE和GEOMETRY_AND_BLOB_OUTOFLINE。

ArcGIS 10新特性之地理数据库

  这三个配置关键字可控制对数据进行行内或行外存储。行内存储数据表示所有属性在文件地理数据库中都存储在同一文件或虚拟表中,而行外存储数据则表示属性存储在不同的文件或虚拟表中。

  新增的关键字旨在与几何及BLOB属性类型(具有存储大量数据的潜力)共同使用。例如,如果要素类包含较大的BLOB属性,可在创建要素类时指定BLOB_OUTOFLINE关键字。BLOB属性只在受到查询时才会被加载,所以性能更好。

  4、创建先前版本的文件或个人地理数据库

  “数据管理”工具箱中的创建文件地理数据库(FileGDB)和创建个人地理数据库(PersonalGDB)地理处理工具均已进行改进,包括了可指定待创建地理数据库的版本的可选参数。可创建10、9.3或9.2版本的文件或个人地理数据库。还可创建9.1版本的个人地理数据库。

ArcGIS 10新特性之地理数据库

  能够通过ArcGIS10客户端创建先前版本的地理数据库将允许您更轻松地与使用先前版本ArcGIS的个人或机构共享数据。

  5、支持附加的地理数据库复制情形

  地理数据库复制模型已进行改良,包括使用存档的单向复制和“子到父”单向复制。

  使用存档的单向复制

  用存档取代版本管理来记录复本更改的功能已经实现。该选项只可用于单向复制,且源复本必须是DEFAULT版本。使用存档方式追踪复本更改时,将不会创建任何系统版本,这样,协调过程、提交过程以及压缩过程就不会受到影响,从而使版本管理和复制管理成为独立的过程。这还可以提高同步计划的灵活性。建议对单向复制使用该选项,因为它可提升同步过程的性能。

  “子到父”单向复制

  单向复制可用于多次将数据变更从父复本发送到子复本,自ArcGIS10起也可以将数据变更从子复本发送到父复本。

  “子到父”单向复制的工作原理类似于“父到子”复制,但方向正好是相反的。此时,子复本中的数据是可编辑的,而父复本中的数据被视为只读。对父复本中的数据进行编辑后,如果编辑内容与同步过程中应用的编辑发生冲突,编辑内容将被覆盖。

  6、删除和阻止与ArcSDE地理数据库的直连

  可使用sdemon命令和kill操作来删除与ArcSDE地理数据库的直连。在先前版本中,kill操作只能用于删除ArcSDE服务连接。

  大多数情况下,使用DBMS的功能可删除直连。数据库要求高级权限来执行此操作;因此ArcSDE管理员需要被授予附加权限才能删除直连。

  还可使用sdemon命令和暂停(pause)操作来阻止对地理数据库创建ArcSDE服务和直连。

  在需要恢复数据库或升级地理数据库的情况下您会希望阻止对地理数据库的新的连接,因为执行这两项任务时不能连接用户。

  7、ArcGIS客户端应用程序包括向后兼容的ArcSDE直连驱动程序

  在ArcGISDesktop、ArcGISEngine或ArcGISServer中访问9.2或9.3版本的地理数据库不必安装向后兼容的直连驱动程序;默认情况下,必要的驱动程序已存在。

  不支持从旧版本客户端到ArcGIS10地理数据库的连接。

  8、ArcGIS客户端应用程序包括MicrosoftSQLServer2008NativeClient

  要在SQLServer中直连到ArcSDE地理数据库,客户端计算机必须安装SQLServerNativeClient(SNaC)。在ArcGIS10中,ArcGISDesktop、ArcReader和ArcGISServer均已安装SQLServer2008NativeClient,以便从这些客户端直连到SQLServer2005或SQLServer2008数据库。

  ArcGISEngine的安装介质中包括了SNaC,用户可根据需要进行安装。

  二、地理数据库中的数据管理

  1、基于SQL查询创建图层

  “查询图层”是ArcMap的一个新增工具,它可以创建由SQL查询定义的新图层或独立表。每次使用或渲染数据时都会执行所定义的查询;因此查询操作始终返回当前状态下的数据。

  注:如果在ArcSDE地理数据库中对版本化的要素类定义了查询,则查询将只返回基表中的数据;而不会返回添加表(Add表)或删除表(Delete表)中的任何信息。

  通过对数据库中的表和视图定义一个查询可将“查询图层”添加到地图中。然后,该查询的结果集将添加到ArcMap作为一个图层或独立表。包含查询图层的地图文档可以保存并发布到ArcGIS服务器,从而使“查询图层”信息可用于多种ArcGISServerAPI。

  查询图层为只读;可支持数据的显示,但不支持通过“查询图层”进行数据的编辑。

  查询图层类似于任何其他要素图层或单独表,所以这些图层可用于作为地理数据库的输入来显示数据,或使用开发人员API通过编程方式进行访问。

  创建“查询图层”后,可将其另存为图层文件(.lyr)或用于创建图层包(.lpk)。这样就可以很容易地与其他应用程序、地图文档和其他用户共享“查询图层”。

  还可在不包含地理数据库的数据库中对空间数据创建查询图层。

  新增六种拓扑规则

  规则集合中新增了六种拓扑规则,以便对数据的空间关系进行建模。这些规则如下:

面:包含一个点

线:不能与其他要素相交

线:不能与其他要素相交或内部接触

线:必须位于内部

点:必须与其他要素保持一致

点:必须不相交

  2、“新建几何网络向导”已精简,新增了一个用于将要素加载进几何网络的命令

  “新建几何网络向导”进行了重新设计和精简以简化几何网络的创建。

  新增一个名为“几何网络增量加载程序”的命令,它可以更便捷地将数据加载进几何网络(相对于传统方式)。该命令旨在将大量要素添加到给定区域范围内的现有几何网络中。通过将此命令添加到工具条中可对其进行自定义。

  3、垂直线可存储在启用了z值的要素类中

  可在启用了z值的要素类中创建垂直线。这些线的x和y坐标相同,但z坐标不同。

  通过为具有相同x和y坐标的折点指定z坐标,可在ArcMap中创建垂直线。为此,可打开编辑草图属性对话框,然后输入z坐标。

ArcGIS 10新特性之地理数据库

  提示:创建线时,在完成草图之前首先要确保指定折点的z值。完成草图时将删除完全重合的折点(这些点的x、y和z坐标均相同)。

  这是编辑z值的一种方式。

  新增对ArcSDE地理数据库新的数据类型的支持,且现有数据类型已增强。

  ArcSDE10地理数据库支持四种新的数据类型:ST_Raster(在Oracle、PostgreSQL和MicrosoftSQLServer中支持)、原生DBMSXML类型(在IBMDB2、Oracle、PostgreSQL和SQLServer中支持)以及SQLServer中的varbinary(max)和datetime2。

  此外,还可将栅格数据从二进制迁移至ST_Raster,将空间数据从二进制迁移至SQLServer几何类型或地理类型。

  (1)新增一种用于栅格的SQL数据类型

  在Oracle、PostgreSQL和SQLServer的ArcSDE地理数据库中,新增一种栅格存储类型ST_Raster。此类型允许使用SQL更改和获取栅格数据的信息。有关ST_Raster类型的详细信息,请参阅什么是ST_Raster存储类型?。

  要使用ST_Raster存储,必须先将其安装在地理数据库中。

  安装后,在创建栅格数据或将其导入地理数据库时,指定包含RASTER_STORAGE配置参数(设置为ST_RASTER)的配置关键字。

  使用SQL对ST_Raster类型进行处理的新函数已推出。这些函数可查看和操作ST_Raster或ST_PixelData值的属性。有关可用的SQL函数的列表。

  使用迁移存储地理处理工具或sderaster管理命令可将现有栅格数据迁移至ST_Raster类型。

  (2)DB2、Oracle、PostgreSQL和SQLServer中的地理数据库支持原生XML列

  在DB2、Oracle11g、PostgreSQL和SQLServer数据库中,ArcSDE支持在地理数据库中使用原生XML列。

  新增十二个ArcSDECAPI函数以便用户可使用这些列。

  可使用DBMS或ArcSDEAPI中提供的功能创建XML模式以对定义的一组限制进行XML文档验证。在DB2、Oracle和SQLServer中均支持XML模式。有关详细信息,请参阅ArcSDE地理数据库中的XML模式。

  允许控制原生XML列存储的新DBTUNE参数已推出。

  (3)SQLServer中的地理数据库支持Varbinary(max)和datetime2列

  Microsoft已弃用SQLServer中的“图像”类型。在SQLServer的ArcSDE地理数据库中创建新数据集时,在先前版本中创建为“图像”类型的列现已创建为varbinary(max)列。使用varbinary(max)列取代图像列的示例中包括二进制几何列以及栅格列。

  在SQLServer2008中的ArcSDE地理数据库内创建的新的日期列使用datetime2数据类型。Datetime2可存储的最早日期为01/01/0000,而日期时间字段可存储的最早日期为01/01/1753。

  (3)将二进制几何迁移至SQLServer几何或地理类型

  可使用迁移存储地理处理工具、Python脚本或sdelayer命令将要素类的几何存储从SDEBINARY或OGCWKB格式更改为SQLServer几何或地理数据类型。为此,必须指定包含GEOMETRY_STORAGE参数(设置为GEOMETRY或GEOGRAPHY)的配置关键字。

  (4)在Oracle和PostgreSQL中,ST_Geometry类型支持参数圆和参数椭圆

  在当前版本中,Oracle和PostgreSQL中地理数据库的ST_Geometry存储类型可存储参数圆和参数椭圆。

  通过ArcSDEC、JavaAPI或SQL创建圆和椭圆并以ST_Geometry类型进行存储时,几何会存储为精度更高且数据库空间占用更少的参数表示。

  ST_GeometrySQL函数还具有可以生成圆或椭圆的参数。由地理国情监测云平台整理并发布。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢