ArcGIS影像数据库的建⽴与⼊库
本⽂帮你解决以下疑问:影像数据是以怎样的⽅式保存在SDE等数据库中的,影像数据如何⼊库。
空间数据库技术
空间数据库技术⽤关系数据库管理系统(RDBMS)来管理空间数据,主要解决存储在关系数据库中的空间数据与应⽤程序之间的数据接⼝问题,即空间数据库引擎( Spatial Databa Engine)。更确切地说,空间数据库技术是解决空间数据对象中⼏何属性在关系数据库中的存取问题,其主要任务是:
1)⽤关系数据库存储管理空间数据;
2)从数据库中读取空间数据,并转换为GIS应⽤程序能够接收和使⽤的格式;
3)将GIS应⽤程序中的空间数据导⼊数据库,交给关系数据库管理。因此空间数据库技术是空间数据进出关系数据库的通道。
建库⽬的
建⽴影像数据库的⽬的是将分幅分层⽣产的海量影像数据进⾏整理,使之符合统⼀的规范和标准;并对
数据进⾏有效组织、管理,便于空间数据的查询、分发及其它应⽤。建库之后的数据是标准化、规范化的,采⽤统⼀的编码和统⼀的格式;数据是有效组织的,在平⾯⽅向,分幅的数据要组织成逻辑上⽆缝的⼀个整体,在垂直⽅向,各种数据通过⼀致的空间坐标定位能够相互叠加和套合;具有⾼效的空间数据查询、调度、漫游以及数据分发等功能,并且能够与其它系统⽆缝集成,为其它应⽤服务。从应⽤的⾓度讲,建⽴影像库的总体⽬标是能够管理多⽐例尺、多分辨率、多数据源的正射影像数据,能够作到在局域⽹或⼴域⽹上由全貌到细节、由整体到局部、由低分辨率到⾼分辨率快速、⽆缝的进⾏影像漫游、浏览和应⽤,⽀持图像数据集中式和分布式(局域⽹范围内分布式的存贮)的存贮与管理,为海量数据的应⽤提供⼀个⾼效的⽆缝平台。
建库原理
简⽽⾔之就是"两种⽅式,分层分块"。"两种⽅式"是指:栅格数据集(RasterDatt)和栅格⽬录(Raster Catalog)。它的存储和管理⽅式,这就是"分层分块"。在Personal Geodataba中,栅格数据可以作为栅格⽬录表(Raster Catalog)或栅格数据集(Raster Datat)来存储。栅格数据集表现为连续的单幅数据。⽽栅格⽬录表是多个栅格的集合。每种存储⽅式都有各⾃的优势和局限性,但也有⼀些规则是两种⽅式都要遵守的。
栅格⽬录表和栅格数据集都可以先创建成⼀个空的容器,然后再向其中加载数据,或者可以动态创建。
参差不齐的近义词
创建和加载栅格⽬录表或栅格数据集可以⽤ArcToolbox中的数据管理⼯具。这些⼯具可以在ArcCatalog的⽤户界⾯中找到。
栅格数据集
简单的说,"栅格数据集"就是ArcGIS对栅格数据模型的抽象,其英⽂为RasterDatat,任何⼀种物理栅格⽂件(如Erdas Imagine⽂件、ArcGIS Ascii Grid⽂件,Tiff⽂件等)经过ArcGIS的栅格数据模型抽象在内存中都是以RasterDatat形式存在的,RasterDatt⼀般由⾄少⼀个波段的RasterBand组成,如简单的灰度图像就是由⼀个波段的数据组成,普通的彩⾊合成影像就由三个或者三个以上波段组成,其中多光谱由多个通道(我们⼜把RasterBand称为通道)。由于计算机显⽰器⼀般提供三个通道的显⽰信道,分别为R(红)、G(绿)、邵阳学院分数线
B(蓝),因此即使我们⼿头有⼀个多波段的影像数据,我们也只能同时显⽰其三个波段数据,如对于TM影像的5、4、3波段分别⽤红、绿、蓝进⾏显⽰。我们也可以这么理解栅格数据模型, RasterDatt由多个波段组成,我们把波段理解为"层"的概念,那么这样每个RasterDatt就是由多个"层"叠加组合⽽成,每个层⼜是由具有⾏列属性的⼆维数组组成,为了将内部实现抽象起来,ArcGIS利⽤RasterBand类包装了这个⼆维数组,并且其提供了各种⽅法操作其内部⼆维数组。
栅格数据集⽐较适合带有标准坐标系的航⽚或卫⽚,当以这种⽅式导⼊影像⽂件的时候,SDE会将它
们拼接(mosaic)成⼀张完整的⼤地图,但这种⽅式对各个图幅的要求就⾮常严格,要实现拼接必须满⾜⼏个条件:相邻图幅的相邻边不能有⼀丁点重叠错位;图幅必须带坐标系等等。但这种把图幅全拼起来的管理⽅式也有问题,就是如果将来要更新其中的某⼀⼩块区域的图像怎么办呢?⽐如纽约的影像图,世贸⼤厦被撞没了,其实只需要更新⼀下曼哈顿那⼀点地⽅的数据就可以了,可要是以Raster Map⽅式管理全纽约的影像地图的话那么就意味着要全部删掉原来的数据,再重新导⼊⼀遍全城的航⽚,⼏⼗个G,不是⼩数⽬,如果是1:10000的话估计纽约的影像数据量应该在300个G左右,怎么也得导⼏天才能导完吧。
栅格⽬录
小康生活"栅格⽬录"可以简单的理解为⼀种普通表格数据模型,其英⽂为RasterCatalog,"栅格⽬录"中的每条记录就是由"栅格数据集"和描述该"栅格数据集"的多种元数据信息组成。通过这种定义我们可以看出对于构建⼀个基础数据库,利⽤"栅格⽬录"管理分幅影像数据具有很⼤的优势,因为分幅影像数据经常具有很多元数据属性。"栅格⽬录"管理也为我们开发基础数据系统提供了很⽅便的⼊⼝。
栅格⽬录说⽩了就是个相册。可以把任何东西的照⽚都存进去,SDE只管存储和为它们维护⼀个⽬录,这⼀点可以从观察Raster Catalog 对应的Oracle Spatial表看出来,感觉就像⼀个被肢解了的图⽚的集中营。如果⽤ESRI的桌⾯⼯具(⽐如ArcMap,ArcCatalog)来预览这个Raster Catalog的时候,
你将看到⼀张经过拼接的美图!使⽤这种⽅式管理航⽚就没有前⾯Raster Map⽅式最后说的那种问题,⽐如世贸⼤厦没了,那么我们就重新在那⾥拍⼀张,再更新原来Raster Catalog中对应的那⼀个图幅就可以了,其它的则没必要去动。
"栅格数据集"与"栅格⽬录"
总之,对于"栅格数据集"和"栅格⽬录"其实就是ArcGIS 对于栅格数据抽象的⼀种内存模型,"栅格数据集"作为Geodataba核⼼数据模型在基础库中⼀般存储地理背景数据,其要求是数据不经常变化(如经常更新背景数据就不适合利⽤RasterDatat进⾏存储);"栅格⽬录"⼀般⽤于管理具有属性信息的影像数据,如分幅数据或者同⼀地区多期数据,需要注意的是,同⼀个"栅格⽬录"必须具有相同的空间参考。
当创建栅格⽬录表时,必须设置XY域(所有输⼊栅格的空间范围的集合),⽽栅格数据集则不需要。和ArcGIS中所有其它数据集⼀样,我们强烈建议,要导⼊⽬录表或数据集的栅格数据⼀定要预先定义空间参考,地理坐标系统或投影坐标系统。⽽这种坐标系统不必要⼀定和⽬录表或数据集的坐标系统⼀致。
栅格数据集有⼀个空间参考,在拼接(Mosaic)的过程中,不同坐标系统中的像元会被动态投影到正确的位置上。⽽在栅格⽬录表中,每个栅格都会有⾃⼰的空间参考,它们和⼏何空间参考以及栅格列
的空间参考都不⼀样,这些栅格只是在进⾏显⽰或分析的时候才会被动态投影。
新建栅格⽬录与栅格数据集。
影像⾦字塔
"分层"是指:影像⾦字塔(pyramid)索引。其基本思想就是利⽤采样⾃底向上⽣成⾦字塔,根据需求直接取其中某⼀级作为操作对象,以提⾼整体效率。当然就像这个世界中的其它事物⼀样,效率的提⾼是有代价的,这就是建塔带来的额外空间开销,建的级越多,越⽅便查询,当然数据冗余也越⼤。
如果为⼤的栅格影像建⽴了⾦字塔的话,这些影像便能快速进⾏显⽰。除了在屏幕上显⽰外,⾦字塔还包含了很多其他信息。如果没有⾦字塔,那么在显⽰时就要访问整理栅格数据集,然后进⾏⼤量计算来选择哪些栅格像元被显⽰。⾦字塔是⼀种能对栅格影像按逐级降低分辨率的拷贝⽅式存储的⽅法。通过选择⼀个与显⽰区域相似的分辨率,只需进⾏少量的查询和少量的计算,从⽽减少显⽰时间。
每次⽤ArcGIS打开⼀幅影像的时候,都会在状态栏中看到Creating pyramids,这时就是在构建影像的⾦⼦塔。现在的google
map,visual earth,mapbar这些portal应⽤都采⽤的是把地图预先处理成影象⾦字塔,切块后做四叉
树编码。在进⾏zoom,pan操作的时候动态调⽤那些maptile。这种架构省略掉了制图引擎这些对服务器性能消耗⼤的环节。
每⼀层影像⾦字塔都有其分辨率的,那么根据你当前操作,⽐如说放⼤(⽆论是拉框放⼤、还是固定⽐例放⼤)、缩⼩、漫游(此操作不涉及到影像分辨率的改变)计算出进⾏该操作后所需的影像分辨率及在当前视图范围内会显⽰的地理坐标范围,然后根据这个分辨率去和已经建好的影像⾦字塔分辨率匹配,哪层影像⾦字塔的分辨率最接近就⽤哪层的图像来显⽰,并且根据操作后当前视图应该显⽰的范围,来求取在该层影像⾦字塔上,应该对应取哪⼏块,然后取出来画上去就可以了。
按图块(block/tile)存储
"分块"是指每个图幅是按图块(block/tile)存储的,并使⽤格⽹索引。在将图幅存储于数据库中时,SDE不是傻乎乎的⼀⾏⼀⾏的存进去,⽽是将图幅划分成若⼲个⼤⼩相同的图块,每块⼤⼩不能超过16K,⼀般就取128×128。划分的顺序是从上到下,从左⾄右的,分块的好处在于可以减少磁盘I/O。但是哪有那么好的图幅,长宽都是128的整数倍?⽽事实上就⼏乎没有这么好的图幅,图幅的长和宽都除不开128的情况先,SDE的策略就是--补零。在图幅的右侧和下侧补上若⼲零元(RGB:000000),也就是⿊点,这样处理过的图幅就可以进⾏划分了。
建库过程
当所有软硬件都准备齐全后(这⾥包括在ArcSDE软件的安装过程中已经创建好了SDE数据库⽂件)就可以建⽴影像数据库了。在企业级数据库中,栅格数据的存储结构包括分块、索引、建⽴影像⾦字塔,并且常常经过压缩处理。正是因为数据具有分块、索引以及⾦字塔结构等属性,每次对栅格数据进⾏查询时,只有满⾜查询范围和精度的数据块才会返回,⽽不是每次都返回整个数据集。压缩可以降低客户和服务器间的数据交换量,使存储⼤的⽆缝栅格数据集以及达到⼏个TB的栅格⽬录并使他们能够在客户端快速显⽰成为可能。
(1)数据准备
由于影像数据库对⼊库原始数据的要求⽐较严格,这也是保证影像数据库完整性的⼀部分,因此在⼊库之前应将原始影像整理放置,同时确保每个原始影像⽂件配有唯⼀⼀个正确的坐标⽂件存放在相同⽬录中,统计⼀下数据量以备后⽤。
(2)压缩⽅式
由于影像数据量巨⼤,为了减少存贮空间,提⾼显⽰效率, 在栅格数据存⼊地理数据库之前对其块的⼤⼩进⾏压缩。使⽤的压缩⽅式可以是有损的(JPEG和JPEG2000)或⽆损的(LZ77)。⽆损压缩意味着栅格数据集中像元的值不会被改变。压缩的量取决于像元数据的类型;影像越⼀致,压缩的⽐例越⾼。
与思乡有关的诗句
对数据进⾏压缩最主要的好处是可以节省存储空间。另⼀个好处是从总体上提供了性能,因为降低了服务器和客户应⽤间交换的数据包。
因为以下原因,可以选择有损压缩:
1. 如果栅格数据只是⽤作背景图像,⽽且⽆需对其进⾏分析。
2. 数据加载和检索快捷
3. 所需的存储空间⼩,因为压缩⽐例可以达到5:1或10:1(若选择JPEG2000可以获得更多的压缩⽐例,如10:1或20:1)
因为以下原因,可以选择⽆损压缩
1. 栅格数据集是⽤来获取新的数据或⽤于视觉分析
2. 需要的压缩⽐例在1:1和1:3之间
3. 不打算保留原始数据
三味书屋是哪三味4. 输⼊的数据已经被有损压缩过
即使不对栅格数据进⾏压缩,企业级地理数据库的存储能⼒也可以满⾜要求,但是,还是推荐进⾏栅格数据压缩。如果⽆法确定使⽤何种压缩⽅法,那就⽤默认的LZ77(⽆损压缩)。
(3)数据⼊库
ArcSDE 管理影像⽅式主要有连续的栅格数据集和栅格⽬录两种。栅格⽬录具有每个栅格都是独⽴的,利于更新和数据库维护;可查询访问单个数据集,可以根据⽤户定义的属性在表中加⼊⽤户定义字段。因此,采⽤栅格⽬录Raster Catalog这种⽅式存储影像数据。
童话人物有哪些具体步骤如下:
1.成功连接数据库服务器后(连接过程前⾯有详细介绍),新建栅格⽬录。右键"new"--"Raster Catalog"。
2..在栅格⽬录中导⼊数据。右键"栅格⽬录"--"load"--"load data",导⼊栅格数据。
(4)建⾦字塔
经过较长时间的⼤量数据⼊库后,利⽤ArcCatalog⼯具连接好数据库后选中影像数据库项,点击⿏标右键,选择"Build Pyramids"项后,系统就开始创建影像⾦字塔了。创建完⾦字塔后影像数据库就基本
建⽴完成了,为了配合影像使⽤可以再向数据库中导⼊⽮量数据,这样才能够形成具有真正意义的影像数据库。
七夕祝语创建⾦字塔时,⼀个降低分辨率的数据集(.rrd)⽂件将被创建。对于⼀个未经过压缩的栅格数据集,它产⽣的(.rrd)⽂件的⼤⼩近似于源栅格数据集的8%。⽤户不能为栅格⽬录创建⾦字塔,但可以对其中的每个栅格据集创建⾦字塔。
在 ArcCatalog 中创建⾦字塔(索引)
1.在Catalog树中右击栅格数据集。
2.单击Build Pyramids按钮。
3.如果还没有选中,则指向⽤户要创建⾦字塔的栅格数据集。
4.单击Ok。
为创建⾦字塔改变缺省设置
1. 单击Tools菜单,并单击 Options。
2. 单击Raster选项卡。
3..单击描述创建⾦字塔时的合适选项.
>拼音书