免切片遥感影像加载的方法、装置、设备和介质与流程

未命名 10-25 阅读:73 评论:0


1.本技术涉及遥感影像加载技术领域,尤其是涉及一种免切片遥感影像加载的方法、装置、设备和介质。


背景技术:

2.遥感影像作为重要的地理信息数据,在各种地理信息系统中需要频繁的加载使用。web端地理信息系统加载遥感影像是其系统的基本功能,其目的是为系统场景提供真实的底图数据。
3.相关技术中,web端地理信息系统加载遥感影像是将需要加载的遥感影像进行数据切片,并依靠数据中台产品将切片数据发布成数据服务。进一步在web端调用加载数据服务,实现遥感影像的加载展示。
4.然而,预先进行数据切片过程耗时长,导致数据加载的耗时长效率低,且遥感影像切片生成的瓦片数据也需要占用额外的存储空间。


技术实现要素:

5.本技术的目的在于提供一种免切片遥感影像加载的方法、装置、设备和介质,可直接读取遥感影像并进行加载展示,数据加载展示不再依赖于数据服务,遥感影像数据的加载展示效率大大提高。
6.第一方面,本发明提供一种免切片遥感影像加载的方法,方法包括:响应瓦片处理请求,确定待加载的瓦片范围和分辨率;响应针对遥感影像元数据信息的加载请求,在目标存储位置处读取遥感影像元数据信息;基于瓦片范围、分辨率和遥感影像元数据信息计算遥感影像数据分块;响应遥感影像数据分块的请求,读取遥感影像数据分块,对遥感影像数据分块进行拼接处理,生成前端加载所对应的目标瓦片数据。
7.在可选的实施方式中,响应瓦片处理请求,确定待加载的瓦片范围和分辨率,包括:响应瓦片处理请求,获取前端拾取操作所对应的地图坐标;根据屏幕尺寸及拾取操作所对应的地图坐标确定屏幕可视范围的地图坐标范围,并基于地图坐标范围确定待加载的瓦片范围;基于地球周长、瓦片尺寸和瓦片层级确定目标层级瓦片的分辨率。
8.在可选的实施方式中,响应针对遥感影像元数据信息的加载请求,在目标存储位置处读取遥感影像元数据信息,包括:响应针对遥感影像元数据信息的加载请求,判断前端共享缓存中是否存储有待加载的遥感影像元数据信息;若前端共享缓存中存在待加载的遥感影像元数据信息,直接读取共享缓存中的遥感影像元数据信息;若前端共享缓存中不存在待加载的遥感影像元数据信息,前端通过多个webworker线程同步向后端发起请求,获取存储在共享存储或者对象存储中的遥感影像元数据信息。
9.在可选的实施方式中,基于瓦片范围、分辨率和遥感影像元数据信息计算遥感影像数据分块,包括:根据分辨率确定待加载的遥感影像元数据信息的最大瓦片层级;根据待加载的遥感影像元数据信息的范围和最大瓦片层级计算待加载的遥感影像元数据信息的
最小瓦片层级;从最大瓦片层级开始,将瓦片层级依次递减,分别计算待加载的遥感影像元数据信息在各瓦片层级上所覆盖的瓦片范围;基于各瓦片层级的瓦片范围计算遥感影像数据分块。
10.在可选的实施方式中,对遥感影像数据分块进行拼接处理,生成前端加载所对应的目标瓦片数据,包括:计算各瓦片层级下前端可视范围内地图坐标范围;基于地图坐标范围和待加载影像的投影范围确定前端可视范围内加载影像的初始瓦片层级;计算前端可视范围内初始瓦片层级所对应的瓦片范围;根据初始瓦片层级所对应的瓦片范围获取相应的瓦片数据,将瓦片数据进行拼接。
11.在可选的实施方式中,方法还包括:构建多个webworker线程之间实时同步的共享缓存机制,包括lru共享缓存和indexdb本地缓存二级缓存;将前端获取到的遥感影像元数据信息、影像分块数据存储在共享缓存中,需要再次请求遥感影像元数据信息、影像分块数据时,直接使用共享缓存中的数据资源。
12.在可选的实施方式中,方法还包括:响应于前端页面的缩放操作或平移操作时,计算前端可视范围;根据瓦片层级及前端可视范围的四角坐标计算前端可视范围内相应层级的瓦片范围,并将瓦片范围内拼接完成的瓦片数据进行前端可视化处理。
13.第二方面,本发明提供一种免切片遥感影像加载的装置,装置包括:确定模块,用于响应瓦片处理请求,确定待加载的瓦片范围和分辨率;读取模块,用于响应针对遥感影像元数据信息的加载请求,在目标存储位置处读取遥感影像元数据信息;计算模块,用于基于瓦片范围、分辨率和遥感影像元数据信息计算遥感影像数据分块;加载数据生成模块,用于响应遥感影像数据分块的请求,读取遥感影像数据分块,对遥感影像数据分块进行拼接处理,生成前端加载所对应的目标瓦片数据。
14.第三方面,本发明提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现前述实施方式任一项的免切片遥感影像加载的方法。
15.第四方面,本发明提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现前述实施方式任一项的免切片遥感影像加载的方法。
16.本技术提供的免切片遥感影像加载的方法、装置、设备和介质,无需提前进行遥感影像数据切片,可直接读取遥感影像并进行加载展示;影像数据的加载不再依赖于数据服务,大大提升了遥感影像数据的加载展示效率。
附图说明
17.为了更清楚地说明本技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1为本技术实施例提供的一种免切片遥感影像加载的方法的流程图;
图2为本技术实施例提供的一种具体的免切片遥感影像加载的方法的流程图;图3为本技术实施例提供的一种多线程共享缓存机制处理前端请求的流程图;图4为本技术实施例提供的一种前后端数据请求工作示意图;图5为本技术实施例提供的一种共享缓存机制工作示意图;图6为本技术实施例提供的一种确定加载所需数据分块流程图;图7为本技术实施例提供的一种拼接生成瓦片数据流程图;图8为本技术实施例提供的一种免切片遥感影像加载的装置的结构图;图9为本技术实施例提供的一种电子设备的结构图。
具体实施方式
19.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。
20.因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
21.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
22.本技术实施例提供了一种免切片遥感影像加载的方法,参见图1所示,该方法主要包括以下步骤s110至步骤s140:步骤s110,响应瓦片处理请求,确定待加载的瓦片范围和分辨率;步骤s120,响应针对遥感影像元数据信息的加载请求,在目标存储位置处读取遥感影像元数据信息;步骤s130,基于瓦片范围、分辨率和遥感影像元数据信息计算遥感影像数据分块;步骤s140,响应遥感影像数据分块的请求,读取遥感影像数据分块,对遥感影像数据分块进行拼接处理,生成前端加载所对应的目标瓦片数据。
23.为便于理解,以下对该方法进行详细说明。
24.在可选的实施方式中,可以预先构建共享缓存机制,具体的,构建多个webworker线程之间实时同步的共享缓存机制,包括lru共享缓存和indexdb本地缓存二级缓存;将前端获取到的遥感影像元数据信息、影像分块数据存储在共享缓存中,需要再次请求遥感影像元数据信息、影像分块数据时,直接使用共享缓存中的数据资源。
25.在一种实施方式中,上述响应瓦片处理请求,确定待加载的瓦片范围和分辨率,在具体实施时,可以包括以下步骤1.1)至步骤1.3):步骤1.1),响应瓦片处理请求,获取前端拾取操作所对应的地图坐标。
26.在实际应用中,前端页面与地图已经绑定了鼠标的click事件,地图的坐标系为web墨卡托投影坐标系(epsg:3857)。因此,可通过鼠标的拾取操作,获取鼠标点击处的地图坐标(也即前端拾取操作所对应的地图坐标),记为。
27.步骤1.2),根据屏幕尺寸及拾取操作所对应的地图坐标确定屏幕可视范围的地图坐标范围,并基于地图坐标范围确定待加载的瓦片范围。
28.在一种实施方式中,可以根据屏幕尺寸及鼠标位置(假定鼠标点击处位置为屏幕的中心位置)确定屏幕可视范围的地图坐标范围,该屏幕可视范围的地图坐标范围也即待加载的瓦片范围。
29.步骤1.3),基于地球周长、瓦片尺寸和瓦片层级确定目标层级瓦片的分辨率。
30.在一种实施方式中,瓦片分辨率由瓦片层级、瓦片大小决定。瓦片大小一般为256
×
256像素,第n层级瓦片分辨率为:(1)式(1)中,为n层级瓦片的分辨率,m/pixel;为地球周长,km,这里取40075.0166855784 km;为瓦片大小,pixel,这里取256 pixel;为瓦片层级。根据上式,计算0-25层级瓦片相应的瓦片个数与瓦片分辨率见表1。
31.表 1 瓦片层级与瓦片分辨率的关系表
在一种实施方式中,上述响应针对遥感影像元数据信息的加载请求,在目标存储位置处读取遥感影像元数据信息,在具体实施时,可以采用以下步骤2.1)至步骤2.3):步骤2.1),响应针对遥感影像元数据信息的加载请求,判断前端共享缓存中是否存储有待加载的遥感影像元数据信息;步骤2.2),若前端共享缓存中存在待加载的遥感影像元数据信息,直接读取共享缓存中的遥感影像元数据信息;
步骤2.3),若前端共享缓存中不存在待加载的遥感影像元数据信息,前端通过多个webworker线程同步向后端发起请求,获取存储在共享存储或者对象存储中的遥感影像元数据信息。
32.进一步,上述基于瓦片范围、分辨率和遥感影像元数据信息计算遥感影像数据分块,在具体实施时,可以包括以下步骤3.1)至步骤3.4):步骤3.1),根据分辨率确定待加载的遥感影像元数据信息的最大瓦片层级。
33.在实际应用中,可以根据影像分辨率确定待加载影像的最大瓦片层级,具体的,包括以下步骤3.1.1和步骤3.1.2:步骤3.1.1,计算影像的分辨率;步骤3.1.2,通过分辨率从表1中查找和影像分辨率接近的层级,则为待加载影像的最大瓦片层级。
34.步骤3.2),根据待加载的遥感影像元数据信息的范围和最大瓦片层级计算待加载的遥感影像元数据信息的最小瓦片层级。
35.在一种实施方式中,可以根据待加载影像范围及计算待加载影像的最小瓦片层级。具体的,可以包括以下步骤3.2.1至步骤3.2.3:步骤3.2.1,获取待加载影像的地理范围。
36.一般来说,待加载遥感影像的坐标系为地理坐标,因此需要将待加载影像的坐标系转为web墨卡托参考系下的投影范围,以影像左上、右上、右下、左下的4点坐标为主要指标进行计算。
37.考虑到遥感影像在进行几何校正之后会出现变形等情况,因此本发明中待加载影像的投影范围为影像4点坐标值的极值。
38.设影像左上、右上、右下、左下的4点坐标分别为、、、,则待加载影像的投影范围的左上、右下两点坐标为、,其中各点坐标计算如下:(2)步骤3.2.2,计算待加载影像的最大瓦片层级下的瓦片范围。
39.在给定的瓦片层级n下,单张瓦片分辨率()及瓦片投影宽度()。
40.(3)式(3)中,为第n层级下单张瓦片的投影宽度,即单张瓦片所代表的实际宽度,m;为第n层级下单张瓦片分辨率,m/pixel;为单张瓦片的宽度,pixel。
41.web墨卡托地图投影起始点坐标为,假设地图上某点为,则该点所在的第n层级下瓦片的行列号,根据下式进行计算。
42.(4)
式(4)中,为p点所在第n层级的瓦片行号;为p点所在第n层级的瓦片列号;为向下取整函数;、为p点坐标;、为地图的起始坐标点p0的坐标,m,其中,,;为第n层级下单张瓦片的投影宽度,m。
43.根据式(3)、式(4)依次计算待加载影像的投影范围的左上点、右下点点所在层级下瓦片的行列号,即为影像最大瓦片层级下的瓦片范围。其中所计算的瓦片行列号为第层级瓦片范围的起始行号,起始列号,记为、;所计算的瓦片行列号为第层级瓦片范围的结束行号、结束列号,记为、。
44.步骤3.2.3,计算待加载影像的最小瓦片层级。
45.以层级开始,将瓦片层级依次递减,根据式(1)、式(3)、式(4)分别计算待加载影像在各瓦片层级上所覆盖的瓦片范围,即、、、。
46.当待加载影像在某瓦片层级上所覆盖的瓦片范围最小时,该层级则为待加载影像的最小瓦片层级,即:或者。
47.步骤3.3),从最大瓦片层级开始,将瓦片层级依次递减,分别计算待加载的遥感影像元数据信息在各瓦片层级上所覆盖的瓦片范围。
48.步骤3.4),基于各瓦片层级的瓦片范围计算遥感影像数据分块。
49.进一步,对遥感影像数据分块进行拼接处理,生成前端加载所对应的目标瓦片数据,在具体实施时,可以包括以下步骤4.1)至步骤4.4):步骤4.1),计算各瓦片层级下前端可视范围内地图坐标范围。
50.在一种实施方式中,第n瓦片层级下前端可视范围内地图坐标范围的计算。
51.根据获取到的鼠标点击处的地图坐标位置、屏幕尺度大小、屏幕视角范围百分比,计算第n瓦片层级下前端可视范围内的坐标范围:(5)式(5)中,、为第n瓦片层级下前端地图可视范围内x方向的最大值、最小值,m;、为第n瓦片层级下前端地图可视范围内y方向的最大值,最小值,m;为鼠标点击处的地图坐标,m;、为以鼠标点击点为中心的地图可视范围内x、y方向屏幕像素的变化量,%;、为屏幕的宽高,pixel,本发明中分别取1920、1080;为第n层级下瓦片的分辨率,m/pixel。
52.步骤4.2),基于地图坐标范围和待加载影像的投影范围确定前端可视范围内加载影像的初始瓦片层级。
53.一般来说,初始加载的影像为整张影像,即整张影像均在前端可视范围内加载显示,此时的瓦片层级,即为影像加载的初始层级。
54.以影像的最小瓦片层级为初始状态,根据式(5)计算层级下前端可视范围的坐标范围、、、,进而与待加载影像的投影范围左上、右下两点坐标进行比较,若同时满足式(6)条件,则该层级的上一层级为前端可视范围内加载影像的初始瓦片层级,即,否则,将层级递增,重复以上过程,直到满足条件。
55.(6)即。
56.步骤4.3),计算前端可视范围内初始瓦片层级所对应的瓦片范围。
57.根据式(3)、式(4)计算前端可视范围内第层级的瓦片范围,即加载显示瓦片的起始行号、起始列号、结束行号、结束列号。
58.步骤4.4),根据初始瓦片层级所对应的瓦片范围获取相应的瓦片数据,将瓦片数据进行拼接。
59.在一种实施方式中,可以根据所计算的第瓦片层级的瓦片范围,获取相应的瓦片,得到前端可视范围内的瓦片数,将这些瓦片进行拼接。
60.可选的,可以对加载的数据进行可视化范围更新,在具体实现时,可以响应于前端页面的缩放操作或平移操作时,计算前端可视范围;根据瓦片层级及前端可视范围的四角坐标计算前端可视范围内相应层级的瓦片范围,并将瓦片范围内拼接完成的瓦片数据进行前端可视化处理。
61.在实际应用中,当前端页面进行缩放(即瓦片层级发生变化)时,根据式(5)进行前端可视范围的计算,进而根据瓦片层级及可视范围的四角坐标,结合式(3)、式(4)计算前端可视范围内相应层级的瓦片范围(即瓦片的起始行列、结束行列),根据计算结果,将该区域的瓦片进行拼接,并进行加载显示。
62.当前端页面进行平移(同一瓦片层级内)时,根据式(5)计算同一层级下可视化范围,再结合式(3)、式(4)计算前端可视范围内相应层级的瓦片范围(即瓦片的起始行列、结束行列),并将该区域的瓦片进行拼接、加载显示。
63.本技术实施例还提供了一种具体的实施方式,参见图2所示,包括以下步骤1至步骤7:1、建立共享缓存机制该方法使用sharearraybuffer与webassembly技术,构建多个webworker之间共享缓存机制。
64.在实际应用中,可以利用webassembly技术的多线程能力,构建多个webworker线
程之间实时同步共享缓存机制,具体为lru共享缓存和indexdb本地缓存二级缓存,将前端获取到的遥感影像元数据信息、影像分块数据存储在共享缓存中,需要再次请求遥感影像元数据信息、影像分块数据时,直接使用共享缓存中的数据资源。
65.2、提高前端计算能力该方法使用webassembly技术,将c++代码编译为前端js语言可以调用的代码,使前端具有高性能计算能力。具体实现步骤为:a)编译c++代码将本技术中用来实现计算遥感影像数据分块、拼接生产瓦片数据的c++代码,通过webassembly技术编译为javascript语言。
66.b)前端运行c++代码前端调用编译后的javascript接口,在浏览器端运行内核为c++的wasm文件。
67.3、确定需要加载的瓦片范围和分辨率a)前端获取屏幕参数,通过webworker多线程向后端发起瓦片处理请求,参见图3所示。
68.一般来说,前端页面与地图已经绑定了鼠标的click事件,地图的坐标系为web墨卡托投影坐标系(epsg:3857)。因此,可通过鼠标的拾取操作,获取鼠标点击处的地图坐标,记为;进而根据屏幕尺寸及鼠标位置(假定鼠标点击处位置为屏幕的中心位置)确定屏幕可视范围的地图坐标范围。最后,将鼠标点击处地图的坐标位置、屏幕视角范围百分比等参数传递给webworker,进而通过webworker多线程向后端发起瓦片显示请求。
69.b)计算确定需要加载的瓦片范围和分辨率;瓦片分辨率由瓦片层级、瓦片大小决定。瓦片大小一般为256
×
256像素,第n层级瓦片分辨率为:(1)式(1)中,为n层级瓦片的分辨率,m/pixel;为地球周长,km,这里取40075.0166855784 km;为瓦片大小,pixel,这里取256 pixel;为瓦片层级。根据上式,计算0-25层级瓦片相应的瓦片个数与瓦片分辨率见上述表1。
70.4、读取遥感影像元数据信息。
71.获取遥感影像波段数、分辨率等元数据信息。获取时首先进行判断,在共享缓存中是否存在需要的遥感影像元数据信息。若共享缓存中存在需要的遥感影像元数据信息,直接读取缓存中的信息;若共享缓存中不存在需要的遥感影像元数据信息,则前端以同步方式向后端获取共享存储或对象存储中的遥感影像元数据信息,参见图4所示。
72.图5示出了上述共享缓存机制工作示意图。
73.在实际应用中,获取影像波段数、分辨率等元数据信息,具体步骤为:a)接受到前端发起的获取待加载遥感影像元数据信息的请求;b)判断前端共享缓存中是否存储有待加载遥感影像元数据信息;c)若前端共享缓存中存在待加载遥感影像元数据信息,直接读取共享缓存中的信
息;d)若前端共享缓存中不存在待加载遥感影像元数据信息,前端通过多个webworker线程同步向后端发起请求,获取存储在共享存储或者对象存储中的信息。
74.5、综合需加载瓦片范围、分辨率和遥感影像元数据计算遥感影像数据分块,参见图6所示。
75.依据步骤3与步骤4中获取的需加载瓦片范围、分辨率和遥感影像元数据信息,通过计算,确定本次瓦片处理请求需要加载的遥感影像数据分块。在具体实施时,可以采用以下方式执行:a)根据影像分辨率确定待加载影像的最大瓦片层级。
76.1) 计算影像的分辨率;2) 通过分辨率从表1中查找和影像分辨率接近的层级,则为待加载影像的最大瓦片层级。
77.b)根据待加载影像范围及计算待加载影像的最小瓦片层级。
78.1)获取待加载影像的地理范围。
79.一般来说,待加载遥感影像的坐标系为地理坐标,因此需要将待加载影像的坐标系转为web墨卡托参考系下的投影范围,以影像左上、右上、右下、左下的4点坐标为主要指标进行计算。
80.考虑到遥感影像在进行几何校正之后会出现变形等情况,因此本发明中待加载影像的投影范围为影像4点坐标值的极值。
81.设影像左上、右上、右下、左下的4点坐标分别为、、、,则待加载影像的投影范围的左上、右下两点坐标为、,其中各点坐标计算如下:(2)2)计算待加载影像的最大瓦片层级下的瓦片范围。
82.在给定的瓦片层级n下,单张瓦片分辨率()及瓦片投影宽度()。
83.(3)式(3)中,为第n层级下单张瓦片的投影宽度,即单张瓦片所代表的实际宽度,m;为第n层级下单张瓦片分辨率,m/pixel;为单张瓦片的宽度,pixel。
84.web墨卡托地图投影起始点坐标为,假设地图上某点为,则该点所在的第n层级下瓦片的行列号,根据下式进行计算。
85.(4)式(4)中,为p点所在第n层级的瓦片行号;为p点所在第n层级的瓦片列
号;为向下取整函数;、为p点坐标;、为地图的起始坐标点p0的坐标,m,其中,,;为第n层级下单张瓦片的投影宽度,m。
86.根据式(3)、式(4)依次计算待加载影像的投影范围的左上点、右下点点所在层级下瓦片的行列号,即为影像最大瓦片层级下的瓦片范围。其中所计算的瓦片行列号为第层级瓦片范围的起始行号,起始列号,记为、;所计算的瓦片行列号为第层级瓦片范围的结束行号、结束列号,记为、。
87.3)计算待加载影像的最小瓦片层级。
88.以层级开始,将瓦片层级依次递减,根据式(1)、式(3)、式(4)分别计算待加载影像在各瓦片层级上所覆盖的瓦片范围,即、、、。
89.当待加载影像在某瓦片层级上所覆盖的瓦片范围最小时,该层级则为待加载影像的最小瓦片层级,即:或者。
90.6、读取遥感影像数据分块。
91.读取本次瓦片处理请求需要加载的遥感影像数据分块。读取时首先进行判断,在共享缓存中是否存在需要的遥感影像数据分块。若共享缓存中存在需要的遥感影像数据分块,直接读取缓存中的数据;若共享缓存中不存在需要的遥感影像数据分块,则前端以同步方式向后端发起请求,读取共享存储或对象存储中的数据。
92.7、拼接生成瓦片数据。
93.对读取到的遥感影像数据分块,利用拼接算法生成前端加载需要的瓦片数据,参见图7所示。拼接完成后实时返回给前端进行加载展示。
94.a)第n瓦片层级下前端可视范围内地图坐标范围的计算。
95.根据获取到的鼠标点击处的地图坐标位置、屏幕尺度大小、屏幕视角范围百分比,计算第n瓦片层级下前端可视范围内的坐标范围:(5)式(5)中,、为第n瓦片层级下前端地图可视范围内x方向的最大值、最小值,m;、为第n瓦片层级下前端地图可视范围内y方向的最大值,最小值,m;为鼠标点击处的地图坐标,m;、为以鼠标点击点为中心的地图可视范围内x、y方向屏幕像素的变化量,%;、为屏幕的宽高,pixel,本发明中分别取1920、1080;为第n层级下瓦片的分辨率,m/pixel。
96.b)前端可视范围内加载影像初始瓦片层级的确定。
97.一般来说,初始加载的影像为整张影像,即整张影像均在前端可视范围内加载显
示,此时的瓦片层级,即为影像加载的初始层级。
98.以影像的最小瓦片层级为初始状态,根据式(5)计算层级下前端可视范围的坐标范围、、、,进而与待加载影像的投影范围左上、右下两点坐标进行比较,若同时满足式(6)条件,则该层级的上一层级为前端可视范围内加载影像的初始瓦片层级,即,否则,将层级递增,重复以上过程,直到满足条件。
99.(6)即。
100.c)前端可视范围内第瓦片层级的瓦片范围。
101.根据式(3)、式(4)计算前端可视范围内第层级的瓦片范围,即加载显示瓦片的起始行号、起始列号、结束行号、结束列号。
102.d)瓦片拼接。
103.根据所计算的第瓦片层级的瓦片范围,获取相应的瓦片,得到前端可视范围内的瓦片数,将这些瓦片进行拼接。
104.e)可视化范围更新。
105.当前端页面进行缩放(即瓦片层级发生变化)时,根据式(5)进行前端可视范围的计算,进而根据瓦片层级及可视范围的四角坐标,结合式(3)、式(4)计算前端可视范围内相应层级的瓦片范围(即瓦片的起始行列、结束行列),根据计算结果,将该区域的瓦片进行拼接,并进行加载显示。
106.当前端页面进行平移(同一瓦片层级内)时,根据式(5)计算同一层级下可视化范围,再结合式(3)、式(4)计算前端可视范围内相应层级的瓦片范围(即瓦片的起始行列、结束行列),并将该区域的瓦片进行拼接、加载显示。
107.综上,本技术实施例无需提前进行遥感影像数据切片,且影像数据的加载不依赖于数据服务。
108.基于上述方法实施例,本技术实施例还提供一种免切片遥感影像加载的装置,参见图8所示,该装置主要包括以下部分:确定模块810,用于响应瓦片处理请求,确定待加载的瓦片范围和分辨率;读取模块820,用于响应针对遥感影像元数据信息的加载请求,在目标存储位置处读取遥感影像元数据信息;计算模块830,用于基于瓦片范围、分辨率和遥感影像元数据信息计算遥感影像数据分块;加载数据生成模块840,用于响应遥感影像数据分块的请求,读取遥感影像数据分块,对遥感影像数据分块进行拼接处理,生成前端加载所对应的目标瓦片数据。
109.在可选的实施方式中,上述确定模块810,还用于:响应瓦片处理请求,获取前端拾取操作所对应的地图坐标;根据屏幕尺寸及拾取操作所对应的地图坐标确定屏幕可视范围的地图坐标范围,并基于地图坐标范围确定待加载的瓦片范围;基于地球周长、瓦片尺寸和瓦片层级确定目标层级瓦片的分辨率。
110.在可选的实施方式中,上述读取模块820,还用于:响应针对遥感影像元数据信息的加载请求,判断前端共享缓存中是否存储有待加载的遥感影像元数据信息;若前端共享缓存中存在待加载的遥感影像元数据信息,直接读取共享缓存中的遥感影像元数据信息;若前端共享缓存中不存在待加载的遥感影像元数据信息,前端通过多个webworker线程同步向后端发起请求,获取存储在共享存储或者对象存储中的遥感影像元数据信息。
111.在可选的实施方式中,上述计算模块830,还用于:根据分辨率确定待加载的遥感影像元数据信息的最大瓦片层级;根据待加载的遥感影像元数据信息的范围和最大瓦片层级计算待加载的遥感影像元数据信息的最小瓦片层级;从最大瓦片层级开始,将瓦片层级依次递减,分别计算待加载的遥感影像元数据信息在各瓦片层级上所覆盖的瓦片范围;基于各瓦片层级的瓦片范围计算遥感影像数据分块。
112.在可选的实施方式中,上述加载数据生成模块840,还用于:计算各瓦片层级下前端可视范围内地图坐标范围;基于地图坐标范围和待加载影像的投影范围确定前端可视范围内加载影像的初始瓦片层级;计算前端可视范围内初始瓦片层级所对应的瓦片范围;根据初始瓦片层级所对应的瓦片范围获取相应的瓦片数据,将瓦片数据进行拼接。
113.在可选的实施方式中,上述装置还包括,共享缓存机制构建模块,用于:构建多个webworker线程之间实时同步的共享缓存机制,包括lru共享缓存和indexdb本地缓存二级缓存;将前端获取到的遥感影像元数据信息、影像分块数据存储在共享缓存中,需要再次请求遥感影像元数据信息、影像分块数据时,直接使用共享缓存中的数据资源。
114.在可选的实施方式中,上述装置还包括,前端可视化模块,用于:响应于前端页面的缩放操作或平移操作时,计算前端可视范围;根据瓦片层级及前端可视范围的四角坐标计算前端可视范围内相应层级的瓦片范围,并将瓦片范围内拼接完成的瓦片数据进行前端可视化处理。
115.本技术实施例提供的免切片遥感影像加载的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,免切片遥感影像加载的装置的实施例部分未提及之处,可参考前述免切片遥感影像加载的方法实施例中相应内容。
116.本技术实施例还提供了一种电子设备,如图9所示,为该电子设备的结构示意图,其中,该电子设备100包括处理器91和存储器90,该存储器90存储有能够被该处理器91执行的计算机可执行指令,该处理器91执行该计算机可执行指令以实现上述任一项免切片遥感影像加载的方法。
117.在图9示出的实施方式中,该电子设备还包括总线92和通信接口93,其中,处理器91、通信接口93和存储器90通过总线92连接。
118.其中,存储器90可能包含高速随机存取存储器(ram,random access memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口93(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线92可以是isa(industry standard architecture,工业标准体系结构)总线、pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。所述总线92可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
119.处理器91可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器91中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器91可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器91读取存储器中的信息,结合其硬件完成前述实施例的免切片遥感影像加载的方法的步骤。
120.本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,该计算机可执行指令促使处理器实现上述免切片遥感影像加载的方法,具体实现可参见前述方法实施例,在此不再赘述。
121.本技术实施例所提供的免切片遥感影像加载的方法、装置、设备和介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
122.除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本技术的范围。
123.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件
产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
124.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。

技术特征:
1.一种免切片遥感影像加载的方法,其特征在于,所述方法包括:响应瓦片处理请求,确定待加载的瓦片范围和分辨率;响应针对遥感影像元数据信息的加载请求,在目标存储位置处读取遥感影像元数据信息;基于所述瓦片范围、所述分辨率和所述遥感影像元数据信息计算遥感影像数据分块;响应遥感影像数据分块的请求,读取所述遥感影像数据分块,对所述遥感影像数据分块进行拼接处理,生成前端加载所对应的目标瓦片数据。2.根据权利要求1所述的免切片遥感影像加载的方法,其特征在于,响应瓦片处理请求,确定待加载的瓦片范围和分辨率,包括:响应瓦片处理请求,获取前端拾取操作所对应的地图坐标;根据屏幕尺寸及拾取操作所对应的地图坐标确定屏幕可视范围的地图坐标范围,并基于所述地图坐标范围确定待加载的瓦片范围;基于地球周长、瓦片尺寸和瓦片层级确定目标层级瓦片的分辨率。3.根据权利要求1所述的免切片遥感影像加载的方法,其特征在于,响应针对遥感影像元数据信息的加载请求,在目标存储位置处读取遥感影像元数据信息,包括:响应针对遥感影像元数据信息的加载请求,判断前端共享缓存中是否存储有待加载的遥感影像元数据信息;若前端共享缓存中存在待加载的遥感影像元数据信息,直接读取共享缓存中的遥感影像元数据信息;若前端共享缓存中不存在待加载的遥感影像元数据信息,前端通过多个webworker线程同步向后端发起请求,获取存储在共享存储或者对象存储中的遥感影像元数据信息。4.根据权利要求1所述的免切片遥感影像加载的方法,其特征在于,基于所述瓦片范围、所述分辨率和所述遥感影像元数据信息计算遥感影像数据分块,包括:根据所述分辨率确定所述待加载的遥感影像元数据信息的最大瓦片层级;根据所述待加载的遥感影像元数据信息的范围和所述最大瓦片层级计算所述待加载的遥感影像元数据信息的最小瓦片层级;从所述最大瓦片层级开始,将瓦片层级依次递减,分别计算待加载的遥感影像元数据信息在各瓦片层级上所覆盖的瓦片范围;基于各瓦片层级的瓦片范围计算遥感影像数据分块。5.根据权利要求1所述的免切片遥感影像加载的方法,其特征在于,对所述遥感影像数据分块进行拼接处理,生成前端加载所对应的目标瓦片数据,包括:计算各瓦片层级下前端可视范围内地图坐标范围;基于所述地图坐标范围和待加载影像的投影范围确定前端可视范围内加载影像的初始瓦片层级;计算前端可视范围内所述初始瓦片层级所对应的瓦片范围;根据所述初始瓦片层级所对应的瓦片范围获取相应的瓦片数据,将所述瓦片数据进行拼接。6.根据权利要求1所述的免切片遥感影像加载的方法,其特征在于,所述方法还包括:构建多个webworker线程之间实时同步的共享缓存机制,包括lru共享缓存和indexdb
本地缓存二级缓存;将前端获取到的遥感影像元数据信息、影像分块数据存储在共享缓存中,需要再次请求遥感影像元数据信息、影像分块数据时,直接使用共享缓存中的数据资源。7.根据权利要求1所述的免切片遥感影像加载的方法,其特征在于,所述方法还包括:响应于前端页面的缩放操作或平移操作时,计算前端可视范围;根据瓦片层级及前端可视范围的四角坐标计算前端可视范围内相应层级的瓦片范围,并将所述瓦片范围内拼接完成的瓦片数据进行前端可视化处理。8.一种免切片遥感影像加载的装置,其特征在于,所述装置包括:确定模块,用于响应瓦片处理请求,确定待加载的瓦片范围和分辨率;读取模块,用于响应针对遥感影像元数据信息的加载请求,在目标存储位置处读取遥感影像元数据信息;计算模块,用于基于所述瓦片范围、所述分辨率和所述遥感影像元数据信息计算遥感影像数据分块;加载数据生成模块,用于响应遥感影像数据分块的请求,读取所述遥感影像数据分块,对所述遥感影像数据分块进行拼接处理,生成前端加载所对应的目标瓦片数据。9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1至7任一项所述的免切片遥感影像加载的方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现权利要求1至7任一项所述的免切片遥感影像加载的方法。

技术总结
本申请提供了一种免切片遥感影像加载的方法、装置、设备和介质,涉及遥感影像加载技术领域,该方法包括:响应瓦片处理请求,确定待加载的瓦片范围和分辨率;响应针对遥感影像元数据信息的加载请求,在目标存储位置处读取遥感影像元数据信息;基于瓦片范围、分辨率和遥感影像元数据信息计算遥感影像数据分块;响应遥感影像数据分块的请求,读取遥感影像数据分块,对遥感影像数据分块进行拼接处理,生成前端加载所对应的目标瓦片数据。本申请可直接读取遥感影像并进行加载展示,数据加载展示不再依赖于数据服务,遥感影像数据的加载展示效率大大提高。大大提高。大大提高。


技术研发人员:刘星 廖芳芳 王宇翔 刘富乾 苏永恒 马海波
受保护的技术使用者:航天宏图信息技术股份有限公司
技术研发日:2023.09.12
技术公布日:2023/10/20
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐