一种在Android系统上浏览大型遥感影像的方法

文档序号:9709122阅读:492来源:国知局
一种在Android系统上浏览大型遥感影像的方法
【技术领域】
[0001]本发明涉及一种在Android系统上浏览大型遥感影像的方法。
【背景技术】
[0002] 在移动设备上实现遥感影像的浏览是移动GIS开发的基石,开发方式主要有基于 现有组件的二次开发和基于底层自主开发。如ERSI公司的ArcGIS、跬步的UCMap、超图的 SuperMap等二次开发组件,都通过自己的方法支持遥感影像在移动终端上的加载,但对大 型离线遥感影像的支持明显不足,极易引起00M(0ut Of Memory)内存溢出,导致应用极不 稳定。目前,Android系统的移动设备已占市场份额83.6 %,使用广泛,但Google设定 Android设备上每个app应用的默认内存空间为16MB,导致Android系统更加难以浏览几GB 或几十GB的大型遥感影像。

【发明内容】

[0003] 为了解决单个应用内存受限的Android移动设备上加载遥感影像,实现自主GIS开 发。本发明提供了一种在Android上浏览大型遥感影像的方法,该方法对高普莱亚SPOT影像 无损压缩后可节省40.465 %的存储空间,高分一号影像可节省59.701 %的空间。加载影像 时消耗的内存最大为2 9 . 5 9 8 Μ B,常用浏览倍数范围内的影像的平均加载时间为 1854.5978ms、最小加载时间为751.58ms,且影像的浏览速度与影像的大小关系较小,主要 与屏幕中显示影像的范围(即浏览倍数)相关。
[0004] 为了实现上述技术目的,本发明的技术方案是,
[0005] -种在Android系统上浏览大型遥感影像的方法,包括以下步骤:
[0006] 影像转换成瓦片文件流集文件和索引文件步骤,包括:
[0007]步骤一:读取需要进行处理的遥感影像,并获得影像中图片的属性信息;
[0008]步骤二:将图片的属性信息及压缩信息写入到瓦片流集文件的文件头中;
[0009]步骤三:将图片按预设的大小进行划分,划分出的每个分块均计算左上角相对于 图片的坐标;
[0010]步骤四:读取步骤三中的分块,将分块映射成指定大小的图像,从遥感影像上读取 指定波段的信息,选取三个波段赋予红色、绿色、蓝色的颜色值,生成24位的真彩色,将步骤 三中每个分块中的颜色值生成一个预设的大小的瓦片文件,将瓦片文件依次写入瓦片流集 文件,将每块瓦片文件在瓦片流集文件中的开始位置写入瓦片索引文件,建立瓦片索引表; [0011]从瓦片文件流集文件和索引文件拼接影像步骤,包括:
[0012] 步骤1:从瓦片索引文件中读取出瓦片索引表,即所有瓦片在瓦片文件流集文件中 的起始位置;
[0013] 步骤2:从瓦片文件流集文件的文件头读取出图片的属性信息及压缩信息,计算出 瓦片对应的影像块大小、左上角的地理坐标、影像分割成瓦片后的行数和列数;获取当前屏 幕显示影像的范围并计算出瓦片的行号和列号,根据屏幕范围计算出各瓦片在屏幕上映射 区域的大小、左上角坐标;
[0014] 步骤3:加载瓦片文件,将各瓦片文件按指定大小排列在指定的位置上。
[0015] 浏览影像步骤,包括:
[0016] 步骤1)通过缩放、移动操作,改变影像的显示范围;
[0017] 步骤2)根据步骤1)中显示范围的变化,改变鹰眼中当前显示区域的标注;
[0018]步骤3)计算当前显示区域与上次显示区域的影像交集区域和非交集区域,若有影 像交集,则根据上次的影像、屏幕显示区域计算出影像交集的屏幕区域和映射范围,从屏幕 上显示的图像中截取此区域的图像信息,再映射到屏幕上;非交集区域使用从瓦片文件流 集文件和索引文件拼接影像步骤进行加载影像;清除空白区域内的影像。
[0019] 所述的一种在Android系统上浏览大型遥感影像的方法,步骤一中,所述的图片的 属性信息包括Dr i ver驱动信息、GCP地面控制点信息、Pro j e ct i on投影信息、Band波段信息、 映射的地理空间范围、图像的宽度和高度。
[0020] 所述的一种在Android系统上浏览大型遥感影像的方法,步骤二中,所述的图片的 压缩信息包括影像的图像宽度和高度、左上角的地理坐标、影像上每个像素宽度和高度、影 像在X轴和Y轴上的偏移量、瓦片的宽度和高度、压缩倍数。
[0021] 本发明的有益效果是,可在Android系统上离线加载的大型遥感影像(已支持 25.6GB的高分一号影像和12.9G的普莱达SPOT影像),节省磁盘空间,减少了瓦片导入移动 平台的时间,为后续移动GIS在Android上的开发提供了可行性,将极大地推动移动GIS在森 林资源信息采集、遥感判图等方面的应用。
[0022] 下面结合附图对本发明作进一步说明。
【附图说明】
[0023]图1为本发明的实现步骤;
[0024] 图2为本发明瓦片流集的文件结构;
[0025] 图3为本发明中瓦片索引文件结构;
[0026]图4为本发明的显示效果图。
【具体实施方式】
[0027]本实施例包括以下步骤:
[0028] 影像转换成瓦片文件流集文件和索引文件步骤,包括:
[0029] 步骤一:读取需要进行处理的遥感影像,并获得影像中图片的属性信息;
[0030]步骤二:将图片的属性信息及压缩信息写入到瓦片流集文件的文件头中;
[0031]步骤三:将图片按预设的大小进行划分,划分出的每个分块均计算左上角相对于 图片的坐标,其中预设大小是指图片划分的像素面积大小,这个根据平板的性能来定,平板 性能越好,预设的大小可更大,如256*256等;而左上角相对于图片的坐标,是这一块划分出 的图片最左上角的那一像素,相对于整个图片的位置。如以256*256像素大小划分,则第一 块左上角的相对于图片的坐标为(〇,〇),相邻右边块为左上角坐标为(256,0),再往右的块 的左上角坐标为(512,0);相邻下边块的左上角坐标为(0,256),再往下的块的左上角坐标 为(〇,512)。
[0032]步骤四:读取步骤三中的分块,将分块映射成指定大小的图像,由于有些遥感影像 是0.1米的高清分辨率,但在实际应中,可能不需要这么高的清晰度。在划分块时,分块的大 小可能会是预设大小的几倍,故对块中的影像数据经映射后,生成指定大小的瓦片。
[0033]然后从遥感影像上读取指定波段的信息,选取三个波段赋予红色、绿色、蓝色的颜 色值,生成24位的真彩色,将步骤三中每个分块中的颜色值生成一个预设的大小的瓦片文 件,将瓦片文件依次写入瓦片流集文件,将每块瓦片文件在瓦片流集文件中的开始位置写 入瓦片索引文件,建立瓦片索引表;由于计算机中的颜色是采用RGB(Red红色、Green绿、 Blue蓝色)颜色系统,而使用红、绿、蓝三种颜色按不同的份量叠加可得到的人类视力所能 感知的所有颜色。图片上每个像素点是一种颜色,由RGB三基色组成,每种基色用一个字节 (=8b i t)存储,这样生成的图叫做24位真彩色的图。
[0034]遥感影像按波段数量分为多波段遥感影像和单波段遥感影像,如landsat5的TM影 像有7个波段,单波段的影像显示效果为灰度图。若要显示多波段的彩色遥感影像,需设置 哪个波段的值代表红色、哪个波段的值代表绿色、哪个波段的值代表蓝色,这三个波段的颜 色值叠加后生成一副彩色图。
[0035]步骤三中按n*m个像素点大小的网格分块,求得了每块的左上角的图片坐标;步骤 四时从影像中选择三个波段代表红、绿、蓝三基色,读取这个网格中三个波段的值,存在一 个3*n*m大小的数组中,再将这个数组转换成一个n*m个像素的瓦片文件,并写入瓦片流集 文件和建立瓦片索引表。
[0036]从瓦片文件流集文件和索引文件拼接影像步骤,包括:
[0037] 步骤1:从瓦片索引文件中读取出瓦片索引表,即所有瓦片在瓦片文件流集文件中 的起始位置;
[0038] 步骤2:从瓦片文件流集文件的文件头读取出图片的属性信息及压缩信息,计算出 瓦片对应的影像块大小、左上角的地理坐标、影像分割成瓦片后的行数和列数;获取当前屏 幕显示影像的范围并计算出瓦片的行号和列号,根据屏幕范围计算出各瓦片在屏幕上映射 区域的大小、左上角坐标;
[0039]步骤3:加载瓦片文件,将各瓦片文件按指定大小排列在指定的位置上。
[0040]浏览影像步骤,包括:
[0041 ]步骤1)通过缩放、移动操作,改变影像的显示范围;
[0042]步骤2)根据步骤1)中显示范围的变化,改变鹰眼中当前显示区域的标注;鹰眼是 GIS(Geographic Information System地理信息系统)中一个基本的功能。在鹰眼图上可以 像从高空中俯视一样查看所显示的地图在整个图中位置。即可看做高空俯视的缩略图,用 于掌握所显示的地图在整个图中的位置。
[0043]步骤3)计算当前显示区域与上次显示区域的影像交集区域和非交集区域,若有影 像交集,则根据上次的影像、屏幕显示区域计算出影像交集的屏幕区域和映射范围,从屏幕 上显示的图像中截取此区域的图像信息,再映射到屏幕上;非交集区域使用从瓦片文件流 集文件和索引文件拼接影像步骤进行加载影像;清除空白区域内的影像。
[0044] 上述的步骤1)为
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1