1.本发明涉及地理信息科学技术领域,特别是涉及一种分幅影像的分布式切 片方法及分布式切片装置。
背景技术:2.影像数据是卫星遥感和无人机航拍摄影主要的数据成果之一。把影像数据 发布为空间服务是将其进行共享应用的常见方式,为了能让应用流畅地访问和 展示影像数据,通常是将影像数据进行切片处理转换为金字塔结构组织的影像 瓦片,而由于影像数据精度高、体量大等特点,传统的切片处理通常需要少则 几天、多则数周甚至数月的时间,而随着应用对影像数据时效性的要求越来越 高,以及需要对影像数据进行频繁地更新,传统的使用预切片的方式进行服务 发布的流程越来越无法满足实际的使用需求。
3.鉴于此,克服该现有技术所存在的缺陷是本技术领域亟待解决的问题。
技术实现要素:4.本发明要解决的技术问题是提供一种分幅影像的分布式切片方法及分布式 切片装置,解决影像数据预切片周期长,更新滞后,需要大量磁盘空间等问题。
5.为解决前述问题,本发明采用如下技术方案:
6.第一方面,提供一种分幅影像的分布式切片方法,包括:
7.获取各个分幅影像数据的第一空间范围,根据各个所述第一空间范围建立r 树索引;
8.获取待显示的地图范围所对应的至少一个目标切片,根据所述目标切片的 切片信息计算所述目标切片在投影坐标系下的切片空间范围;
9.通过所述r树索引对所述切片空间范围进行空间检索,得到与所述切片空 间范围存在相交关系的至少一个所述第一空间范围,进而确定与所述目标切片 存在相交关系的至少一个分幅影像数据;
10.获取每个所述第一空间范围与所述切片空间范围的目标交集,计算所述目 标交集在对应的分幅影像数据的影像区域;
11.对所述影像区域进行重采样获取目标影像数据,将所述目标影像数据映射 到所述目标切片的对应映射区域,直至完成所述目标切片的影像重建。
12.进一步的,所述获取待显示的地图范围所对应的至少一个目标切片,根据 所述目标切片的切片信息计算所述目标切片在投影坐标系下的切片空间范围包 括:
13.获取客户端所显示地图的中心点坐标,根据中心点坐标和客户端窗口的大 小,计算出所述地图范围;
14.根据客户端当前地图比例尺获取切片级别和切片尺寸,根据所述地图范围 和所述切片级别得到所述地图范围所对应的目标切片,将所述目标切片列号、 切片行号和所述目标切片所对应的切片级别作为所述切片坐标,将所述切片坐 标和切片尺寸作为切片的
切片信息;
15.根据所述目标切片的切片信息计算所述目标切片在投影坐标系下的切片空 间范围。
16.进一步的,所述根据所述目标切片的切片信息计算所述目标切片在投影坐 标系下的切片空间范围包括:
17.获取整个原始影像在所述投影坐标系上的空间范围的基准起点坐标和基准 终点坐标,根据所述基准起点坐标和基准终点坐标计算所述原始影像空间范围 的基准宽度和基准高度;
18.获取所述目标切片的切片宽度、切片高度和切片级别,根据所述基准宽度、 所述切片宽度和所述切片级别计算所述目标切片在x轴方向的第一空间分辨率, 根据所述基准高度、所述切片高度和所述切片级别计算所述目标切片在y轴方 向的第二空间分辨率;
19.根据所述基准起点坐标、所述第一空间分辨率、所述切片宽度和所述切片 列号,以及所述基准起点坐标、所述第二空间分辨率、所述切片高度和所述切 片行号确定所述目标切片的目标起点坐标;
20.根据所述基准终点坐标、所述第一空间分辨率、所述切片宽度和所述切片 列号,以及所述基准终点坐标、所述第二空间分辨率、所述切片高度和所述切 片行号确定所述目标切片的目标终点坐标;
21.根据所述目标起点坐标、所述目标终点坐标、所述切片宽度和所述切片高 度确定所述切片空间范围。
22.进一步的,所述通过所述r树索引对所述切片空间范围进行空间检索,得 到与所述切片空间范围存在相交关系的至少一个所述第一空间范围,进而确定 与所述目标切片存在相交关系的至少一个分幅影像数据包括:
23.从r树索引的根节点开始,判断所述切片空间范围与子节点的空间范围是 否相交;
24.如果不相交,停止该子节点的检索;
25.如果相交,则继续对该子节点的下一级节点进行检索,直到查找出所有与 所述切片空间范围有交集的所述第一空间范围,进而确定与所述目标切片存在 相交关系的至少一个分幅影像数据;
26.为每个目标切片分配一个分幅影像数据集合,将检索到的分幅影像数据添 加到对应的分幅影像数据集合中。
27.进一步的,所述获取每个所述第一空间范围与所述切片空间范围的目标交 集,计算所述目标交集在对应的分幅影像数据的影像区域包括:
28.在所述投影坐标系下,获取所述第一空间范围与所述切片空间范围的目标 交集,并计算所述目标交集的交集空间范围;
29.建立所述分幅影像数据的第一坐标系,根据分幅影像数据的地理变换参数 对所述交集空间范围进行仿射变换,得到所述交集空间范围在所述第一坐标系 下的影像坐标和影像尺寸;
30.在所述第一坐标系下,根据所述影像坐标和所述影像尺寸在所述分幅影像 数据中确定所述影像区域。
31.进一步的,所述对所述影像区域进行重采样获取目标影像数据,将所述目 标影像数据映射到所述目标切片的对应映射区域包括:
32.建立所述目标切片的第二坐标系,基于所述第二坐标系对所述交集空间范 围进行坐标转换,得到所述交集空间范围在所述第二坐标系下的映射坐标和映 射尺寸;
33.在第二坐标系下,根据所述映射坐标和所述映射尺寸在所述目标切片中确 定映射区域;
34.将所述影像区域与对应的映射区域建立关联,对所述影像区域进行重采样 获取目标影像数据,将所述目标影像数据映射到对应的映射区域中。
35.进一步的,所述对所述影像区域进行重采样获取目标影像数据,将所述目 标影像数据映射到所述目标切片的对应映射区域包括:
36.将所述目标影像数据和该目标影像数据所对应的映射区域添加到目标影像 数据集;
37.为每一个所述目标切片分配符合其存储要求的内存,对所述目标影像数据 集进行重建操作,以将所述目标影像数据集添加到该内存中;
38.读取内存区域中的数据,即可获得对应的切片影像。
39.进一步的,所述分布式切片方法在完成当前目标切片的影像重建后,记录 当前目标切片的重建次数,如果其重建次数大于某一特定值,则将该目标切片 影像缓存到服务器中,下次进行该目标切片的重建任务时,直接调用服务器中 缓存的该目标切片影像。
40.进一步的,所述分布式切片方法在完成当前目标切片的影像重建后,获取 当前目标切片的下一级目标切片或上一级目标切片,或者获取位于当前目标切 片周围、与目标切片同级、且和待显示的地图范围不存在相交关系的兄弟切片;
41.依次对所述下一级目标切片、上一级目标切片或兄弟切片进行影像重建。
42.第二方面,本发明还提供了一种分幅影像的分布式切片装置,用于实现第 一方面所述的分幅影像的分布式切片方法,所述装置包括:
43.至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中, 所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理 器执行,用于执行第一方面所述的分幅影像的分布式切片方法。
44.第三方面,本发明还提供了一种非易失性计算机存储介质,所述计算机存 储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执 行,用于完成第一方面所述的分幅影像的分布式切片方法。
45.本发明通过各个分幅影像的空间范围建立r树索引,获取待显示的地图范 围所对应的至少一个目标切片后,根据目标切片的切片信息计算目标切片在投 影坐标系下的切片空间范围,通过r树索引对切片空间范围进行空间检索,得 到与切片空间范围存在相交关系的分幅影像,再获取分幅影像空间范围与切片 空间范围的目标交集,计算目标交集在分幅影像上的对应影像区域,并对所述 影像区域进行重采样获取目标影像数据,将目标影像数据映射到目标切片的对 应映射区域,直至完成目标切片的影像重建。本发明以实时切片的方式取代传 统的预切片处理方式,一方面缩短了从数据入库、数据处理到数据服务发布的 周期,实现影像数据的快速发布与秒级响应,为业务应用提升运行效率,同时, 为后续数据应用提供了强劲的性能基础,另一方面有效解决传统影像数据服务 发布模式中,预
切片周期长、数据更新滞后、需要大量磁盘空间等问题。
附图说明
46.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所 需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明 的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。
47.图1是本发明实施例提供的一种分幅影像的分布式切片方法的流程示意图;
48.图2是本发明实施例提供的图1中步骤102的具体流程示意图;
49.图3是本发明实施例提供的一种分幅影像的分布式切片方法的一种切片金 字塔示意图;
50.图4是本发明实施例提供的一种分幅影像的分布式切片方法的一种影像金 字塔示意图;
51.图5是本发明实施例提供的一种分幅影像的分布式切片方法的切片划分示 意图;
52.图6是本发明实施例提供的图1中步骤104的具体流程示意图;
53.图7是本发明实施例提供的图1中步骤105的具体流程示意图;
54.图8是本发明实施例提供的一种分幅影像的分布式切片方法的分幅影像和 切片影像之间的关系示意图;
55.图9是本发明实施例提供的一种分幅影像的分布式切片装置的结构示意图。
具体实施方式
56.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅 仅用以解释本发明,并不用于限定本发明。
57.在本发明的描述中,术语“内”、“外”、“纵向”、“横向”、“上”、“下”、“顶”、
ꢀ“
底”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于 描述本发明而不是要求本发明必须以特定的方位构造和操作,因此不应当理解 为对本发明的限制。
58.此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此 之间未构成冲突就可以相互组合。
59.实施例1:
60.参阅图1,本发明实施例1提供了一种分幅影像的分布式切片方法,包括:
61.步骤101:获取各个分幅影像数据的第一空间范围,根据各个所述第一空间 范围建立r树索引。
62.步骤102:获取待显示的地图范围所对应的至少一个目标切片,根据所述目 标切片的切片信息计算所述目标切片在投影坐标系下的切片空间范围。
63.步骤103:通过所述r树索引对所述切片空间范围进行空间检索,得到与所 述切片空间范围存在相交关系的至少一个所述第一空间范围,进而确定与所述 目标切片存在相交关系的至少一个分幅影像数据。
64.步骤104:获取每个所述第一空间范围与所述切片空间范围的目标交集,计 算所
述目标交集在对应的分幅影像数据的影像区域。
65.步骤105:对所述影像区域进行重采样获取目标影像数据,将所述目标影像 数据映射到所述目标切片的对应映射区域,直至完成所述目标切片的影像重建。
66.其中,所述投影坐标系是指地理坐标系经过投影方法处理后,得到的平面 坐标系统,在所述投影坐标系下,可采用x轴和y轴坐标来表示地球上某个点 的位置,在所述投影坐标系下的一单位距离,通常为1米;同时,图像的空间 范围在投影坐标系下,也可以描述为图像的外接矩形;所述第一空间范围和切 片空间范围,位于同一投影坐标系。
67.其中,分幅影像数据指的是分幅影像所对应的数据,分幅影像是基于镶嵌 影像而言,图像获取装置获取多个局部影像后,将多个局部影像进行镶嵌,得 到一整幅影像(即,下文的原始影像),将一整幅影像按一定比例重新划分, 得到分幅影像。
68.其中,待显示的地图范围具体依据客户的请求而定。待显示的地图范围可 能包含一个目标切片,也可以包含多个目标切片,具体依据实际场景而定。
69.对于金字塔模型中的切片组织而言,不同的层级所包含的切片数目不相同, 不同层级下,单个切片的尺寸也不相同,单个切片所对应的分幅影像的数目也 不相同,下文会做具体解释。
70.在本发明实施例中,根据客户的请求实时获取目标切片所对应的目标影像 数据,将所述目标影像数据映射到所述目标切片的对应映射区域,直至完成所 述目标切片的影像重建,以实时切片的方式取代传统的预切片处理方式,一方 面缩短了从数据入库、数据处理到数据服务发布的周期,实现影像数据的快速 发布与秒级响应,为业务应用提升运行效率,同时,为后续数据应用提供了强 劲的性能基础,另一方面有效解决传统影像数据服务发布模式中,预切片周期 长、数据更新滞后、需要大量磁盘空间等问题。
71.在此需要说明的是,传统的预切片处理方式可以实现毫秒级的响应,但是 此种方式的切片处理通常需要少则几天、多则数周甚至数月的时间,在前期耗 费了大量的时间;本发明实施例的方案可以实现秒级的响应,虽然响应速度不 及传统方式,但是秒级的响应速度能够满足用户的要求,而且此种方式不需要 切片预处理,而根据客户的请求,实时的进行切片处理,可以节省切片预处理 的时间,提高了时效性。
72.下面说明本发明实施例的具体实现方式。结合图2,步骤102具体包括如下 过程:
73.步骤1021:获取客户端所显示地图的中心点坐标,根据中心点坐标和客户 端窗口大小,计算出所述地图范围。
74.其中,客户端所显示的地图中心点坐标,指的是客户端显示地图的窗口中 心点对应的地图坐标,不是指整个地图的中心点坐标;客户端窗口指的是客户 端显示地图所用的窗口;据此计算出的地图范围,为客户端窗口中显示的地图 范围。
75.步骤1022:根据客户端当前地图比例尺获取切片级别和切片尺寸,根据所 述地图范围和所述切片级别得到所述地图范围所对应的目标切片,将所述目标 切片的切片列号、切片行号和所述目标切片所对应的切片级别作为所述切片坐 标,将所述切片坐标和切片尺寸作为切片的切片信息。
76.其中,切片尺寸包括切片宽度和切片高度。
77.步骤1023:根据所述目标切片的切片信息计算所述目标切片在投影坐标系 下的切片空间范围。
78.其中,金字塔模型如图3和图4所示,图3为一个4层(zoom0~zoom3) 切片金字塔模型,图4为与图3对应的全部切片采样完成后的影像金字塔模型, 切片级别与切片金字塔的层级相同,切片位于切片金字塔的层级,被称为切片 的级别,切片金字塔主要通过原始影像按照一定规则生成的不同分辨率的切片 组成,级别越高则分辨率越低,切片金字塔某一级别下,某一切片的位置可以 用切片的行列号表示。例如,切片大小为256*256像素大小时,在级别zoom0 下,一张切片就可以显示整个原始影像,在级别zoom1下,则需要4张切片才 可以显示整个原始影像,当客户端窗口大小为256*256像素大小时,在级别 zoom1下,客户端窗口显示的范围可能涉及1、2或4个切片,此时就需要获取 被涉及到的切片的图像数据,完成客户端显示的范围内的切片。
79.在图5情况下,客户端窗口范围涉及到位于第3级别的12张切片,其中切 片坐标(3,6-4),代表切片是第3级别下,第6列、第4行的切片。
80.结合前述可知,不同级别的切片的分辨率不相同、切片尺寸也不相同,同 一层级的切片的行号和列号不相同,用以区分不同的切片。
81.在本实施例中,需要根据整个原始影像基准起点坐标、整个原始影像基准 终点坐标、切片尺寸和切片级别计算目标切片的分辨率,再根据空间分辨率、 切片行号、切片列号计算各个目标切片的空间范围,在步骤1023中具体包括:
82.获取整个原始影像在所述投影坐标系上的空间范围的基准起点坐标和基准 终点坐标,根据所述基准起点坐标和基准终点坐标计算所述原始影像空间范围 的基准宽度和基准高度。
83.其中,整个原始影像指的是多个影像进行镶嵌后形成的一整幅的图像。
84.其中,原始影像通过一定规则进行切割后,就会得到若干个分幅影像。
85.其中,基准起点坐标和基准终点坐标可以理解为一对成对角设置的坐标对, 基准起点坐标的x值与基准终点坐标的x值之间的差值为基准宽度;基准起点 坐标的y值与基准终点坐标的y值之间的差值为基准高度。
86.进一步地,获取所述目标切片的切片宽度、切片高度和切片级别,根据所 述基准宽度、所述切片宽度和所述切片级别计算所述目标切片在x轴方向的第 一空间分辨率,根据所述基准高度、所述切片高度和所述切片级别计算所述目 标切片在y轴方向的第二空间分辨率。
87.其中,第一空间分辨率可以通过基准宽度,除以此切片金字塔级别下的整 个地图的宽度得到,具体的,此时地图的宽度用像素单位表示,金字塔级别记 为zoom,则整个地图在切片金字塔模型下被分割为4的zoom次幂个切片,在 此切片金字塔级别下,地图的宽度可表示为2的zoom次幂与切片宽度的乘积; 第二分辨率可以通过基准高度,除以此切片金字塔级别下的整个地图的高度得 到,地图的高度可表示为2的zoom次幂与切片高度的乘积。
88.在可选的实施例中,基准起点坐标为原始影像在投影坐标系上外接矩形的 左下坐标,表示为(original_x,original_y),基准终点坐标为原始影像在投影 坐标系上外接矩形的右上坐标,表示为(final_x,final_y),基准宽度为原始影 像在x轴方向上的长度,可表示为final_x-original_x,基准高度为原始影像在y 轴方向上的长度,可表示为final_y-original_y;切片尺寸的单位为像素,切片宽 度记为width,切片高度记为
height,切片级别记为zoom,切片行号记为row, 切片列号记为column;第一空间分辨率记为resolution_x,第二空间分辨率记为 resolution_y,则计算公式可表示为:
89.resolution_x=(final_x-original_x)/(width*math.pow(2,zoom));
90.resolution_y=(final_y-original_y)/(height*math.pow(2,zoom));
91.公式中,math.pow(2,zoom)的作用在于计算2的zoom次幂,得到zoom级 别切片金字塔下,x轴方向切片数量或y轴方向切片数量。
92.在本实施例中,在得到第一空间分辨率和第二空间分辨率后,根据空间分 辨率、切片行号、切片列号计算各个目标切片的空间范围,具体实现方式如下:
93.根据所述基准起点坐标、所述第一空间分辨率、所述切片宽度和所述切片 列号,以及所述基准起点坐标、所述第二空间分辨率、所述切片高度和所述切 片行号确定所述目标切片的目标起点坐标。
94.根据所述基准终点坐标、所述第一空间分辨率、所述切片宽度和所述切片 列号,以及所述基准终点坐标、所述第二空间分辨率、所述切片高度和所述切 片行号确定所述目标切片的目标终点坐标。
95.根据所述目标起点坐标、所述目标终点坐标、所述切片宽度和所述切片高 度确定所述切片空间范围。
96.其中,所述切片的目标起点坐标和目标终点坐标,是所述切片在投影坐标 系下外接矩形的对角坐标,例如,目标起点坐标是外接矩形左下角坐标,目标 终点坐标是右上角坐标。
97.目标起点坐标的计算原理为,通过切片的列号,可以得到目标起点坐标距 离原始影像基准起点坐标有多少列,将切片的宽度乘以切片的第一空间分辨率, 就可以得到切片在投影坐标系下的宽度,目标起点坐标x轴坐标与基准起点坐 标x轴坐标的总列距加上原始影像基准起点坐标的x轴坐标,则得到目标起点 坐标的x轴坐标。具体运算过程和切片编号方式以及基准起点坐标、基准终点 坐标、目标起点坐标、目标终点坐标取法有关。
98.在图5所示情况下,切片在y轴方向上的行编号由小到大,在x轴方向上 的列编号由小到大,在投影坐标系下,取原始影像左下角坐标为基准起点坐标, 表示为(original_x,original_y),取原始影像右上角坐标为基准终点坐标,表 示为(final_x,final_y),设定切片空间范围的左下角坐标为目标起点坐标,表 示为(tileminx,tileminy),设定切片空间范围的右上角坐标为目标终点坐标, 表示为(tilemaxx,tilemaxy)在此情况下,具体计算方法为:
99.tileminx由x轴方向上的第一空间分辨率resolution_x乘以切片宽度width, 再乘以切片所在的列号column,再加上基准起点坐标在x轴的坐标orginal_x, 计算得出。
100.tileminy由基准终点坐标在y轴的坐标final_y减去,y轴方向上的第二空间 分辨率resolution_y、切片高度height、切片所在的行号row加1三者之间的乘 积,计算得出;行号row加1是为了计算目标起点坐标y轴坐标距离基准终点 坐标y轴坐标之间的总行距。
101.同理可得到目标终点坐标(tilemaxx,tilemaxy),计算公式可表示为:
102.tileminx=original_x+resolution_x*width*column;
103.tileminy=final_y-resolution_y*height*(row+1);
104.tilemaxx=original_x+resolution_x*width*(column+1);
105.tilemaxy=final_y-resolution_y*height*row。
106.最终得到切片的空间范围。
107.前文主要解释说明了如何确定目标切片的切片空间范围,下文解释如何根 据切片空间范围检索目标切片所对应的分幅影像数据,即,在步骤103中,通 过所述r树索引对所述切片空间范围进行空间检索,得到与所述切片空间范围 存在相交关系的至少一个所述第一空间范围,进而确定与所述目标切片存在相 交关系的至少一个分幅影像数据的具体过程包括:
108.从r树索引的根节点开始,判断所述切片空间范围与子节点的空间范围是 否相交;如果不相交,停止该子节点的检索;如果相交,则继续对该子节点的 下一级节点进行检索,直到查找出所有与所述切片空间范围有交集的所述第一 空间范围,进而确定与所述目标切片存在相交关系的至少一个分幅影像数据。
109.为每个目标切片分配一个分幅影像数据集合,将检索到的分幅影像数据添 加到对应的分幅影像数据集合中。
110.其中,对r树进行搜索的具体方式,不限于深度优先搜索,也可是广度优 先搜索或者其他搜索方式。
111.如图8所示,在获取了每个目标切片所对应的分幅影像数据集合之后,需 要进行图像数据的采样,进而构建目标切片所对应的目标切片影像,此过程主 要分为两步:(1)计算目标交集在对应的分幅影像数据的影像区域,在对应的 分幅影像数据中进行数据采样,得到目标影像数据;(2)将目标影像数据填充 到目标切片的对应位置。例如,图8中的交集a~交集d可以理解为目标交集在 对应的分幅影像数据的影像区域,对目标交集区域进行重采样,将重采样的数 据填充在目标切片的对应位置,进而形成切片影像。
112.由于我们在计算目标交集的过程中,仅仅是根据空间范围计算交集,而空 间范围中都仅包含坐标数据,而不包含图像数据,而真实的图像数据是包含在 分幅影像数据中的,被采样的数据是需要填充到目标切片上的,需要进行坐标 转换才能从分幅影像数据中获取到目标交集在对应的分幅影像数据的影像区域, 也需要进行坐标转换才能知道目标影像数据填充到目标切片的什么位置,在此 过程中,目标交集相当于是一个中间桥梁,构建了分幅影像数据与目标切片之 间的关联关系,具体的坐标映射过程如下文描述。
113.参阅图6,在步骤104中,获取每个所述第一空间范围与所述切片空间范围 的目标交集,计算所述目标交集在对应的分幅影像数据的影像区域的具体过程 包括:
114.步骤1041:在所述投影坐标系下,获取所述第一空间范围与所述切片空间 范围的目标交集,并计算所述目标交集的交集空间范围。
115.其中,在所述投影坐标系下,交集空间范围可表示为交集外接矩形左下坐 标(minx,miny)和右上坐标(maxx,maxy)。
116.步骤1042:建立所述分幅影像数据的第一坐标系,根据分幅影像数据的地 理变换参数对所述交集空间范围进行仿射变换,得到所述交集空间范围在所述 第一坐标系下的影像坐标。
117.步骤1043:在所述第一坐标系下,根据所述影像坐标和尺寸在所述分幅影 像数据中确定所述影像区域。
118.其中,分幅影像数据的地理变换参数geotransfrom为包含六个参数的数组, 其具
体为:
119.geotransfrom[0]:分幅影像在投影坐标系下,左上角在x轴的坐标;
[0120]
geotransform[1]:分幅影像在x轴上的分辨率;
[0121]
geotransform[2]:旋转参数;
[0122]
geotransform[3]:分幅影像在投影坐标系下,左上角在y轴的坐标
[0123]
geotransform[4]:旋转参数;
[0124]
geotransform[5]:分幅影像在y轴上的分辨率;
[0125]
所述第一坐标系,是以该分幅影像数据所对应的分幅影像的左上角为原点、 宽度方向为x轴、高度方向为y轴,建立的直角坐标系,此时该分幅影像位于 所述第一坐标系第四象限。
[0126]
经过仿射变换后,得到与交集外接矩形相对应的分幅影像图像区域,在第 一坐标系下,此分幅影像图像区域称可以表示为,影像尺寸:宽度fwidth、高度 fheight;影像坐标:对应图像区域的左上角坐标(fx,fy)。
[0127]
具体仿射原理为,通过交集外接矩形左侧与分幅影像投影坐标系下外接矩 形左侧的距离,表现为交集外接矩形左下角x轴坐标minx与分幅影像地理范围 下外接矩形的左上角坐标x轴坐标geotransfrom[0]的距离,除以分幅影像在x 轴上的分辨率geotransform[1],并进行向下取整后,得到交集外接矩形相对应 的分幅影像图像区域x轴上的坐标fx。
[0128]
将交集外接矩形的宽度除以分幅影像在x轴上的分辨率geotransform[1], 得到交集外接矩形相对应的分幅影像图像区域x轴方向上的宽度fwidth。
[0129]
同理可计算获得交集外接矩形相对应的分幅影像图像区域y轴上的坐标fy, 和交集外接矩形相对应的分幅影像图像区域x轴方向上的高度fheight。
[0130]
具体运算公式体现为:
[0131]
fx=(int)((minx-geotransfrom[0])/geotransform[1]);
[0132]
fy=(int)((maxy-geotransform[3])/geotransform[5]);
[0133]
fwidth=(maxx-minx)/geotransform[1];
[0134]
fheight=(maxy-miny)/geotransform[5]。
[0135]
参阅图7,在步骤105中,对所述影像区域进行重采样获取目标影像数据, 将所述目标影像数据映射到所述目标切片的对应映射区域的具体过程为:
[0136]
步骤1051:建立所述目标切片的第二坐标系,基于所述第二坐标系对所述 交集空间范围进行坐标转换,得到所述交集空间范围在所述第二坐标系下的映 射坐标和尺寸。
[0137]
步骤1052:在第二坐标系下,根据所述映射坐标在所述目标切片中确定映 射区域。
[0138]
所述第二坐标系,是以该目标切片左上角为原点、宽度方向为x轴、高度 方向为y轴,建立的直角坐标系,此时所述目标切片位于所述第二坐标系中第 四象限。
[0139]
切片上与交集外接矩形相对应区域可以表示为,在切片图像左上角坐标(tx, ty),和该区域在切片图像上的宽度twidth和高度theight。
[0140]
具体变换过程为,通过交集外接矩形左侧与切片地理范围下外接矩形的左 侧之间的距离,表现为交集外接矩形左下x轴坐标minx与切片地理范围下左下 x轴坐标tminx之间的距离,除以切片地理范围下外接矩形的宽度,再乘以切片 的原始宽度width后,得到交
集外界矩形在原切片上左上角的x轴坐标tx。
[0141]
交集外接矩形宽度除以切片地理范围下外接矩形后,再乘以切片原始宽度 width,就可以得到交集外接矩形在切片图像上的对应的宽度twidth。
[0142]
按照同样方式,可以计算得出ty和theight,具体运算公式体现为:
[0143]
tx=((minx-tminx)/(tmaxx-tminx))*width;
[0144]
ty=((maxy-tmaxy)/(tmaxy-tminy))*height;
[0145]
twidth=((maxx-minx)/(tmaxx-tminx))*width;
[0146]
theight=((maxy-miny)/(tmaxy-tminy))*height。
[0147]
步骤1053:将所述影像区域与对应的映射区域建立关联,对所述影像区域 进行重采样获取目标影像数据,将所述目标影像数据映射到对应的映射区域中。
[0148]
在此需要说明的是,对交集空间范围进行坐标变换的意义在于,交集空间 范围、第一空间范围、切片空间范围都仅包含坐标数据,而不包含图像数据, 一方面需要通过坐标变换来得到与交集空间范围对应的、需要进行重采样的分 幅影像的影像区域,以对影像区域进行重采样,得到目标影像数据;另一方面, 还需要确定目标影像数据填充到目标切片的什么位置,因此需要两次变换,将 投影坐标系下的交集空间范围变换成第一坐标系下的范围,从而在分幅影像数 据中确定所述影像区域,将投影坐标系下的交集空间范围变换成第二坐标系下 的坐标,从而确定该影像区域所对应的映射区域。
[0149]
在实际应用场景下,对所述目标切片进程重建的过程包括,将所述目标影 像数据和该目标影像数据所对应的映射区域添加到目标影像数据集;为每一个 所述目标切片分配符合其存储要求的内存,对所述目标影像数据集进行重建操 作,得到目标影像数据,并将所述目标影像数据集添加到该内存中;读取内存 区域中的数据,即可获得对应的目标切片影像。
[0150]
其中,一块切片内存的内存为切片尺寸乘以每一像素所占的字节数,切片 尺寸用像素表达,切片影像具有rbga这4个通道的情况下,一个像素占4个 字节,则一个切片对应内存为width*height*32bit。
[0151]
目标切片影像被存储在内存中,在客户端对地图浏览结束后,相应的内存 空间被清理。相对传统切片方法中,需要对全部切片影像进行缓存来说,本方 法节省了大量磁盘空间。
[0152]
在优选的实施例中,为了降低切片服务的响应延迟,所述分布式切片方法 还包括,在完成当前目标切片的影像重建后,记录当前目标切片的重建次数, 如果其重建次数大于某一特定值,则将该目标切片影像缓存到服务器中,下次 进行该目标切片的重建任务时,直接调用服务器中缓存的该目标切片影像。
[0153]
在另一个优选的实施例中,为了降低切片服务的响应延迟,所述分布式切 片方法还包括,在完成当前目标切片的影像重建后,获取当前目标切片的下一 级目标切片或上一级目标切片,或者获取位于当前目标切片周围、与目标切片 同级且和待显示的地图范围不存在相交关系的兄弟切片;依次对所述下一级目 标切片或上一级目标切片或兄弟切片进行影像重建。
[0154]
其中,下一级目标切片为所述目标切片在切片金字塔模型中对应的下一级 别的4个切片;上一级目标切片为所述目标切片在切片金字塔模型中对应的上 一级别的1个切
片;兄弟切片为所述目标切片在切片金字塔模型中对应的同级 的多个切片。
[0155]
用户浏览地图的过程中,可能会执行放大、缩小操作,那么就需要展示该 当前目标切片邻近级别的切片的影像数据;用户浏览地图的过程中,还可能还 会执行左移、右移、上移或下移的操作,按照此种方式,那么就需要展示与当 前目标切片处于同一级,且与当前目标切片邻近的切片的影像数据,按照前述 方式,可以提前获取用户可能需要的影像数据,提高响应的速度。
[0156]
实施例2:
[0157]
基于前述实施例1所提供的分布式切片方法,本实施例还提供一种分幅影 像的分布式切片装置,其包括至少一个处理器和存储器,所述至少一个处理器 和存储器之间通过数据总线连接,所述存储器存储有可被所述至少一个处理器 执行的指令,所述指令在被所述处理器执行后,用于完成实施例所述的分布式 切片方法。
[0158]
如图9所示,是本发明实施例的分幅影像的分布式切片装置的架构示意图。 本实施例的分幅影像的分布式切片装置包括一个或多个处理器21以及存储器22。 其中,图9中以一个处理器21为例。
[0159]
处理器21和存储器22可以通过总线或者其他方式连接,图9中以通过总 线连接为例。
[0160]
存储器22作为一种非易失性计算机可读存储介质,可用于存储非易失性软 件程序和非易失性计算机可执行程序,如实施例1中的分幅影像的分布式切片 方法。处理器21通过运行存储在存储器22中的非易失性软件程序和指令,从 而执行分幅影像的分布式切片方法。
[0161]
存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例 如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些 实施例中,存储器22可选包括相对于处理器21远程设置的存储器,这些远程 存储器可以通过网络连接至处理器21。上述网络的实例包括但不限于互联网、 企业内部网、局域网、移动通信网及其组合。
[0162]
所述程序指令/模块存储在所述存储器22中,当被所述一个或者多个处理器 21执行时,执行上述实施例1中的分幅影像的分布式切片方法,例如,执行以 上描述的图1所示的各个步骤。
[0163]
值得说明的是,上述装置和系统内的模块、单元之间的信息交互、执行过 程等内容,由于与本发明的处理方法实施例基于同一构思,具体内容可参见本 发明方法实施例中的叙述,此处不再赘述。
[0164]
本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可 以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介 质中,存储介质可以包括:只读存储器(rom,read only memory)、随机存 取存储器(ram,random access memory)、磁盘或光盘等。
[0165]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发 明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明 的保护范围之内。