遥感栅格数据切分技术的应用研究

2014-11-14 08:25李向阳
江苏科技信息 2014年16期
关键词:栅格数据瓦片栅格

李向阳,卢 遥

(1.河南省基础地理信息中心,河南郑州 450003;2.国家测绘产品质量检验测试中心,北京 100830)

0 引言

卫星影像数据是一种以栅格形式存在的数据,其最明显的特点是数据量大,往往比计算机硬件可以显示的数据量大一个或多个数量级[1]。因此在设计卫星影像数据库时,需要将其存放在操作系统文件中,并在数据库中定义其外部文件的指针[2-4];同时采用影像数据分块的方法,将大影像数据切分为多个小影像——瓦片,并在数据库中建立分块索引表,以提高数据的查询和提取速度[5-7];此外,为进一步提高影像的实时缩放与显示速度,快速获取不同分辨率的影像信息,可根据不同显示要求调用不同分辨率的原始影像[8,9]。因此,针对海量遥感影像空间数据,如何采用高效的空间索引技术,快速提取最适宜的影像范围和显示分辨率的影像数据块,达到既不影响用户视觉效果又减少实际调入内存数据量的目的,从而满足用户需要显示范围的实际需求,是亟待解决的技术难点。

本文对栅格地图切分技术的规则、参数选择及相关算法进行了深入的研究,提出利用地图切片技术对地图投影转换、屏幕坐标与大地坐标转化的解决方案,并对地图切分参数的选择原则、地图切分算法、地图切分规则等方面进行了研究。在栅格地图切分技术基础上,采用Google Maps API设计出基于Microsoft Visual Studio 2008平台的栅格地图的切分程序,实现了基于Google Maps的遥感影像数据的整合与地图缩放快速浏览功能。

1 栅格地图的瓦片切分技术

1.1 瓦片

瓦片是指将固定范围内的某一比例尺地图按照指定的尺寸(通常为128×128或256×256像素)切分成若干行与列的正方形栅格图片。切图后得到的正方形栅格图片,被形象地称为“瓦片”。瓦片技术也叫切片技术,是指将某一比例尺的地图提前分成若干个小单元。客户端访问时,可直接获取所需的小单元然后拼接成地图,服务器无需动态创建一幅大的图形送到客户端,这极大地提高了反映速度。

由于空间数据库是服务器、中间件、客户端3级分层架构,因此数据的请求与发送都需要以网络数据包通讯的方式传送。通过瓦片技术将地图分割成9×5方块,客户端发送数据请求时,通过空间分析算法可计算出客户端请求视图的覆盖范围,这样只需将20个瓦片切块的封装网络数据包发送至客户端,减小了网络数据包的大小。而客户端每收到一个瓦片数据包即可显示瓦片覆盖区域的数据,无需等待所有瓦片传输完即可显示地图,从而大大提高了用户体验。

1.2 栅格地图的预切分

地图预切分就是在栅格地图发布之前将整幅图像划分成离散的比例,即事先对服务器端部分要素(集)按照影像金字塔模型进行小尺寸的切片分级和缓存,每种比例的地图根据切分规则分成若干个大小相等且互不重叠的块,称为地图的切片或瓦片(Tile)。客户端可直接利用分级的静态的图切片组来代替地图的动态生成。分块的大小由用户决定,可以是2的任意整数幂,而且大小要适中,行列尺寸一般采用128×128或256×256。分块时,需要确定单个块的数据量与块的总个数之间的平衡关系,即要兼顾图像局部的相关程度、网络传输情况等。然后对切片按一定的规则进行命名和存储,并建立切片名称与地图坐标的映射关系。

1.3 地图切分规则

为保证一组栅格数据能够相互叠合发布,必须选用统一的切图参数对地图进行切分,切图参数的设定应遵循以下规则:

(1)按坐标投影对栅格地图进行分组,每组地图必须定义统一的切图参数。

(2)地图范围的选取要兼顾同组其他栅格地图的范围,建立统一的地图切图范围,以便将栅格地图切片在同一坐标范围内叠加发布。

(3)同组地图缩放级数与各级比例尺要统一定义。

(4)地图切片大小一般应选用256×256像素,如果地图切片粒度过小,会增加系统的管理难度;反之,如果粒度太大,会造成网络传输速度过慢,达不到地图切分和缓存的目的。

1.4 地图切分参数

地图切分不仅使服务器端将图像能够分块传输,而且还可使客户器端进行无缝合成。因此,在地图切分之前必须预先定义一组标准的地图切分参数(简称切图参数),使得切图参数既能保证地图切分过程的一致性,也能保证地图切分后的地图切片信息描述的完整性。切图参数是栅格数据发布中坐标映射、地图显示、地图服务的核心参数,包括栅格地图范围、地图缩放级数、比例尺或分辨率、地图切片大小、图片格式、坐标系统共6项参数。

1.5 地图切分算法

切图参数确定了屏幕坐标与大地坐标之间的对应关系(见图1),从而可以计算屏幕参数与地图切片之间的对应关系。

图1 屏幕坐标与大地坐标对应关系

1.5.1 切图参数表示

在实施切图之前,确定以下切图参数。

切图原点:通常选取图像的左上角大地坐标,记为(geoOrgX,geoOrgY),与之相对应的屏幕坐标原点以(winOrgX,winOrgY)表示;

缩放级别数目:以n表示,起始为0;

各级别的比例尺及分辨率,第n级比例尺以ZoomLevel[n]表示,分辨率以 Resolutions[n]表示;

地图切图范围:以 minX,minY,maxX,maxY表示;地图切片的大小:通常为256×256像素,以TileSize表示;地图切片对应的大地坐标长度:在第n级比例下,地图切片的大地长度表示为geoTileSize[n];

地图切片命名:在第n级比例下,第row行第col列的地图切片命名为:Tile[row,col,n];行列(row,col)的起始下标为 0。

1.5.2 地图切片的大地坐标长度计算

在第n级比例下,地图切片的大地坐标长度为:

1.5.3 地图切片的坐标计算

在第n级比例下,地图切片Tile(row,col,n)的左上角坐标(geoTileLeft,geoTileTop)和右下角坐标(geoTileRight,geoTileBottom)分别为:

1.5.4 屏幕像素坐标与大地坐标换算

已知屏幕像素坐标为(pixelX,pixelY),则与之相对应的大地坐标(geoX,geoY)为:

反之,已知大地坐标为(geoX,geoY),则与之相对应的屏幕坐标(pixelX,pixelY)为:

2 应用实例

在上述所述理论、方法和算法的基础上,本文通过实例对“松花江小河东至大岗段”的影像数据进行了切分和发布。

2.1 地图切分步骤

地图切分过程主要分为地图坐标参数配准和转换、地图重采样分级、地图切片生成共3个步骤。

2.1.1 坐标系统配准和转换

为使不同的地图数据得以集成和发布,在地图预先生成前应将地图的地理坐标系和投影方式进行统一,转换到地图发布所用的地理坐标系统。通常使用GIS工具对栅格图像进行坐标配准和坐标转换,并获取地图范围参数和坐标系统参数。

2.1.2 地图重采样分级

按照切图分级的比例尺或分辨率,对栅格地图进行重采样,生成一组离散的比例地图。

2.1.3 地图切片生成

根据Tile(row,col,n)的坐标范围,在整幅地图中剪裁输出该范围的图片。切图程序可以使用栅格图像的屏幕像素坐标进行切分,从图像的左上角开始,依次按行列直接剪切Tile Size大小的图片,这种方法常用于基于图像处理软件的切图程序。也可以使用栅格图像的大地坐标对图像进行切分,同样从左上角开始,依次按行列计算地图切片的大地坐标范围,并剪切出该范围的地图切片。分别对各级比例的地图进行切图,从而生成金字塔结构的地图切片。

2.2 地图切分结果

根据上述切图步骤,基于Microsoft Visual Studio 2008平台,使用独自开发的程序对“松花江小河东至大岗段”影像数据进行了切分,切分结果如图2~5所示。

2.3 栅格影像数据的发布

Google Maps API是Google公司提供的用以调用Google Maps服务的接口。网络前端的开发人员通过调用这些API,可以将Google Maps方便地嵌入自己的网页,并据此进行快速的二次开发,从而为自己的网站创建功能强大的地图应用程序。Google Maps API的功能分为2部分:一是地图的显示功能,如GMap2,GPoint,GIcon,GLatLng 等;另一部分为 API的扩展功能,比如想开发自己的控件、标注和地图类型等,可使用类或函数包括 GControl,GMapPane,GMapType,GOverlay 等[10-13]。将切分好的“松花江小河东至大岗段”影像数据整合到Google Maps平台进行发布,结果如图6所示。

对地图进行放大后,结果如图7所示。

图2 第11级切分结果

图3 第12级切分结果

图4 第13级切分结果

图5 第14级切分结果

图6 松花江小河东至大岗段

图7 松花江小河东至大岗段

3 结论

本文在深入分析研究栅格数据的结构、表示方法、编码和压缩的基础上,针对海量栅格数据难以处理的技术难点,提出以牺牲存储空间来提高处理速度、对遥感栅格数据构建影像金字塔的技术路线,并对栅格地图切分规则、切分算法和切分参数的设定进行了深入研究,设计了栅格地图切分的技术流程,并编程实现了栅格地图的切分。最后基于Google Maps平台成功实现了遥感栅格数据的发布,为海量遥感数据的应用和发布提供了经验和借鉴。

[1]李德仁,周月琴,金为铣.摄影测量与遥感概论[M].北京:测绘出版社,2001.

[2]卢小平,邓安健,卢遥,等.基于结构上下文分类后小面元的后续处理方法[J].遥感信息,2009(6):47-50.

[3]李毅.山西省水利电子沙盘系统栅格影像处理机制的扩展与完善[J].山西水利科技,2010(3):83-85.

[4]黄梦龙.栅格地图投影变换实验系统的设计与实现[D].武汉:武汉大学,2005.

[5]刘镇.遥感影像瓦片金字塔模型[J].科技创新导报,2008(6):199-200.

[6]郑群英,周晓光,栾柱晓.影像金字塔增量更新方法[J].地理空间信息,2009(5):38-41.

[7]卢小平,马剑,卢遥,等.多源遥感数据融合在矿区土地覆盖分类中的应用[J].河南理工大学学报:自然科学版,2010(3):56-60.

[8]卢小平,田继辉,张剑伟,等.多尺度DEM数据的组织与管理方法研究[J].测绘通报,2010(6):12-15.

[9]薛水晶,卢小平,李英成,等.金字塔多级索引遥感影像数据服务的设计与实现[J].测绘通报,2011(5):29-32.

[10]李学东.基于WEB的地学数据集成与发布技术研究[D].北京:中国地质大学,2009.

[11]刘德风.基于Ajax的数字校园栅格地图发布与查询优化技术研究[D].北京:北京建筑工程学院,2010.

[12]邓雪清.栅格型空间数据服务体系结构与算法研究[D].郑州:中国人民解放军信息工程大学,2003.

[13]巫细波,胡伟平.Google Maps运行机制以及应用研究[J].华南师范大学学报:自然科学版,2009(2):106-110.

猜你喜欢
栅格数据瓦片栅格
基于邻域栅格筛选的点云边缘点提取方法*
一种基于主题时空价值的服务器端瓦片缓存算法
惯性
面向移动GIS的快速检索方法研究
基于GDAL的标准图幅生成及数据批量裁剪方法*1
基于ArcGISEngine的南水北调工程基础栅格数据管理
不同剖面形状的栅格壁对栅格翼气动特性的影响
基于CVT排布的非周期栅格密度加权阵设计
基于NoSQL数据库的瓦片地图服务
动态栅格划分的光线追踪场景绘制