一种基于金字塔结构和层次细节模型的地形影像切片方法
技术领域
本发明涉及影像及地形数据处理的技术领域,尤其涉及一种基于金字塔结构和层次细节模型的地形影像切片方法。
背景技术
近年来,随着地理信息系统和信息技术的飞速发展,空间遥感仪器分辨率的不断提高,使得影像、地形数据在地图应用领域不断扩大,影像、地形的栅格数据量急剧增长。随着影像、地形栅格地图数据量的急剧增长,现阶段 WebGIS(网络地理信息系统)通常需要预先对栅格地图数据进行切片,并以多层级瓦片金字塔的形式组织栅格地图数据。当客户端访问WebGIS获取地图数据时,服务器端根据访问的区域、相机到区域的距离,返回相应等级的瓦片数据给客户端(非观察的重点区域加载较低等级的瓦片数据;相机离区域越近,就加载等级越高的瓦片数据)。通过上述流程来保证海量栅格地图在web端的加载速度及良好的游览流畅度。
在实际的处理过程中,源数据有时候并不是十分规范,除了单张栅格地图数据量较大的情况(以影像数据为例,有时候单张影像能达到100G的大小),还有多份栅格数据尺度、坐标系统不同、边缘大多有无效值的问题,使用传统的切片方法无法解决这些问题,在web端浏览这些拼接的数据时也会有黑边、偏差等问题出现。但是在这种技术下,将数据量较大的单张栅格地图按固定大小划分成若干部分再进行切片可解决对应问题,在进行切片过程中将多份栅格数据尺度、坐标系统统一,将栅格地图数据中无效值去除以便多份数据无缝拼接,可以解决传统切片技术无法解决的这些影响展示效果、甚至可能导致无法完成切片的问题。
发明内容
本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
鉴于上述现有存在地形数据处理方法的问题,提出了本发明。
因此,本发明解决的技术问题是:利用四叉树切片方法解决浏览器客户端地形、影像数据加载效率、显示效果、资源占用等方面的问题。
为解决上述技术问题,本发明提供如下技术方案:输入栅格数据及元数据信息并进行处理;利用四叉树切片策略将处理后的所述栅格数据以及所述元数据信息切割成金字塔文件结构的瓦片集;预处理所述瓦片集,确定所述瓦片集中各个瓦片的范围、等级和序号;根据所述瓦片的范围、等级以及序号生成最终地形瓦片。
作为本发明所述的基于金字塔结构和层次细节模型的地形影像切片方法的一种优选方案,其中:所述栅格数据信息包括,镶嵌的栅格格式数据和未镶嵌的栅格格式数据。
作为本发明所述的基于金字塔结构和层次细节模型的地形影像切片方法的一种优选方案,其中:所述元数据信息包括,数据的坐标系统以及数据范围,所述元数据信息与所述栅格数据信息相配对并且所述元数据采用可扩展标识语言文件进行记录。
作为本发明所述的基于金字塔结构和层次细节模型的地形影像切片方法的一种优选方案,其中:处理所述栅格数据及所述元数据信息包括,对比所述数据的坐标系统与目标坐标系统之间的关系,若二者不一致则对所述栅格数据信息进行投影变换处理。
作为本发明所述的基于金字塔结构和层次细节模型的地形影像切片方法的一种优选方案,其中:所述切割金字塔瓦片集包括,对原始栅格数据进行重采样,栅格数据重采样包括:根据最高等级瓦片的分辨率和元数据的像素个数、分辨参数,对进行投影后的栅格数据采用双线性内插法进行重采样处理;选取采样点周围距离较近的4个像元位置作为参考,并计算这些像元值的距离加权平均值,所述双线性内插法先求出原图像位置点(x,y)的相对位置信息(i+u, j+v),其计算公式如下所示:
i+u=(x+0.5)*sw/dw-0.5
j+v=(y+0.5)*sh/dh-0.5
其中,0≥u≥1,0≥v≥1,i和j为非负整数值,sw和sh为原栅格数据像素宽度和高度,dw和dh为缩放后的栅格宽度。
作为本发明所述的基于金字塔结构和层次细节模型的地形影像切片方法的一种优选方案,其中:确定所述瓦片集中各个瓦片的范围、等级和序号包括,读取所述栅格数据及配对的元数据获取所述瓦片集的切片范围;采用瓦片地图服务索引算法确定最高级别下切片的分辨率或比例尺并且计算出不同级别瓦片的行列编号。
作为本发明所述的基于金字塔结构和层次细节模型的地形影像切片方法的一种优选方案,其中:所述瓦片集包括,瓦片集的切片原点默认为(-180°, 90°),根据用户需求进行调整。
作为本发明所述的基于金字塔结构和层次细节模型的地形影像切片方法的一种优选方案,其中:生成所述最终地形瓦片包括,最高级别瓦片生成和其他等级瓦片数据生成,其中所述最高级别瓦片生成包括,瓦片生成模块首先遍历最高等级瓦片的序号,对每个所述最高等级瓦片进行填充数据处理并生成最高等级的所有瓦片;所述其他等级瓦片数据生成包括,在生成所述最高等级瓦片时,所述其他等级瓦片按四叉树索引算法,将对应的四个高等级的瓦片进行重采样并组合成一个低一等级的瓦片,对应的四个低一等级的瓦片再组合成一个更低等级的瓦片,遍历循环组合各等级瓦片,直至生成0级的瓦片,0级代表全部范围。
作为本发明所述的基于金字塔结构和层次细节模型的地形影像切片方法的一种优选方案,其中:所述填充数据处理包括,在进行所述瓦片数据填充时判断所述瓦片是否完全填充,若没有完全填充则将缺失值(一般为颜色通道 (0,0,0)的像素)的透明度通道设置为0,即将缺失值对应的单元设置为透明,地形切片的缺失值。
作为本发明所述的基于金字塔结构和层次细节模型的地形影像切片方法的一种优选方案,其中:所述生成最终地形瓦片还包括,利用快速的基于网格的精简算法或经典的不规则精简算法生成构建所述栅格数据的并精简三角形网,输出最终地形瓦片。
本发明的有益效果:本方法采用四叉树地形、影像切片方案,不需要对原始地形、影像做镶嵌及无效值处理,可快定制化对地形、影像进行切片,解决浏览器端大数据量地形、影像数据加载效率慢、显示效果不佳、资源占用多等问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:
图1为本发明第一个实施例所述的一种基于金字塔结构和层次细节模型的地形影像切片方法的流程示意图;
图2为本发明第一个实施例所述的一种基于金字塔结构和层次细节模型的地形影像切片方法的投影图;
图3为本发明第一个实施例所述的一种基于金字塔结构和层次细节模型的地形影像切片方法的像素之间对应关系图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明,显然所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。
本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。
同时在本发明的描述中,需要说明的是,术语中的“上、下、内和外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一、第二或第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本发明中除非另有明确的规定和限定,术语“安装、相连、连接”应做广义理解,例如:可以是固定连接、可拆卸连接或一体式连接;同样可以是机械连接、电连接或直接连接,也可以通过中间媒介间接相连,也可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例1
参照图1~3,为本发明的第一个实施例,该实施例提供了一种基于金字塔结构和层次细节模型的地形影像切片方法,包括:
S1:输入栅格数据及元数据信息并进行处理。其中需要说明的是,栅格数据信息包括,镶嵌数据或未镶嵌的栅格格式数据;元数据信息包括,数据的坐标系统以及数据范围,元数据信息与栅格数据信息相配对并且元数据采用可扩展标识语言文件进行记录;
进一步的是,对栅格数据及元数据信息进行处理包括,对比数据的坐标系统与目标坐标系统之间的关系,若二者不一致则对栅格数据信息进行投影变换处理;参照图2,如当目标坐标系统为墨卡托投影(Mercator Projection)时,先将原始数据转换为地理坐标系,再将其投影为墨卡托投影,该投影假设地球被包围在一个圆柱体中,并且地球的直径和圆柱体的宽度相等,其赤道与该圆柱体的内侧面相切,按等角条件将地球表面映射到圆柱体内侧面则投影后的地图平面就是圆柱体展开的内侧面。
S2:利用四叉树切片策略将处理后的所述栅格数据以及所述元数据信息切割成金字塔文件结构的瓦片集。其中需要说明的是,
金字塔瓦片集的切割需要对原始栅格数据进行重采样,栅格数据重采样包括:根据最高等级瓦片的分辨率和元数据的像素个数、分辨参数,对进行投影后的栅格数据采用双线性内插法进行重采样处理;选取采样点周围距离较近的 4个像元位置作为参考,并计算这些像元值的距离加权平均值,双线性内插法先求出原图像位置点(x,y)的相对位置信息(i+u,j+v),其计算公式如下所示:
i+u=(x+0.5)*sw/dw-0.5
j+v=(y+0.5)*sh/dh-0.5
其中,0≥u≥1,0≥v≥1,i和j为非负整数值,sw和sh为原栅格数据像素宽度和高度,dw和dh为缩放后的栅格宽度,此次重采样是对于所有输入数据并且主要用于最高级别瓦片的切片;如原栅格缩小为3×3像素的目的图像,通过上述公式计算每个采样点在原图像中的位置,则原图像和目的图像各个像素之间对应关系如图3所示,其中实线方格表示原图像的像素位置,虚线方格表示采样点像素位置。
S3:预处理所述瓦片集,确定所述瓦片集中各个瓦片的范围、等级和序号。其中需要说明的是,
确定瓦片集中各个瓦片的范围、等级和序号包括,瓦片的切片范围通过读取栅格数据及配对的元数据进行获取;采用瓦片地图服务索引算法,可以确定最高级别下切片的分辨率或比例尺并且计算出不同级别瓦片的行列编号;其中瓦片集的切片原点默认为(-180°,90°),也可以由用户依据需求进行调整,在目标为EPSG:4326的情况下,不同级别切片分辨率、比例尺及切片数量之间的关系如下表1所示,表1:不同级别切片分辨率、比例尺及切片数量之间的关系。
S4:根据所述瓦片的范围、等级以及序号生成最终地形瓦片。其中需要说明的是,
生成最终地形瓦片包括,最高级别瓦片生成和其他等级瓦片数据生成,其中最高级别瓦片生成包括,瓦片生成模块首先遍历最高等级瓦片的序号,对每个最高等级瓦片进行填充数据处理并生成最高等级的所有瓦片;其他等级瓦片数据生成包括,在生成最高等级瓦片时,其他等级瓦片按四叉树索引算法,将对应的四个高等级的瓦片进行重采样并组合成一个低一等级的瓦片,对应的四个低一等级的瓦片再组合成一个更低等级的瓦片,遍历循环组合各等级瓦片,直至生成0级的瓦片,0级代表全部范围;填充数据处理包括,在进行瓦片数据填充时判断该瓦片是否完全填充,若没有完全填充则将缺失值(一般为颜色通道(0,0,0)的像素)的透明度通道设置为0,即将缺失值对应的单元设置为透明,地形切片的缺失值
进一步的是,使用快速的基于网格的精简算法或经典的不规则精简算法生成对栅格数据的构建并精简三角形网,输出最终地形瓦片。
本发明方法的工作原理为:将影像或地形数据依据四叉树切片方法重新组织切割成金字塔文件结构的瓦片集,这些瓦片为最高层级下加载的高分辨率地形影像;该思想来自于层次细节模型,将地形影像切分成大量分辨率相同的小幅地形影像后,按金字塔结构进行预处理、组织和存储,每减小一级浏览层级,则将四个高分辨率的图幅合并成为一个较低分辨率的图幅,在切片之后的金字塔结构中,每个瓦片有唯一的ID编号,利用高效ID索引技术,则可以在浏览器三维场景中根据可视范围、观测距离等决定加载的瓦片的范围、层级等,解决浏览器客户端地形、影像数据加载效率、显示效果、资源占用等方面的问题。
实施例2
本发明的第二个实施例,为了更好地对本发明方法中采用的技术效果加以验证说明,本实施例中选择利用DEM地形切片文件的地形处理方法,以科学论证的手段对比试验结果,以验证本方法所具有的真实效果;
本发明是一种基于金字塔结构和层次细节模型的地形影像切片方法,选取三组不同数量的地形图像来验证本发明,分别为100张,500张和1000张的地形图像,其中使用传统利用DEM地形切片文件的地形处理方法,通过获取地形图像对应的DEM地形切片文件并缓存,反馈重叠区域的地形切片文件;而本发明方法,通过四叉树切片方法将地形图像切割成金字塔结构的瓦片集,并通过瓦片序号/等级和范围进行计算,生成最终的地形瓦片;在三组地形图像使用两种方法进行地形处理后,利用MATLB软件实现两种方法地形图像加载完整度的测试,测试结果如下表2所示,
表2:地形图像实验组的实验结果。
从表2可以看出,在三组实验数据中,使用两种处理方法在500张地形图象时的完整度保持的最高,使用传统DEM地形切片文件处理方法时,每组图像加载的完整度保持了较高的水平,但在数量为1000时完整度有明显下降,而使用本发明方法,地形图像加载完整度与传统方法相比有明显提升,并且在数量为1000时完整度的测试值并没有出现明显下滑,依旧保持在较高的水平,因此使用本发明方法对于地形图像加载完整度方面有较优的效果,并且本发明方法在处理图像数据时将其中的无效值去除,可以进一步提高处理速度。
应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。