CN115018712B - 一种地图数据的分布式调度方法及*** - Google Patents
一种地图数据的分布式调度方法及*** Download PDFInfo
- Publication number
- CN115018712B CN115018712B CN202210915898.XA CN202210915898A CN115018712B CN 115018712 B CN115018712 B CN 115018712B CN 202210915898 A CN202210915898 A CN 202210915898A CN 115018712 B CN115018712 B CN 115018712B
- Authority
- CN
- China
- Prior art keywords
- pyramid
- map data
- space
- layer
- range
- 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 59
- 238000012216 screening Methods 0.000 claims abstract description 28
- 238000013507 mapping Methods 0.000 claims abstract description 16
- 230000008569 process Effects 0.000 claims abstract description 13
- 239000011159 matrix material Substances 0.000 claims description 22
- 238000012946 outsourcing Methods 0.000 claims description 20
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000009877 rendering Methods 0.000 abstract description 13
- 238000012545 processing Methods 0.000 abstract description 11
- 230000004044 response Effects 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010223 real-time analysis Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4023—Scaling of whole images or parts thereof, e.g. expanding or contracting based on decimating pixels or lines of pixels; based on inserting pixels or lines of pixels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/54—Browsing; Visualisation therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/56—Information retrieval; Database structures therefor; File system structures therefor of still image data having vectorial format
-
- 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/13—Edge detection
-
- 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/20—Special algorithmic details
- G06T2207/20016—Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Remote Sensing (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
一种地图数据的分布式调度方法及***,涉及计算机地图处理技术领域。所述方法包括在金字塔图层中筛选出若干个推荐抽稀图层;将若干个推荐抽稀图层作为新的金字塔模型;对新的金字塔模型进行抽稀处理;确定初始图层;建立初始图层与新的金字塔模型之间的映射关系;对前端设备请求出的地图图片的空间范围进行空间拆分形成多个子任务;利用每个子任务对应的空间范围所属的地图数据与新的金字塔图层之间的映射关系,分布式调用初始图层和新的金字塔图层。本发明可以解决地图调度过程中渲染延时、响应的速度慢等问题,从而提升***使用感受。
Description
技术领域
本发明涉及计算机地图处理技术领域,更具体地,涉及一种地图数据的分布式调度方法及***。
背景技术
分布式***调度研究的核心内容是从空间范围的角度出发,快速定位到不同区域范围的空间数据存储和管理的工作节点,进行实时分析处理,从而构建分布式的高性能地图发布引擎,实现大数据量下高性能的要求。一张大范围的地图浏览,涉及海量空间数据不同存储节点跨区域范围的快速检索与渲染,需要分布式调度具有高可用和高效性。
目前,国内外在地图动态渲染方面通常采用的技术主要包括地图数据动态出图、矢量切片技术等。但随着地图数据的数据量大幅增大、用户对应用的效率要求越来越高,上述技术均存在服务器存储空间占用、渲染延时、更新不及时、以及安全等问题,且在对地图数据抽稀处理时,如何在保证地图效果的情况下,保证渲染的速度、响应的速度等满足地图应用的要求,以及如何合理并且快速地对空间要素进行跨比例尺简化,是地图抽稀技术的一大难点。
发明内容
本发明旨在克服上述现有技术的至少一种缺陷,提供抽稀图层的筛选方法、地图数据的分布式调度方法及***,对金字塔图层中选择推荐抽稀的图层做抽稀处理,分布式调用抽稀图层,用于解决地图调度过程中渲染延时、响应的速度慢等问题,从而提升***使用感受。
本发明采取的技术方案是,一种地图数据的分布式调度方法,包括:
在金字塔模型中得到若干个推荐抽稀图层;
将若干个推荐抽稀图层作为新的金字塔模型;
对新的金字塔模型进行抽稀处理;
建立新的金字塔模型与预设金字塔模型,以及地图数据对应的空间范围与新的金字塔图层之间的映射关系;
根据前端设备请求出的地图的空间范围与前端设备的像素分辨率计算出前端设备请求出的地图图片中每个像素的空间范围;
根据每个像素的空间范围、预设金字塔模型中的每一个金字塔图层对应的金字塔网格的空间范围以及地图数据对应的实际网格的空间范围确定初始图层;
建立初始图层与新的金字塔模型之间的映射关系;
对前端设备请求出的地图图片的空间范围进行空间拆分形成多个子空间,每个子空间对应一个子任务;
利用每个子任务对应的空间范围所属的地图数据与新的金字塔图层之间的映射关系,分布式调用初始图层和新的金字塔图层。
本发明通过对前端设备请求出的地图图片的空间范围进行空间拆分,从而进行分布式地图调度,使得存储在数据库中的地图数据可以被共享,且通过分布式调度可以在多台数据库中平衡计算负载。
遍历地图数据中的每一个空间要素,直至地图数据中所有空间要素被遍历;
计算每一个空间要素的外包矩阵的较长边的边长;
确定每一个空间要素的外包矩阵的长边边长与金字塔模型中的每一层的金字塔网格的边长之间的比;
当所述空间要素的外包矩阵的长边边长与金字塔网格的边长之间的比大于或等于L,或当所述空间要素的外包矩阵较长边的边长与金字塔网格的边长比小于1时,将所述空间要素的外包矩阵较长边对应的空间要素填充到该金字塔图层对应的金字塔网格上,并将该金字塔网格设定为已被占位的状态;
当所述空间要素的外包矩阵较长边的边长与金字塔网格的边长比大于或等于1且小于L时,计算该空间要素的外包矩阵较长边对应的空间要素的代表坐标,确定代表坐标在该金字塔图层中所对应的金字塔网格的坐标,当该代表坐标对应的金字塔网格不是已被占位的状态时,将该代表坐标对应的空间要素添加到对应的金字塔网格中,并将所述对应的金字塔网格设定为已被占位的状态,否则抛弃该代表坐标所对应的空间要素。
本发明通过设计一套抽稀规则,在每一层金字塔图层中对地图数据中的空间要素进行抽稀处理,使得地图数据中关键空间要素的渲染代替部分空间要素的渲染,从而使得地图调度过程中地图数据能够被快速显示,本发明在对地图空间要素抽稀时,采用的是根据空间要素较长边所占的金字塔网格的数量来衡量空间要素的大小,在地图调度的过程中,用边长较长的空间要素代替边长较短的空间要素,而不是设定空间要素的重要度规则,根据重要度规则选定要保留的空间要素,本发明无需额外对空间要素设定重要度,再去判断重要度,而是直接判断每个空间要素的较长边边长与对应的金字塔网格的边长之比去衡量是否保留该空间要素,针对同等级或未设定重要度的空间要素,本发明的抽稀规则适用性更强,更合理。
本发明对每个空间要素设置了代表坐标,代表坐标在该金字塔图层中所对应的金字塔网格的坐标为对应的代表坐标与对应坐标轴中金字塔图层空间范围的最小值的差值除以金字塔网格的边长,从而得到该空间坐标在该金字塔图层中的金字塔网格位置。其中,为金字塔图层空间范围的x的最小值(既金字塔图层空间范围起始位置的x的值),为金字塔图层空间范围的y的最小值(既金字塔图层空间范围起始位置的y的值)。
进一步,该方法还包括:服务器将地图数据作为一个地图数据块存入,且将所述地图数据拆分/复制形成多个地图数据块分别存入;
根据每个地图数据块的数据获取到每个地图数据块对应的空间范围和所包含的空间要素;
根据获取的每个地图数据块对应的空间范围和所包含的空间要素,建立空间范围、空间要素、服务器三者之间的映射关系;
服务器结合空间索引获取到每个子任务的空间范围内所包含的空间要素,将空间要素渲染成结果图片,返回给前端。
本发明建立空间范围、空间要素、服务器三者之间的映射关系之后,在空间范围内便能查阅到对应空间范围所存储的服务器,以及存储在服务器内得该空间范围内包含的空间要素。将地图数据拆分后或者复制后存储到多个服务器,方便在分布式调度的时候多个服务器同时调用数据,从而加快调度速率。
进一步,服务器根据每个地图数据块对应的空间范围和建立R-Tree空间索引;
或者,服务器将每个地图数据块对应的空间范围写入PostGIS,自动建立空间索引。
本申请在地图数据存入服务器时便将地图数据块与该地图数据块对应的空间范围写入数据库,建立空间索引,从而在地图数据调度到某个空间范围时,通过建立的空间索引便能查阅到对应的地图数据块,进而调度到该地图数据块所包含的空间要素。
在金字塔模型中得到若干个推荐抽稀图层,包括以下步骤:
根据地图数据的类型选择预设金字塔模型;
根据地图数据和所选择的预设金字塔模型,生成预设金字塔模型,所述预设金字塔模型由若干个金字塔图层组成,每一个金字塔图层由若干个金字塔网格组成;
对地图数据对应的空间范围进行网格划分,形成若干个实际网格;
使用实际网格的范围对金字塔图层进行空间查询,对每一个金字塔图层中与每一个实际网格的范围重合的范围执行判断操作,得到各个金字塔图层的疏密程度指数;
所述第一判断操作为:判断重合的范围中是否存在空间要素,如果存在空间要素,将对应的金字塔图层的疏密程度指数加1%;
至少根据每一个实际网格的范围对应金字塔图层中金字塔网格的数量、同一金字塔图层的空间要素的数量、同一金字塔图层的疏密程度指数对每一个金字塔图层进行筛选,筛选出推荐抽稀图层。
本发明在地图调度过程中,为了更快速地调度金字塔模型,设计了一种针对推荐抽稀图层的筛选地图数据的分布式调度规则,通过对地图数据与金字塔模型进行的实际网格划分,计算的金字塔图层的疏密程度指数以及金字塔网格的数量,基于计算金字塔图层的疏密程度指数在原始的金字塔模型中筛选出符合筛选规则的金字塔图层作为推荐抽稀图层,后续可仅对选定为推荐抽稀图层的图层进行抽稀处理,而无需对所有金字塔图层进行抽稀处理,提高对金字塔图层的处理效率,且能够进一步加快后续基于金字塔图层的地图数据的调度过程。
进一步,至少根据每一个实际网格的范围对应金字塔图层中金字塔网格的数量、同一金字塔图层的空间要求数量、同一金字塔图层的疏密程度指数对每一个金字塔图层进行筛选,具体包括:
根据算式对每一个金字塔图层进行筛选,所述算式为:
其中为矢量数据对应的空间范围,为该金字塔图层中对应的每个金字塔网格的空间范围,为金字塔图层的金字塔网格数量,为金字塔图层中的空间要素数量,为金字塔图层的疏密程度常数,为金字塔图层的疏密程度指数,为根据金字塔图层的金字塔网格数量、金字塔图层的疏密程度指数、金字塔图层中的空间要素数量为参数的预设的规则函数,T代表满足筛选条件,F代表不满足筛选条件。
本发明通过对金字塔图层中每个实际网格中的空间要素进行查询,地图数据对应的空间范围除以该金字塔图层中对应的每个实际网格的空间范围得到金字塔图层的网格数量,当每一个实际网格的范围对应金字塔图层中金字塔网格的数量大于预设的阈值,且同一金字塔图层的空间要素数量乘以疏密程度常数除以疏密程度指数大于金字塔网格的数量时,预设的规则函数选择为T,否则预设的规则函数选择为F,将预设的规则函数为T对应的金字塔图层作为推荐抽稀图层。本发明通过预设的规则函数筛选出金字塔网格数量多且金字塔图层中空间要素含量多的图层作为推荐抽稀图层并组成新的金字塔模型,使得在地图调度过程中,无需调度整个金字塔模型,调度速度更快。
确定地图数据以经纬度坐标表示或以投影坐标表示;
若地图数据以经纬度坐标表示,选择经纬度网格标准的金字塔模型;
若地图数据以投影坐标表示,选择平面坐标网格标准的金字塔模型。
本发明中将金字塔模型分为经纬度网格标准的金字塔模型和平面坐标网格标准的金字塔模型,经纬度网格标准的金字塔模型中每个金字塔网格大小用经纬度表示,平面坐标网格标准金字塔模型中每个金字塔网格大小用投影坐标表示,针对不同的地图数据设计不同标准的金字塔模型,使得不同的地图数据再导入数据库时,就可以匹配到适配的金字塔模型,无需再将地图数据统一变更为适应***的格式,从而减少数据处理时间。
通过将地图数据所对应的空间范围的长和宽分别划分为N等份,得到N*N个实际网格。
本发明将地图数据均匀划分为多个实际网络,通过一个实际网格范围内金字塔图层中金字塔网格的数量表示整个金字塔图层中金字塔网格的数量,而不是直接统计整个金字塔图层中金字塔网格的数量,实际网格的划分,使得金字塔网格数量的筛选更加快速,且计算量降低。
第二方面,提供了一种地图数据的分布式调度***。该地图数据的分布式调度***,包括:
模型预设模块,用于预设金字塔模型及其对应的金字塔图层,并根据地图数据中的地图数据对金字塔模型中每一层的金字塔网格尺寸进行设置;
数据遍历模块,用于遍历地图数据中的地图数据中的每一个空间要素,直至地图数据中所有空间要素被遍历;
抽稀模块,用于根据地图数据中的空间要素对应金字塔模型中每一层金字塔网格的分布疏密程度确定金字塔模型的推荐抽稀图层,将推荐抽稀图层形成新的金字塔模型;
数据填充模块,用于将地图数据中的空间要素对新的金字塔模型进行地图数据填充;
数据请求模块,用于获取前端设备请求出的地图的空间范围与前端设备的像素分辨率;
拆分模块,用于将前端设备请求的地图的空间范围进行拆分形成多个子任务;
分布式调度模块,用于调度拆分后的子任务。
与现有技术相比,本发明的有益效果为:
本发明在对地图数据抽稀处理前,对金字塔图层设置了筛选规则,只对通过筛选的金字塔图层做抽稀处理,抽稀处理后的金字塔图层组成新的金字塔模型,且在地图调度的时候,根据前端设备请求出的地图图片的空间范围进行空间拆分形成多个子空间,每个子空间对应一个子任务,同时执行多个子任务,从而在保证地图效果的情况下,保证了渲染的速度、响应的速度等满足地图应用的要求,以及合理并且快速地对空间要素进行跨比例尺简化。
附图说明
图1是根据本发明实施例的金字塔模型中得到若干个推荐抽稀图层方法的流程示意图;
图2为实施例1的方法步骤S110的流程示意图;
图3是根据本发明实施例的一种地图数据的分布式调度方法的流程示意图;
图4为实施例2的方法步骤S220的流程示意图;
图5为空间要素的外包矩阵示意图;
图6为实施例2的方法步骤R110~R130的流程示意图;
图7是根据本发明实施例的一种地图数据的分布式调度***的***框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
如图1所示,根据本发明的实施例,提供了金字塔模型中得到若干个推荐抽稀图层方法。该金字塔模型中得到若干个推荐抽稀图层方法,包括以下步骤:
S110、根据地图数据的类型选择金字塔模型;所述地图数据为存入数据库中的数据化的地图内容。
如图2所示,步骤S110,具体包括:
S111、确定地图数据以经纬度坐标表示或以投影坐标表示,若地图数据以经纬度坐标表示,执行步骤S112,若地图数据以投影坐标表示,执行步骤S113;
S112、选择经纬度网格标准的金字塔模型;
所述经纬度网格标准中的每个金字塔网格大小用经纬度表示;
S113、选择平面坐标网格标准的金字塔模型。
平面坐标网格标准中的每个金字塔网格大小用投影坐标表示。
具体的,经纬度网格标准的金字塔模型中每个金字塔网格大小用经纬度表示,平面坐标网格标准金字塔模型中每个金字塔网格大小用投影坐标表示;
S120、根据地图数据和所选择的金字塔模型,生成预设金字塔模型;
所述预设金字塔模型由若干个金字塔图层组成,每一个金字塔图层由若干个金字塔网格组成;具体的,将地图数据中的空间要素对金字塔模型进行矢量数据填充从而生成包含空间要素的预设金字塔模型,使得预设金字塔模型覆盖整个地图数据。
S130、对地图数据对应的空间范围进行网格划分,形成若干个实际网格;具体的,所述空间范围为地图数据中对应的实际地面的占地范围。具体的,网格划分的具体执行过程为:
通过将地图数据所对应的空间范围的长和宽分别划分为N等份,得到N*N个实际网格。优选的,N=10,将地图数据对应的空间范围均匀划分为100个实际网格。
S140、使用实际网格的范围对金字塔图层进行空间查询,对每一个金字塔图层中与每一个实际网格的范围重合的范围执行判断操作,得到各个金字塔图层的疏密程度指数;所述空间查询为对实际网格范围内包含的每一个金字塔网格中的空间要素进行查询,查看是否存在空间要素。
所述判断操作为:判断重合的范围中是否存在空间要素,如果存在空间要素,将对应的金字塔图层的疏密程度指数加1%;
优选的,金字塔图层的网格数量设定为2000,金字塔图层的疏密程度指数初始值设置为0,金字塔图层的疏密程度常数按经验设定为8,从而筛选出含有大量空间要素的金字塔图层。
S150、至少根据每一个实际网格的范围对应金字塔图层中金字塔网格的数量、同一金字塔图层的空间要素的数量、同一金字塔图层的疏密程度指数对每一个金字塔图层进行筛选,筛选出推荐抽稀图层。
步骤S150的具体执行过程为:
根据算式对每一个金字塔图层进行筛选,所述算式为:
其中为矢量数据对应的空间范围,为该金字塔图层中对应的每个金字塔网格的空间范围,为金字塔图层的金字塔网格数量,为金字塔图层中的空间要素数量,为金字塔图层的疏密程度常数,为金字塔图层的疏密程度指数,为根据金字塔图层的金字塔网格数量、金字塔图层的疏密程度指数、金字塔图层中的空间要素数量为参数的预设的规则函数,T代表满足筛选条件,F代表不满足筛选条件。
本实施例设计了一种针对地图数据的分布式调度规则,通过对地图数据与金字塔模型进行的实际网格划分,计算的金字塔图层的疏密程度指数以及金字塔网格的数量,基于计算金字塔图层的疏密程度指数在原始的金字塔模型中筛选出符合筛选规则的金字塔图层作为推荐抽稀图层,后续可仅对选定为推荐抽稀图层的图层进行抽稀处理,而无需对所有金字塔图层进行抽稀处理,提高对金字塔图层的处理效率,且能够进一步加快后续基于金字塔图层的地图数据的调度过程。
实施例2
基于与实施例1相同的构思,如图3所示,根据本发明的实施例,提供了一种地图数据的分布式调度方法。该地图数据的分布式调度方法,包括以下步骤:
S210、将若干个根据实施例1的方法得到的推荐抽稀图层作为新的金字塔模型;
S220、对新的金字塔模型进行抽稀处理;
对金字塔图层中的空间要素进行多尺度的抽稀处理,使得不同级别比例尺下用户浏览的空间要素数量控制的地图调度可以一次快速调度。
如图4所示,步骤S220的具体执行过程包括以下步骤:
S221、遍历地图数据中的每一个空间要素,直至地图数据中所有空间要素被遍历;所述空间要素包括建筑空间的十个基本要素,即以:柱、墙、窗、门、屋顶、顶棚、地面、阶梯、柱廊、城市的设施为单元,并加上建筑设施、临时设施两个单元,构成空间要素。
S222、计算每一个空间要素的外包矩阵的较长边的边长;如图5中所示,每个颜色块分别为一个空间要素,颜色块所对应的图形的轮廓为空间要素的外包矩阵,如标注A所示,黑色曲线为所围空间要素的外包矩阵。
S223、确定每一个空间要素的外包矩阵的长边边长与金字塔模型中的每一层的金字塔网格的边长之间的比;
S224、判断空间要素的外包矩阵较长边的边长与金字塔网格的边长比是否大于或等于1且小于L,如是,执行步骤S225,如否,执行步骤S226;
S225、计算该空间要素的外包矩阵较长边对应的空间要素的代表坐标,确定代表坐标在该金字塔图层中所对应的金字塔网格的坐标,判断该代表坐标对应的金字塔网格是不是已被占位的状态,如是,执行步骤S228,如否,执行步骤227;
S226、将所述空间要素的外包矩阵较长边对应的空间要素填充到该金字塔图层对应的金字塔网格上,并将该金字塔网格设定为已被占位的状态;优选的,L=10。
S227、将该代表坐标对应的空间要素添加到对应的金字塔网格中,并将所述对应的金字塔网格设定为已被占位的状态,
S228、抛弃该代表坐标所对应的空间要素。优选的,所述代表坐标为空间要素的中心点坐标,若空间要素的形状不规则,所述代表坐标为空间要素的重心坐标。
S230、建立新的金字塔模型与预设金字塔模型,以及地图数据对应的空间范围与新的金字塔图层之间的映射关系;
金字塔技术解决了海量地图数据在小比例尺秒级显示的难题,在保证显示效果的前提下,降低了数据绘制的复杂度,从而使绘制性能大幅提升。
S240、根据前端设备请求出的地图的空间范围与前端设备的像素分辨率计算出前端设备请求出的地图图片中每个像素的空间范围;所述前端设备为用户为查询地图所使用的客户端,包括且不限于包括显示屏幕的手机、电脑等设备。
S250、根据每个像素的空间范围、预设金字塔模型中的每一个金字塔图层对应的金字塔网格的空间范围以及地图数据对应的实际网格的空间范围确定初始图层;
步骤S250的具体执行过程为:
在前端设备请求出的地图图片的比例尺下构建屏幕网格,每个屏幕网格对应前端设备屏幕坐标下m×m像素;根据前端设备请求出的地图图片的空间范围确定出前端设备请求出的地图图片覆盖到的屏幕网格;当前端设备请求出的地图图片的空间范围小于或等于一个屏幕网格大小时,不需要对所述前端设备请求出的地图图片的空间范围进行空间拆分,否则需要对所述前端设备请求出的地图图片的空间范围进行空间拆分;前端设备请求出的地图图片中实际请求的地图数据的空间范围覆盖到的屏幕网格范围为子任务要调度的空间范围;具体的,选择网格的空间范围比每个像素的空间范围小且网格的空间范围与每个像素的空间范围最接近的网格所属的图层作为初始图层。
优选的,m=256,把一次大数据量的渲染任务按照空间范围进行拆分,每个子任务按照256×256的像素范围进行地图数据的获取和图片渲染。
S260、建立初始图层与新的金字塔模型之间的映射关系;
S270、对前端设备请求出的地图图片的空间范围进行空间拆分形成多个子空间,每个子空间对应一个子任务;
S280、利用每个子任务对应的空间范围所属的地图数据与新的金字塔图层之间的映射关系,分布式调用初始图层和新的金字塔图层。这种调度方式既解决了一次性获取大量地图要素的性能问题,也可以实现多个计算节点并行计算,整体提升地图调度的出图效率。
如图6所示,该地图数据的分布式调度方法,在步骤S210~S280之前,还包括以下步骤:
R110、服务器将地图数据作为一个地图数据块存入,且将所述地图数据拆分/复制形成多个地图数据块分别存入;采用多个的服务器既可以满足运行的高可用,还可以支撑多个地图数据块之间的空间操作,大大提升地图数据的查询访问效率。
R120、根据每个地图数据块的数据获取到每个地图数据块对应的空间范围和所包含的空间要素;
R130、根据获取的每个地图数据块对应的空间范围和所包含的空间要素,建立空间范围、空间要素、服务器三者之间的映射关系;优选的,本发明采用R-Tree或PostGIS建立服务器与空间范围之间的空间索引。为了提升调度效率,简化空间范围,利用空间数据块的空间范围与服务器建立调度信息的空间索引。具体包括:
服务器根据每个地图数据块对应的空间范围和建立R-Tree空间索引;
或者,服务器将每个地图数据块对应的空间范围写入PostGIS,自动建立空间索引。
在步骤S210~S280之后,还包括以下步骤:
R140、服务器结合空间索引获取到每个子任务的空间范围内所包含的空间要素,将空间要素渲染成结果图片,返回给前端。在服务器对请求的地图调度渲染任务进行分解,交由多个进程执行,更充分、更高效地利用计算资源;还可进一步配置服务器集群,将分块渲染任务发送给集群子节点分别执行,进一步提升计算的并行度。
实施例3
如图7所示,根据本发明的另一实施例,提供了一种地图数据的分布式调度***。该地图数据的分布式调度***,包括:
模型预设模块310,用于预设金字塔模型及其对应的金字塔图层,并根据地图数据中的地图数据对金字塔模型中每一层的金字塔网格尺寸进行设置;
数据遍历模块320,用于遍历地图数据中的地图数据中的每一个空间要素,直至地图数据中所有空间要素被遍历;
抽稀模块330,用于根据地图数据中的空间要素对应金字塔模型中每一层金字塔网格的分布疏密程度确定金字塔模型的推荐抽稀图层,将推荐抽稀图层形成新的金字塔模型;
数据填充模块340,用于将地图数据中的空间要素对新的金字塔模型进行地图数据填充;
数据请求模块350,用于获取前端设备请求出的地图的空间范围与前端设备的像素分辨率;
拆分模块360,用于将前端设备请求的地图的空间范围进行拆分形成多个子任务;
分布式调度模块370,用于调度拆分后的子任务。
实施例4
基于与实施例1、2相同的构思,本实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现实施例1或2任一实施例所述的防范违规作业的方法。
本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现实施例1或2任一实施例所述的防范违规作业的方法。
显然,本发明的上述实施例仅仅是为清楚地说明本发明技术方案所作的举例,而并非是对本发明的具体实施方式的限定。凡在本发明权利要求书的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (9)
1.一种地图数据的分布式调度方法,其特征在于,包括:
在金字塔图层中筛选出若干个推荐抽稀图层;
将若干个推荐抽稀图层作为新的金字塔模型;
对新的金字塔模型进行抽稀处理;
建立新的金字塔模型与预设金字塔模型,以及地图数据对应的空间范围与新的金字塔图层之间的映射关系;
根据前端设备请求出的地图的空间范围与前端设备的像素分辨率计算出前端设备请求出的地图图片中每个像素的空间范围;
根据每个像素的空间范围、预设金字塔模型中的每一个金字塔图层对应的金字塔网格的空间范围以及地图数据对应的实际网格的空间范围确定初始图层;
建立初始图层与新的金字塔模型之间的映射关系;
对前端设备请求出的地图图片的空间范围进行空间拆分形成多个子空间,每个子空间对应一个子任务;
利用每个子任务对应的空间范围所属的地图数据与新的金字塔图层之间的映射关系,分布式调用初始图层和新的金字塔图层;
所述在金字塔图层中筛选出若干个推荐抽稀图层,具体包括以下步骤:
根据地图数据的类型选择预设金字塔模型;
根据地图数据和所选择的预设金字塔模型,生成金字塔模型,所述预设金字塔模型由若干个金字塔图层组成,每一个金字塔图层由若干个金字塔网格组成;
对地图数据对应的空间范围进行网格划分,形成若干个实际网格;
使用实际网格的范围对金字塔图层进行空间查询,对每一个金字塔图层中与每一个实际网格的范围重合的范围执行判断操作,得到各个金字塔图层的疏密程度指数;
所述判断操作为:判断重合的范围中是否存在空间要素,如果存在空间要素,将对应的金字塔图层的疏密程度指数加1%;
至少根据每一个实际网格的范围对应金字塔图层中金字塔网格的数量、同一金字塔图层的空间要素的数量、同一金字塔图层的疏密程度指数对每一个金字塔图层进行筛选,筛选出推荐抽稀图层。
2.根据权利要求1所述的一种地图数据的分布式调度方法,其特征在于,
至少根据每一个实际网格的范围对应金字塔图层中金字塔网格的数量、同一金字塔图层的空间要求数量、同一金字塔图层的疏密程度指数对每一个金字塔图层进行筛选,具体包括:
根据算式对每一个金字塔图层进行筛选,所述算式为:
3.根据权利要求1所述的一种地图数据的分布式调度方法,其特征在于,所述根据地图数据的类型选择金字塔模型,具体包括:
确定地图数据以经纬度坐标表示或以投影坐标表示;
若地图数据以经纬度坐标表示,选择经纬度网格标准的金字塔模型;
若地图数据以投影坐标表示,选择平面坐标网格标准的金字塔模型。
4.根据权利要求1所述的一种地图数据的分布式调度方法,其特征在于,所述对地图数据所对应的空间范围进行网格划分形成多个实际网格,具体为:
通过将地图数据所对应的空间范围的长和宽分别划分为N等份,得到N*N个实际网格。
5.根据权利要求1所述的一种地图数据的分布式调度方法,其特征在于,所述对新的金字塔模型进行抽稀处理,具体包括:
遍历地图数据中的每一个空间要素,直至地图数据中所有空间要素被遍历;
计算每一个空间要素的外包矩阵的较长边的边长;
确定每一个空间要素的外包矩阵的长边边长与金字塔模型中的每一层的金字塔网格的边长之间的比;
当所述空间要素的外包矩阵的长边边长与金字塔网格的边长之间的比大于或等于L,或当所述空间要素的外包矩阵较长边的边长与金字塔网格的边长比小于1时,将所述空间要素的外包矩阵较长边对应的空间要素填充到该金字塔图层对应的金字塔网格上,并将该金字塔网格设定为已被占位的状态;
当所述空间要素的外包矩阵较长边的边长与金字塔网格的边长比大于或等于1且小于L时,计算该空间要素的外包矩阵较长边对应的空间要素的代表坐标,确定代表坐标在该金字塔图层中所对应的金字塔网格的坐标,当该代表坐标对应的金字塔网格不是已被占位的状态时,将该代表坐标对应的空间要素添加到对应的金字塔网格中,并将所述对应的金字塔网格设定为已被占位的状态,否则抛弃该代表坐标所对应的空间要素。
7.根据权利要求6所述的一种地图数据的分布式调度方法,其特征在于,
还包括如下步骤:
服务器将地图数据作为一个地图数据块存入,且将所述地图数据拆分/复制形成多个地图数据块分别存入;
根据每个地图数据块的数据获取到每个地图数据块对应的空间范围和所包含的空间要素;
根据获取的每个地图数据块对应的空间范围和所包含的空间要素,建立空间范围、空间要素、服务器三者之间的映射关系;
服务器结合空间索引获取到每个子任务的空间范围内所包含的空间要素,将空间要素渲染成结果图片,返回给前端。
8.根据权利要求7所述的一种地图数据的分布式调度方法,其特征在于,所述建立空间范围、空间要素、服务器三者之间的映射关系的步骤,具体包括:
服务器根据每个地图数据块对应的空间范围和建立R-Tree空间索引;
或者,服务器将每个地图数据块对应的空间范围写入PostGIS,自动建立空间索引。
9.一种地图数据的分布式调度***,其特征在于,包括:
模型预设模块,用于预设金字塔模型及其对应的金字塔图层,并根据地图数据中的地图数据对金字塔模型中每一层的金字塔网格尺寸进行设置;
数据遍历模块,用于遍历地图数据中的每一个空间要素,直至地图数据中所有空间要素被遍历;
抽稀模块,用于根据地图数据中的空间要素对应金字塔模型中每一层金字塔网格的分布疏密程度确定金字塔模型的推荐抽稀图层,将推荐抽稀图层形成新的金字塔模型;
数据填充模块,用于将地图数据中的空间要素对新的金字塔模型进行地图数据填充;
数据请求模块,用于获取前端设备请求出的地图的空间范围与前端设备的像素分辨率;
拆分模块,用于将前端设备请求的地图的空间范围进行拆分形成多个子任务;
分布式调度模块,用于调度拆分后的子任务;
网格划分模块,用于对地图数据对应的空间范围进行网格划分;
疏密程度计算模块,用于对每一个金字塔图层中与每一个实际网格的范围重合的范围执行判断操作,得到各个金字塔图层的疏密程度指数;
判断模块,用于判断重合的范围中是否存在空间要素,如果存在空间要素,将对应的金字塔图层的疏密程度指数加1%;
筛选模块,用于至少根据每一个实际网格的范围对应金字塔图层中金字塔网格的数量、同一金字塔图层的空间要素的数量、同一金字塔图层的疏密程度指数对每一个金字塔图层进行筛选,筛选出推荐抽稀图层。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210915898.XA CN115018712B (zh) | 2022-08-01 | 2022-08-01 | 一种地图数据的分布式调度方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210915898.XA CN115018712B (zh) | 2022-08-01 | 2022-08-01 | 一种地图数据的分布式调度方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115018712A CN115018712A (zh) | 2022-09-06 |
CN115018712B true CN115018712B (zh) | 2022-11-15 |
Family
ID=83066327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210915898.XA Active CN115018712B (zh) | 2022-08-01 | 2022-08-01 | 一种地图数据的分布式调度方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115018712B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116612207B (zh) * | 2023-04-12 | 2024-01-09 | 北京龙软科技股份有限公司 | 一种露天矿区矢量图件空间点要素注记抽稀方法和*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102693319A (zh) * | 2012-05-31 | 2012-09-26 | 北京拓维思科技有限公司 | 基于金字塔的海量激光雷达点云存储方法 |
CN102831605A (zh) * | 2012-07-31 | 2012-12-19 | 武汉大学 | 用于大型影像的多尺度图像分割结果快速可视化方法 |
CN110990612A (zh) * | 2019-12-13 | 2020-04-10 | 特力惠信息科技股份有限公司 | 一种矢量大数据快速显示的方法及终端 |
CN111090716A (zh) * | 2019-12-31 | 2020-05-01 | 方正国际软件(北京)有限公司 | 矢量瓦片数据处理方法、装置、设备和存储介质 |
CN113535867A (zh) * | 2021-05-31 | 2021-10-22 | 福建省基础地理信息中心 | 一种适配多数据源的矢量瓦片生成方法及*** |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3611468A1 (en) * | 2018-08-17 | 2020-02-19 | Ordnance Survey Limited | Vector tile pyramiding |
CN110737737A (zh) * | 2019-09-19 | 2020-01-31 | 中国国土勘测规划院 | 一种国土矢量数据渲染方法及*** |
-
2022
- 2022-08-01 CN CN202210915898.XA patent/CN115018712B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102693319A (zh) * | 2012-05-31 | 2012-09-26 | 北京拓维思科技有限公司 | 基于金字塔的海量激光雷达点云存储方法 |
CN102831605A (zh) * | 2012-07-31 | 2012-12-19 | 武汉大学 | 用于大型影像的多尺度图像分割结果快速可视化方法 |
CN110990612A (zh) * | 2019-12-13 | 2020-04-10 | 特力惠信息科技股份有限公司 | 一种矢量大数据快速显示的方法及终端 |
CN111090716A (zh) * | 2019-12-31 | 2020-05-01 | 方正国际软件(北京)有限公司 | 矢量瓦片数据处理方法、装置、设备和存储介质 |
CN113535867A (zh) * | 2021-05-31 | 2021-10-22 | 福建省基础地理信息中心 | 一种适配多数据源的矢量瓦片生成方法及*** |
Non-Patent Citations (2)
Title |
---|
"(三)WebGIS前端地图显示之根据地理范围换算出瓦片行列号的原理(核心)";李晓晖;《https://www.cnblogs.com/naaoveGIS/p/3899821.html》;20140808;1-6 * |
海量栅格地理数据的组织与调度;马琪等;《地理与地理信息科学》;20081115(第06期);39-41 * |
Also Published As
Publication number | Publication date |
---|---|
CN115018712A (zh) | 2022-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106991135B (zh) | 面向遥感影像数据的快速瓦片生成方法 | |
CN110990612B (zh) | 一种矢量大数据快速显示的方法及终端 | |
CN110990516A (zh) | 地图数据的处理方法、装置和服务器 | |
CN115018712B (zh) | 一种地图数据的分布式调度方法及*** | |
CN112396682B (zh) | 一种三维场景下视觉递进的模型浏览方法 | |
US10474574B2 (en) | Method and apparatus for system resource management | |
CN114998108B (zh) | 一种矢量数据优化处理方法及*** | |
CN116628123B (zh) | 基于空间数据库的动态切片生成方法和*** | |
CN111932668A (zh) | 一种城市景观模型三维可视化方法、***、介质和电子设备 | |
CN115457226A (zh) | 矢量地图生成方法、装置、电子设备和可读存储介质 | |
CN111143502A (zh) | 一种地图瓦片高效生成方法及装置 | |
CN111899323B (zh) | 三维地球的绘制方法及装置 | |
CN113535867A (zh) | 一种适配多数据源的矢量瓦片生成方法及*** | |
CN108363808B (zh) | 海量数据的动态调度与显示方法、装置、设备及存储介质 | |
CN114596423A (zh) | 基于虚拟场景网格化的模型渲染方法、装置和计算机设备 | |
CN115994197A (zh) | GeoSOT网格数据计算方法 | |
US20220374496A1 (en) | Techniques for accelerating matrix multiplication computations using hierarchical representations of sparse matrices | |
CN116737392B (zh) | 一种非矢量数据的处理方法、装置及计算设备 | |
CN111599015B (zh) | 一种约束条件下的空间多边形网格化填充方法和装置 | |
CN110248381B (zh) | 定位数据处理方法、装置、计算机设备及存储介质 | |
CN110727746B (zh) | 基于二次任务划分策略的缓冲分析并行调度方法及装置 | |
CN117056626A (zh) | 一种地图预览的方法及装置 | |
CN108564637B (zh) | 几何模型排布方法及装置 | |
CN115357679A (zh) | 一种四维空域自适应栅格化规划方法及装置 | |
CN113626547A (zh) | 一种货运行业地图矢量切片方法、装置、存储介质及终端 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |