ArcGIS图形数据库建立与数据入库
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ArcGIS影像数据库的建立与入库
/rommayer/article/details/6100941
本文帮你解决以下疑问:影像数据是以怎样的方式保存在SDE等数据库中的,影像数据如何入库。
•空间数据库技术
空间数据库技术用关系数据库管理系统(RDBMS)来管理空间数据,主要解决存储在关系数据库中的空间数据与应用程序之间的数据接口问题,即空间数据库引擎( Spatial Database Engine)。更确切地说,空间数据库技术是解决空间数据对象中几何属性在关系数据库中的存取问题,其主要任务是:
1)用关系数据库存储管理空间数据;
2)从数据库中读取空间数据,并转换为GIS应用程序能够接收和使用的格式;
3)将GIS应用程序中的空间数据导入数据库,交给关系数据库管理。因此空间数据库技术是空间数据进出关系数据库的通道。
•建库目的
建立影像数据库的目的是将分幅分层生产的海量影像数据进行整理,使之符合统一的规范和标准;并对数据进行有效组织、管理,便于空间数据的查询、分发及其它应用。建库之后的数据是标准化、规范化的,采用统一的编码和统一的格式;数据是有效组织的,在平面方向,分幅的数据要组织成逻辑上无缝的一个整体,在垂直方向,各种数据通过一致的空间坐标定位能够相互叠加和套合;具有高效的空间数据查询、调度、漫游以及数据分发等功能,并且能够与其它系统无缝集成,为其它应用服务。从应用的角度讲,建立影像库的总体目标是能够管理多比例尺、多分辨率、多数据源的正射影像数据,能够作到在局域网或广域网上由全貌到细节、由整体到局部、由低分辨率到高分辨率快速、无缝的进行影像漫游、浏览和应用,支持图像数据集中式和分布式(局域网范围内分布式的存贮)的存贮与管理,为海量数据的应用提供一个高效的无缝平台。
•建库原理
简而言之就是"两种方式,分层分块"。"两种方式"是指:栅格数据集(RasterDatset)和栅格目录(Raster Catalog)。它的存储和管理方式,这就是"分层分块"。在Personal Geodatabase中,栅格数据可以作为栅格目录表(Raster Catalog)或栅格数据集(Raster Dataset)来存储。栅格数据集表现为连续的单幅数据。而栅格目录表是多个栅格的集合。每种存储方式都有各自的优势和局限性,但也有一些规则是两种方式都要遵守的。
栅格目录表和栅格数据集都可以先创建成一个空的容器,然后再向其中加载数据,或者可以动态创建。创建和加载栅格目录表或栅格数据集可以用ArcToolbox中的数据管理工具。这些工具可以在ArcCatalog的用户界面中找到。
•栅格数据集
简单的说,"栅格数据集"就是ArcGIS对栅格数据模型的抽象,其英文为RasterDataset,任何一种物理栅格文件(如Erdas Imagine文件、ArcGIS Ascii Grid文件,Tiff文件等)经过ArcGIS的栅格数据模型抽象在内存中都是以RasterDataset形式存在的,RasterDatset一般由至少一个波段的RasterBand
组成,如简单的灰度图像就是由一个波段的数据组成,普通的彩色合成影像就由三个或者三个以上波段组成,其中多光谱由多个通道(我们又把RasterBand称为通道)。由于计算机显示器一般提供三个通道的显示信道,分别为R(红)、G(绿)、B(蓝),因此即使我们手头有一个多波段的影像数据,我们也只能同时显示其三个波段数据,如对于TM影像的5、4、3波段分别用红、绿、蓝进行显示。我们也可以这么理解栅格数据模型, RasterDatset由多个波段组成,我们把波段理解为"层"的概念,那么这样每个RasterDatset就是由多个"层"叠加组合而成,每个层又是由具有行列属性的二维数组组成,为了将内部实现抽象起来,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 对于栅格数据抽象的一种内存模型,"栅格数据集"作为Geodatabase核心数据模型在基础库中一般存储地理背景数据,其要求是数据不经常变化(如经常更新背景数据就不适合利用RasterDataset进行存储);"栅格目录"一般用于管理具有属性信息的影像数据,如分幅数据或者同一地区多期数据,需要注意的是,同一个"栅格目录"必须具有相同的空间参考。
当创建栅格目录表时,必须设置XY域(所有输入栅格的空间范围的集合),而栅格数据集则不需要。和ArcGIS中所有其它数据集一样,我们强烈建议,要导入目录表或数据集的栅格数据一定要预先定义空间参考,地理坐标系统或投影坐标系统。而这种坐标系统不必要一定和目录表或数据集的坐标系统一致。
栅格数据集有一个空间参考,在拼接(Mosaic)的过程中,不同坐标系统中的像元会被动态投影到正确的位置上。而在栅格目录表中,每个栅格都会有自己的空间参考,它们和几何空间参考以及栅格列的空间参考都不一样,这些栅格只是在进行显示或分析的时候才会被动态投影。
新建栅格目录与栅格数据集。
•影像金字塔
"分层"是指:影像金字塔(pyramid)索引。其基本思想就是利用采样自底向上生成金字塔,根据需求直接取其中某一级作为操作对象,以提高整体效率。当然就像这个世界中的其它事物一样,效率的提高是有代价的,这就是建塔带来的额外空间开销,建的级越多,越方便查询,当然数据冗余也越大。
如果为大的栅格影像建立了金字塔的话,这些影像便能快速进行显示。除了在屏幕上显示外,金字塔还包含了很多其他信息。如果没有金字塔,那么在显示时就要访问整理栅格数据集,然后进行大量计算来选择哪些栅格像元被显示。金字塔是一种能对栅格影像按逐级降低分辨率的拷贝方式存储的方法。通过选择一个与显示区域相似的分辨率,只需进行少量的查询和少量的计算,从而减少显示时间。
每次用ArcGIS打开一幅影像的时候,都会在状态栏中看到Creating pyramids,这时就是在构建影像的金子塔。现在的google map,visual earth,mapbar这些portal应用都采用的是把地图预先处理成影象金字塔,切块后做四叉树编码。