掌桥专利:专业的专利平台
掌桥专利
首页

一种基于高程数据文件的瓦片图片生成方法及装置

文献发布时间:2023-06-19 18:49:33


一种基于高程数据文件的瓦片图片生成方法及装置

技术领域

本发明涉及地理信息系统(GIS,Geographic Information System)技术领域,尤其涉及基于高程数据文件的瓦片图片生成方法及装置。

背景技术

数字地图常用于表现如自然地形地貌、山川河流、道路建筑、环境设施等各类地理信息要素,及在此基础标注上的位置、轨迹、范围等信息。相比二维数字地图,三维数字地图充分结合了地表的影像贴图和高程数据,形成可视化的三维模型,增强了表现力和真实感,因此逐渐得到更广泛的应用。

简单的说,三维数字地图有两种常见的开发设计方案:(1)运行时连接地图影像数据服务和地图高程数据服务,获取地表影像贴图和高程数据,由插件或类库实时渲染形成三维模型,运行期间性能开销较大;(2)运行前获取地表影像贴图和高程数据,用插件或类库提前生成三维模型并存入文件,运行时只加载模型,运行期间性能开销较小。这两种开发设计方案中,三维模型的形成均离不开地表高程数据的支持。

地表高程数据的获得主要有两种方式:(1)通过互联网已有的高程数据服务,获得用于显示的伪墨卡托投影下的瓦片图片,获得数据可直接用于三维数字地图的渲染或构建;(2)从数据提供商获得原始或初步处理后的高程数据文件,文件常用WGS84地理坐标分割,具有特定的二进制格式。

离线情况下,无法调用互联网的高程数据服务。从数据提供商得到的高程数据文件,与互联网高程数据服务提供的图片相比,在格式、投影、尺寸上均有不一致的情况,相互没有直接的对应关系,调用时需要进行多方面的变换处理,不便于三维数字地图相关软件的开发。对国防军工行业等保密性要求较高的场合,如何在离线情况下获取方便的高程数据服务,已成为一个亟待解决的问题。

发明内容

本发明要解决的技术问题是,如何在离线情况下获取方便的高程数据服务;有鉴于此,本发明提供一种基于高程数据文件的瓦片图片生成方法及装置。

本发明采用的技术方案是,所述基于高程数据文件的瓦片图片生成方法,包括:

根据请求参数获取指定瓦片的序号以及层号,利用所述序号以及层号确定所述瓦片对应的伪墨卡托地理坐标;

对所述伪墨卡托地理坐标进行采样插值,以确定对应的高程插值;

对所述高程插值进行量化,并将量化后的整数分解成分别表征R、G、B颜色通道数值的三个字节;

基于三个所述字节,构造与所述请求参数对应的瓦片图片。

在一个实施方式中,所述基于高程数据文件的瓦片图片生成方法还包括:

基于所述请求参数,确定与所述请求参数对应的瓦片图片是否存在,若存在,直接获取对应的瓦片图片。

在一个实施方式中,所述根据请求参数获取指定瓦片的序号以及层号,利用所述序号以及层号确定所述瓦片对应的伪墨卡托地理坐标,包括:

根据所述请求参数获取指定瓦片的序号以及层号,确定对应的伪墨卡托投影下TMS瓦片左上角地理坐标;

基于所述层号确定对应的瓦片边长;

基于所述瓦片边长,确定对应的相邻像素间差异;

利用所述伪墨卡托投影下TMS瓦片左上角地理坐标以及所述相邻像素间差异,确定所述伪墨卡托地理坐标。

在一个实施方式中,所述对所述伪墨卡托地理坐标进行采样插值,以确定对应的高程插值,包括:

将所述伪墨卡托地理坐标向WGS84坐标投影,获得WGS84坐标系下对应的经度纬度对;

基于所述经度纬度对,确定对应的WGS84瓦片序号;

利用所述WGS84瓦片序号,确定对应的瓦片内偏移;

对所述瓦片内偏移进行取整处理,以获取对应的高程数值;

基于所述瓦片内偏移以及所述高程数值,利用预先配置的算法确定对应的所述高程插值。

在一个实施方式中,所述对所述高程插值进行量化,并将量化后的整数分解成分别表征R、G、B颜色通道数值的三个字节,包括:

将所述高程插值,乘以256后取整并保存成带符号整数,取该整数的三个字节作为返回用的红绿蓝通道数值;

将计算后的三个字节分通道,按照所述红绿蓝通道数值的返回瓦片图片内的对应位置并存入用于表征R,G,B的二维数组中。

在一个实施方式中,所述基于三个所述字节,构造与所述请求参数对应的瓦片图片,包括:

对每个伪墨卡托地理坐标的对应位置,基于所述红绿蓝通道数值构造图像存储区;

按照所述红绿蓝通道数值设置瓦片图像在对应位置的颜色;

获取生成的瓦片图片并存储至对应存储路径。

本发明的另一方面还提供了一种基于高程数据文件的瓦片图片生成装置,包括:

坐标确定模块,被配置为根据请求参数获取指定瓦片的序号以及层号,利用所述序号以及层号确定所述瓦片对应的伪墨卡托地理坐标;

插值模块,被配置为对所述伪墨卡托地理坐标进行采样插值,以确定对应的高程插值;

量化模块,被配置为对所述高程插值进行量化,并将量化后的整数分解成分别表征R、G、B颜色通道数值的三个字节;

图片生成模块,被配置为基于三个所述字节,构造与所述请求参数对应的瓦片图片。

在一个实施方式中,所述基于高程数据文件的瓦片图片生成装置还包括:

预处理模块,被配置为基于所述请求参数,确定与所述请求参数对应的瓦片图片是否存在,若存在,直接获取对应的瓦片图片。

本发明的另一方面还提供了一种电子设备,所述电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上任一项所述的基于高程数据文件的瓦片图片生成方法的步骤。

本发明的另一方面还提供了一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的基于高程数据文件的瓦片图片生成方法的步骤。

采用上述技术方案,本发明至少具有下列优点:

本发明提供的高程数据文件的瓦片图片生成方法易于调用,应用本发明建立的高程数据服务对外输出的瓦片图片,与互联网高程数据服务输出的瓦片图片,在投影、格式、尺寸方面都有很多一致性。开发者使用插件或类库调用时,只需调整高程数据服务的网络路径即可正常使用。

并且,本发明可应用于离线运行,即应用本发明设计的高程数据服务可以在离线情况下独立运行。

附图说明

图1为根据本发明实施例的高程数据文件的瓦片图片生成方法流程图;

图2为根据本发明实施例的高程数据文件的瓦片图片生成装置组成结构示意图;

图3为根据本发明实施例的电子设备结构示意图。

具体实施方式

为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。

在附图中,为了便于说明,已稍微夸大了物体的厚度、尺寸和形状。附图仅为示例而并非严格按比例绘制。

还应理解的是,用语“包括”、“包括有”、“具有”、“包含”和/或“包含有”,当在本说明书中使用时表示存在所陈述的特征、整体、步骤、操作、元件和/或部件,但不排除存在或附加有一个或多个其它特征、整体、步骤、操作、元件、部件和/或它们的组合。此外,当诸如“...中的至少一个”的表述出现在所列特征的列表之后时,修饰整个所列特征,而不是修饰列表中的单独元件。此外,当描述本申请的实施方式时,使用“可以”表示“本申请的一个或多个实施方式”。并且,用语“示例性的”旨在指代示例或举例说明。

如在本文中使用的,用语“基本上”、“大约”以及类似的用语用作表近似的用语,而不用作表程度的用语,并且旨在说明将由本领域普通技术人员认识到的、测量值或计算值中的固有偏差。

除非另外限定,否则本文中使用的所有用语(包括技术用语和科学用语)均具有与本申请所属领域普通技术人员的通常理解相同的含义。还应理解的是,用语(例如在常用词典中定义的用语)应被解释为具有与它们在相关技术的上下文中的含义一致的含义,并且将不被以理想化或过度正式意义解释,除非本文中明确如此限定。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

本发明中说明书中对方法流程的描述及本发明说明书附图中流程图的步骤并非必须按步骤标号严格执行,方法步骤是可以改变执行顺序的。而且,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

为了更好的说明本发明所提供的实施例,首先对下列名词概念进行说明。

WGS84:全称World Geodetic System-1984,即1984年全球坐标系统,受益于美国GPS系统发展,现在是全球应用最为广泛的坐标系统。

墨卡托投影:Mercator,又名麦卡托投影、正轴等角圆柱投影,是一种等角的圆柱形地图投影法。该投影中现行比例尺在途中任一点周围保持不变,从而保持大陆轮廓投影后角度、形状不变;墨卡托投影会使面积变形,极点周边比例扩大到接近无穷。

伪墨卡托投影:Pseduo-Mercator或称为Web-Mercator,是墨卡托投影变体。WGS84坐标系的伪墨卡托投影是网络地图应用的标准投影。伪墨卡托投影和墨卡托投影不同,伪墨卡托投影在所有比例尺下使用球面公式,造成局部地区地图偏离同比例尺下的椭球面墨卡托地图。因此通常伪墨卡托投影仅用于网络地图服务。伪墨卡托投影数据覆盖范围为经度-180°到180°,纬度-85.051129°到85.051129°,会将部分南北极地区排除出显示范围。伪墨卡托投影缺点是变形失真严重,不利于大比例尺、高精度数据显示;优点是投影公式计算简单,投影结果正方形,切割成瓦片方便。

瓦片图片:访问互联网地图服务时,请求的某固定大小区域称为瓦片图片。本发明中沿用互联网地图服务常见的瓦片图片大小256*256像素。

切图:将整张地图图片按瓦片大小切割成瓦片图片的过程。

SRTM:全称Shuttle RadarTopography Mission,即航天飞机雷达地形测绘使命,为美国航空航天局(NASA)和国防部国家测绘局(NIMA)联合测量。SRTM数据以16为数值表达高程数值,各采样点高程范围为-12000m到+9000m。SRTM数据每个经纬度方格提供一个文件,精度有1弧秒和3弧秒两种,称为SRTM1和SRTM3,也称为30m和90m数据。对每个经纬度方格,SRTM1中每个文件包括3601*3601个采样点的高程数据,SRTM3则是1201*1201个。

瓦片序号:用于描述瓦片位置,包括层号(或称缩放比例)Z,横向坐标X,纵向坐标Y。每层都有固定的像素间隔,用于表达该层瓦片横向或纵向上两像素之间的在地理坐标间隔,且除顶层外每层的像素间隔都只有上一层的一半。根据每层的像素间隔,也可以确认瓦片在地理坐标的大小,本发明里称为瓦片边长。

地理坐标:具体某个地理位置,包括横向坐标X和纵向坐标Y。对WGS84坐标,横向X就是经度,纵向Y就是纬度。

原始数据瓦片:本发明中接受的原始数据,依照WGS84地理坐标切割成一系列方格,每个方格均具有统一的分辨率,如65*65(HeightMap格式)或3601*3601(SRTM1的HGT格式)等。

TMS:全称Tile Map Service,即瓦片地图服务,是一种常见的切图方式,排列顺序横向从左到右,纵向从下到上,横向和纵向坐标的数值从0开始。

本发明第一实施例,一种高程数据文件的瓦片图片生成方法,如图1所示,包括以下具体步骤:

步骤S1,根据请求参数获取指定瓦片的序号以及层号,利用序号以及层号确定瓦片对应的伪墨卡托地理坐标;

步骤S2,对伪墨卡托地理坐标进行采样插值,以确定对应的高程插值;

步骤S3,对高程插值进行量化,并将量化后的整数分解成分别表征R、G、B颜色通道数值的三个字节;

步骤S4,基于三个字节,构造与请求参数对应的瓦片图片。

下面将分布将本实施例所提供的方法进行详细说明。

步骤S1,根据请求参数获取指定瓦片的序号以及层号,利用序号以及层号确定瓦片对应的伪墨卡托地理坐标。

本实施例中,可以是从请求信息中的层号Z、横向纵向序号X

根据层号Z获得对应的瓦片边长L。取常用的伪墨卡托投影设置,地球的球半径R为6378137米,具体可以是:

L=2

投影后的伪墨卡托区域是正方形,在横向或纵向上两个相邻像素间差异L

待返回瓦片内像素位置(i,j)的位置(x,y),其伪墨卡托地理坐标是:

x=X

本实施例中,还可能从缓存路径中直接获取对应的瓦片图片,从而无需执行后续的图片生成处理。具体包括:

从请求参数获取指定的瓦片序号,包括瓦片的层号Z,瓦片横向纵向的序号X

根据请求信息,形成类似{Name}/{Z}/{Y

判断该路径的图片文件是否存在:如存在直接返回该缓存图片,否则进行步骤S1。

步骤S2,对伪墨卡托地理坐标进行采样插值,以确定对应的高程插值。

具体地,可以对上一步计算出的256*256个伪墨卡托地理坐标依次进行以下处理:

将伪墨卡托地理坐标(x,y)向WGS84坐标投影,获得WGS84坐标系下经度纬度对(λ,

从获得的WGS84坐标(λ,

进一步地,对SRTM的HGT格式数据,瓦片以文件如N{纬度}E{经度}.hgt的形式表达,因此直接对(λ,

类似命名规则的其他格式文件,寻找瓦片文件的方法类似,此处不再说明。

进一步地,对TMS瓦片命名方式摆放的文件,如部分数据提供商提供的HeightMap格式数据,除层号Z可能不同外需要计算瓦片序号(λ

其中,λ,

进一步地,根据获得的瓦片序号,计算瓦片内偏移,具体的:

对SRTM的HGT格式数据,根据原始数据是1”还是3”分辨率,瓦片内分别是3601*3601或1201*1201的记录数据。记录数据的长和宽均为1+Q,其中Q是横向纵向上采样的数量,对SRTM1数据Q值是3600。那么瓦片内偏移(λ

其他具有类似命名规则的类似格式文件的处理,除分辨率对应的Q不一样方法无变化,此处不做额外说明。

进一步地,对以TMS瓦片命名方式摆放的文件,假设该TMS瓦片排列是,横向-180°到+180°,纵向-90°到+90°,其瓦片内偏移(λ

其中(λ

其中,Q是文件的采样数量。具体值需要根据文件格式判断,如HeightMap格式规定数据区域(64+1)*(64+1)个双字节整数,那么这里Q就是64。

进一步地,根据瓦片内偏移,对其偏移(λ

读取原始数据瓦片文件的数据,获得临近四个瓦片内偏移位置对应的高程数值,以计算该位置的高程插值h:

步骤S3,对高程插值进行量化,并将量化后的整数分解成分别表征R、G、B颜色通道数值的三个字节。

具体地,将计算后的高程插值h,乘以256后取整并保存成带符号整数H,取该整数的三个字节作为返回用的红绿蓝通道数值,具体的以编程伪代码表达是:H=ceil(h*256)。

其中ceil(x)为对x做向下取整,|H|为取绝对值,sign(h)表示取符号:

进一步地,将计算后的三个字节R

步骤S4,基于三个字节,构造与请求参数对应的瓦片图片。

具体地,对每个伪墨卡托地理坐标位置,计算好高程插值量化后的RGB数值后,构造256*256大小的24位图像存储区;

进一步地,用量化好的数值设置图像在对应位置(i,j)的颜色(R

可选地,保存图片为PNG格式,存储到步骤一里所说的缓存图片路径,之后返回刚保存的缓存图片作为请求的响应。

本实施例提供的高程数据文件的瓦片图片生成方法易于调用,应用本发明建立的高程数据服务对外输出的瓦片图片,与互联网高程数据服务输出的瓦片图片,在投影、格式、尺寸方面都有很多一致性。开发者使用插件或类库调用时,只需调整高程数据服务的网络路径即可正常使用。并且,本发明可应用于离线运行,即应用本发明设计的高程数据服务可以在离线情况下独立运行。

本发明第二实施例,与第一实施例对应,本实施例介绍一种高程数据文件的瓦片图片生成装置,如图2所示,包括以下组成部分:

坐标确定模块,根据请求参数获取指定瓦片的序号以及层号,利用序号以及层号确定瓦片对应的伪墨卡托地理坐标;

插值模块,被配置为对伪墨卡托地理坐标进行采样插值,以确定对应的高程插值;

量化模块,被配置为对高程插值进行量化,并将量化后的整数分解成分别表征R、G、B颜色通道数值的三个字节;

图片生成模块,被配置为基于三个字节,构造与请求参数对应的瓦片图片。

本发明第三实施例,一种电子设备,可以作为实体装置来理解,包括处理器以及存储有所述处理器可执行指令的存储器,当所述指令被处理器执行时,执行如下操作:

步骤S1,根据请求参数获取指定瓦片的序号以及层号,利用序号以及层号确定瓦片对应的伪墨卡托地理坐标;

步骤S2,对伪墨卡托地理坐标进行采样插值,以确定对应的高程插值;

步骤S3,对高程插值进行量化,并将量化后的整数分解成分别表征R、G、B颜色通道数值的三个字节;

步骤S4,基于三个字节,构造与请求参数对应的瓦片图片。

本发明第四实施例,本实施例的高程数据文件的瓦片图片生成方法的流程与第一、二或三实施例相同,区别在于,在工程实现上,本实施例可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的所述方法可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台设备执行本发明实施例所述的方法。

综上,相较于现有技术,本发明至少具备以下优点:

1)本发明提供的高程数据文件的瓦片图片生成方法易于调用,应用本发明建立的高程数据服务对外输出的瓦片图片,与互联网高程数据服务输出的瓦片图片,在投影、格式、尺寸方面都有很多一致性。开发者使用插件或类库调用时,只需调整高程数据服务的网络路径即可正常使用;

2)本发明可应用于离线运行,即应用本发明设计的高程数据服务可以在离线情况下独立运行。

通过具体实施方式的说明,应当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本发明加以限制。

相关技术
  • 一种基于社交网络的图片标题生成方法、装置及设备
  • 一种图片验证码的生成方法、装置、设备及介质
  • 一种基于生成对抗网络的图片合成方法
  • 一种高程瓦片地图的生成方法和装置
  • 一种高程瓦片地图的生成方法和装置
技术分类

06120115707637