CN112381715B - 海量遥感影像并行生成地图瓦片的方法和装置 - Google Patents
海量遥感影像并行生成地图瓦片的方法和装置 Download PDFInfo
- Publication number
- CN112381715B CN112381715B CN202011280917.3A CN202011280917A CN112381715B CN 112381715 B CN112381715 B CN 112381715B CN 202011280917 A CN202011280917 A CN 202011280917A CN 112381715 B CN112381715 B CN 112381715B
- Authority
- CN
- China
- Prior art keywords
- tile
- level
- slice
- processor
- tiles
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000004364 calculation method Methods 0.000 claims abstract description 19
- 238000005516 engineering process Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/40—Scaling the whole image or part thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10032—Satellite or aerial image; Remote sensing
Abstract
本申请涉及一种海量遥感影像并行生成地图瓦片的方法,包括:瓦片创建阶段:第一处理器基于输入数据源,确定顶层瓦片层级,并根据顶层瓦片层级确定起始瓦片层级;并行运行的各切片处理器由起始瓦片层级开始进行向下逐级递归计算,确定各切片处理器中各切片任务的起始切片层级;各切片处理器根据起始切片层级对输入数据源进行切片,生成相应的影像瓦片;瓦片合并阶段由第二处理器根据接收到的影像瓦片的当前数量以及所配置并行运行的合并处理器的个数,将接收到的影像瓦片分配至各合并处理器进行瓦片合并。其通过将瓦片生成划分为瓦片创建阶段和瓦片合并阶段这两个阶段,这两个阶段均采用并行的方式进行,这也就大大提高了遥感影像切片的效率。
Description
技术领域
本申请涉及图像处理技术领域,尤其涉及一种海量遥感影像并行生成地图瓦片的方法和装置。
背景技术
地图瓦片是指将一定范围内的地图按照一定的尺寸和格式,按缩放级别或比例尺,切成若干行和列的正方形栅格图片,对切片后的正方向栅格图片被形象的成为瓦片。瓦片通常应用于B/S软件架构下,浏览器从服务器获取地图数据,由于瓦片相比正射影像图数据量小,查询检索快,因此是一种改善地图浏览用户体验的优化策略。随着遥感数据获取技术的日益发展,遥感影像的数据量正呈现几何级数的倍率增长,但现有的瓦片生成技术在处理数据量庞大的遥感影像时运算缓慢,处理效率低下。
在相关技术中,为了提升瓦片构建速度,通常会从改进图像采样方法、根据当前视口的变化动态切片的形式,将整个切片任务化整为零,调用开源切片工具实现瓦片创建、优化缓存机制、采用动态投影加影像快速裁剪算法等方式实现效率提升。但是,上述相关技术中要求正射影像必须具有相同的参考坐标系,并能够拼接成一张大图才能作为瓦片数据源,这就使得现有的瓦片生成技术在数据源的使用上具有一定的限制性,从而最终影响了瓦片生成的效率。
发明内容
有鉴于此,本申请提出了一种海量遥感影像并行生成地图瓦片的方法,可以有效提高瓦片生成效率。
根据本申请的一方面,提供了一种海量遥感影像并行生成地图瓦片的方法,包括:瓦片创建阶段和瓦片合并阶段;
其中,所述瓦片创建阶段,包括:
第一处理器基于输入数据源,确定顶层瓦片层级,并根据所述顶层瓦片层级确定起始瓦片层级;
并行运行的各切片处理器由所述起始瓦片层级开始进行向下逐级递归计算,确定各所述切片处理器中各切片任务的起始切片层级;
各所述切片处理器根据所述起始切片层级对所述输入数据源进行切片,生成相应的影像瓦片;
所述瓦片合并阶段,包括:
第二处理器根据接收到的所述影像瓦片的当前数量以及所配置并行运行的合并处理器的个数,将接收到的所述影像瓦片分配至各所述合并处理器进行瓦片合并。
在一种可能的实现方式中,所述瓦片创建阶段中各所述切片任务并行执行;所述瓦片合并阶段中各瓦片合并任务并行执行。
在一种可能的实现方式中,所述第一处理器基于输入数据源,确定顶层瓦片层级时,基于所述输入数据源中的各输入影像均位于同一瓦片的原则进行。
在一种可能的实现方式中,所述第一处理器基于输入数据源,确定顶层瓦片层级时,包括:
获取所述输入数据源的四至范围;
确定所述输入数据源的最大分辨率,并确定所述最大分辨率所在的瓦片层级,由所述最大分辨率所在的瓦片层级开始逐级向上进行递归计算,得到当前瓦片层级;
根据所述当前瓦片层级所对应的地理范围与所述输入数据源的四至范围,确定所述当前瓦片层级是否为所述顶层瓦片层级。
在一种可能的实现方式中,根据所述当前瓦片层级所对应的地理范围与所述输入数据源的四至范围,确定所述当前瓦片层级是否为所述顶层瓦片层级,包括:
检测所述当前瓦片层级对应的地理范围是否大于所述四至范围;
在检测出所述当前瓦片层级对应的地理范围大于所述四至范围时,确定所述当前瓦片层级为所述顶层瓦片层级;
在检测出所述当前瓦片层级对应的地理范围小于或等于所述输入数据源的四至范围时,确定所述当前瓦片层级不是所述顶层瓦片层级;
其中,在确定出所述当前瓦片层级不是所述顶层瓦片层级时,还包括:
对所述当前瓦片层级继续进行逐级向下的递归计算,直至计算得到的瓦片层级所对应的地理范围大于所述输入数据源的四至范围为止。
在一种可能的实现方式中,根据所述顶层瓦片层级确定起始瓦片层级,包括:
由所述顶层瓦片层级开始逐级向下计算下一层级的瓦片数量;
在当前计算到的层级的瓦片数量大于所述切片处理器的个数时,确定当前计算到的层级为所述起始瓦片层级。
在一种可能的实现方式中,并行运行的各切片处理器由所述起始瓦片层级开始进行向下逐级递归计算,确定各所述切片处理器中各切片任务的起始计算层级,包括:
各所述切片处理器均由所述起始瓦片层级开始逐级向下计算下一层级的瓦片数量;
在各所述切片处理器当前计算到的层级的瓦片数量大于对应的并行切片任务数时,确定当前计算到的层级为所述起始切片层级。
在一种可能的实现方式中,所述合并处理器配置有多个并行的合并瓦片任务;
各所述合并处理器进行瓦片合并时,通过执行多个并行的所述合并瓦片任务进行。
在一种可能的实现方式中,各所述切片处理器根据所述起始切片层级对所述输入数据源进行切片时,包括:
获取所述输入数据源中,所述起始切片层级所对应的影像数据;
根据选择的切片模式对所述影像数据进行切片;
其中,所述切片模式包括创建模式和更新模式;
在选择的所述切片模式为所述创建模式时,删除已缓存的瓦片数据,直接对所述影像数据进行切片,生成相应的影像瓦片;
在选择的所述切片模式为所述更新模式时,检测缓存数据中是否存在当前待切片的影像数据所对应的影像瓦片;
在检测出存在当前待切片的影像数据所对应的影像瓦片时,直接读取当前待切片的影像数据所对应的影像瓦片。
根据本申请的另一方面,还提供了一种海量遥感影像并行生成地图瓦片的装置,包括瓦片创建模块和瓦片合并模块;
所述瓦片创建模块包括第一处理器和多个并行设置的切片处理器;
其中,所述第一处理器,被配置为基于输入数据源,确定顶层瓦片层级,并根据所述顶层瓦片层级确定起始瓦片层级;
并行设置的各所述切片处理器,被配置为由所述起始瓦片层级开始进行向下逐级递归计算,确定各所述切片处理器中各切片任务的起始切片层级;
各所述切片处理器,还被配置为根据所述起始切片层级对所述输入数据源进行切片,生成相应的影像瓦片;
所述瓦片合并模块包括第二处理器和并行设置的多个合并处理器;
所述第二处理器,被配置为根据接收到的所述影像瓦片的当前数量以及所配置并行运行的合并处理器的个数,将接收到的所述影像瓦片分配至各所述合并处理器;
各所述合并处理器,被配置为根据接收到的影像瓦片进行瓦片合并。
本申请实施例的海量遥感影像并行生成地图瓦片的方法,通过将影像切片任务划分为切片和合并两个阶段。在瓦片创建阶段和瓦片合并阶段,均采用并行的方式进行。其中,在瓦片创建阶段,由第一处理器先根据接收到的输入数据源进行切片任务的划分,然后再由多个并行运行的切片处理器进行相应的切片操作,这就使得输入数据源中的正射影像不需要具有相同的参考坐标系也可进行切片操作,从而突破了相关技术中对参考坐标系的限制要求,使得本申请实施例的方法更加灵活。并且,由于在瓦片创建阶段和瓦片合并阶段均采用并行的方式进行,这也就大大提高了遥感影像切片的效率。
根据下面参考附图对示例性实施例的详细说明,本申请的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本申请的示例性实施例、特征和方面,并且用于解释本申请的原理。
图1示出本申请一实施例的海量遥感影像并行生成地图瓦片的方法的原理示意图;
图2示出本申请一实施例的海量遥感影像并行生成地图瓦片的方法中第一处理器确定顶层瓦片层级的流程图;
图3示出本申请一实施例的海量遥感影像并行生成地图瓦片的方法中输入数据源的四至范围示意图;
图4示出本申请一实施例的海量遥感影像并行生成地图瓦片的方法中第一处理器确定起始瓦片层级的流程图;
图5示出本申请一实施例的海量遥感影像并行生成地图瓦片的方法的另一流程示意图;
图6示出本申请一实施例的海量遥感影像并行生成地图瓦片的方法中进行瓦片合并时的一流程示意图;
图7示出本申请一实施例的海量遥感影像并行生成地图瓦片的装置的结构框图。
具体实施方式
以下将参考附图详细说明本申请的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本申请,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本申请同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本申请的主旨。
首先,需要说明的是,本申请实施例的海量遥感影像并行生成地图瓦片的方法将切图任务划分了两个阶段,分别为瓦片创建阶段和瓦片合并阶段。其中,瓦片创建阶段主要是对输入数据源进行切片,生成相应的影像瓦片。瓦片合并阶段则是对生成的影像瓦片进行合并拼接。
同时,还需要指出的是,在本申请实施例的方法中,瓦片创建阶段和瓦片合并阶段均可以采用并行计算方式。
参阅图1,在瓦片创建阶段配置了用于进行切片任务划分的第一处理器(即,机器A),以及与第一处理器能够进行数据通信的多个切片处理器(即,机器1、机器2、……、机器N)。多个切片处理器并行设置,均能够接收第一处理器规划好的切片任务,并根据第一处理器的任务执行相应的计算。其中,第一处理器用于进行切片任务的规划。并行设置的多个切片处理器,则主要是用于进行影像数据的切片。在一种可能的实现方式中,各切片处理器均可设置多个并行的切片任务,通过执行多个各切片任务(线程或者进程)进行切片操作。
在瓦片合并阶段,则配置了用于进行瓦片合并任务规划的第二处理器(即,机器B),以及与第二处理器进行数据通信的多个合并处理器(即,机器1、机器2、……、机器M)。同理,多个合并处理器同样也是并行设置。并且,各合并处理器在进行瓦片合并时,同样可以通过设置多个瓦片合并任务并行执行的方式来实现。
其中,需要指出的是,在本申请实施例的中,对应所配置的各处理器(即,第一处理器、各切片处理器、第二处理器、以及各合并处理器)指的是能够执行相应功能的机器,不局限于本领域常规的处理器CPU或GPU等。
具体的,在瓦片创建阶段,主要包括以下步骤:
首先,由第一处理器基于输入数据源,确定该输入数据源的顶层瓦片层级,并根据顶层瓦片层级确定起始瓦片层级。此处,需要指出的是,起始瓦片层级指的是,各切片处理器开始执行所设置的各切片任务时要获取影像数据所对应的层级。输入数据源中的数据通常为正射影像。其中,本领域技术人员可以理解的是,输入数据源中正射影像的数量可以为一张,也可以为多张,此处不进行具体限定。同时,根据前面所述,第一处理器主要是用于进行切片任务的划分的。即,第一处理器被配置为根据当前接收到的输入数据源,对并行设置的多个切片处理器进行相应的任务分配。
然后,再通过并行运行的各切片处理器根据第一处理器划分的切片任务由起始瓦片层级开始进行向下逐级递归计算,确定各切片处理器中各切片任务的起始切片层级。其中,在本申请实施例的方法中,用于执行切片操作的各切片处理器可以通过设置多个切片任务(如:设置多个并行执行的线程或进程),由多个切片任务并行执行相应的切片操作,由此来提高切片的效率。具体的,在将切片任务分配至各切片处理器后,还需要对各切片处理器中的各切片任务进行相应的子任务的分配,通过各线程(或进程)执行相应的子任务从而最终完成该切片处理器的切片任务。在各切片处理器进行各线程(或进程)的子任务的分配时,则是通过所确定的各线程的起始切片层级进行的。
进而,在各切片处理器将接收到的切片任务再具体分配到相应的线程后,即可由各切片处理器根据所确定的起始切片层级,由起始切片层级所对应的输入数据源的影像数据开始进行切片,以生成相应的影像瓦片。
此处,本领域技术人员可以理解的是,不同的切片处理器执行的切片任务不同,同一切片处理器中不同的线程执行的切片子任务也有所不同,最终各切片处理器所生成的影像瓦片构建得到了多尺度瓦片集合。该瓦片集合中包含有多个不同尺度的影像瓦片。
同时,在执行瓦片创建阶段过程中,还可以同时执行瓦片合并阶段。即,在瓦片创建阶段生成影像瓦片后,将生成的影像瓦片作为输入数据,对所生成的影像瓦片进行合并。
也就是说,在瓦片创建阶段,输入数据为遥感影像的正射影像。在瓦片合并阶段,输入数据则为瓦片创建阶段生成的影像瓦片。
其中,在瓦片合并阶段,首先,由第二处理器根据接收到的影像瓦片的当前数量以及所配置的并行运行的合并处理器的个数,将接收到的影像瓦片分配至各合并处理器,然后再由各合并处理器对接收到的影像瓦片进行合并处理。
由此,本申请实施例的海量遥感影像并行生成地图瓦片的方法,通过将影像切片任务划分为切片和合并两个阶段。在瓦片创建阶段和瓦片合并阶段,均采用并行的方式进行。其中,在瓦片创建阶段,由第一处理器先根据接收到的输入数据源进行切片任务的划分,然后再由多个并行运行的切片处理器进行相应的切片操作,这就使得输入数据源中的正射影像不需要具有相同的参考坐标系也可进行切片操作,从而突破了相关技术中对参考坐标系的限制要求,使得本申请实施例的方法更加灵活。并且,由于在瓦片创建阶段和瓦片合并阶段均采用并行的方式进行,这也就大大提高了遥感影像切片的效率。
另外,还需要指出的是,在本申请实施例的方法中,瓦片创建阶段和瓦片合并阶段也可以并行执行。即,在瓦片创建阶段执行的过程中,瓦片合并阶段可同时执行,不需要等瓦片创建阶段中各切片处理器全部执行完毕后再运行。这样也就更进一步的提高了遥感影像瓦片生成的效率。
其中,在瓦片创建阶段,第一处理器基于输入数据源,确定顶层瓦片层级时,可以通过以下方式来实现。
参阅图2,首先通过步骤S100,获取输入数据源中所有的正射影像,并通过步骤S200,计算所有正射影像的四至范围,确定输入数据源的四至范围。参阅图3,本领域技术人员可以理解的是,输入数据源的四至范围指的是通过输入数据源中的所有正射影像所确定的一个最小外包矩形的区域范围。
同时,还执行步骤S200’,确定输入数据源的最大分辨率,并确定最大分辨率所在的瓦片层级,由最大分辨率所在的瓦片层级开始逐级向上进行递归计算,得到当前瓦片层级。此处,需要指出的是,输入数据源中的正射影像只有一张时,最大分辨率就是这张正射影像的分辨率。在输入数据源中的正射影像有多张时,则最大分辨率为所有正射影像中分辨率最大的影像的分辨率。
此外,根据瓦片的定义可知,瓦片具有层级的概念,层级越高分辨率越低,对应的在地球上的范围就越大。反之,层级越低分辨率越高,在地球上的范围就越小。同时,上一层级的瓦片数量与下一层级的瓦片数据之间是1:4的关系。由此,在进行顶层瓦片层级的确定时,需要先确定最底层瓦片。同时根据瓦片的定义可知,最底层瓦片的分辨率是最大的。因此,在确定了输入数据源的最大分辨率后,即可确定最底层瓦片层级(即,最大分辨率所在的瓦片层级)。
在确定最大分辨率所在的瓦片层级之后,由最大分辨率所在的瓦片层级开始逐级向上进行递归计算,得到当前瓦片层级。然后,再根据当前瓦片层级所对应的地理范围与输入数据源的四至范围,确定当前瓦片层级是否为顶层瓦片层级。
此处,需要说明的是,根据前面瓦片的定义,层级越高分辨率越低,包括的范围越大。由此,顶层瓦片层级应该包括输入数据源中所有的正射影像。也就是说,在确定顶层瓦片层级时,可以按照:输入数据源的所有正射影像均能够落在同一瓦片上的原则进行瓦片层级的判断。
更加具体的,参阅图2,在根据当前瓦片层级所对应的地理范围与输入数据源的四至范围,确定当前瓦片层级是否为顶层瓦片层级,包括:步骤S300,检测当前瓦片层级对应的地理范围是否大于输入数据源的四至范围;在检测出当前瓦片层级对应的地理范围大于输入数据源的四至范围时,即可执行步骤S400,确定当前瓦片层级为顶层瓦片层级。在检测出当前瓦片层级对应的地理范围小于或等于输入数据源的四至范围时,确定当前瓦片层级不是顶层瓦片层级。
其中,在确定出当前瓦片层级不是顶层瓦片层级时,还包括:对当前瓦片层级继续进行逐级向上的递归计算,直至计算得到的瓦片层级所对应的地理范围大于输入数据源的四至范围为止。同时,还需要指出的是,在进行当前瓦片层级是否为顶层瓦片层级的确定时,对当前瓦片层级的地理范围是否大于输入数据源的四至范围的检测判断可采用多次判断的方式(即,通过执行步骤S300和步骤S300’),以保证判断结果的准确性。
在确定顶层瓦片层级之后,即可进行起始瓦片层级的确定。在一种可能的实现方式中,进行起始瓦片层级的确定时,主要是根据所配置的切片处理器的数量进行确定。
具体的,参阅图4,通过步骤S500,由顶层瓦片层级开始逐级向下计算下一层级的瓦片数量。并执行步骤S600,判断当前计算到的层级的瓦片数量是否大于切片处理器的个数。在当前计算到的层级的瓦片数量大于切片处理器的个数时,表明此时各切片处理器均能够分配到切片任务。因此,此时即可执行步骤S700,将当前计算到的层级作为起始瓦片层级。
举例来说,以图3所示的影像作为输入数据源,切片处理器配置有10个为例,通过确定该输入数据源中三张正射影像中的最大分辨率确定该输入数据源所对应的顶层瓦片层级levelTOP以及顶层瓦片。然后,根据前面所述的方式,由顶层瓦片层级levelTOP开始逐级向下进行递归计算,得到位于顶层瓦片层级下的每一级瓦片层级所对应的瓦片数量。在计算到当前层级的瓦片数量为13时,此时计算到的当前层级的瓦片数量明显大于10个切片处理器的数量,这也就表明当前层级的瓦片足够分配到10个切片处理器中,由各切片处理器执行切片任务。因此,此时即可将当前层级作为起始瓦片层级。如若当前计算到的当前层级的瓦片数据小于10,则表明当前层级的瓦片还不足以满足10个切片处理器的任务分配,因此继续计算下一层级的瓦片数量,直至计算到某一层级的瓦片数量大于或等于10为止。
在确定起始瓦片层级之后,即可由各切片处理器由起始瓦片层级开始进行切片。其中,根据前面所述,由于各切片处理器可以设置多个切片任务同时进行切片操作,因此在确定每一个切片处理器的起始瓦片层级之后,再由各切片处理器由起始瓦片层级开始,逐级向下进行递归计算,计算起始瓦片层级下的每一级瓦片层级所对应的瓦片数量,并根据所计算到的瓦片数量与切片任务数确定最终的起始切片层级。
其中,各切片处理器根据所计算到的某一层级的瓦片数量与其所设置的切片任务数进行起始切片层级的确定时,所采用的方式和原理与第一处理器进行起始瓦片层级的确定的方式和原理相同或相似,此处不再赘述。
在各切片处理器确定各切片线程的起始切片层级之后,即可直接获取该起始切片层级所对应的输入数据源中的影像数据,并执行相应的切片线程对所获取到的影像数据进行切片操作。
由此,本申请实施例的海量遥感影像并行生成地图瓦片的方法中,通过瓦片创建阶段中第一处理器基于所配置的切片处理器的数量进行切片任务的分配,从而在进行切片时不需要由输入数据源的顶层瓦片开始进行切片,只需由所确定起始切片层级所对应的瓦片数据开始进行切片,这就有效减少了切片步骤,从而大大提高了切片效率。
进一步的,在一种可能的实现方式中,各切片处理器通过执行各切片线程对所获取到的影像数据进行切片时,可以通过以下方式来实现。
即,首先,获取输入数据源中,起始切片层级所对应的影像数据(即,起始瓦片层级对应的瓦片数据)。然后,根据选择的切片模式对影像数据进行切片。其中,切片模式包括创建模式和更新模式;在选择的切片模式为创建模式时,删除已缓存的瓦片数据,直接对影像数据进行切片,生成相应的影像瓦片;在选择的切片模式为更新模式时,检测缓存数据中是否存在当前待切片的影像数据所对应的影像瓦片;在检测出存在当前待切片的影像数据所对应的影像瓦片时,直接读取当前待切片的影像数据所对应的影像瓦片。
即,在各切片处理器进行切片过程中,通过根据切片参数设置,选择创建模式和更新模式,创建模式会删除已有的影像瓦片数据,重新进行影像瓦片的生成。更新模式则会检测该切片参数对应的影像瓦片是否存在。如若存在,则不再进行切片直接获取相应的影像瓦片即可。从而这也就有效解决了切片任务意外中断后必须从头重做的问题。
其中,需要指出的是,在切片过程中,所接收到的切片参数包括但不限于以下参数内容:切片模式(更新模式或者创建模式),输出瓦片坐标系,输出瓦片格式,瓦片存放地址,每台机器并行任务数(默认是处理器核数)等。
由此,本申请实施例的方法,在瓦片创建阶段,通过由第一处理器进行切片任务的划分,并由切片处理器进行各线程任务的划分,在任务划分之后再由输入数据源中获取相应的影像数据并具体执行相应的切片操作,避免了由输入数据源的顶层瓦片层级对应的瓦片开始即进行切片的操作,从而也就有效简化了切片流程,只需要在执行实际的切片操作之前,由第一处理器和切片处理器进行相应的任务规划即可。
进一步的,在通过上述任一种方式进行瓦片创建,得到相应的影像瓦片之后,还可同时并行执行瓦片合并阶段。其中,参阅图5,在瓦片合并阶段,同样第二处理器只用于将接收到的影像瓦片分配至相应的合并处理器,各合并处理器接收到影像瓦片后再根据各合并处理器所设置的合并任务数进行影像瓦片的合并。
需要指出的是,在本申请实施例的方法中,瓦片合并阶段与瓦片创建阶段所不同的是输入数据。在瓦片合并阶段,输入数据源为瓦片创建阶段所生成的各影像瓦片。并且,瓦片合并阶段的并行任务数是由用户设置的切片最高层级下,瓦片的数量决定的。即,第二处理器在进行影像瓦片到合并处理器的分配时,主要是根据并行任务数(即,并行设置的合并处理器的个数)以及计算节点数量(即,各合并处理器所设置的合并线程数)进行合并任务的分配。
此外,还应当指出的是,瓦片合并阶段的执行需要在瓦片创建阶段生成最底层瓦片后才进行。也就是说,最底层的影像瓦片才是来自于输入数据源的原始影像,其它层的影像瓦片来自于底层瓦片的合并。并且,在进行瓦片合并时,对于同一线程下最底层切片任务完成之后即可进行合并。如果一张影像瓦片需要来自至少两个线程或者至少两个切片处理器的底层瓦片来合并,则需要等待这两个线程或这两个切片处理器的所有任务都完成之后再进行合并。
举例来说,以图6所示,左边方框代表切片处理器M1在Lx瓦片层级的切片任务,右边方框代表切片处理器M2在Lx瓦片层级的切片任务。由于瓦片在空间上具有连续性,所以生成L(X+1)级瓦片的前提是左边Lx级瓦片和右边Lx级瓦片都要提前生成。在不失一般性的前提下,假设切片处理器M1先完成了Lx级的瓦片,此时如果M2尚未创建Lx级的瓦片,这时候M1创建L(x+1)级瓦片的时候处于等待状态,直到M2创建完了Lx级的瓦片,才会生成L(x+1)级瓦片。
相应的,基于前面任一所述的海量遥感影像并行生成地图瓦片的方法,本申请还提供了一种海量遥感影像并行生成地图瓦片的装置。由于本申请提供的海量遥感影像并行生成地图瓦片的装置的工作原理与本申请实施例的海量遥感影像并行生成地图瓦片的方法的原理相同或相似,因此重复之处不再赘述。
参阅图7,本申请提供的海量遥感影像并行生成地图瓦片的装置,包括瓦片创建模块110和瓦片合并模块120。其中,瓦片创建模块110包括第一处理器111和多个并行设置的切片处理器112。第一处理器111,被配置为基于输入数据源,确定顶层瓦片层级,并根据顶层瓦片层级确定起始瓦片层级。并行设置的各切片处理器112,被配置为由起始瓦片层级开始进行向下逐级递归计算,确定各切片处理器112中各切片任务的起始切片层级。各切片处理器112,还被配置为根据起始切片层级对输入数据源进行切片,生成相应的影像瓦片。
瓦片合并模块120包括第二处理器121和并行设置的多个合并处理器122。其中,第二处理器121,被配置为根据接收到的影像瓦片的当前数量以及所配置并行运行的合并处理器122的个数,将接收到的影像瓦片分配至各合并处理器122。各合并处理器122,被配置为根据接收到的影像瓦片进行瓦片合并。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (10)
1.一种海量遥感影像并行生成地图瓦片的方法,其特征在于,包括:瓦片创建阶段和瓦片合并阶段;
其中,所述瓦片创建阶段,包括:
第一处理器基于输入数据源,确定顶层瓦片层级,并根据所述顶层瓦片层级确定起始瓦片层级;起始瓦片层级指的是,各切片处理器开始执行所设置的各切片任务时要获取影像数据所对应的层级;
并行运行的各切片处理器由所述起始瓦片层级开始进行向下逐级递归计算,确定各所述切片处理器中各切片任务的起始切片层级;其中,所述起始切片层级指的是各所述切片处理器当前计算到的层级的瓦片数量大于对应的并行切片任务数的切片层级;
各所述切片处理器根据所述起始切片层级对所述输入数据源进行切片,生成相应的影像瓦片;
所述瓦片合并阶段,包括:
第二处理器根据接收到的所述影像瓦片的当前数量以及所配置并行运行的合并处理器的个数,将接收到的所述影像瓦片分配至各所述合并处理器进行瓦片合并。
2.根据权利要求1所述的方法,其特征在于,所述瓦片创建阶段中各所述切片任务并行执行;所述瓦片合并阶段中各瓦片合并任务并行执行。
3.根据权利要求1所述的方法,其特征在于,所述第一处理器基于输入数据源,确定顶层瓦片层级时,基于所述输入数据源中的各输入影像均位于同一瓦片的原则进行。
4.根据权利要求3所述的方法,其特征在于,所述第一处理器基于输入数据源,确定顶层瓦片层级时,包括:
获取所述输入数据源的四至范围;
确定所述输入数据源的最大分辨率,并确定所述最大分辨率所在的瓦片层级,由所述最大分辨率所在的瓦片层级开始逐级向上进行递归计算,得到当前瓦片层级;
根据所述当前瓦片层级所对应的地理范围与所述输入数据源的四至范围,确定所述当前瓦片层级是否为所述顶层瓦片层级。
5.根据权利要求4所述的方法,其特征在于,根据所述当前瓦片层级所对应的地理范围与所述输入数据源的四至范围,确定所述当前瓦片层级是否为所述顶层瓦片层级,包括:
检测所述当前瓦片层级对应的地理范围是否大于所述四至范围;
在检测出所述当前瓦片层级对应的地理范围大于所述四至范围时,确定所述当前瓦片层级为所述顶层瓦片层级;
在检测出所述当前瓦片层级对应的地理范围小于或等于所述输入数据源的四至范围时,确定所述当前瓦片层级不是所述顶层瓦片层级;
其中,在确定出所述当前瓦片层级不是所述顶层瓦片层级时,还包括:
对所述当前瓦片层级继续进行逐级向下的递归计算,直至计算得到的瓦片层级所对应的地理范围大于所述输入数据源的四至范围为止。
6.根据权利要求1所述的方法,其特征在于,根据所述顶层瓦片层级确定起始瓦片层级,包括:
由所述顶层瓦片层级开始逐级向下计算下一层级的瓦片数量;
在当前计算到的层级的瓦片数量大于所述切片处理器的个数时,确定当前计算到的层级为所述起始瓦片层级。
7.根据权利要求1所述的方法,其特征在于,并行运行的各切片处理器由所述起始瓦片层级开始进行向下逐级递归计算,确定各所述切片处理器中各切片任务的起始计算层级,包括:
各所述切片处理器均由所述起始瓦片层级开始逐级向下计算下一层级的瓦片数量;
在各所述切片处理器当前计算到的层级的瓦片数量大于对应的并行切片任务数时,确定当前计算到的层级为所述起始切片层级。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述合并处理器配置有多个并行的合并瓦片任务;
各所述合并处理器进行瓦片合并时,通过执行多个并行的所述合并瓦片任务进行。
9.根据权利要求1至7任一项所述的方法,其特征在于,各所述切片处理器根据所述起始切片层级对所述输入数据源进行切片时,包括:
获取所述输入数据源中,所述起始切片层级所对应的影像数据;
根据选择的切片模式对所述影像数据进行切片;
其中,所述切片模式包括创建模式和更新模式;
在选择的所述切片模式为所述创建模式时,删除已缓存的瓦片数据,直接对所述影像数据进行切片,生成相应的影像瓦片;
在选择的所述切片模式为所述更新模式时,检测缓存数据中是否存在当前待切片的影像数据所对应的影像瓦片;
在检测出存在当前待切片的影像数据所对应的影像瓦片时,直接读取当前待切片的影像数据所对应的影像瓦片。
10.一种海量遥感影像并行生成地图瓦片的装置,其特征在于,包括瓦片创建模块和瓦片合并模块;
所述瓦片创建模块包括第一处理器和多个并行设置的切片处理器;
其中,所述第一处理器,被配置为基于输入数据源,确定顶层瓦片层级,并根据所述顶层瓦片层级确定起始瓦片层级;起始瓦片层级指的是,各切片处理器开始执行所设置的各切片任务时要获取影像数据所对应的层级;
并行设置的各所述切片处理器,被配置为由所述起始瓦片层级开始进行向下逐级递归计算,确定各所述切片处理器中各切片任务的起始切片层级;其中,所述起始切片层级指的是各所述切片处理器当前计算到的层级的瓦片数量大于对应的并行切片任务数的切片层级;
各所述切片处理器,还被配置为根据所述起始切片层级对所述输入数据源进行切片,生成相应的影像瓦片;
所述瓦片合并模块包括第二处理器和并行设置的多个合并处理器;
所述第二处理器,被配置为根据接收到的所述影像瓦片的当前数量以及所配置并行运行的合并处理器的个数,将接收到的所述影像瓦片分配至各所述合并处理器;
各所述合并处理器,被配置为根据接收到的影像瓦片进行瓦片合并。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011280917.3A CN112381715B (zh) | 2020-11-16 | 2020-11-16 | 海量遥感影像并行生成地图瓦片的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011280917.3A CN112381715B (zh) | 2020-11-16 | 2020-11-16 | 海量遥感影像并行生成地图瓦片的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112381715A CN112381715A (zh) | 2021-02-19 |
CN112381715B true CN112381715B (zh) | 2024-04-09 |
Family
ID=74584792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011280917.3A Active CN112381715B (zh) | 2020-11-16 | 2020-11-16 | 海量遥感影像并行生成地图瓦片的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112381715B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113034520B (zh) * | 2021-05-25 | 2021-09-24 | 北京道达天际科技有限公司 | 增量式正射影像数据切片服务化方法及装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101114376A (zh) * | 2006-06-20 | 2008-01-30 | 威盛电子股份有限公司 | 减少存储库碰撞的方法及处理图形的计算机系统 |
JP2011091769A (ja) * | 2009-10-26 | 2011-05-06 | Sony Computer Entertainment Inc | 画像ファイル生成装置、画像処理装置、画像ファイル生成方法、画像処理方法、および画像ファイルのデータ構造 |
US8520940B1 (en) * | 2011-05-09 | 2013-08-27 | Google Inc. | Automatic city block segmentation in aerial imagery for parallel processing |
CN103336772A (zh) * | 2013-04-25 | 2013-10-02 | 中国科学院遥感与数字地球研究所 | 一种新的单景影像瓦片数据组织方法 |
CN106528699A (zh) * | 2016-11-02 | 2017-03-22 | 北京航天泰坦科技股份有限公司 | 一种用于快速建立影像金字塔的io多线程计算方法与系统 |
CN106991135A (zh) * | 2017-03-15 | 2017-07-28 | 江苏物联网研究发展中心 | 面向遥感影像数据的快速瓦片生成方法 |
CN107705241A (zh) * | 2016-08-08 | 2018-02-16 | 国网新疆电力公司 | 一种基于瓦片地形建模和投影校正的沙盘构建方法 |
CN110347499A (zh) * | 2019-06-13 | 2019-10-18 | 武汉大学 | 一种遥感影像瓦片生成及实时部署的方法 |
CN110347769A (zh) * | 2019-07-09 | 2019-10-18 | 东方网力科技股份有限公司 | 多层级地图瓦片的处理方法、装置、设备和存储介质 |
CN111243091A (zh) * | 2020-04-09 | 2020-06-05 | 速度时空信息科技股份有限公司 | 基于分布式系统的海量dem金字塔切片并行构建方法 |
CN111666363A (zh) * | 2020-04-22 | 2020-09-15 | 国家信息中心 | 一种海量高分辨率影像数据切片及质量控制的方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9042674B2 (en) * | 2013-03-15 | 2015-05-26 | Digitalglobe, Inc. | Automated geospatial image mosaic generation |
AU2019346569A1 (en) * | 2018-09-25 | 2021-04-29 | Geomni, Inc. | Computer vision systems and methods for ground surface condition detection and extraction from digital images |
-
2020
- 2020-11-16 CN CN202011280917.3A patent/CN112381715B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101114376A (zh) * | 2006-06-20 | 2008-01-30 | 威盛电子股份有限公司 | 减少存储库碰撞的方法及处理图形的计算机系统 |
JP2011091769A (ja) * | 2009-10-26 | 2011-05-06 | Sony Computer Entertainment Inc | 画像ファイル生成装置、画像処理装置、画像ファイル生成方法、画像処理方法、および画像ファイルのデータ構造 |
US8520940B1 (en) * | 2011-05-09 | 2013-08-27 | Google Inc. | Automatic city block segmentation in aerial imagery for parallel processing |
CN103336772A (zh) * | 2013-04-25 | 2013-10-02 | 中国科学院遥感与数字地球研究所 | 一种新的单景影像瓦片数据组织方法 |
CN107705241A (zh) * | 2016-08-08 | 2018-02-16 | 国网新疆电力公司 | 一种基于瓦片地形建模和投影校正的沙盘构建方法 |
CN106528699A (zh) * | 2016-11-02 | 2017-03-22 | 北京航天泰坦科技股份有限公司 | 一种用于快速建立影像金字塔的io多线程计算方法与系统 |
CN106991135A (zh) * | 2017-03-15 | 2017-07-28 | 江苏物联网研究发展中心 | 面向遥感影像数据的快速瓦片生成方法 |
CN110347499A (zh) * | 2019-06-13 | 2019-10-18 | 武汉大学 | 一种遥感影像瓦片生成及实时部署的方法 |
CN110347769A (zh) * | 2019-07-09 | 2019-10-18 | 东方网力科技股份有限公司 | 多层级地图瓦片的处理方法、装置、设备和存储介质 |
CN111243091A (zh) * | 2020-04-09 | 2020-06-05 | 速度时空信息科技股份有限公司 | 基于分布式系统的海量dem金字塔切片并行构建方法 |
CN111666363A (zh) * | 2020-04-22 | 2020-09-15 | 国家信息中心 | 一种海量高分辨率影像数据切片及质量控制的方法及装置 |
Non-Patent Citations (2)
Title |
---|
基于Hadoop的地图瓦片云存储系统的设计与实现;喻凯,熊祥瑞,高涛;《测绘地理信息》;第42卷(第3期);74-77 * |
海量遥感影像数据的金字塔并行构建技术研究;柴龙成;《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》;20200415(第4期);C028-58 * |
Also Published As
Publication number | Publication date |
---|---|
CN112381715A (zh) | 2021-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109408657B (zh) | 一种超大规模空间数据快速制图方法及系统 | |
US9865085B1 (en) | Systems and methods for 3D modeling using skipping heuristics and fusing | |
CN101447091B (zh) | 用于处理图形的设备及其方法 | |
CN110276820B (zh) | 基于lod组织与调度方法的gis模型优化方法及系统 | |
CN110647596B (zh) | 地图数据处理方法和装置 | |
EP2784752A2 (en) | Prediction method, generation method and storage medium | |
CN102759353A (zh) | 导航装置、确定高度坐标的方法和生成数据库的方法 | |
US10217291B2 (en) | Designing a modeled volume represented by dexels | |
KR102050169B1 (ko) | 옥트리 구조 기반 3차원 지도 서비스를 위한 3차원 모델의 공간 인덱싱 방법과 이를 이용하는 3차원 지도 서비스 제공 방법 및 장치 | |
EA013941B1 (ru) | Способ и устройство для укрупнения слоев в геологическом моделировании | |
US9679349B2 (en) | Method for visualizing three-dimensional data | |
CN112381715B (zh) | 海量遥感影像并行生成地图瓦片的方法和装置 | |
KR102160092B1 (ko) | 레이어드 마스크와 룩업테이블을 이용한 이미지 처리 방법 및 시스템 | |
CN112346868B (zh) | 海量遥感影像发布和动态切片方法和装置及设备 | |
KR101487454B1 (ko) | Lod 영상 병렬처리방법 | |
JP5563545B2 (ja) | 情報処理装置及び方法 | |
CN115129291B (zh) | 一种三维倾斜摄影测量模型可视化优化方法、装置和设备 | |
CN114328795B (zh) | 一种实景三维数据处理方法、装置、服务器和存储介质 | |
CN115761119A (zh) | 邻域体素存储方法、装置、计算机设备和存储介质 | |
CN114153587A (zh) | 用于高精地图绘制的任务分配方法、装置、设备和介质 | |
CN110610544A (zh) | 钻孔数据抽稀方法和装置、设备及储存介质 | |
KR100309788B1 (ko) | 다양한 해상도의 디지털 고도 모델 자동 생성 방법 | |
US10073600B1 (en) | Selecting large and small entities on a computer display | |
KR100933877B1 (ko) | 3d 지도 서비스의 데이터 처리 방법 및 지리정보 시스템 | |
US11372687B1 (en) | Geo-spatial workload scheduling in distributed systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Country or region after: China Address after: 100075 room 1107, Haitai building, 229 beisihuanzhong Road, Haidian District, Beijing Applicant after: Aerospace Science and Technology (Beijing) Space Information Application Co.,Ltd. Address before: 100075 room 1107, Haitai building, 229 beisihuanzhong Road, Haidian District, Beijing Applicant before: BEIJING AEROSPACE TITAN TECHNOLOGY Co.,Ltd. Country or region before: China |
|
GR01 | Patent grant | ||
GR01 | Patent grant |