ArcGIS 与 Oracle Spatial 栅格类型

使用 Oracle 的可扩展对象关系型系统可实现 Oracle Spatial 栅格数据类型 SDO_GEORASTER。该类型是在 Oracle 10g 版本中引入的。SDO_GEORASTER 类型可存储栅格信息,包括像素类型、空间参考 ID 及像素值。

SDO_GEORASTER 类型支持所有的 Esri 像素类型:1 位至 64 位、有符号、无符号及浮点型。ArcGIS 支持使用 Oracle Spatial 的数据类型 SDO_ GEORASTER 作为存储栅格数据的选项。

注注:

使用 Oracle 对象关系型的结构化查询语言 (SQL),应用程序可完成对 SDO_GEORASTER 类型内容的插入、更新及提取等正确操作。另外,应用程序也能确保每个栅格的内容都符合 Oracle 文档中定义的规则。

在创建包含 Oracle SDO_GEORASTER 列的表之后,ArcGIS 会填充所需的 Oracle 元数据模式。应用程序(如 ArcGIS)的工作就是执行此任务,因为 Oracle 不会自动执行此任务。如果注册一个包含由第三方产品创建的 Oracle SDO_GEORASTER 列的表,则该产品的职责就是针对 SDO_GEORASTER 列填充合适的 Oracle 元数据模式。

存储栅格为 SDO_GEORASTER

在 DBTUNE 表中定义了企业级地理数据库存储的设置;RASTER_STORAGE 参数可控制栅格数据的存储。在企业级地理数据库中,要创建一个包含 SDO_GEORASTER 列并能将栅格存储为 SDO_GEORASTER 的表,必须使用一个配置关键字,该关键字须包含在创建栅格数据集或目录时值被设置为 SDO_GEORASTER 的 RASTER_STORAGE 参数。

第一次在 Oracle 中创建地理数据库时,DBTUNE 表中 RASTER_STORAGE 参数的默认设置为 BLOB,而默认的 GEOMETRY_STORAGE 则为 ST_GEOMETRY。以下列出了部分 DEFAULTS 关键字参数:

##DEFAULTS

GEOMETRY_STORAGE    "ST_GEOMETRY"
ATTRIBUTE_BINARY    "BLOB"
RASTER_STORAGE	    "BLOB"

如要以 SDO_GEORASTER 格式存储大量栅格数据,则需要更改 DEFAULTS 关键字的 RASTER_STORAGE 参数,将其设置为 SDO_GEORASTER。

在下列示例中,DEFAULTS 关键字被更改为使用 SDELOB 存储创建矢量数据,使用 SDO_GEORASTER 存储创建栅格数据。

##DEFAULTS

GEOMETRY_STORAGE    "SDELOB"
ATTRIBUTE_BINARY    "BLOB"
RASTER_STORAGE	    "SDO_GEORASTER"

在更改后,默认情况下会使用 SDO_GEORASTER 列创建栅格目录、栅格数据集以及镶嵌数据集。

尽管可能只有一种默认的栅格模式(在 DEFAULTS 配置关键字下对 RASTER_STORAGE 的一种设置),但在创建栅格目录或栅格数据集时,仍可使用现有的 SDO_GEOMETRY 配置关键字将 RASTER_STORAGE 指定为 SDO_GEORASTER。如果仅需将少量栅格数据存储为 SDO_GEORASTER 格式,请执行上述操作。

在使用 SDO_GEORASTER 关键字之前,需要编辑 RDT_STORAGE 和 RDT_INDEX_COMPOSITE 参数的表空间信息。默认情况下,表空间信息不包含在 SDO_GEORASTER 关键字中。您可以通过添加表空间定义来修改 RDT_STORAGE 和 RDT_INDEX_COMPOSITE 参数值,如下例所示:

RDT_STORAGE         "PCTFREE 0 INITRANS 4
                    TABLESPACE rdt_tblsp"
RDT_INDEX_COMPOSITE "PCTFREE 0 INITRANS 4
                    TABLESPACE rdt_tblsp
                    STORAGE ( INITIAL 409600) NOLOGGING"

要针对本关键字修改 DBTUNE 表中的信息,请使用 sdedbtune 管理命令。sdedbtune 命令随 ArcSDE 应用程序服务器一起安装,可在《ArcSDE 管理命令参考》(也随 ArcSDE 应用程序服务器安装程序提供)中查阅有关此命令使用方法的详细信息。

也可以创建新的配置关键字以便将栅格数据集存储为 SDO_GEORASTER 格式,例如:

##GEORASTER
RASTER_STORAGE	"SDO_GEORASTER"
SDO_COMMIT_INTERVAL	1000
UI_TEXT		"Use to create raster catalogs and datasets with GEORASTER storage"

END

请注意,上述示例没有完全列出与其相关联的存储参数集。这是因为任何未在关键字中指定的参数都可以从 DEFAULTS 关键字中获取。这意味着如果某个参数与在 DEFAULTS 关键字下指定的参数具有相同值,则可以不包含该参数。在上面的示例中,像 BND_STORAGE 与 AUX_STORAGE 之类的参数就不会包含在内;这些参数可从 DEFAULTS 关键字中读取。对于新配置关键字示例 (GEORASTER),这表示也可以从 DEFAULTS 关键字中读取 GEOMETRY_STORAGE 参数。若在自定义 SDO_GEORASTER 配置关键字中不包含 GEOMETRY_STORAGE 参数,则请确保 DEFAULTS 下的 GEOMETRY_STORAGE 未被设置成 SDO_GEOMETRY 或 ST_GEOMETRY。

有关几何存储关键字的详细信息,请参阅 Oracle 中的 DBTUNE 配置参数。有关 DBTUNE 表或配置关键字的常规信息,请参阅什么是 DBTUNE 表?什么是 DBTUNE 配置关键字和参数?

添加第三方表

可使用 ArcSDE 管理命令 sderaster –o add 来注册一个包含由第三方应用程序创建的 SDO_GEORASTER 列的表。例如:

sderaster –o add –l landforms,raster –u gis –p gis

要添加的表必须满足以下条件:

sderaster 命令也随 ArcSDE 应用程序服务器一起安装或随 Esri 客户关怀中心门户提供的独立命令行工具一起安装。

有关在地理数据库中使用 SDO_GEORASTER 的已知限制条件

以下是限制条件的列表,在将企业级地理数据库中的栅格数据存储为 SDO_GEORASTER 格式时,请时刻注意这些限制条件。

5/10/2014