工作流:将注册的栅格目录从二进制类型迁移为 SQL 类型

复杂程度: 中级 数据要求: 使用自己的数据 目标: 了解如何在 Oracle、PostgreSQL 或 SQL Server 中将栅格数据迁移为使用 ST_Raster 存储。

对于使用 ArcSDE 二进制类型创建的现有栅格数据集,可使用“迁移存储”地理处理工具或 sdetable migrate 操作将其转换为 ST_Raster 类型。

在迁移过程中,业务表中会添加新的 ST_Raster 列,存储在 SDE_BND_<N> ArcSDE 栅格波段表中的栅格波段元数据将被提取并写入 ST_Raster 列。然后会删除原有的整型栅格列,并且将原有栅格列名称赋给新的 ST_Raster 列。栅格波段表也将被删除。

在大多数情况下,从二进制到 ST_Raster 的转换速度比较快,同时对系统造成的影响相对较小。不过,在两种情况下除外:转换以 Oracle LONG RAW 类型存储的栅格数据和转换在 SQL Server 图像类型列中存储的栅格数据。

如果使用的是 Oracle,在到 ST_Raster 的转换完成之前,必须将 ArcSDE 栅格块表 (SDE_BLK_<N>) 中的 LONG RAW BLOCK_DATA 列从 LONG RAW 转换为 BLOB。如果使用的是 SQL Server,则必须将 ArcSDE 栅格块表 (SDE_BLK_<N>) 中的 BLOCK_DATA 图像列转换为 varbinary 列。

提示提示:

如果正在迁移包含栅格字段的版本化表或要素类,请在迁移数据之前压缩地理数据库。尽管这不是必需操作,但如果增量表中没有或几乎没有未使用的状态,迁移所花费的时间将更短。

始终做到在迁移数据之前备份地理数据库。

压缩地理数据库

地理数据库管理员可使用 ArcGIS for Desktop 中的“压缩”命令压缩地理数据库。有关说明,请参阅压缩企业级地理数据库

创建数据库的备份

数据库管理员应在迁移任何数据之前创建地理数据库的备份。这样的话,如果迁移失败或决定不使用新数据,可返回原始数据。

迁移过程被设计为是可恢复的。如果因某种原因而导致失败,请解决导致失败的问题,然后重新运行迁移。如果出于某种原因而无法在该点完成迁移,可从备份中恢复数据。

使用数据库管理系统 (DBMS) 的工具创建数据库备份。有关说明,请参阅 DBMS 文档。

安装 ST_Raster 类型

在将栅格列迁移为 ST_Raster 类型之前,必须运行 sdesetup 命令的 install_st_raster 操作,以将地理数据库配置为可存储 ST_Raster 类型。请参阅与安装对应的主题:

迁移数据

一次迁移一个栅格目录、栅格数据集、镶嵌数据集或包含栅格字段的表或要素类。

仅数据集的所有者才能将数据集迁移为其他存储类型。

设置 DBTUNE 参数

您必须在您的某个配置关键字中将 RASTER_STORAGE 参数设置为 ST_Raster。然后,在运行“迁移存储”工具或 sdetable 命令的 migrate 操作时指定该关键字。

步骤:
  1. 执行下列方式之一来添加 RASTER_STORAGE 参数并将该参数设置为 ST_RASTER:
    • 将 RASTER_STORAGE 参数添加到 DBTUNE (sde_dbtune) 表中的 DEFAULTS 配置关键字,并将 RASTER_STORAGE 参数值设置为 ST_RASTER。有关说明,请参阅创建 DBTUNE 表后更改其内容
    • 创建一个自定义配置关键字,该关键字至少要包含一个设置为 ST_RASTER 的 RASTER_STORAGE 参数和一个 UI_TEXT 参数。有关创建自己的关键字的详细信息,请参阅自定义配置关键字;有关 UI_TEXT 参数的详细信息,请参阅在 ArcGIS 中使配置关键字可用

现在,请运行“迁移存储”地理处理工具或 sdetable 命令来迁移栅格目录或栅格数据集。

使用“迁移存储”地理处理工具

可运行“迁移存储”地理处理工具来迁移一组栅格目录、栅格数据集、镶嵌数据集或包含栅格字段的表或要素类。或者,可通过使用 Python 编写迁移脚本来以串行方式迁移一组文件。

步骤:
  1. 在 ArcCatalog 中或在 ArcMap 的目录窗口中,搜索迁移存储地理处理工具,该工具位于“数据管理”工具箱中。
  2. 提供工具所需的信息。这包括每个栅格目录或栅格数据集的路径和名称以及迁移所用的配置关键字。

使用 sdetable 命令的 migrate 操作

可运行 sdetable 命令来迁移各个栅格目录、栅格数据集、镶嵌数据集或包含栅格字段的表或要素类中的栅格列,或者将多条 sdetable 命令放入一个 .bat 文件中。从安装有 ArcSDE 的计算机运行该命令,最好从 SDEHOME 中的 bin 目录下运行。

步骤:
  1. 打开 DOS 命令提示符 (Windows) 或 shell 命令提示符(UNIX 或 Linux)。
  2. 执行 sdetable 命令的 migrate 操作。

    例如:

    sdetable –o migrate –l watershed,raster –k ST_RASTER 
    –i sde:sqlserver:mainserver\ssdb –s mainserver –D mydb –u bjar –p mine.all.mine
    

    务必指定一个包含 RASTER_STORAGE 值(数据将转换为该值)的配置关键字。

相关主题

5/25/2014