Informix 中地理数据库中的栅格数据集和栅格目录
栅格数据是在按行与列排列且大小相同的像元的数组中所显示的空间数据。栅格数据可由一个或多个栅格波段组成。有关栅格数据及其属性的完整说明,请参阅本帮助中的“了解栅格数据”一节。您可以从什么是栅格数据?开始阅读
ArcGIS for Desktop 中的栅格
在 ArcGIS 中,栅格数据可存储在单个栅格数据集、栅格目录或镶嵌数据集中。有关这些栅格存储类型的介绍,请参阅栅格数据的编排。
在目录树中,Informix 中的各个栅格数据集具有以下图标:
目录树中的栅格目录具有以下图标:
Informix 中,栅格目录和栅格数据集的名称依次为数据库名称、冒号 (:)、的栅格目录或数据集的所有者名称以及栅格目录或栅格数据集本身的名称。
例如,global 数据库中由用户 rock 所有的栅格数据集 world 将在目录树中以 GLOBAL.ROCK.WORLD 形式列出。
有关镶嵌数据集在地理数据库中如何存储的信息,请参阅 Informix 地理数据库中的镶嵌数据集。
IBM Informix 数据库中的栅格表
Informix 数据库中的 ArcSDE 地理数据库以 Informix 的本机二进制格式存储栅格数据。
Informix 本机二进制格式类似于 ArcSDE 压缩二进制类型。有关二进制类型的详细信息,请参阅 Informix 文档和 ArcSDE 压缩二进制存储。将向业务表中添加栅格列,并且栅格列的每个单元格都包含对存储在单独栅格表中的栅格数据的引用。因此,业务表的每一行都引用整个栅格数据。
向 Informix 中的 ArcSDE 地理数据库导入栅格数据时,会在所选业务表中添加一个栅格列。您可以根据自己的喜好对栅格列进行命名,但要符合 Informix 的列命名约定。ArcSDE 限定每个业务表只能添加一个栅格列。
以 Informix 二进制存储的栅格
栅格数据集由以下七个表组成:业务表、要素表、空间索引表、辅助表、块表、波段表和栅格属性表。下方显示的是名为 world_TIF 的栅格数据集的业务表和栅格表。
业务表
业务表是用于存储属性的 DBMS 表,并且通过添加栅格列而在空间上启用。它存储栅格的轮廓线(描绘区域)。在上述示例中,业务表是 world_tif 表。
带有栅格列的业务表是栅格数据集或栅格目录。栅格数据集只能有一个业务表行,而栅格目录可以有多个。关于栅格列的信息保留在 raster_columns 系统表中。关于所有业务表(无论它们是否有空间列或栅格列)的信息则保留在 table_registry 系统表中。
栅格影像表
实际的栅格影像存储在这些表中。
![注 注](rsrc/note.png)
如果地理数据库中有栅格数据,则栅格表将仅显示在数据库中。
栅格辅助表用于存储影像色彩映射表、影像的统计数据以及可选位掩码(用于影像叠加和镶嵌)。
现有的影像元数据(例如影像的统计数据、色彩映射表或位掩码)会自动存储于栅格辅助表中。栅格辅助表的 rasterband_id 列是栅格波段表主键的外键引用。访问栅格波段的元数据时,这两个表会借助此主/外键引用连接起来。
字段名 |
字段类型 |
描述 |
是否允许为空 |
---|---|---|---|
rasterband_id |
integer |
表示栅格波段的数字;例如,带有两个栅格波段的栅格数据集将在此字段中有两个不同的值(1 和 2)。 |
NOT NULL |
type_ |
integer |
包含的值:2 = 栅格统计 3 = 色彩映射表 4 = 坐标变换 5 = 预留给地理数据库 6 = 其他 |
NOT NULL |
object |
byte |
包含实际数据,即色彩映射表索引、栅格统计数据或坐标变换 |
NOT NULL |
栅格块表用于存储影像各波段的实际影像数据。
栅格块表存储每个栅格波段的像素。根据用户定义的尺寸将像素分块。将栅格数据导入地理数据库或在地理数据库中创建栅格数据的 ArcGIS 应用程序具有默认尺寸。例如,地理处理工具和 ArcCatalog 采用每个栅格块 128 × 128 像素的默认尺寸。栅格块的尺寸以及压缩方法(如果指定了一个方法)决定每个栅格块的存储大小。应选择结合压缩方法后让栅格块表的每一行都适合 DBMS 的栅格块尺寸。
栅格块表包含 RASTERBAND_ID 列,该列是栅格波段表 RASTERBAND_ID 主键的外键引用。访问栅格波段的块时,这些表会借助主/外键引用连接在一起。
栅格块表根据分辨率逐渐减小的金字塔进行填充。金字塔的高度由应用程序所指定的等级数确定。通过应用程序(例如地理处理工具或 ArcCatalog)可定义等级、请求地理数据库计算等级,或同时提供这两种功能。金字塔从底部或等级 0(包含影像的原始像素)开始。通过将之前等级的四个像素合并为当前等级下的单个像素,金字塔向顶点延伸。继续执行此过程直到其到达顶点,该顶点可能是自动定义的或用户定义的。
金字塔的其他等级将栅格块数增加了三分之一。但是,由于可以指定等级数,金字塔的大小可能较小。金字塔的第一个等级将是底层的 25%。还需注意,金字塔的第一个等级可以忽略,这是可大大减小金字塔大小的因素之一。
![]() |
栅格金字塔 |
构建金字塔时,大多数栅格都是通过按乘数 2 逐渐减采样前一等级直至顶点的方式创建的。当应用程序进行缩小操作并且栅格像元变得比分辨率阈值小时,将选择一个更高的金字塔等级。使用金字塔的目的是优化显示性能。
字段名 |
字段类型 |
描述 |
是否允许为空 |
---|---|---|---|
rasterband_id |
integer |
表示栅格波段的数字;例如,带有两个栅格波段的栅格数据集将在此字段中有两个不同的值(1 和 2)。 |
NOT NULL |
rrd_factor |
integer |
金字塔等级;金字塔等级从 0 开始并可从该等级开始增加。 |
NOT NULL |
row_nbr |
integer |
切片行号位置 |
NOT NULL |
col_nbr |
integer |
列行号位置 |
NOT NULL |
block_data |
byte |
存储于切片中的像素数据 |
NOT NULL |
栅格波段表用于存储关于影像波段的信息。每个栅格波段都有一条对应的记录。
地理数据库将栅格波段存储在栅格波段表中。栅格波段表通过 RASTER_ID 列与栅格表连接。栅格波段表列的 RASTER_ID 是栅格表主键的外键引用。
字段名 |
字段类型 |
描述 |
是否允许为空 |
---|---|---|---|
rasterband_id |
integer |
表示栅格波段的数字;例如,带有两个栅格波段的栅格数据集将在此字段中有两个不同的值(1 和 2)。 |
NOT NULL |
sequence_nbr |
integer |
栅格数据集内的栅格波段顺序 |
NOT NULL |
raster_id |
integer |
栅格数据集的唯一标识符;对应于业务表的栅格列中的值 |
NOT NULL |
name |
varchar(65) |
可选栅格波段名称 | |
band_flags |
integer |
包含有关波段属性的位掩码 |
NOT NULL |
band_width |
integer |
波段的像素宽度 |
NOT NULL |
band_height |
integer |
波段的像素高度 |
NOT NULL |
band_types |
integer |
包含有关波段属性的位掩码 |
NOT NULL |
block_width |
integer |
块的像素宽度 |
NOT NULL |
block_height |
integer |
块的像素高度 |
NOT NULL |
block_origin_x |
float |
栅格原点的 x 坐标 |
NOT NULL |
block_origin_y |
float |
栅格原点的 y 坐标 |
NOT NULL |
eminx |
float |
栅格波段中的最小 x 值;与 eminy、emaxx 和 emaxy 共同定义栅格波段的包络矩形 |
NOT NULL |
eminy |
float |
栅格波段中的最小 y 值;与 eminx、emaxx 和 emaxy 共同定义栅格波段的包络矩形 |
NOT NULL |
emaxx |
float |
栅格波段中的最大 x 值;与 eminx、eminy 和 emaxy 共同定义栅格波段的包络矩形 |
NOT NULL |
emaxy |
float |
栅格波段中的最大 y 值;与 eminx、eminy 和 emaxx 共同定义栅格波段的包络矩形 |
NOT NULL |
cdate |
integer |
栅格波段的创建日期 |
NOT NULL |
mdate |
integer |
栅格波段的上次修改日期 |
NOT NULL |
栅格描述表用于存储栅格列内影像的描述。
字段名 |
字段类型 |
描述 |
是否允许为空 |
---|---|---|---|
raster_id |
integer |
栅格数据集的唯一标识符;对应于业务表的栅格列中的值 |
NOT NULL |
raster_flags |
integer |
保留以供今后使用 | |
description |
varchar(65) |
栅格数据集的描述 |
用于追踪栅格的其他系统表
与其他数据类型一样,可在 gdb_items 和 layers 表中追踪栅格目录和数据集。栅格类型的列可在 raster_columns 表中追踪,每个包含栅格列的表都有一个条目。
还可以有其他属性表作为栅格数据集或栅格目录的一部分。每个栅格数据集只能有一个栅格属性表,但栅格目录可以有多个这样的表。栅格属性表用于定义特定栅格像元值的属性。有关使用这些表的信息,请参阅栅格数据集属性表。
可以使用“数据管理”工具箱的“栅格”工具集中“栅格属性”工具集的“构建栅格属性”工具。有关此工具的详细信息,请参阅构建栅格属性表(数据管理)。
对于栅格数据集,其他属性表以 SDE_VAT_<raster_column_ID> 格式进行命名。对于栅格目录,表名称的格式为 SDE_VAT_<raster_column_ID>_<Object_ID>。
View a diagram of a raster dataset in Informix.
虚线表示各列之间的隐含关系。
![注 注](rsrc/note.png)
需要使用 Adobe Acrobat Reader 才能打开此文件。
XML 文档中的栅格
在 XML 文档中,栅格数据集使用 DataElement 标签修饰。该标签包含值“esri:DERasterDataset”。
<DataElement xsi:type="esri:DERasterDataset">
<CatalogPath>/V=sde.DEFAULT/RD=global:rock.world_TIF</CatalogPath>
<Name>global:rock.world_TIF</Name>
<Children xsi:type="esri:ArrayOfDataElement">
<DataElement xsi:type="esri:DERasterBand">
<CatalogPath>/V=sde.DEFAULT/RD=global:rock.world_TIF/RB=Band_1</CatalogPath>
<Name>Band_1</Name>
<DatasetType>esriDTRasterBand</DatasetType>
<DSID>-1</DSID>
<Versioned>false</Versioned>
<CanVersion>false</CanVersion>
<HasOID>true</HasOID>
<OIDFieldName>ObjectID</OIDFieldName>
<Fields xsi:type="esri:Fields">
<FieldArray xsi:type="esri:ArrayOfField">
<Field xsi:type="esri:Field">
<Name>ObjectID</Name>
<Type>esriFieldTypeOID</Type>
<IsNullable>false</IsNullable>
<Length>4</Length>
<Precision>0</Precision>
<Scale>0</Scale>
<Required>true</Required>
<Editable>false</Editable>
</Field>
<Field xsi:type="esri:Field">
<Name>Value</Name>
<Type>esriFieldTypeInteger</Type>
<IsNullable>true</IsNullable>
<Length>0</Length>
<Precision>0</Precision>
<Scale>0</Scale>
</Field>
<Field xsi:type="esri:Field">
<Name>Count</Name>
<Type>esriFieldTypeInteger</Type>
<IsNullable>true</IsNullable>
<Length>0</Length>
<Precision>0</Precision>
<Scale>0</Scale>
</Field>
</FieldArray>
</Fields>
<Indexes xsi:type="esri:Indexes">
<IndexArray xsi:type="esri:ArrayOfIndex" />
</Indexes>
<IsInteger>true</IsInteger>
<MeanCellHeight>0.175996089009095</MeanCellHeight>
<MeanCellWidth>0.176000337991447</MeanCellWidth>
<Height>1024</Height>
<Width>2048</Width>
<PixelType>U8</PixelType>
<PrimaryField>1</PrimaryField>
<TableType>esriRasterTableValue</TableType>
<Extent xsi:type="esri:EnvelopeN">
<XMin>-179.906382261841</XMin>
<YMin>-90.1303147686327</YMin>
<XMax>180.542309944643</XMax>
<YMax>90.089680376681</YMax>
<SpatialReference xsi:type="esri:GeographicCoordinateSystem">
<WKT>GEOGCS["GCS_WGS_1984", DATUM["D_WGS_1984", SPHEROID["WGS_1984",6378137.0,298.257223563]], PRIMEM["Greenwich",0.0], UNIT["Degree",0.0174532925199433]]</WKT>
<XOrigin>-400</XOrigin>
<YOrigin>-400</YOrigin>
<XYScale>11258999068426.2</XYScale>
<ZOrigin>0</ZOrigin>
<ZScale>1</ZScale>
<MOrigin>0</MOrigin>
<MScale>1</MScale>
<XYTolerance>8.98315284119521E-09</XYTolerance>
<ZTolerance>2</ZTolerance>
<MTolerance>2</MTolerance>
<HighPrecision>true</HighPrecision>
<LeftLongitude>-180</LeftLongitude>
</SpatialReference>
</Extent>
</DataElement>