一种基于三维探地雷达数据的全时空检索方法及系统与流程

文档序号:32206136发布日期:2022-11-16 04:42阅读:137来源:国知局
一种基于三维探地雷达数据的全时空检索方法及系统与流程

1.本发明涉及一种数据检索方法,尤其涉及一种基于三维探地雷达数据的全时空检索方法,还涉及采用了该基于三维探地雷达数据的全时空检索方法的全时空检索系统。


背景技术:

2.探地雷达是一种电磁波无损探测技术。探地雷达通过天线向地下发射高频电磁波并接收地下目标的回波,来探测地下介质的物质特性和分布规律。由于三维探地雷达的应用领域比较特殊,其探测收集到的数据量比较大,在现有技术中,用户只能在探测完成后单个调出某次探测的测线数据打开查看和分析,无法结合地图随时随地的直观展示出探地结果及其信息,尤其是想要从海量的数据中快速检索出某个地点和/或某个时间的数据,是非常困难的,因此无法满足直观的全时空检索需求。


技术实现要素:

3.本发明所要解决的技术问题是需要提供一种能够实现在地图任意位置和/或任意时间展示出该位置范围内的所有已探测的三维探地雷达数据,以便能够更直观地看出道路质量以及安全隐患的基于三维探地雷达数据的全时空检索方法。在此基础上,还进一步提供采用了该基于三维探地雷达数据的全时空检索方法的全时空检索系统。
4.对此,本发明提供一种基于三维探地雷达数据的全时空检索方法,包括以下步骤:步骤s1,将三维探地雷达采集的原始数据根据瓦片坐标系转换成瓦片图片并进行缓存;步骤s2,根据转换后得到的瓦片图片与采集日期建立数据索引,并通过层级对应关系插入至数据库表;步骤s3,通过客户端地图应用携带时空参数发送全时空检索请求;步骤s4,服务端在接收到所述全时空检索请求后进行数据检索,返回检索结果对应的瓦片图片数据流;步骤s5,客户端地图应用接收返回的所述瓦片图片数据流之后,通过坐标转换实现所述瓦片图片数据流在地图上的贴片。
5.本发明的进一步改进在于,所述步骤s1包括以下子步骤:步骤s101,定义瓦片坐标系的有效层级level;步骤s102,读取三维探地雷达采集的原始数据的修改时间,以所述修改时间作为采集时间collectdate,读取原始数据的文件总长度totallength,根据原始数据的每4字节为一个整型数字,然后先读取4字节原始数据转换为整数以作为道号总数tracenumber,再依次读取4字节原始数据转换为整数以作为采样层数samplesnumber,通过公式channelnumber=(totallength-8)/tracenumber/samplesnumber/4计算出雷达通道数channelnumber;步骤s103,根据所述雷达通道数channelnumber进行依次循环,在道号路径方向的
垂直方向将每个通道数据进行依次排列,并计算出每个通道下的垂直方位角度偏移后的经纬度位置cn(lng, lat);步骤s104,根据经纬度位置cn(lng, lat)以及有效层级level,计算出瓦片坐标位置(x,y)和瓦片图片中的像素位置(pixelx,pixely);步骤s105,在雷达通道cn下继续循环总采样层数samplesnumber,根据当前采样层数sn设置瓦片图片存储相对路径tileimage,并判断当前路径下文件是否已经存在,如果不存在则新建一个256*256空白图片,如果存在则跳转至步骤s106;步骤s106,在采样层数sn下继续循环道号数tracenumber,根据当前道号tn读取三维雷达数据中的位置,从该位置开始读取4个字节然后转换成整型数字value,将整型数字value分别作为rgba颜色代码的rgb颜色值,a设置为255表示不透明,根据步骤s104计算出的像素位置(pixelx,pixely)将rgba值绘制在图片存储相对路径tileimage的指定像素坐标位置上。
6.本发明的进一步改进在于,所述步骤s103中,先根据前后相邻的2个道号坐标计算这2个道号之间的垂直方位角度bearing,然后根据每个通道在上一个通道偏移的经纬度cn-1(lng,lat)下的垂直偏移距离d=1.5/channelnumber,计算出每个通道下的垂直方位角度偏移后的经纬度位置cn(lng, lat)。
7.本发明的进一步改进在于,所述步骤s104中,通过公式和分别计算瓦片坐标位置(x,y)中的横轴坐标x和竖轴坐标y,其中,lng表示经纬度位置的横坐标,lat表示经纬度位置的纵坐标;通过公式和分别计算瓦片图片中像素位置(pixelx,pixely)的瓦片图横轴坐标pixelx和瓦片图竖轴坐标pixely,其中,lng表示经纬度位置的横坐标。
8.本发明的进一步改进在于,所述步骤s106中,通过表达式dataindex=(8+channelnumber*samplesnumber*tn)读取三维雷达数据中的位置dataindex。
9.本发明的进一步改进在于,所述步骤s2包括以下子步骤:
步骤s201,在数据库新建数据库表t_tile_index,所述数据库表t_tile_index包含瓦片图对应的雷达数据采集日期collectdate、瓦片x坐标、瓦片y坐标、瓦片有效层级level以及采样层数sn;步骤s202,将瓦片对应的雷达数据采集日期collectdate、瓦片x坐标、瓦片y坐标、瓦片有效层级level以及采样层数sn对应插入至所述数据库表t_tile_index。
10.本发明的进一步改进在于,所述步骤s3包括以下子步骤:步骤s301,打开客户端地图,创建瓦片图层用于展示检索的雷达数据水平切面图;步骤s302,通过检索按钮在地图弹出检索条件窗口;步骤s303,在检索窗口中输入要查看的探测日期范围和地下水平采样层级;步骤s304,通过检索按钮在地图上添加新的底图作为雷达数据的图形展示层,地图根据当前视窗内的所有瓦片向服务端发送http请求,请求方式为get请求,请求中携带瓦片x坐标、瓦片y坐标、地图放大级别z、检索日期date以及地下深度位置参数depth,所述地图放大级别z取值为瓦片有效层级level。
11.本发明的进一步改进在于,所述步骤s4包括以下子步骤:步骤s401:根据请求参数中的瓦片x坐标、瓦片y坐标、地图放大级别z、检索日期范围和采样层数sn在数据库表t_data_index检索雷达数据采集日期collectdate在检索日期范围内的数据,且瓦片x坐标、瓦片y坐标、地图放大级别z以及采样层数sn均匹配的数据,如果存在多个数据,则选择雷达数据采集日期collectdate距离当前日期最近的一个;如果数据不存在,则返回一个256*256像素的空白图片;步骤s402,将检索到的数据拼接成存储路径x/y/level/collectdate_sn.png,然后读取该路径下已缓存的瓦片图片;步骤s403,将所述瓦片图片转换成输出流返回给客户端。
12.本发明的进一步改进在于,所述步骤s5包括以下子步骤:步骤s501,接收服务端响应,获取瓦片图片数据流。
13.步骤s502,将所述瓦片图片数据流的瓦片位置坐标转换为视窗屏幕像素位置坐标,进而将瓦片图片贴在地图上以实现地图贴片。
14.本发明还提供一种基于三维探地雷达数据的全时空检索系统,采用了如上所述的基于三维探地雷达数据的全时空检索方法,并包括:图片缓存模块,将三维探地雷达采集的原始数据根据瓦片坐标系转换成瓦片图片并进行缓存;建立数据索引模块,根据转换后得到的瓦片图片与采集日期建立数据索引,并通过层级对应关系插入至数据库表;发送请求模块,通过客户端地图应用携带时空参数发送全时空检索请求;数据检索模块,服务端在接收到所述全时空检索请求后进行数据检索,返回检索结果对应的瓦片图片数据流;地图贴片模块,客户端地图应用接收返回的所述瓦片图片数据流之后,通过坐标转换实现所述瓦片图片数据流在地图上的贴片。
15.与现有技术相比,本发明的有益效果在于:在探地雷达进行地下环境信息和埋藏物的采集完成后,针对三维探地雷达数据量大、检索困难以及数据专业性强的特点,实现了
在地图上任意位置、任意时间内快速检索出相应的雷达数据,并自动将其转换成图片在地图上实现贴片展示,在此基础上,还通过缓存技术保证了整体方案的响应速度,避免实际操作加载时间过长等问题,以便直观地看出道路质量以及安全隐患,提高了用户体验和检索效率,提升检索的灵活程度、高效性能以及有效性能。
附图说明
16.图1是本发明一种实施例的工作流程示意图。
具体实施方式
17.下面结合附图,对本发明的较优的实施例作进一步的详细说明。
18.如图1所示,本实施例提供一种基于三维探地雷达数据的全时空检索方法,包括以下步骤:步骤s1,将三维探地雷达采集的原始数据根据瓦片坐标系转换成瓦片图片并进行缓存;步骤s2,根据转换后得到的瓦片图片与采集日期建立数据索引,并通过层级对应关系插入至数据库表;步骤s3,通过客户端地图应用携带时空参数发送全时空检索请求;步骤s4,服务端在接收到所述全时空检索请求后进行数据检索,返回检索结果对应的瓦片图片数据流;步骤s5,客户端地图应用接收返回的所述瓦片图片数据流之后,通过坐标转换实现所述瓦片图片数据流在地图上的贴片。
19.本实施例所述步骤s1针对三维探地雷达数据的原始数据根据瓦片坐标系转换成瓦片图片并进行缓存,所述瓦片图片简称瓦片或瓦片图,进而为后续步骤提供缓存图片基础,以提高整体的响应速度。值得说明的是,本实施例所述步骤s1根据瓦片坐标系转换成瓦片图片并进行缓存的过程并不是直接采用现有技术中的瓦片转换,而是结合了三维探地雷达数据的特殊性进行了改进,以便满足其实际应用需求,具体的实现过程包括步骤s101至步骤s106。本实施例所述客户端地图应用指的是前端应用,也可以简称客户端或前端。
20.本实施例所述步骤s1包括以下子步骤:步骤s101,定义瓦片坐标系的有效层级level,所述有效层级level为预先设置的放大层级,在本实施例中优选为18;步骤s102,读取三维探地雷达采集的原始数据的修改时间,以所述修改时间作为采集时间collectdate,读取原始数据的文件总长度totallength,根据原始数据的每4字节为一个整型数字,然后先读取4字节原始数据转换为整数以作为道号总数tracenumber,再依次读取4字节原始数据转换为整数以作为采样层数samplesnumber,通过公式channelnumber=(totallength-8)/tracenumber/samplesnumber/4计算出雷达通道数channelnumber;步骤s103,根据所述雷达通道数channelnumber进行依次循环,当前的雷达通道表示为cn,n表示从0到channelnumber-1的自然数,由于每个雷达在一个道号上有多个通道,而该道号只记录了一个坐标,因此,本实施例在道号路径方向的垂直方向将每个通道数据
进行依次排列,并计算出每个通道下的垂直方位角度偏移后的经纬度位置cn(lng, lat);步骤s104,根据经纬度位置cn(lng, lat)以及有效层级level,计算出瓦片坐标位置(x,y)和瓦片图片中的像素位置(pixelx,pixely);步骤s105,在雷达通道cn下继续循环总采样层数samplesnumber,根据当前采样层数sn设置瓦片图片存储相对路径tileimage为x/y/level/collectdate_sn.png,并判断当前路径下文件是否已经存在,如果不存在则新建一个256*256空白图片,如果存在则跳转至步骤s106;步骤s106,在采样层数sn下继续循环道号数tracenumber,根据当前道号tn读取三维雷达数据中的位置,所述位置指的是数据起始位置dataindex=(8+channelnumber*samplesnumber*tn),从该位置开始读取4个字节,每个字节为8位二进制数,可表示为一个16进制数,然后将4位16进制转换成十进制整数value,转换过程如下:第1位乘以 加上第2位乘以加上第3位乘以16加上第4位;颜色(r,g,b,a)中r表示红色,g表示绿色,b表示蓝色,a表示透明度,r、g、b、a的每个数值取值范围为0~255,将16进制转换成的十进制整数value作为颜色(r,g,b,a)中的rgb颜色值,a设置为255表示不透明,根据步骤s104计算出的像素位置(pixelx,pixely)将rgba颜色值(即十进制整数value)绘制在图片存储相对路径tileimage的指定像素坐标位置上。
21.本实施例所述步骤s103中,垂直方位角度计算方式为,取出每个道号以及下一个道号对应的经纬度坐标作为前后相邻的2个道号坐标;如果是最后一个道号,则取出上一个道号和当前道号对应的经纬度坐标前后相邻的2个道号坐标。先根据前后相邻的2个道号坐标计算这2个道号之间的垂直方位角度bearing,所述垂直方位角度bearing指的是从北线(0度)开始以度为单位的测量角度,垂直方位角度bearing的计算方式为:根据公式计算出垂直方位角度bearing,其中,lng1和lat1分别为前后相邻的2个道号的第1个道号的经度和维度,lng2和lat2分别为前后相邻的2个道号的第2个道号的经度和维度;度数值转换弧度公式degreestoradians=,degrees表示经度或者纬度;弧度转换度数公式radianstodegrees=,radians表示弧度,degrees表示度数。
22.然后根据每个通道在上一个通道偏移的经纬度cn-1(lng,lat)下的垂直偏移距离d=1.5/channelnumber,即以雷达扫描的宽度为系数求取垂直偏移距离d,单位为米,计算出每个通道下的垂直方位角度偏移d米之后的经纬度位置cn(lng, lat),计算方式如下:先将经度lng、维度lat以及垂直方位角bearing根据上面的公式degreestoradians分别转换为弧度值lng1、lat1以及bearingrad,然后计算radians=d/6373000,则偏移后的弧度值分别为lat2= ,,则每个通道下的垂直方位角度偏移d米之后的经纬度坐标为cn(lng,lat)=cn(radianstodegrees(lng2),radianstodegrees
(lat2))。
23.本实施例所述瓦片坐标系定义为:经过墨卡托投影,截取了预设纬度范围之间部分的地球,预设纬度范围可以根据实际情况进行自定义设置和修改,本实施例优选为85.05
º
s和85.05
º
n,使得投影后的平面地图水平方向和垂直方向长度相等。将墨卡托投影地图的左上角作为瓦片坐标系起点,往左方向为x轴,x轴与北纬85.05
º
重合且方向向左;往下方向为y轴,y轴与东经180
º
(亦为西经180
º
)重合且方向向下。瓦片坐标最小等级为0级,此时平面地图是一个像素为256*256的瓦片。在某一瓦片有效层级level下,瓦片坐标的x轴和y轴各有2
level
个瓦片编号,瓦片地图上的瓦片总数为2
level
*2
level

24.其中,本实施例所述步骤s104中,通过公式和分别计算瓦片坐标位置(x,y)中的横轴坐标x和竖轴坐标y,其中,lng表示经纬度位置的横坐标,lat表示经纬度位置的纵坐标;通过公式和分别计算瓦片图片中像素位置(pixelx,pixely)的瓦片图横轴坐标pixelx和瓦片图竖轴坐标pixely,其中,lng表示经纬度位置的横坐标,指的是乘以256然后再除以256取余数。
25.本实施例所述步骤s2包括以下子步骤:步骤s201,在数据库新建数据库表t_tile_index,所述数据库表t_tile_index包含瓦片图对应的雷达数据采集日期collectdate、瓦片x坐标、瓦片y坐标、瓦片有效层级level以及采样层数sn;步骤s202,将瓦片对应的雷达数据采集日期collectdate、瓦片x坐标、瓦片y坐标、瓦片有效层级level以及采样层数sn对应插入至所述数据库表t_tile_index。
26.本实施例所述步骤s3包括以下子步骤:步骤s301,打开客户端地图,创建瓦片图层用于展示检索的雷达数据水平切面图;步骤s302,通过检索按钮在地图弹出检索条件窗口;步骤s303,在检索窗口中输入要查看的探测日期范围和地下水平采样层级;步骤s304,通过检索按钮在地图上添加新的底图作为雷达数据的图形展示层,地
图根据当前视窗内的所有瓦片向服务端发送http请求,请求方式为get请求,采集类别为image/png,请求(全时空检索请求对应的http请求)中携带瓦片x坐标、瓦片y坐标、地图放大级别z、检索日期date以及地下深度位置参数depth,所述地图放大级别z取值为瓦片有效层级level。
27.本实施例所述步骤s4包括以下子步骤:步骤s401:根据请求参数中的瓦片x坐标、瓦片y坐标、地图放大级别z、检索日期范围(fromdate至todate)和采样层数sn在数据库表t_data_index检索雷达数据采集日期collectdate在检索日期范围内的数据,且瓦片x坐标、瓦片y坐标、地图放大级别z以及采样层数sn均匹配的数据,如果存在多个数据,则选择雷达数据采集日期collectdate距离当前日期最近的一个;如果数据不存在,则返回一个256*256像素的空白图片; fromdate指的是起始检索日期,todate指的是终止检索日期;步骤s402,将检索到的数据拼接成存储路径x/y/level/collectdate_sn.png,然后读取该路径下所述步骤s1已缓存的瓦片图片;步骤s403,将所述瓦片图片转换成输出流返回给客户端。
28.本实施例所述步骤s5包括以下子步骤:步骤s501,接收服务端响应,获取瓦片图片数据流。
29.步骤s502,将所述瓦片图片数据流的瓦片位置坐标转换为视窗屏幕像素位置坐标,进而将瓦片图片贴在地图上以实现地图贴片。
30.本实施例还提供一种基于三维探地雷达数据的全时空检索系统,采用了如上所述的基于三维探地雷达数据的全时空检索方法,并包括:图片缓存模块,将三维探地雷达采集的原始数据根据瓦片坐标系转换成瓦片图片并进行缓存;建立数据索引模块,根据转换后得到的瓦片图片与采集日期建立数据索引,并通过层级对应关系插入至数据库表;发送请求模块,通过客户端地图应用携带时空参数发送全时空检索请求;数据检索模块,服务端在接收到所述全时空检索请求后进行数据检索,返回检索结果对应的瓦片图片数据流;地图贴片模块,客户端地图应用接收返回的所述瓦片图片数据流之后,通过坐标转换实现所述瓦片图片数据流在地图上的贴片。
31.综上所述,本实施例在探地雷达进行地下环境信息和埋藏物的采集完成后,针对三维探地雷达数据量大、检索困难以及数据专业性强的特点,实现了在地图上任意位置、任意时间内快速检索出相应的雷达数据,并自动将其转换成图片在地图上实现贴片展示,在此基础上,还通过缓存技术保证了整体方案的响应速度,避免实际操作加载时间过长等问题,以便直观地看出道路质量以及安全隐患,提高了用户体验和检索效率,提升检索的灵活程度、高效性能以及有效性能。
32.以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1