块大小控制了在每个数据库的内存块中像元的数目。它被指定为许多像元。默认的块的大小是128*128,并且大多数的应用并不保证可以改变这些默认值。
数据压缩是在将栅格数据存入地理数据库之前对其块的大小进行压缩。使用的压缩方式可以是有损的(JPEG和JPEG 2000)或无损的(LZ77)。无损压缩意味着栅格数据集中像元的值不会被改变。压缩的量取决于像元数据的类型;影像越一致,压缩的比例越高。
对数据进行压缩最主要的好处是可以节省存储空间。另一个好处是从总体上提高了性能,因为降低了服务器和客户应用间交换的数据包。
如果仅是做地理背景图的使用,可以进行有损压缩。
Ø 如果栅格数据只是用作背景图像,而且无需对其进行分析
Ø 用户对数据加载和检索效率有要求
Ø 所需的存储空间小,因为压缩比例可以达到5:1或10:1(若选则JPEG 2000可以获得更大的压缩比例,如10:1或20:1)
Ø 栅格数据集是用来获取新的数据或用于视觉分析
Ø 需要的压缩比例在1:1和1:3之间
Ø 不打算保留原始数据
Ø 输入的数据已经被有损压缩过
影像金字塔是为了提高性能而对数据集降低精度的表达。金字塔结构可以加速栅格数据的显示,因为服务器返回的只是符合显示需要的指定精度的数据。影像金字塔的创建是通过将原始数据重采样为几个不同的影像层,其精度也逐层增大。重采样的方法告诉服务器如何对数据进行重采样以构建影像金字塔。最近邻法可用于小的数据或带有颜色图的栅格数据集,例如土地利用图或假彩色影像。双线性内插或三次卷积法可以用于连续性的数据,例如卫星影像或航空像片。强烈建议针对特定的数据采用最合适的采样技术。记住,金字塔重采样只影响显示,而不影响原始数据。
不能在一个栅格目录上构建金字塔。但是,可以为栅格目录中的每个栅格数据集创建金字塔,推荐这样做。
另外建立金字塔势必会增加数据的存储量。级数越低表明信息越详细,占用的存储空间较大,具体请参考下图。
在数据入库之后,需要进行Analyze功能,提高数据的显示、检索、查询效率。
利用ArcCatalog的分析功能或者ArcToolbox的GP工具都可以实现
利用SDE命令进行统计
----------------------------------------------------------------------------------------------------------
C:/>sdetable -o update_dbms_stats -t earth -m estimate
-u mark -p mark -i 9000
Ø Oracle数据库:直接对栅格数据进行统计
Ø SQLServer数据库:在入库过程中自动统计
Ø 其他数据库:至少要对Blocks表进行统计
1:使用RasterDataset存储数据在数据浏览方面比RasterCatalog存储数据性能速度要快
2:在数据入库过程中只能由一个客户端进行导入不支持多个用户同时导入
Ø 栅格数据集的范围部分或完全重叠,而且想保留公共区域。
Ø 栅格数据集的范围完全重叠,而且又是某一时间序列的一部分。
Ø 不需要一次显示它的全部区域。栅格目录以较小的尺度显示一个框架。
Ø 有时,必须为每个栅格数据集保留一份与之关联的元数据。
Ø 更新频率比较频繁时
以下为单独存储或者相互拼接
Ø 只能使用RasterDataset存储数据才能发布服务
Ø 当数据集互不相邻并且它们很少被使用于同一项目中时
镶嵌可以将两个或更多个栅格数据集合并到一个现有的栅格数据集中以创建一个单一的无缝栅格数据集。镶嵌创建的栅格数据集与任何其他栅格数据集没有什么不同。
所有的栅格数据集及输出的栅格镶嵌数据必须都具有相同的波段数以及相同的像元大小。否则,镶嵌不能完成。
镶嵌容限控制了像元重采样是否发生。如果在导入数据集和目标数据集之间的像元对齐差异小于容限值,则不会进行重采样。反之,则进行重采样。容限的单位是像元,其有效值在0和1之间。
测试环境
操作系统:Winodows2003 Server
数据库:Oracle10g(10.2.0.1)
中间件:ArcSDE9.3.1 for Oracle10g
C:/Users/gis>sderaster
ArcSDE 10.0
Raster Utility
----------------------------------------------------------------
Usage: sderaster -o command [options-and-arguments]
Available commands are:
add Add a raster column to a business table.
drop Drop a raster layer or business table.
truncate Truncate a raster layer.
alter Modify a raster layer.
describe Describe one or all raster layers.
list Describe one or all rasters in a raster layer.
insert Insert raster data into an existing business table.
delete Delete raster data from a business table.
update Update raster data in a business table.
mosaic Perform piece-wise update on raster data.
pyramid Update image pyramid.
stats Calculate image statistics & histogram.
colormap Update image colormap.
import Import raster data.
export Export raster data.
copy Copy raster data.
For help on individual command, specify -H followed by command name.
C:/Users/esri>sderaster -o describe -t single -u test -p test
Connecting to server lish, default instance, as user test
ArcSDE 9.3.1 for Oracle11g Build 1632 Thu Feb 26 12:05:37 2009
----------------------------------------------------------------
Raster Layer Description ....: Raster Column
Table Name ..................: TEST.SINGLE
Raster Column ...............: RASTER
Raster Layer ID .............: 2
Minimum Raster ID ...........: 1
Creation Date ...............: Thu Jun 24 10:37:09 2010
User Privileges .............: SELECT, INSERT, DELETE, UPDATE
Raster Layer Configuration ..: DEFAULTS
Storage Type ................: BLOB
Coordinate System ...........: 31494
Complete...
该命令可以动态建立RasterDataset,也可以建立RasterCatalog
C:/Documents and Settings/Administrator>sderaster -o import
ArcSDE 9.3.1
Raster Utility
----------------------------------------------------------------
Usage: sderaster -o import -l [options]
| ...
The command specific options are:
[-g] [-N]
[-Align]
[-log=]
[-interleave={separate | contiguous}
[-rasterbufsize=]
[-c {lz77 | jpeg | jp2}]
[-q { | bitrate=}]
[-C {rgb | grayscale}]
[-R : | -a ]
[-n ]
[-M
[-G { | file=}]
[-O { | file=}]
[-k ]
[-type={default | blob | georaster}]
[-P ]
[-L [,skipLevel1]]
[-I {nearest | bilinear | bicubic}]
[-t ]
The common connection options are:
[-i | ]
[-s ]
[-D ]
[-u ]
[-p ]
Database raster is specified as "-l ..."
-g Specifies the data as geodatabase raster dataset.
-N Ignores colormap in data source.
-Align Performs extent snapping.
-c Enables data compression.
-q Compression quality 0..255 (0..100 for JPEG) or bitrate for JP2.
-C Specifies the color model to convert to.
-R Removes border pixels in a rotated image.
-a Sets NoData pixels with either or value.
-O Specifies virtual image origin in world coordinates.
-type Specifies raster storage type.
Incomplete...
C:/Documents and Settings/Administrator>sderaster -o import -f c:/raster/470-190
.tif -l test.RD,image -g -N -L 0 -G file=c:/raster/1.prj -u test -p test
------------------------------------解析---------------------------------------------------
sderaster -o import
-f c:/raster/470-190.tif ----------------导入的影像路径
-l test.RD,image ---------------------建立的RasterDataset名称和image字段
-g --------------------参考上面,表明建立的是一个RD
-N ----------------不加载源文件的色彩
-L 0 ---------------不建立金字塔
-G file=c:/raster/1.prj ------------投影文件(如果不加载该文件,镶嵌时会提示)
-u test -p test
如果不添加-g字段,在ArcCatalog看到的会是一个普通的表,选择该表,右键选择注册为Register With Geodatabase即可。
如果已经存在一个RasterDataset,然后进行Load数据,这种就叫镶嵌(前面有所介绍)
C:/Documents and Settings/Administrator>sderaster -o mosaic -f C:/470-195.tif -l
test.RD,image -v 1 -N -L 0 -u test -p test
该参数比import参数简单,不再赘述
Connecting to server linghe, default instance, as user test
ArcSDE 9.3.1 for Oracle10g Build 1632 Thu Feb 26 12:05:37 2009
----------------------------------------------------------------
如果Import时不考虑影像参考的参数,就会提示如下错误
Error: This operation requires a coordinate system.
Incomplete...
C:/Documents and Settings/Administrator>sderaster -o import -f c:/raster/470-190
.tif -l test.RC,image -g -N -L 0 -u test -p test
------------------------------------解析----------------------------------------
sderaster -o import
-f c:/raster/470-190.tif
-l test.RC,image
-n mg ---------------------------------------自定义名称
-N -L 0 -u test -p test
生成普通表,需要右键注册
如果已经存在一个RasterCatalog,然后进行Load数据,这种就叫插入,这里就不再说明了。
在两者入库选择上,对入库效率而言,差别不是很明显。
===========================说明===============================
//直接在ArcCatalog建立RasterDataset,默认设置为建立金字塔打勾,加载一个Raster就建立一下金字塔。
Executing: Mosaic C:/raster/470-190.tif "Database Connections/Connection to linghe.sde/TEST.RRD" LAST FIRST # # NONE 0 "Database Connections/Connection to linghe.sde/TEST.RRD" NONE
Start Time: Tue Jul 13 14:14:49 2010
C:/raster/470-190.tif is loading...
Executed (Mosaic) successfully.
End Time: Tue Jul 13 14:17:32 2010 (Elapsed Time: 2 minutes 43 seconds)
==============================================================
==============================================================
Executing: Mosaic C:/raster/470-195.tif "Database Connections/Connection to linghe.sde/TEST.RRD" LAST FIRST # # NONE 0 "Database Connections/Connection to linghe.sde/TEST.RRD" NONE
Start Time: Tue Jul 13 14:28:01 2010
C:/raster/470-195.tif is loading...
Executed (Mosaic) successfully.
End Time: Tue Jul 13 14:30:33 2010 (Elapsed Time: 2 minutes 32 seconds)
C:/Documents and Settings/Administrator>sderaster -o import -f c:/raster/470-190
.tif -l test.RD,image -g -N -L 0 -G file=c:/raster/1.prj -u test -p test
c:/raster/470-190.tif:
incorrect count for field "MinSampleValue" (1, expecting 3); tag ignored
incorrect count for field "MaxSampleValue" (1, expecting 3); tag ignored
Connecting to server linghe, default instance, as user test
ArcSDE 9.3.1 for Oracle10g Build 1632 Thu Feb 26 12:05:37 2009
----------------------------------------------------------------
Creating user table: test.RD
Creating raster layer: test.RD.image
Image Dimension..............: 5000, 5000, 3
Pixel Type...................: uchar
Image Extent.................:
minx : 519000.00000000000000
miny : 3847000.10000000010000
maxx : 519499.90000000002000
maxy : 3847500.00000000000000
Cell Size....................:
x : 0.10000000000000
y : 0.09999999999998
Start : Tue Jul 13 14:46:53 2010
Time : 00:01:54
Raster ID : 1
Total Time: 00:01:54
1 raster(s).
Complete...
==============================================================
==============================================================
C:/Documents and Settings/Administrator> sderaster -o mosaic -f C:/raster/470-19
5.tif -l test.RD,image -v 1 -N -L 0 -u test -p test
Connecting to server linghe, default instance, as user test
ArcSDE 9.3.1 for Oracle10g Build 1632 Thu Feb 26 12:05:37 2009
----------------------------------------------------------------
C:/raster/470-195.tif:
incorrect count for field "MinSampleValue" (1, expecting 3); tag ignored
incorrect count for field "MaxSampleValue" (1, expecting 3); tag ignored
Image Dimension..............: 5000, 5000, 3
Pixel Type...................: uchar
Image Extent.................:
minx : 519500.00000000000000
miny : 3847000.10000000010000
maxx : 519999.90000000002000
maxy : 3847500.00000000000000
Cell Size....................:
x : 0.10000000000000
y : 0.09999999999998
Start : Tue Jul 13 14:55:16 2010
Time : 00:02:30
Raster ID : 1
Total Time: 00:02:30
1 raster(s) mosaicked.
Complete...
总结:根据上面比较,可以看到如果把ArcCatalog导入时建立金字塔的时间除去,两者的入库效率基本一致。但是ArcCatalog以其图形界面化、参数明了,适合广大用户。SDE命令行对操作人员是否完全掌握命令参数的要求比较高,但是它可以跨平台使用,管理金字塔、色彩比较灵活,也受到用户的欢迎。
综上所述:建议使用ArcCatalog进行数据入库。