arcgis Assetbundlee 数据每一小块tile大小

 

界面功能是产品,不是作业

  当函数不面向界面

  减少参数:把多个参数,封装成对象的属性传值对象。

只调用1次的函数 不要独立

  如果函数被调用次数只有1次那就直接作为代码片段。

清空挂载在DOM元素上的对象、属性

备注:方法属性,对象在DOM中都是 Attribute

本文帮你解决以下疑问:影像数據是以怎样的方式保存在SDE等数据库中的影像数据如何入库。

空间数据库技术用关系数据库管理系统(RDBMS)来管理空间数据,主要解决存储在关系數据库中的空间数据与应用程序之间的数据接口问题,即空间数据库引擎( Spatial Database Engine)更确切地说,空间数据库技术是解决空间数据对象中几何属性在关系数据库中的存取问题,其主要任务是:

1)用关系数据库存储管理空间数据;

2)从数据库中读取空间数据,并转换为GIS应用程序能够接收和使用的格式;

3)将GIS应用程序中的空间数据导入数据库,交给关系数据库管理。因此空间数据库技术是空间数据进出关系数据库的通道


建立影像数据库嘚目的是将分幅分层生产的海量影像数据进行整理,使之符合统一的规范和标准;并对数据进行有效组织、管理便于空间数据的查询、汾发及其它应用。建库之后的数据是标准化、规范化的采用统一的编码和统一的格式;数据是有效组织的,在平面方向分幅的数据要組织成逻辑上无缝的一个整体,在垂直方向各种数据通过一致的空间坐标定位能够相互叠加和套合;具有高效的空间数据查询、调度、漫游以及数据分发等功能,并且能够与其它系统无缝集成为其它应用服务。从应用的角度讲建立影像库的总体目标是能够管理多比例呎、多分辨率、多数据源的正射影像数据,能够作到在局域网或广域网上由全貌到细节、由整体到局部、由低分辨率到高分辨率快速、无縫的进行影像漫游、浏览和应用支持图像数据集中式和分布式(局域网范围内分布式的存贮)的存贮与管理,为海量数据的应用提供一個高效的无缝平台


简而言之就是"两种方式,分层分块""两种方式"是指:栅格数据集(RasterDatset)和栅格目录(Raster Catalog)。它的存储和管理方式这就是"汾层分块"。在Personal Geodatabase中栅格数据可以作为栅格目录表(Raster Catalog)或栅格数据集(Raster Dataset)来存储。栅格数据集表现为连续的单幅数据而栅格目录表是多个栅格嘚集合。每种存储方式都有各自的优势和局限性但也有一些规则是两种方式都要遵守的。

栅格目录表和栅格数据集都可以先创建成一个涳的容器然后再向其中加载数据,或者可以动态创建创建和加载栅格目录表或栅格数据集可以用ArcToolbox中的数据管理工具。这些工具可以在ArcCatalog嘚用户界面中找到

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的桌面工具(比如ArcMapArcCatalog)来预览这个Raster Catalog的时候,你将看到一张经过拼接的美图!使用这种方式管理航片就没有前面Raster Map方式最后说的那种问题比如世贸大厦没了,那么我们就重新在那里拍一张再更新原来Raster Catalog中對应的那一个图幅就可以了,其它的则没必要去动

  • "栅格数据集"与"栅格目录"


总之,对于"栅格数据集"和"栅格目录"其实就是ArcGIS 对于栅格数据抽象嘚一种内存模型"栅格数据集"作为Geodatabase核心数据模型在基础库中一般存储地理背景数据,其要求是数据不经常变化(如经常更新背景数据就不适匼利用RasterDataset进行存储);"栅格目录"一般用于管理具有属性信息的影像数据如分幅数据或者同一地区多期数据,需要注意的是同一个"栅格目录"必须具有相同的空间参考。

当创建栅格目录表时必须设置XY域(所有输入栅格的空间范围的集合),而栅格数据集则不需要和ArcGIS中所有其咜数据集一样,我们强烈建议要导入目录表或数据集的栅格数据一定要预先定义空间参考,地理坐标系统或投影坐标系统而这种坐标系统不必要一定和目录表或数据集的坐标系统一致。

栅格数据集有一个空间参考在拼接(Mosaic)的过程中,不同坐标系统中的像元会被动态投影到正确的位置上而在栅格目录表中,每个栅格都会有自己的空间参考它们和几何空间参考以及栅格列的空间参考都不一样,这些柵格只是在进行显示或分析的时候才会被动态投影

新建栅格目录与栅格数据集。


"分层"是指:影像金字塔(pyramid)索引其基本思想就是利用采样自底向上生成金字塔,根据需求直接取其中某一级作为操作对象以提高整体效率。当然就像这个世界中的其它事物一样效率的提高是有代价的,这就是建塔带来的额外空间开销建的级越多,越方便查询当然数据冗余也越大。

如果为大的栅格影像建立了金字塔的話这些影像便能快速进行显示。除了在屏幕上显示外金字塔还包含了很多其他信息。如果没有金字塔那么在显示时就要访问整理栅格数据集,然后进行大量计算来选择哪些栅格像元被显示金字塔是一种能对栅格影像按逐级降低分辨率的拷贝方式存储的方法。通过选擇一个与显示区域相似的分辨率只需进行少量的查询和少量的计算,从而减少显示时间

每次用ArcGIS打开一幅影像的时候,都会在状态栏中看到Creating pyramids,这时就是在构建影像的金子塔现在的google map,visual earthmapbar这些portal应用都采用的是把地图预先处理成影象金字塔,切块后做四叉树编码在进行zoom,pan操作嘚时候动态调用那些maptile这种架构省略掉了制图引擎这些对服务器性能消耗大的环节。

每一层影像金字塔都有其分辨率的那么根据你当前操作,比如说放大(无论是拉框放大、还是固定比例放大)、缩小、漫游(此操作不涉及到影像分辨率的改变)计算出进行该操作后所需嘚影像分辨率及在当前视图范围内会显示的地理坐标范围然后根据这个分辨率去和已经建好的影像金字塔分辨率匹配,哪层影像金字塔嘚分辨率最接近就用哪层的图像来显示并且根据操作后当前视图应该显示的范围,来求取在该层影像金字塔上应该对应取哪几块,然後取出来画上去就可以了


"分块"是指每个图幅是按图块(block/tile)存储的,并使用格网索引在将图幅存储于数据库中时,SDE不是傻乎乎的一行一荇的存进去而是将图幅划分成若干个大小相同的图块,每块大小不能超过16K一般就取128×128。划分的顺序是从上到下从左至右的,分块的恏处在于可以减少磁盘I/O但是哪有那么好的图幅,长宽都是128的整数倍而事实上就几乎没有这么好的图幅,图幅的长和宽都除不开128的情况先SDE的策略就是--补零。在图幅的右侧和下侧补上若干零元(RGB:000000)也就是黑点,这样处理过的图幅就可以进行划分了


当所有软硬件都准备齊全后(这里包括在ArcSDE软件的安装过程中已经创建好了SDE数据库文件)就可以建立影像数据库了。在企业级数据库中栅格数据的存储结构包括分块、索引、建立影像金字塔,并且常常经过压缩处理正是因为数据具有分块、索引以及金字塔结构等属性,每次对栅格数据进行查詢时只有满足查询范围和精度的数据块才会返回,而不是每次都返回整个数据集压缩可以降低客户和服务器间的数据交换量,使存储夶的无缝栅格数据集以及达到几个TB的栅格目录并使他们能够在客户端快速显示成为可能


由于影像数据库对入库原始数据的要求比较严格,这也是保证影像数据库完整性的一部分因此在入库之前应将原始影像整理放置,同时确保每个原始影像文件配有唯一一个正确的坐标攵件存放在相同目录中统计一下数据量以备后用。


由于影像数据量巨大,为了减少存贮空间,提高显示效率, 在栅格数据存入地理数据库之前對其块的大小进行压缩使用的压缩方式可以是有损的(JPEG和JPEG2000)或无损的(LZ77)。无损压缩意味着栅格数据集中像元的值不会被改变压缩的量取决于像元数据的类型;影像越一致,压缩的比例越高

对数据进行压缩最主要的好处是可以节省存储空间。另一个好处是从总体上提供了性能因为降低了服务器和客户应用间交换的数据包。

因为以下原因可以选择有损压缩:

  1. 如果栅格数据只是用作背景图像,而且无需对其进行分析
  2. 所需的存储空间小,因为压缩比例可以达到5:1或10:1(若选择JPEG2000可以获得更多的压缩比例如10:1或20:1)

因为以下原因,可以选择无损壓缩

  1. 栅格数据集是用来获取新的数据或用于视觉分析
  2. 需要的压缩比例在1:1和1:3之间
  3. 输入的数据已经被有损压缩过

即使不对栅格数据进行压缩企业级地理数据库的存储能力也可以满足要求,但是还是推荐进行栅格数据压缩。如果无法确定使用何种压缩方法那就用默认的LZ77(无損压缩)。

ArcSDE 管理影像方式主要有连续的栅格数据集和栅格目录两种栅格目录具有每个栅格都是独立的,利于更新和数据库维护;可查询访問单个数据集,可以根据用户定义的属性在表中加入用户定义字段因此,采用栅格目录Raster Catalog这种方式存储影像数据

1.成功连接数据库服务器后(连接过程前面有详细介绍),新建栅格目录右键"new"--"Raster Catalog"。

经过较长时间的大量数据入库后利用ArcCatalog工具连接好数据库后选中影像数据库项,点击鼠标右键选择"Build Pyramids"项后,系统就开始创建影像金字塔了创建完金字塔后影像数据库就基本建立完成了,为了配合影像使用可以再向數据库中导入矢量数据这样才能够形成具有真正意义的影像数据库。

创建金字塔时一个降低分辨率的数据集(.rrd)文件将被创建。对于一个未经过压缩的栅格数据集它产生的(.rrd)文件的大小近似于源栅格数据集的8%。用户不能为栅格目录创建金字塔但可以对其中的每个栅格据集創建金字塔。

1.在Catalog树中右击栅格数据集

3.如果还没有选中,则指向用户要创建金字塔的栅格数据集

为创建金字塔改变缺省设置

3..单击描述创建金字塔时的合适选项.

我要回帖

更多关于 bundle 的文章

 

随机推荐