《arcgis图形数据库建立与数据入库》由会员分享,可在线阅读,更多相关《arcgis图形数据库建立与数据入库(6页珍藏版)》请在金锄头文库上搜索。
1、ArcGIS影像数据库的建立与入库 http:/ SDE等数据库中的,影像数据如何入库。 空间数据库技术空间数据库技术用关系数据库管理系统(RDBMS)来管理空间数据,主要解决存储在关系数据库中的空间数据与应用程序之间的数据接口问题,即空间数据库引擎( Spatial Database Engine)。更确切地说,空间数据库技术是解决空间数据对象中几何属性在关系数据库中的存取问题,其主要任务是:1)用关系数据库存储管理空间数据;2)从数据库中读取空间数据,并转换为 GIS应用程序能够接收和使用的格式;3)将 GIS应用程序中的空间数据导入数据库,交给关系数据库管理。因此空间数据库技术是空间数据
2、进出关系数据库的通道。 建库目的建立影像数据库的目的是将分幅分层生产的海量影像数据进行整理,使之符合统一的规范和标准;并对数据进行有效组织、管理,便于空间数据的查询、分发及其它应用。建库之后的数据是标准化、规范化的,采用统一的编码和统一的格式;数据是有效组织的,在平面方向,分幅的数据要组织成逻辑上无缝的一个整体,在垂直方向,各种数据通过一致的空间坐标定位能够相互叠加和套合;具有高效的空间数据查询、调度、漫游以及数据分发等功能,并且能够与其它系统无缝集成,为其它应用服务。从应用的角度讲,建立影像库的总体目标是能够管理多比例尺、多分辨率、多数据源的正射影像数据,能够作到在局域网或广域网上由全貌到细
3、节、由整体到局部、由低分辨率到高分辨率快速、无缝的进行影像漫游、浏览和应用,支持图像数据集中式和分布式(局域网范围内分布式的存贮)的存贮与管理,为海量数据的应用提供一个高效的无缝平台。 建库原理简而言之就是两种方式,分层分块。两种方式是指:栅格数据集(RasterDatset)和栅格目录(Raster Catalog)。它的存储和管理方式,这就是分层分块。在 Personal Geodatabase中,栅格数据可以作为栅格目录表(Raster Catalog)或栅格数据集(Raster Dataset)来存储。栅格数据集表现为连续的单幅数据。而栅格目录表是多个栅格的集合。每种存储方式都有各自的
4、优势和局限性,但也有一些规则是两种方式都要遵守的。栅格目录表和栅格数据集都可以先创建成一个空的容器,然后再向其中加载数据,或者可以动态创建。创建和加载栅格目录表或栅格数据集可以用ArcToolbox中的数据管理工具。这些工具可以在 ArcCatalog的用户界面中找到。 栅格数据集简单的说,栅格数据集就是 ArcGIS对栅格数据模型的抽象,其英文为RasterDataset,任何一种物理栅格文件(如 Erdas Imagine文件、ArcGIS Ascii Grid文件,Tiff 文件等)经过 ArcGIS的栅格数据模型抽象在内存中都是以 RasterDataset形式存在的,RasterDa
5、tset 一般由至少一个波段的RasterBand组成,如简单的灰度图像就是由一个波段的数据组成,普通的彩色合成影像就由三个或者三个以上波段组成,其中多光谱由多个通道(我们又把RasterBand称为通道)。由于计算机显示器一般提供三个通道的显示信道,分别为 R(红)、G(绿)、B(蓝),因此即使我们手头有一个多波段的影像数据,我们也只能同时显示其三个波段数据,如对于 TM影像的 5、4、3 波段分别用红、绿、蓝进行显示。我们也可以这么理解栅格数据模型, RasterDatset 由多个波段组成,我们把波段理解为层的概念,那么这样每个 RasterDatset就是由多个层叠加组合而成,每个层又
6、是由具有行列属性的二维数组组成,为了将内部实现抽象起来,ArcGIS 利用 RasterBand类包装了这个二维数组,并且其提供了各种方法操作其内部二维数组。栅格数据集比较适合带有标准坐标系的航片或卫片,当以这种方式导入影像文件的时候,SDE 会将它们拼接(mosaic)成一张完整的大地图,但这种方式对各个图幅的要求就非常严格,要实现拼接必须满足几个条件:相邻图幅的相邻边不能有一丁点重叠错位;图幅必须带坐标系等等。但这种把图幅全拼起来的管理方式也有问题,就是如果将来要更新其中的某一小块区域的图像怎么办呢?比如纽约的影像图,世贸大厦被撞没了,其实只需要更新一下曼哈顿那一点地方的数据就可以了,可要
7、是以 Raster Map方式管理全纽约的影像地图的话那么就意味着要全部删掉原来的数据,再重新导入一遍全城的航片,几十个 G,不是小数目,如果是 1:10000的话估计纽约的影像数据量应该在 300个 G左右,怎么也得导几天才能导完吧。 栅格目录栅格目录可以简单的理解为一种普通表格数据模型,其英文为RasterCatalog,栅格目录中的每条记录就是由栅格数据集和描述该栅格数据集的多种元数据信息组成。通过这种定义我们可以看出对于构建一个基础数据库,利用栅格目录管理分幅影像数据具有很大的优势,因为分幅影像数据经常具有很多元数据属性。栅格目录管理也为我们开发基础数据系统提供了很方便的入口。栅格目录
8、说白了就是个相册。可以把任何东西的照片都存进去,SDE 只管存储和为它们维护一个目录,这一点可以从观察 Raster Catalog对应的 Oracle Spatial表看出来,感觉就像一个被肢解了的图片的集中营。如果用 ESRI的桌面工具(比如 ArcMap,ArcCatalog)来预览这个 Raster Catalog的时候,你将看到一张经过拼接的美图!使用这种方式管理航片就没有前面 Raster Map方式最后说的那种问题,比如世贸大厦没了,那么我们就重新在那里拍一张,再更新原来 Raster Catalog中对应的那一个图幅就可以了,其它的则没必要去动。 栅格数据集与栅格目录总之,对于
9、栅格数据集和栅格目录其实就是 ArcGIS 对于栅格数据抽象的一种内存模型,栅格数据集作为 Geodatabase核心数据模型在基础库中一般存储地理背景数据,其要求是数据不经常变化(如经常更新背景数据就不适合利用 RasterDataset进行存储);栅格目录一般用于管理具有属性信息的影像数据,如分幅数据或者同一地区多期数据,需要注意的是,同一个栅格目录必须具有相同的空间参考。当创建栅格目录表时,必须设置 XY域(所有输入栅格的空间范围的集合),而栅格数据集则不需要。和 ArcGIS中所有其它数据集一样,我们强烈建议,要导入目录表或数据集的栅格数据一定要预先定义空间参考,地理坐标系统或投影坐标
10、系统。而这种坐标系统不必要一定和目录表或数据集的坐标系统一致。栅格数据集有一个空间参考,在拼接(Mosaic)的过程中,不同坐标系统中的像元会被动态投影到正确的位置上。而在栅格目录表中,每个栅格都会有自己的空间参考,它们和几何空间参考以及栅格列的空间参考都不一样,这些栅格只是在进行显示或分析的时候才会被动态投影。新建栅格目录与栅格数据集。 影像金字塔分层是指:影像金字塔(pyramid)索引。其基本思想就是利用采样自底向上生成金字塔,根据需求直接取其中某一级作为操作对象,以提高整体效率。当然就像这个世界中的其它事物一样,效率的提高是有代价的,这就是建塔带来的额外空间开销,建的级越多,越方便查询
11、,当然数据冗余也越大。如果为大的栅格影像建立了金字塔的话,这些影像便能快速进行显示。除了在屏幕上显示外,金字塔还包含了很多其他信息。如果没有金字塔,那么在显示时就要访问整理栅格数据集,然后进行大量计算来选择哪些栅格像元被显示。金字塔是一种能对栅格影像按逐级降低分辨率的拷贝方式存储的方法。通过选择一个与显示区域相似的分辨率,只需进行少量的查询和少量的计算,从而减少显示时间。每次用 ArcGIS打开一幅影像的时候,都会在状态栏中看到 Creating pyramids,这时就是在构建影像的金子塔。现在的 google map,visual earth,mapbar 这些portal应用都采用的是把
12、地图预先处理成影象金字塔,切块后做四叉树编码。在进行 zoom,pan 操作的时候动态调用那些 maptile。这种架构省略掉了制图引擎这些对服务器性能消耗大的环节。每一层影像金字塔都有其分辨率的,那么根据你当前操作,比如说放大(无论是拉框放大、还是固定比例放大)、缩小、漫游(此操作不涉及到影像分辨率的改变)计算出进行该操作后所需的影像分辨率及在当前视图范围内会显示的地理坐标范围,然后根据这个分辨率去和已经建好的影像金字塔分辨率匹配,哪层影像金字塔的分辨率最接近就用哪层的图像来显示,并且根据操作后当前视图应该显示的范围,来求取在该层影像金字塔上,应该对应取哪几块,然后取出来画上去就可以了。 按
13、图块(block/tile)存储分块是指每个图幅是按图块(block/tile)存储的,并使用格网索引。在将图幅存储于数据库中时,SDE 不是傻乎乎的一行一行的存进去,而是将图幅划分成若干个大小相同的图块,每块大小不能超过 16K,一般就取 128128。划分的顺序是从上到下,从左至右的,分块的好处在于可以减少磁盘 I/O。但是哪有那么好的图幅,长宽都是 128的整数倍?而事实上就几乎没有这么好的图幅,图幅的长和宽都除不开 128的情况先,SDE 的策略就是-补零。在图幅的右侧和下侧补上若干零元(RGB:000000),也就是黑点,这样处理过的图幅就可以进行划分了。 建库过程当所有软硬件都准备
14、齐全后(这里包括在 ArcSDE软件的安装过程中已经创建好了 SDE数据库文件)就可以建立影像数据库了。在企业级数据库中,栅格数据的存储结构包括分块、索引、建立影像金字塔,并且常常经过压缩处理。正是因为数据具有分块、索引以及金字塔结构等属性,每次对栅格数据进行查询时,只有满足查询范围和精度的数据块才会返回,而不是每次都返回整个数据集。压缩可以降低客户和服务器间的数据交换量,使存储大的无缝栅格数据集以及达到几个 TB的栅格目录并使他们能够在客户端快速显示成为可能。(1)数据准备由于影像数据库对入库原始数据的要求比较严格,这也是保证影像数据库完整性的一部分,因此在入库之前应将原始影像整理放置,同时
15、确保每个原始影像文件配有唯一一个正确的坐标文件存放在相同目录中,统计一下数据量以备后用。(2)压缩方式由于影像数据量巨大,为了减少存贮空间,提高显示效率, 在栅格数据存入地理数据库之前对其块的大小进行压缩。使用的压缩方式可以是有损的(JPEG 和JPEG2000)或无损的(LZ77)。无损压缩意味着栅格数据集中像元的值不会被改变。压缩的量取决于像元数据的类型;影像越一致,压缩的比例越高。对数据进行压缩最主要的好处是可以节省存储空间。另一个好处是从总体上提供了性能,因为降低了服务器和客户应用间交换的数据包。因为以下原因,可以选择有损压缩:1. 如果栅格数据只是用作背景图像,而且无需对其进行分析。
16、 2. 数据加载和检索快捷 3. 所需的存储空间小,因为压缩比例可以达到 5:1或 10:1(若选择JPEG2000可以获得更多的压缩比例,如 10:1或 20:1) 因为以下原因,可以选择无损压缩1. 栅格数据集是用来获取新的数据或用于视觉分析 2. 需要的压缩比例在 1:1和 1:3之间 3. 不打算保留原始数据 4. 输入的数据已经被有损压缩过 即使不对栅格数据进行压缩,企业级地理数据库的存储能力也可以满足要求,但是,还是推荐进行栅格数据压缩。如果无法确定使用何种压缩方法,那就用默认的 LZ77(无损压缩)。(3)数据入库 ArcSDE 管理影像方式主要有连续的栅格数据集和栅格目录两种。栅格目录具有每个栅格都是独立的,利于更新和数据库维护;可查询访问单个数据集,可以根据用户定义的属性在表中加入用