标题 | 海量Google影像的下载与拼接方法研究 |
范文 | 张发 姜维 王华强 摘 要:本文主要探讨利用Google Earth软件对Google影像海量下載与拼接的方法。 关键词:Google Earth;API函数;影像拼接 一、引言 Google Earth是一款由谷歌公司开发的虚拟地球软件,其高分辨率的全球影像可以为很多行业提供服务,在实际生产作业中,Google影像作为辅助信息也可以发挥很大的作用,可在地形图编辑时作为底图对地物信息进行参考、正射影像制作时对纹理匮乏区域进行修补替换等。 二、利用API函数操纵Google地球 Google提供了一系列API函数用于Google地球的二次开发,通过API函数我们可以设置Google影像的显示位置和缩放比例、当前数据流量的进度以及当前窗口Google影像的四个角点地理坐标等信息。屏幕的位置和缩放比例主要通过是设置相机的位置和高度来控制,用的是IApplicationGE接口的SetCameraParams方法,传入的主要参数包括中心点的经纬度、高度、高度模式、范围、倾角、方位角等;当前数据流量进度是只当前屏幕范围内数据的下载进度,可以通过IApplicationGE接口的StreamingProgressPercentage参数来设置;计算当前屏幕的四个角点地理坐标可依次通过IApplicationGE接口的GetPointOnTerrainFromScreenCoords函数计算。 三、利用拷屏技术下载Google Earth影像 将Google Earth定位到指定坐标后,接下需要通过拷贝屏幕的方式来获得窗口内的Google影像,步骤如下: 1、获得Google Earth窗口在屏幕上的矩形位置 通过API函数我们可以获得Google Earth的窗口句柄,然后通过窗口句柄可以获得其屏幕位置和客户区大小,进而可以推算出Google Earth窗口在屏幕上的矩形位置。 2、判断窗口是否被遮挡 由于是通过拷屏的方式获得Google影像,在拷屏前需要对Google Earth窗口是否被遮挡进行判断,组合运用API函数可以实现此功能,步骤如下:首先获得窗口的句柄以及所在的屏幕位置,然后利用GetNextWindow函数可以依次获得位于其上的窗口句柄,然后获得每一个位于其上的窗口所在的屏幕位置,若两个窗口所在的屏幕位置存在交叉,则判定窗口被遮挡。 四、海量Google影像的拼接与存储 由拷屏方法获得的Google影像是一块块分散的影像,在应用前需要对其进行拼接形成一幅整个区域的大影像。对于影像的拼接如果采用人工拼接的方式势必费时费力,且当影像数据量较大时需要专业软件才能满足要求,因此对于下载的影像的拼接采用自动化的方式,对于海量数据的存储采用自定义的支持海量数据的影像格式。 1、海量影像数据格式简介 对于下载的Google影像,当区域范围大、影像分辨率较高时,影像的数据量会随之急剧增大,可达几百GB甚至TB级,为了便于影像的存储和拼接,本文采用支持64位寻址的分层分块的自定义影像格式。64位寻址技术可使支持的影像大小达222TB,数据分块的存储方式可以极大地减少计算机寻址的次数,大幅提高影像读写的效率,通过建立金字塔的方式,可以方便程序对影像的快速浏览显示。 自定义的影像格式包含两个部分:文件头和影像数据区,其中文件头包含文件标识、影像高度和宽度、影像的灰度级数、影像块大小、金字塔影像的层数、文件大小等信息。影像数据区为每层的影像数据,对于每层的影像数据根据影像块大小进行分块存储。自定义海量影像数据结构如图1所示。 2、Google影像的并行拼接 Google影像的并行拼接目的是使Google影像的下载与拼接分开进行,以提高Google影像下载的速度。并行拼接的原理如下:下载程序将拷屏下载得到的影像保存于临时目录,同时将其路径信息等以消息形式发给并行程序控制端,然后下载程序进行下一位置的影像下载;并行程序控制端对接收的消息依次逐个进行处理,首先解析出每条消息中的待拼接影像路径和执行程序等信息,然后创建线程进行执行影像拼接。 单个待拼接影像的拼接步骤如下:首先读取待拼接影像信息和其坐标范围信息(地理坐标),根据坐标范围信息计算待拼接影像在整个区域海量影像中的坐标范围(单位是像素),然后申请空间并根据整个区域影像的采样间隔对待拼接影像重采样,最后将重采样后的影像写入区域海量数据影像文件。 五、下载与拼接试验结果 本文根据上述方法对香港地区的Google影像进行了下载与拼接试验。下图2为香港地区拼接后的Google影像(起始坐标为经度113.82、纬度22.14,采样间隔为0.00001(度),影像宽68000、高46000,生成金字塔后影像大小为11.6GB),第一个图片为全局图像,第二个图像正常大小的局部影像。 六、结束语 目前,利用本文方法获得的影像数据已在多项生产作业中作为辅助信息使用,生产实践证明本文方法获得的Google影像在对正射影像的纹理匮乏区域进行修补方面具有很强的应用价值。随着Google影像的全球覆盖化,且很多地区影像分辨率较高,我们通过对其数据的下载、拼接,便可获得全球任意地区的影像数据。这些数据可以作为辅助信息直接或间接参与生产。由此预见,通过本文方法下载拼接的Google影像在测绘生产尤其是将来的境外测绘生产任务中具有巨大的应用潜力。 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。