




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
GIS影像数据分块处理方法研究张祖宇(广西第二测绘院) 【摘要】为了解决随着遥感技术的飞速发展产生的海量数据图像,在GIS系统建立后在计算机显示时,查询速度过慢的问题。结合当前计算机软件和硬件的技术对其原因进行了深入分析,并针对影响显示速度的图像漫游和邻域处理等关键问题提出了解决思路和办法。【关键词】GIS 图像显示 海量影像数据一、概 述 随着卫星遥感和航空摄影技术的发展,通过遥感获得的地理信息越来越多,特别是小卫星高分辨率遥感图像的商业化,遥感影像成为地理信息系统一个非常重要的信息源,而他所面临的数据量也越来越大,我们称之为海量数据。例如,美国USGS生产的1:200万数字制图数据库成果更新需制成一张光盘,而美国全国1:10万水系和交通数据,全套则达14张光盘。我国已建成了覆盖全国范围的1:100万基础地理信息数据库的数据量近300MB,1:25万基础地理信息数据库的数据量为8GB,全国七大江河流域的1m分辨率的DOM数据量达308GB,1:5万数字高程数据达150GB以上。与之对应的遥感影像的数据量就更大,如仅福建省的30m*30m分辨率的24位BMP格式的遥感影像就有700MB之多,若为1m*1m分辨率,数据量将是630GB。目前,海量数据的提法在GIS界已被广泛接受。造成海量数据的原因主要有:GIS应用范围的扩大造成数据采集区域的扩大,从而造成GIS数据量的大幅增加;冗余数据的存在;问题研究的动态性使GIS必须获取多时相、多尺度的空间数据;多数据库的连接和耦合使得原本非海量的数据变成海量。对于遥感图象处理系统来说,原始遥感图象、中间结果图象、最终结果图象的显示查寻是了解原始图象质量、结果图象质量以及确定图象处理方法有效性的最直观、最重要的手段之一,而海量遥感图象的显示必然涉及到图象显示的速度问题,由于计算机内存的增加速度永远也赶不上数据量的增长速度,使得计算机将海量遥感图象的全部数据读入内存是不现实的,即使计算机的内存大到能够将一幅海量遥感图象的全部数据读入内存,但是内存肯定也无法大到可以同时打开若干幅海量遥感图象的地步(若利用Windows API的VirtualAlloc函数的虚拟地址保留或提交功能来实现同时打开多幅海量遥感图象,也会由于图象显示切换时的内存与计算机硬盘之间的大量数据交换而严重影响图象显示的速度);另一方面,目前计算机普遍拥有128M或更大的内存,若不科学地利用,无疑是资源的严重浪费,因此如何科学地利用好计算机已有的内存以及硬盘与内存之间的数据交换是解决图象显示速度的关键。因此为了能够对海量遥感图象进行快速显示操作以及解决计算机硬件的限制,必须在软件算法技术上进行研究改进。分片处理的主要目的就是将大数据量的遥感影像分成相对数据量较小的多块数据,再将这些数据块进行编号,建立索引。这样,查询数据时,无须逐行读取,只要选择相应的数据块,就可以快速查询到所需数据。本文研究的主要内容就是如何将海量数据进行分片,建立索引。研究首先设定分片范围,再建立索引表。查询过程中,将查询目标与索引表进行比较,得到索引编号,查询到分片数据。这样一来,避免了逐行读取数据,节省了大量时间。 二、海量数据分块处理方法基本思路2.1海量数据分块处理方法过程分析2.1.1数据分块我们在实现数据分块的过程中,采用的基本思想就是完成图象顺序读取的先行任务。计算机本身读取图象元素是以顺序读取的方式,即逐行读取。在查询时,如果所需查询数据是图象数据的前几行,速度影响可能不大,但是如果是图象的末尾或中间部分,读取过程就非常烦琐。计算机需要顺序读取完所需数据之前的所有数据,进行比较,得到需要的比较结果才会停止。假设图象数据为1GB,有1000行1000列,当我们需要读取第700行700列的数据时,计算机需要逐行读取700行700列的数据,而不能直接查询。现在,我们提前帮助计算机完成这一步骤。即预先读取一定长度的数据,存放到另一个文件里,再将该数据之后我们暂时不需要的数据读取完成;遇到我们设定的一定宽度的下一行数据时,再存放到刚才的文件里,如此反复,就可以按照预定的比例将图象分块了。 若直接对存储于硬盘中的遥感图象进行显示操作,那么由于硬盘的读取速度无法与内存的读取速度相比,因此自然会影响图象的显示速度。通过前面的分析可知,由于将图象一次载人内存是不现实的,而只能将部分数据载人内存,其他部分甚至大部分的数据只能存储于硬盘当中,因此,在图象处理系统的显示过程中,反复与硬盘打交道是在所难免的,但是一般的图象存储格式,相对于图象显示操作来说,是极其不合理的(图象往往是以行序进行存储的),这也是影响速度的主要原因之一,其主要是由于图象的横向跨度造成了从硬盘中读取数据时,需要进行多次的定位和读取。如图1所示,为了显示图中标明区域的图象,可以从硬盘中一次将阴影部分的数据全部读入内存,然后从中取出标明的区域,再送人显示缓冲区进行显示,但是对于海量遥感图象而言,由于图象的横向跨度(列数)可能非常大,其阴影区的数据量可能会超出计算机允许的范围,故而为了获得所需的数据,需要进行多次的定位和读取,甚至每一行都需要定位和读取,这样为了获得这么小小的一块数据,就需要多次的数据定位和数据读取操作,从而大大地降低了数据获得的效率,也严重影响图象的显示速度。图图象横向宽度对显示速度的影响基于上述分析,结合中间图象技术,在建立中间数据时,并不是以行或以列作为一个记录的,而是将整个图象划分为一个个的块(块的大小要确保能够被一次性地读入),如图2所示的虚线网格,由图2可知,只要保证块的尺寸大于显示区域的尺寸,就能保证显示时,最坏的情况是显示区域最多涉及4块,也就是说,最多只需要4次定位和4次的数据读取就可以将此显示区域的数据全部获得。同时由于目前计算机显示器的分辨率基本上是在12801024以下,也就是说,即使是三色合成的图象,一个显示区对应的数据量也只有l280l0243Byte,这对于目前计算机的内存来说,是不成问题的。对于分块大小的确定,一个总的原则是块不能小于显示区域的大小,因为若块小于显示区域时,一次显示必涉及到更多的块,这就需要多次的定位和数据的读取,当然由于计算机内存的限制,块也不能太大。图 图象的分块2.1.2中间图象对于图象来说,来源多种多样,各种图象处理系统都具有各自特点的图象格式,如BMP、TIF、GIF等,特别是遥感图象,卫星遥感地面站提供给用户的为无头部信息的图象数据矩阵。对于这多种来源的图象,为了兼容性,图象处理系统必须给予支持,但是如果支持是建立在对各种图象格式的逐一实现上的话,这虽然满足当前面向对象的程序设计思想,但是却给系统开发造成巨大的工作量,同时也增加了程序体本身的内存开销,并且今后若再支持新格式的图象时,同样需要巨大的程序设计工作量。基于上述原因以及任何图象处理系统的开发者所研制的图象处理、显示的操作均有自己的特点合适的图象数据格式,在进行分块处理过程中,需要一个中间图象。中间图象是具有满足处理、显示需求的一种图象格式文件。各种图象格式是各种图形、图象处理系统,为了其在图象处理过程中的方便性而定义的,但是无论哪种图象格式,其具体的内容无外乎包含两方面:图象属性信息描述部分(如图象的大小、色彩等)和图象像元灰度值部分(具体的图象数据部分)。本文建立的中间图象也是按这两部分进行的,因为图象的属性数据的数据量比较小,所以建立中间图象过程中,属性部分存放在计算机内存之中,而图象数据部分则存放在计算机硬盘中。由此可见,只要知道各种图象的数据结构,就能很方便地与自己定义的中间图象进行相互转换。建立了中间图象后,就可以实现所有格式图象的统一显示和处理,从而大大降低了图象处理系统的开发工作量以及程序代码量,也使得开发人员可以集中精力开发针对中间图象的处理、显示操作功能,便于系统开发效率的提高以及代码的维护(如图3所示)。图 中间图象处理流程在此次研究过程中,采用的中间图象方法是:先存为自定义格式的数据文件,该文件为数据集合,不能显示图象内容,只能供给查询需要。然后将这种格式的文件转换成可识别的图象文件格式。这样,通过建立DIB,可以生成一个给定的窗口,在此窗口中就能显示图象了。2.1.3图像文件索引的建立与检索方法所有的影像可以拼和成一个完整的大图像,但为提取数据的方便(如采用1010抽点可以将从1GB的数据中抽取1MB数据变成从100MB数据中提取1MB数据),将整幅图像划分为较小的图像块,每个块在整个大图像中占有一定的位置,若将每个图块的大小及定位信息存储起来,那么就可以建立一个图块位置文件,这个文件可以作为整个图块组织的空间索引文件,而在用户提出相应请求时,可以从空间索引文件中查找出相应的提取图像区域。如图4,图5(以44划分的阵列为例)图 图像文件分块方法示意图 图 图像文件检索方法示意图每个图像块都如图4中11块那样具有特定坐标系中的(xmin,ymin)及(xmax,ymax)两个点决定本块在图像中的位置,而每个块合起来组成一个文件,因而可以根据这4个坐标与每个文件块的一一对应关系建立一个有关这些文件的空间索引。在数据库中相应的5个字段建立这种空间索引数据库。如图5所示,在确知了用户访问区域(x1,y1,x2,y2)之后,就可以从数据库中找到相应的影像文件。查找时可如图3-3-2所示,利用4个坐标值来判断,每判断一次,就除去了4个方向中某个与选择区域无关的文件,这4个判别式分别为xmaxx1(左边),ymaxy1(上边),xminx2(右边),yminy2(下边)。这样,就可以查找到仅与用户查找区域有关的部分了。三、海量影象数据分块处理算法设计3.1算法的总体流程(思想)首先,我们输入一副图像,输入宽度Y,高度X。然后得到该图像的矩阵Pixxy。接下来进行分块,首先设定分块大小,长度Width和高度Height。for(K=0;Kx/Height;K+); for(L=0;Ly/Width;L+),我们得到每片的范围,再读取像元,for(i=0;K*Heighti(K+1)*Height;i+);for(j=0;L*Widthj(L+1)*Width;j+)每读取一段,我们存放到新的文件中。循环结束,我们得到一个新的矩阵(res+n)=Pixij;这个新的文件包含的数据便是分块后的数据。分块好的数据就可以采用分块查找。查找过程分为以下两步进行:(1) 首先查找索引表,以便确定被查找元素所在的子表。由于索引表数据域中的数据是有序的,因此可以采用对分查找。(2) 然后在相应的子表中用顺序查找法进行具体的查找。在分块查找中,为了找到被查元素x所在的子表,需要对分查找索引表,在最坏的情况下需要查找log2(m+1)次。为了在相应的子表中用顺序查找法查找元素x,在最坏的情况下需要查找n/m(假设各子表长度相等)次;而在平均情况下需要查找n/(2m)。因此,分块查找的工作量为:在最坏的情况下需要查找log2(m+1)+n/m次,平均情况下大约需要查找log2(m+1)+n/(2m)次。显然,当m=n时,线形表为有序表,分块查找即为对分查找。当m=1时,线形表为一般的无序表,分块查找即为顺序查找。3.2算法框图(实现流程)图 海量数据分块处理算法流程框图四、结论及进一步的研究方向4.1结论随着遥感技术的不断发展,遥感图像的数据量将不断快速增加,海量遥感图像的应用领域将越来越广,针对海量遥感图像的显示,通过采用中间图像技术、栅格分块技术、高速缓存技术以及中间图像序列技术,使得在充分利用计算机软硬件资源基础上很好地解决了海量遥感图像在进行处理操作中速度较慢的关键性问题,并且系统开发过程始终伴随着实际应用,从而在实用性方面得到了良好验证。4.2进一步的研究方向 4.2.1高速缓存技术对于图象处理系统来说,图象漫游功能是必备的,然而漫游功能是否随心应手则决定了图象处理系统质量的优劣,由于应用对象是海量遥感图象,且大部分的数据总是在大容量存储介质硬盘当中,虽然通过分块技术减少了图象显示时的定位和读取的次数,已在一定程度上克服了图象漫游过程中的速度过慢问题,但如果每次的漫游操作均需从硬盘读取,则还是会影响图象漫游的响应速度。为了进一步提高图象漫游的速度,受到计算机技术中,广泛应用的Cache技术的启发,在中间图象文件和显示缓存中间,再开辟一块适当大小的内存缓冲高速缓存,在该缓冲区中存储从中间图象文件读取的图象数据,然后再将此缓存中显示的相应部分拷贝到显示缓冲区。采用这种技术的原因是:当此缓冲区的大小大于滚动视图的可见窗体尺寸,则在图象漫游过程中,系统就不必每次都重新从中间图象文件获取显示部分的图象,而只需计算应拷贝的缓冲区的位置,再作一次图象拷贝即可,从而大大提高了图象漫游的速度。高速缓存的大小直接影响图象漫游的效率,若太小则必然造成频繁地读取中间图象文件,太大又受到计算机内存的限制,而且大数据量的读入也会造成速度的延迟,为此高速缓存选取的是显示区域周围最近的9个分块(如图7所示),这样选择高速缓存大小的另一个原因就是图象处理中漫游功能所使用的很大一部分操作是手帕漫游方式,当手帕的手不放开时,由于漫游的范围最大也就是显示区域的9倍,因此选择适当的分块大小以及显示区域周围最近的9块作为高速缓存,恰好能够实现显示区域周围9倍大小的图象均在高速缓存当中,从而保证了手帕漫游操作时,只要手不放开,所有漫游操作都不需与中间图象文件打交道。图 块与高速缓存4.2.2遥感影像的金字塔结构为了实现影像数据库的实时缩放显示、快速获得多尺度的影像信息,需要对各种尺度的影像信息进行有效的组织管理。影像数据的多尺度组织和分块组织是解决上述问题的两个关键技术。影像数据的多尺度组织是用影像金字塔结构来实现的。简单地讲,影像的金字塔结构就是由原始影像数据开始,建立起一系列影像,而各幅影像反映不同尺度下遥感影像的详尽程度。通常原始影像数据反映最详细、最真实的遥感影像,由它逐步生成其他低分辨率的影像,以反映原始影像在各尺度下的概貌。这样,在浏览影像数据时,就可以根据当前用户所需的分辨率,提取相应尺度金字塔层的数据。从而实现影像数据的快速
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 模特知识竞赛试题及答案
- 四川省广安市岳池县2023-2024学年七年级上学期期中数学试题(含答案)
- 2025年高中化学每日化学反应试题及答案
- 考研英语阅读知识考试题及答案
- (正式版)DB5404∕T 0024-2024 《墨脱门珞手抓饭》
- (正式版)DB2327∕T 079-2023 《大兴安岭草苁蓉采收加工技术规程》
- 2026年水果种植公司物资验收管理制度
- 2026年纺织科技公司质量目标分解考核管理制度
- (正式版)DB2327∕T 056-2023 《白桦播种育苗技术规程》
- 一、设置页面及插入背景图教学设计小学信息技术粤教版四年级上册-粤教版
- 屋面干铺保温板施工方案
- 2025年秋季新改版冀人版科学三年级上册分组实验报告单
- 2025标准版劳务劳动合同范本
- 窗户安装工安全教育培训课件
- 2025中国旅游集团迪庆香格里拉旅游投资发展有限公司岗位招聘28人笔试历年参考题库附带答案详解
- T/CNSS 003-2020医疗机构人乳库建立与管理规范
- 2026中国移动校园招聘备考考试题库附答案解析
- 2025年大学生国防科技知识竞赛题库及答案
- 化学品安全管理专项培训课件
- T-CCUA 048-2025 政务信息系统运行维护费用定额测算方法
- 声带息肉术后发声训练
评论
0/150
提交评论