Oracle如何计算RasterDataset和RasterCatalog的存储大小
2011-01-13 17:25
295 查看
数据库存储原理
在 Oracle,一个栅格块表的 BLOCK_DATA 列作为 BLOB 数据类型存储像素的二进制数据。在 Oracle BLOB 数据存储包含 BLOB 列、 LOB 段和 LOB 索引。启用推荐的默认行内存储时,如果存储在 BLOCK_DATA BLOB 列中的二进制数据超过 3,964 的字节,然后它会存储在 LOB 段。LOB 段中使用 LOB 定位器的 BLOCK_DATA 列引用。
下面的方法描述了如何确定栅格数据集或光栅目录块表、 查找与那块表 BLOCK_DATA 的列相关联的 LOB 段,然后通过查询 user_segments 找到总存储大小。
ArcGIS栅格存储
在ArcGIS9和ArcGIS10版本中,栅格数据的默认存储仍然是Blob存储。BLOB存储主要包括矢量表和栅格表的存储,矢量表的存储与上面所说的BLOB存储方式类似,栅格表主要包括附录信息表、栅格表、波段表和分块表。l Business表:称作业务表,业务表对客户端透明,客户端与栅格数据的交互通过业务表即可完成。业务表是用于存储属性的 DBMS 表,并且通过添加栅格列而在空间上启用。带有栅格列的业务表是栅格数据集或栅格目录。栅格数据集只能有一个业务表行,而栅格目录可以有多个。
l F表:称作封装边界要素表,属于支撑表,这个表中存储了栅格数据的封装边界的几何信息。可以参考矢量表BLOB存储的介绍。
l S表:称作封装边界索引表,属于支撑表,这个表中存储了栅格数据的封装边界的几何索引信息。可以参考矢量表BLOB存储的介绍。
==================影像支持表=================
l AUX表:栅格辅助表用于存储影像色彩映射表、影像的统计数据以及可选位掩码(用于影像叠加和镶嵌)。 ArcSDE 会自动在栅格辅助表中存储所有现有影像的元数据,例如影像的统计数据、色彩映射表或位掩码。
l RAS表:称作栅格表,属于支撑表,记录栅格数据的描述信息。
l BND表:称作波段表,属于支撑表,记录栅格数据的波段信息。每幅栅格数据的每一个波段占一条记录。
l BLK表:称作栅格分块表,属于支撑表,栅格块表用于存储影像各波段的实际影像数据。每个波段的像元值都以分块的形式存在该表中。加载栅格数据时,ArcSDE利用分块参数将栅格(及金字塔)划分为若干块,每一块都以BLOB类型存储于该表中。
测试数据
使用ArcCatalog创建一个RasterCatalog,导入影像查看存储容量
获得影像对象的rastercolumn_id根据 rastercolumn_id,查找与块表相关联的 LOB 段。
一旦 LOB Segment名称知道,然后查询 user_segments 表,可能得到容量大小。在下面的示例查询返回大小 MB 的块表和关联的 lob 段中。
相关文章推荐
- Oracle如何精确计算row的大小
- Oracle如何精确计算row的大小
- Oracle如何精确计算row的大小
- Oracle如何精确计算row的大小
- Oracle:如何计算索引的大小
- oracle如何查看表空间大小 以及表空间剩余大小 还有如何增大表空间
- Android中一张图片占据的内存大小是如何计算
- 如何计算结构体的大小
- 如何往数据库(Oracle)里存储图片和文件?
- S3C6410开发全纪录(二)《如何计算内存大小,并在UBOOT中调整内存大小》
- VC如何计算文件夹大小
- oracle 存储过程的时间计算
- 如何计算结构体的大小
- 如何在Oracle中使用Java存储过程 (详解)
- 如何计算结构体的大小
- 如何在Oracle中使用Java存储过程 (详解)
- 如何在Delphi中调用oracle的存储过程返回数据集
- Oracle中如何计算时间差
- 如何在Delphi中调用oracle的存储过程返回数据集
- oracle 如何计算中英文混合字符串占用的字节