CN115661396A - 一种基于全球网格划分的地图要素注记显示方法及系统 - Google Patents

一种基于全球网格划分的地图要素注记显示方法及系统 Download PDF

Info

Publication number
CN115661396A
CN115661396A CN202211691063.7A CN202211691063A CN115661396A CN 115661396 A CN115661396 A CN 115661396A CN 202211691063 A CN202211691063 A CN 202211691063A CN 115661396 A CN115661396 A CN 115661396A
Authority
CN
China
Prior art keywords
grid
map
layer
grids
global
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.)
Granted
Application number
CN202211691063.7A
Other languages
English (en)
Other versions
CN115661396B (zh
Inventor
徐伟
张臻
刘辰炜
戴高乐
汪静
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC 28 Research Institute
Original Assignee
CETC 28 Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CETC 28 Research Institute filed Critical CETC 28 Research Institute
Priority to CN202211691063.7A priority Critical patent/CN115661396B/zh
Publication of CN115661396A publication Critical patent/CN115661396A/zh
Application granted granted Critical
Publication of CN115661396B publication Critical patent/CN115661396B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种基于全球网格划分的地图要素注记显示方法及系统。所述方法包括:对全球地理空间划分成多层级网格并对每个网格进行编码;将地图上各要素注记按网格进行分层分块并按网格编码,保存在本地数据库中;采用多级缓存并行渲染技术在显示设备上进行显示。本发明通过对全球网格的编码可以有效提升地图要素注记的检索效率,通过并行渲染技术可以在嵌入式设备上实现高性能的渲染,本发明克服了单一嵌入式平台上地图要素注记显示与多操作系统平台之间的矛盾,单个数据库文件可以方便地在不同平台间进行移植。

Description

一种基于全球网格划分的地图要素注记显示方法及系统
技术领域
本发明涉及地图信息处理技术领域,具体涉及一种适用于不同操作系统平台的地图要素注记显示方法及系统。
背景技术
随着嵌入式设备的不断发展,嵌入式地图已快速融入到人们的工作和生活中。但由于嵌入式设备平台种类多,如常用的有基于Android、Linux、HarmonyOS等移动嵌入式设备,不常见的基于VxWorks、天脉等机载嵌入式设备等,各平台之间存在软硬件性能、异构地理数据资源读取方式、图形显示方式等诸多方面的差异性,同一份地图数据在不同平台之间的移植困难大。此外,传统上对于地图数据的检索方法主要是采用地理空间关系运算,在数据量大的情况下检索效率较低,这在计算能力有限的嵌入式平台上尤为明显。
发明内容
发明目的:本发明的目的是提供一种基于全球网格划分的地图要素注记显示方法及系统,方便地图要素注记在不同操作系统平台的嵌入式设备间进行快速移植、加载及无压盖渲染。
技术方案:第一方面,一种基于全球网格划分的地图要素注记显示方法,包括以下步骤:
S1、根据不同比例尺将全球地图地理空间划分为不同的显示层,每一层地图地理空间以经度方向和纬度方向划分若干个网格,同一层各个网格的经纬度范围相同,对每个网格按其所在层级和在层级中的块序号进行唯一可识别编码;
S2、基于地图的点线面要素数据集获取要素注记的包围盒,根据全球网格划分编码获取最小能包含该包围盒的网格所在层级;以当前层级为起始计算层级,依次计算要素注记在其他比例尺层级下网格,计算后结果进行去重,得到最后要素编码集合;根据注记对应的要素初始位置的网格编码建立数据空间索引,将地图要素地理数据和注记信息存入数据库中;
S3、根据地图比例尺以及绘制视口范围获取当前层级以及对应网格范围,通过数据空间索引值从数据库中检索地图要素相应信息,对地图要素注记进行压盖处理;将绘制好的位图放入缓存队列中,并最终从缓存队列渲染到显示设备上。
优选地,所述步骤S1中,全球地图地理空间范围为经度:-180~180,纬度:-90~90,将全球空间按不同比例尺划分为L层,将第l层全球范围划分为
Figure 282078DEST_PATH_IMAGE001
个经纬度范围差值相同的网格,
Figure 360368DEST_PATH_IMAGE002
,第l层中每个网格的经度范围为
Figure 352594DEST_PATH_IMAGE003
,纬度范围为
Figure 375914DEST_PATH_IMAGE004
,其中
Figure 86381DEST_PATH_IMAGE005
,对于某一经纬度(Lng, Lat)点在第l层的网格所对应的行号r和列号c为:
Figure 705712DEST_PATH_IMAGE006
l层网格对应的行列号与第l-1层网格对应的行列号以及经纬度范围差值存在以下关系:
Figure 818025DEST_PATH_IMAGE007
D l 为第l层经纬度范围差值。
优选地,所述步骤S2中,基于地图的点线面要素数据集获取要素注记的包围盒,根据全球网格划分编码获取最小能包含该包围盒的网格所在层级包括:
对于一个地图要素,根据注记绘制的位置、字体、字号、偏移量获得外接包围盒,选取外接包围盒的左上点PtLT和右下点PtRB,获取两个点所在第i层网格的行列号分别为(r i,LT , c i,LT )和(r i,RB , c i,RB ),判断外接包围盒与当前层级网格是否相交,若相交则获取两个点在第i-1层网格的行列号分别为(r i-1,LT , c i-1,LT )和(r i-1,RB , c i-1,RB ),判断外接包围盒与上一层级网格是否相交,直至两点连线在唯一网格内。
优选地,判断外接包围盒与当前层级网格是否相交包括:计算相交系数
Figure 746667DEST_PATH_IMAGE008
,若
Figure 678850DEST_PATH_IMAGE009
,则外接包围盒与当前层级网格相交。
优选地,所述步骤S2中,以当前层级为起始计算层级,依次计算要素注记在其他比例尺层级下网格,计算后结果进行去重,得到最后要素编码集合包括:
S21、获取注记a外接包围盒四个点中每两个相邻点Ptk和Ptk+1所在j层网格的行列号(r j,k , c j,k )和(r j,k+1, c j,k+1),两点所在网格放入集合G j,a 中;
S23、判断两点连线作为对角线的外接包围盒与当前层级网格是否相交,若相交,则判断(r j,k , c j,k )和(r j,k+1, c j,k+1)之间所有的网格与两点连线是否相交,相交网格
Figure 836293DEST_PATH_IMAGE010
放入集合G j,a 中,对集合G j,a 进行去重处理;
S23、计算集合G j,a 中所有网格的编码,得到注记a在第l层最终编码集合Code j,a
S24、根据第j层中的网格集合G j,a ,递归遍历下一层j+1中对应的子网格G j+1,a ,执行步骤S21至S23的操作,直至第L层集合G L,a ;并遍历计算上一层j-1,直至第1层集合G 1,a
优选地,所述步骤S2中,将地图要素地理数据和注记信息存入数据库中包括:
计算第L层中注记a的网格编码集合Code L,a 是否与其他注记b编码集合Code L,b 存在压盖,统计所有注记的压盖数,根据注记的压盖数从大到小的顺序依次将地图要素地理数据和注记信息存入数据库。
优选地,所述步骤S3中,根据当前显示设备的分辨率创建两块同等大小的缓存位图作为主备位图,建立对应的主、备任务机制:创建辅助线程,将注记绘制阶段放入辅助线程中使用空闲的位图进行绘制,同时主线程选取已绘制好的位图进行融图渲染,其中注记绘制阶段先根据地图比例尺以及绘制视口范围获取当前层级l以及对应网格范围,根据网格范围获取注记绘制队列,对队列中注记依次在屏幕空间寻找到合适的区域放置。
第二方面,一种基于全球网格划分的地图要素注记显示系统,包括:
全球网络划分模块,用于根据不同比例尺将全球地图地理空间划分为不同的显示层,每一层地图地理空间以经度方向和纬度方向划分若干个网格,同一层各个网格的经纬度范围相同,对每个网格按其所在层级和在层级中的块序号进行唯一可识别编码;
要素注记编码模块,用于基于地图的点线面要素数据集获取要素注记的包围盒,根据全球网格划分编码获取最小能包含该包围盒的网格所在层级;以当前层级为起始计算层级,依次计算要素注记在其他比例尺层级下网格,计算后结果进行去重,得到最后要素编码集合;根据注记对应的要素初始位置的网格编码建立数据空间索引,将地图要素地理数据和注记信息存入数据库中;
要素注记绘制模块,用于根据地图比例尺以及绘制视口范围获取当前层级以及对应网格范围,通过数据空间索引值从数据库中检索地图要素相应信息,对地图要素注记进行压盖处理;将绘制好的位图放入缓存队列中,并最终从缓存队列渲染到显示设备上。
第三方面,本发明还提供一种计算机设备,包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述程序被处理器执行时实现如本发明第一方面所述的基于全球网格划分的地图要素注记显示方法的步骤。
第四方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如本发明第一方面所述的基于全球网格划分的地图要素注记显示方法的步骤。
有益效果:本发明从Android、Linux、VxWorks等不同操作系统平台的地图显示入手,通过对全球地理空间范围进行网格划分,为网格块内的地理数据建立索引编码,并将地图要素标注信息以空间网格索引的方式存入数据库文件中,方便在各平台之间进行移植,通过网格索引提升地图要素注记信息的检索效率,同时通过并行渲染方式有效地提高地图显示效率,从而提高整个嵌入式显示的实时性。
附图说明
图1是本发明方法的处理流程示意图;
图2是全球地理空间划分为四层网格的各层剖分示意图;
图3是网格编码示意图;
图4是要素注记八个方位及其对应的优先级示意图;
图5是要素注记根据编码处理压盖前后绘制示意图;
图6是双缓存并行渲染流程图。
具体实施方式
下面结合附图对本发明的技术方案作进一步说明。
参照图1,本发明所述的基于全球网格划分的地图要素注记显示方法,包括以下步骤:
步骤1,全球网格剖分:根据不同比例尺将全球地图划分为不同的显示层,每一层地图地理空间以经度方向和纬度方向划分若干个网格块,网格块的经纬度范围相同,对每个网格按其层级和所在层级的块序号进行编码。
步骤2,地图要素注记按网格编码入库:对于地图的点线面要素标注,计算要素注记的包围盒,根据包围盒首先获取大小被包含在一个网格内的网格层级;以当前层级为起始计算层级,依次计算要素在其它层级下网格,计算后结果进行去重,得到最后要素编码;根据要素编码建立数据空间索引,将地图要素地理数据和注记信息存入本地数据库中。
步骤3,要素注记绘制:根据地图比例尺以及绘制视口范围获取当前层级以及对应网格范围,通过数据空间索引值从数据库中检索地图要素相应信息,对地图要素注记进行压盖处理。将绘制好的位图放入缓存队列中,本发明采用双缓存并行渲染方式,即创建两块与显示设备同等大小的缓存空间以及建立对应的主备机制。最终渲染任务从缓存队列中取出已绘制号注记的位图,并最终渲染到显示设备上,辅助线程用另一块缓存空间绘制注记信息,如此循环往复。
下面具体介绍各个步骤的主要流程:
1、全球网格剖分
全球地图地理空间范围为经度:-180~180,纬度:-90~90,将全球空间按不同比例尺划分为L层,本发明中L最大为15,将第l层全球范围划分为
Figure 927746DEST_PATH_IMAGE011
个经纬度范围差值相同的网格
Figure 512442DEST_PATH_IMAGE012
,第l层差值为D l 。第l层中每个网格的经度范围Level(l, Lng)为360/m l ,纬度范围Level(l, Lat)为180/n l ,其中
Figure 931922DEST_PATH_IMAGE013
。对于某一经纬度(Lng,Lat)点在第l层的网格所对应的行号r和列号c为:
Figure 407903DEST_PATH_IMAGE014
l层网格对应的行列号与第l-1层网格对应的行列号以及经纬度范围差值存在以下关系:
Figure 229229DEST_PATH_IMAGE015
图2示出了全球地理空间划分为四层网格的各层剖分示意图,L=4,如图2中的(2a)所示,在第一层网格中,l=1,n l =1,m l =2,全球范围(经度:-180~180,纬度:-90~90)被划分为一行两列的大小相等的网格,行列号从0开始计数,每个网格的经纬度范围均为180;如图2中的(2b)所示,在第二层中,l=2,n l =2,m l =4,将全球范围划分为两行四列共8个二层网格,每个二层网格的经纬度范围均为90;如图2中的(2c)所示,在第三层中,l=3,n l =4,m l =8,将全球范围划分为四行八列共32个三层网格,每个三层网格的经纬度范围均为45;如图2中的(2d)所示,在第四层中,l=4,n l =8,m l =16,将全球范围划分为八行十六列共128个四层网格,每个四层网格的经纬度范围均为22.5。
l 层网格对应的最大行列号为:
Figure 513055DEST_PATH_IMAGE016
由于L最大为15,当L=15时,最大行号为215-1=16384,最大列号为215=32768。可知最大行列号为5位数,本发明采用按二进制数保存层行列号方法,对于某个5位数,每位上最大数值为9,9为十进制数,可用4位二进制数表示,即
Figure 419831DEST_PATH_IMAGE017
,需要4 X 5=20位二进制数保存该5位数。对某个数值Num,第k位数转换为二进制数后需左移
Figure 433923DEST_PATH_IMAGE018
位保存,计算公式为:
Figure 375335DEST_PATH_IMAGE019
如图3中(3a)所示为本发明中数值16384二进制数保存方式。
考虑到层号最大为15,二进制编码为1111,需要4位二进制数保存,则
Figure 832992DEST_PATH_IMAGE020
数值采用64位长整型保存,前20位(1~20位)保存列号数值Codec,中间20位(21~40位)保存行号数值Coder即将Coder左移20位,后4位(41~44位)保存层号,其余位上赋值为0即最终结果与八进制数值0xFFFFFFFFFFF执行并运算;对网格按层行列号进行编码的赋值计算公式为:
Figure 227064DEST_PATH_IMAGE021
如图3中(3b)所示为网格
Figure 44847DEST_PATH_IMAGE022
的编码值。
2、地图要素注记按网格编码入库
根据要素注记信息,计算要素注记在每层网格编码,并根据编码建立数据索引,将地图要素注记信息存入本地数据库中。具体包括:
2.1)针对某个地图要素,根据注记绘制的位置、字体、字号、偏移量等获得外接包围盒ItemBox,获取外接包围盒的最长边BoxMaxL,若
Figure 575186DEST_PATH_IMAGE023
,同时
Figure 593958DEST_PATH_IMAGE024
,则理论能完全包含要素的最小网格层级为i
选取外接包围盒的左上和右下两个点PtLT和PtRB,两个点的所在第i层网格的行列号分别表示为:
Figure 350692DEST_PATH_IMAGE025
,判断外接包围盒是否被当前层级的某个网格包含,关系S i (也称为相交系数)为:
Figure 847533DEST_PATH_IMAGE026
Figure 622590DEST_PATH_IMAGE027
,表明两点连线不在唯一网格内,即不为包含关系,为相交关系,则计算与上一层网格是否相交S i-1,直至
Figure 281105DEST_PATH_IMAGE028
Figure 525136DEST_PATH_IMAGE029
Figure 560088DEST_PATH_IMAGE030
,其中
Figure 455231DEST_PATH_IMAGE031
,则实际能完全包含的最小网格层级为j
2.2)根据步骤2.1获得的最小网格层级为j,在第j层网格下,遍历注记a外接包围盒中相邻两个点ItemPointk和ItemPointk+1,计算两点与网格的关系,判断出要素在这一层级下与其相交的所有网格集合G j,a ,其中重复出现的网格只保留一个,计算过程如下:
步骤一、计算注记a外接包围盒四个点中每两个相邻点的所在j层网格的行列号分别表示为:
Figure 550226DEST_PATH_IMAGE033
,将两点所在的网格放入集合G j,a 中;
步骤二、计算两点连线作为对角线的外接包围盒与当前层级网格是否相交:
Figure 302061DEST_PATH_IMAGE034
Figure 140704DEST_PATH_IMAGE035
,表明两点连线不在唯一网格内,即不为包含关系,则执行步骤三;
步骤三、判断
Figure 765720DEST_PATH_IMAGE036
之间网格行号满足
Figure 156250DEST_PATH_IMAGE037
Figure 233928DEST_PATH_IMAGE038
,列号满足
Figure 17207DEST_PATH_IMAGE039
Figure 496730DEST_PATH_IMAGE040
的所有网格与两点连线是否相交,相交网格
Figure 58161DEST_PATH_IMAGE041
放入集合G j,a 中,对集合G j,a 进行去重处理。
步骤四,计算集合G j,a 中所有网格的编码,假设集合G j,a 中共有t个网格,得到注记a在第l层最终编码集合Code j,a ,计算公式如下:
Figure 888714DEST_PATH_IMAGE042
2.3)根据j层中的网格集合G j,a ,递归遍历下一层j+1中对应的子网格G j+1,a ,执行步骤2.2,直至L层集合GL,a ;遍历计算上一层j-1,由于j层网格的层号与列号为j-1层的两倍,可直接带入计算,不需执行步骤2.2,计算公式为:
Figure 69160DEST_PATH_IMAGE043
,并对集合Code j-1,a 进行去重处理,直至第1层集合G1,a
2.4)根据注记对应的要素初始位置的网格编码建立空间索引,将地图要素注记信息按优先级存入本地数据库中。
本发明采用的策略为:根据要素注记的存储顺序,在绘制过程中,要素注记被依次放置,如果一个注记无法在屏幕空间寻找到合适的区域放置,就不被渲染,继续处理下一个注记。为尽可能多的放置注记,需要计算出每层网格中注记的压盖数,压盖数越大,表明该注记就会与更多的其它注记存在压盖关系,这类注记越难找到合适的区域放置,因此优先存储此类注记。由于层级最高的L层注记网格最多,注记的压盖数也最多,因此可直接计算L层的压盖数作为注记的压盖数。
步骤一、计算最大层L层中注记a的网格编码集合CodeL,a 是否与其它注记b编码集合CodeL,b 存在压盖,统计所有注记的压盖数,是否压盖的计算公式为:
Figure 278555DEST_PATH_IMAGE044
最终结果Q不为空表明注记a与注记b编码集合之间有交集,即存在压盖,注记a与注记b的压盖数加1。以此方法,计算所有注记的压盖数。
步骤二、根据注记的压盖数从大到小依次入库,本发明实施例中采用Sqlite本地数据库。数据库中字段除包含注记的位置、字体、字号、偏移量等基本信息外,还具备各层初始位置网格编码、压盖数、注记包围盒等信息。
3、要素注记绘制
根据当前嵌入式显示设备的分辨率创建两块同等大小的缓存位图作为主备位图,建立对应的主、备任务机制:创建辅助线程,将注记绘制阶段放入辅助线程中使用空闲的位图进行绘制,同时主线程选取已绘制好的位图进行融图渲染。
3.1)获取当前层级以及对应网格范围
根据当前地图比例尺获取当前网格层级l
计算在网格层级l下当前嵌入式设备视口显示区域的视口左上PointLT、左下PointLB、右上PointRT、右下PointRB四个经纬度点中最小编码值的左下S1、最大编码值的右上S2两个经纬度
Figure 886254DEST_PATH_IMAGE045
点所属网格编码
Figure 63158DEST_PATH_IMAGE046
(i∈{1,2}):
Figure 47294DEST_PATH_IMAGE047
3.2)根据当前视口编码
Figure 376775DEST_PATH_IMAGE048
Figure 155376DEST_PATH_IMAGE049
,在辅助线程中从Sqlite本地数据库中查找注记的初始位置网格编码
Figure 960521DEST_PATH_IMAGE050
满足条件的注记a。
通过编码值
Figure 607403DEST_PATH_IMAGE051
获得对应的层行列号二进制数值公式为:
Figure 916024DEST_PATH_IMAGE052
根据上述公式获得
Figure 737962DEST_PATH_IMAGE048
Figure 764824DEST_PATH_IMAGE049
Figure 215397DEST_PATH_IMAGE050
的行列号对应的二进制数进行比较:
Figure DEST_PATH_IMAGE053
当F>0时,表明注记a与当前视口相交或包含,其需要绘制,按压盖数大小依次放入可绘制队列{Queue}。
3.3)注记压盖处理。在辅助线程中选取可用的缓存位图、从绘制队列{Queue}中依次取出注记的位置编码信息以及注记包围盒。注记一旦与屏幕空间中已放置注记存在压盖现象,则需要在屏幕空间寻找到合适的区域放置;将注记的位置相对与要素位置分为上、下、左、右、左上、左下、右上、右下八个方位,如果注记存在压盖需要重新选取位置时,注记位置选取优先级采用依次选取右、右下、右上、左、左下、左上、下、上的策略,如图4所示,图4中的(4a)示出了注记相对要素位置的八个方位,图4中的(4b)示出了注记八个方位对应的优先级取值。根据在八个方位的编码信息,重新计算网格编码集合以及是否与其他已放置好位置的注记存在压盖,若八个方位都没有合适的区域,则该注记丢弃,不进行绘制,若可绘制,则在缓存位图进行绘制。注记之间是否压盖可根据2.4)中步骤一的压盖计算过程进行判断。如图5中的(5a)所示为注记压盖处理前的注记位置,其中注记A与注记B存在压盖,注记B的方位为右方位,重新选取右下方位,发现与其它注记不存在压盖,则注记B的方位可选择为右下进行绘制,如图5中的(5b)所示。
3.4)融图渲染。主线程从缓存位图空间中选取已绘制好的位图在当前显示设备上进行融图操作,主线程定时执行融图渲染操作,并行渲染处理流程如图6所示。
本发明还提供一种基于全球网格划分的地图要素注记显示系统,包括:
全球网络划分模块,用于根据不同比例尺将全球地图地理空间划分为不同的显示层,每一层地图地理空间以经度方向和纬度方向划分若干个网格,同一层各个网格的经纬度范围相同,对每个网格按其所在层级和在层级中的块序号进行唯一可识别编码;
要素注记编码模块,用于基于地图的点线面要素数据集获取要素注记的包围盒,根据全球网格划分编码获取最小能包含该包围盒的网格所在层级;以当前层级为起始计算层级,依次计算要素注记在其他比例尺层级下网格,计算后结果进行去重,得到最后要素编码集合;根据注记对应的要素初始位置的网格编码建立数据空间索引,将地图要素地理数据和注记信息存入数据库中;
要素注记绘制模块,用于根据地图比例尺以及绘制视口范围获取当前层级以及对应网格范围,通过数据空间索引值从数据库中检索地图要素相应信息,对地图要素注记进行压盖处理;将绘制好的位图放入缓存队列中,并最终从缓存队列渲染到显示设备上。
应理解,本发明实施例中的基于全球网格划分的地图要素注记显示系统可以实现上述方法实施例中的全部技术方案,其各个功能模块的功能可以根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述实施例中的相关描述,此处不再赘述。
本发明还提供一种计算机设备,包括:一个或多个处理器;存储器;以及一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述程序被处理器执行时实现如上所述的基于全球网格划分的地图要素注记显示方法的步骤。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的基于全球网格划分的地图要素注记显示方法的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

Claims (10)

1.一种基于全球网格划分的地图要素注记显示方法,其特征在于,包括以下步骤:
S1、根据不同比例尺将全球地图地理空间划分为不同的显示层,每一层地图地理空间以经度方向和纬度方向划分若干个网格,同一层各个网格的经纬度范围相同,对每个网格按其所在层级和在层级中的块序号进行唯一可识别编码;
S2、基于地图的点线面要素数据集获取要素注记的包围盒,根据全球网格划分编码获取最小能包含该包围盒的网格所在层级;以当前层级为起始计算层级,依次计算要素注记在其他比例尺层级下网格,计算后结果进行去重,得到最后要素编码集合;根据要素编码集合建立数据空间索引,将地图要素地理数据和注记信息存入数据库中;
S3、根据地图比例尺以及绘制视口范围获取当前层级以及对应网格范围,通过数据空间索引值从数据库中检索地图要素相应信息,对地图要素注记进行压盖处理;将绘制好的位图放入缓存队列中,并最终从缓存队列渲染到显示设备上。
2.根据权利要求1所述的方法,其特征在于,所述步骤S1中,全球地图地理空间范围为经度:-180~180,纬度:-90~90,将全球空间按不同比例尺划分为L层,将第l层全球范围划分为
Figure 166287DEST_PATH_IMAGE001
个经纬度范围差值相同的网格,
Figure 552269DEST_PATH_IMAGE002
,第l层中每个网格的经度范围为
Figure 676214DEST_PATH_IMAGE003
,纬度范围为
Figure 274685DEST_PATH_IMAGE004
,其中
Figure 682533DEST_PATH_IMAGE005
,对于某一经纬度(Lng, Lat)点在第l层的网格所对应的行号r和列号c为:
Figure 973837DEST_PATH_IMAGE006
l层网格对应的行列号与第l-1层网格对应的行列号以及经纬度范围差值存在以下关系:
Figure 506449DEST_PATH_IMAGE007
D l 为第l层经纬度范围差值。
3.根据权利要求2所述的方法,其特征在于,所述步骤S2中,基于地图的点线面要素数据集获取要素注记的包围盒,根据全球网格划分编码获取最小能包含该包围盒的网格所在层级包括:
对于一个地图要素,根据注记绘制的位置、字体、字号、偏移量获得外接包围盒,选取外接包围盒的左上点PtLT和右下点PtRB,获取两个点所在第i层网格的行列号分别为(r i,LT ,c i,LT )和(r i,RB , c i,RB ),判断外接包围盒与当前层级网格是否相交,若相交则获取两个点在第i-1层网格的行列号分别为(r i-1,LT , c i-1,LT )和(r i-1,RB , c i-1,RB ),判断外接包围盒与上一层级网格是否相交,直至两点连线在唯一网格内。
4.根据权利要求3所述的方法,其特征在于,判断外接包围盒与当前层级网格是否相交包括:计算相交系数
Figure 46628DEST_PATH_IMAGE008
,若
Figure 184348DEST_PATH_IMAGE009
,则外接包围盒与当前层级网格相交。
5.根据权利要求2所述的方法,其特征在于,所述步骤S2中,以当前层级为起始计算层级,依次计算要素注记在其他比例尺层级下网格,计算后结果进行去重,得到最后要素编码集合包括:
S21、获取注记a外接包围盒四个点中每两个相邻点Ptk和Ptk+1所在j层网格的行列号(r j,k , c j,k )和(r j,k+1, c j,k+1),两点所在网格放入集合G j,a 中;
S23、判断两点连线作为对角线的外接包围盒与当前层级网格是否相交,若相交,则判断(r j,k , c j,k )和(r j,k+1, c j,k+1)之间所有的网格与两点连线是否相交,相交网格
Figure 771187DEST_PATH_IMAGE010
放入集合G j,a 中,对集合G j,a 进行去重处理;
S23、计算集合G j,a 中所有网格的编码,得到注记a在第l层最终编码集合Code j,a
S24、根据第j层中的网格集合G j,a ,递归遍历下一层j+1中对应的子网格G j+1,a ,执行步骤S21至S23的操作,直至第L层集合G L,a ;并遍历计算上一层j-1,直至第1层集合G 1,a
6.根据权利要求2所述的方法,其特征在于,所述步骤S2中,将地图要素地理数据和注记信息存入数据库中包括:
计算第L层中注记a的网格编码集合Code L,a 是否与其他注记b编码集合Code L,b 存在压盖,统计所有注记的压盖数,根据注记的压盖数从大到小的顺序依次将地图要素地理数据和注记信息存入数据库。
7.根据权利要求1所述的方法,其特征在于,所述步骤S3中,根据当前显示设备的分辨率创建两块同等大小的缓存位图作为主备位图,建立对应的主、备任务机制:创建辅助线程,将注记绘制阶段放入辅助线程中使用空闲的位图进行绘制,同时主线程选取已绘制好的位图进行融图渲染,其中注记绘制阶段先根据地图比例尺以及绘制视口范围获取当前层级l以及对应网格范围,根据网格范围获取注记绘制队列,对队列中注记依次在屏幕空间寻找到合适的区域放置。
8.一种基于全球网格划分的地图要素注记显示系统,其特征在于,包括:
全球网络划分模块,用于根据不同比例尺将全球地图地理空间划分为不同的显示层,每一层地图地理空间以经度方向和纬度方向划分若干个网格,同一层各个网格的经纬度范围相同,对每个网格按其所在层级和在层级中的块序号进行唯一可识别编码;
要素注记编码模块,用于基于地图的点线面要素数据集获取要素注记的包围盒,根据全球网格划分编码获取最小能包含该包围盒的网格所在层级;以当前层级为起始计算层级,依次计算要素注记在其他比例尺层级下网格,计算后结果进行去重,得到最后要素编码集合;根据注记对应的要素初始位置的网格编码建立数据空间索引,将地图要素地理数据和注记信息存入数据库中;
要素注记绘制模块,用于根据地图比例尺以及绘制视口范围获取当前层级以及对应网格范围,通过数据空间索引值从数据库中检索地图要素相应信息,对地图要素注记进行压盖处理;将绘制好的位图放入缓存队列中,并最终从缓存队列渲染到显示设备上。
9.一种计算机设备,其特征在于,包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述程序被处理器执行时实现如权利要求1-7中任一项所述的基于全球网格划分的地图要素注记显示方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的基于全球网格划分的地图要素注记显示方法的步骤。
CN202211691063.7A 2022-12-28 2022-12-28 一种基于全球网格划分的地图要素注记显示方法及系统 Active CN115661396B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211691063.7A CN115661396B (zh) 2022-12-28 2022-12-28 一种基于全球网格划分的地图要素注记显示方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211691063.7A CN115661396B (zh) 2022-12-28 2022-12-28 一种基于全球网格划分的地图要素注记显示方法及系统

Publications (2)

Publication Number Publication Date
CN115661396A true CN115661396A (zh) 2023-01-31
CN115661396B CN115661396B (zh) 2023-03-14

Family

ID=85022749

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211691063.7A Active CN115661396B (zh) 2022-12-28 2022-12-28 一种基于全球网格划分的地图要素注记显示方法及系统

Country Status (1)

Country Link
CN (1) CN115661396B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117333585A (zh) * 2023-10-26 2024-01-02 山东省国土测绘院 一种基于矢量瓦片地图的注记处理方法及系统
CN117369936A (zh) * 2023-12-04 2024-01-09 武汉凌久微电子有限公司 一种显示内容渲染方法及渲染系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110992469A (zh) * 2019-11-29 2020-04-10 四川航天神坤科技有限公司 海量三维模型数据的可视化方法及系统
CN112597262A (zh) * 2020-12-30 2021-04-02 广州海格星航信息科技有限公司 一种基于空间网格的行业地址序号生成方法及装置
CN115393240A (zh) * 2022-09-01 2022-11-25 苏州智在云数据科技有限公司 Gis和bim融合的方法、装置、电子设备及可读存储介质
CN115510337A (zh) * 2022-09-14 2022-12-23 广西壮族自治区自然资源遥感院 一种三维立体注记调度显示的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110992469A (zh) * 2019-11-29 2020-04-10 四川航天神坤科技有限公司 海量三维模型数据的可视化方法及系统
CN112597262A (zh) * 2020-12-30 2021-04-02 广州海格星航信息科技有限公司 一种基于空间网格的行业地址序号生成方法及装置
CN115393240A (zh) * 2022-09-01 2022-11-25 苏州智在云数据科技有限公司 Gis和bim融合的方法、装置、电子设备及可读存储介质
CN115510337A (zh) * 2022-09-14 2022-12-23 广西壮族自治区自然资源遥感院 一种三维立体注记调度显示的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
徐伟等: "一种基于网格编码的嵌入式地图动态注记方法" *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117333585A (zh) * 2023-10-26 2024-01-02 山东省国土测绘院 一种基于矢量瓦片地图的注记处理方法及系统
CN117333585B (zh) * 2023-10-26 2024-05-07 山东省国土测绘院 一种基于矢量瓦片地图的注记处理方法及系统
CN117369936A (zh) * 2023-12-04 2024-01-09 武汉凌久微电子有限公司 一种显示内容渲染方法及渲染系统
CN117369936B (zh) * 2023-12-04 2024-03-08 武汉凌久微电子有限公司 一种显示内容渲染方法及渲染系统

Also Published As

Publication number Publication date
CN115661396B (zh) 2023-03-14

Similar Documents

Publication Publication Date Title
CN115661396B (zh) 一种基于全球网格划分的地图要素注记显示方法及系统
CN109977179B (zh) 一种分层的网格划分实现海量地物标记点聚散可视化方法
JP4372477B2 (ja) 2分木を巡回する方法およびシステム
Douglas Experiments to locate ridges and channels to create a new type of digital elevation model
Peucker et al. Cartographic data structures
EP0280795B1 (en) Method and apparatus for storing a digital data base divided into parcels
CN111475597B (zh) 非刚性网格编码、空间对象唯一标识、查询方法及装置
CN112050820B (zh) 道路匹配方法、装置、电子设备及可读存储介质
CN107153711A (zh) 地理信息数据处理方法及装置
CN109992640B (zh) 位置网格的确定方法及装置、设备及存储介质
JPS6285388A (ja) トポロジー構造を表わすデータベースの構築方法及びその探索方法
CN108536829B (zh) 一种提高无人机航测数据生成瓦片地图效率的方法
CN113010620B (zh) 基于地理多级网格的自然资源数据索引统计方法及系统
EP3232341A1 (en) Enhanced spatial index for point in polygon operations
JP2010160591A (ja) 空間データ管理装置、空間データ管理方法、および、空間データ管理プログラム
CN110633262A (zh) 基于Spark的地图相交区域面积计算方法及系统
CN107341191A (zh) 一种三维空间的多尺度整数化编码方法和装置
CN109614454B (zh) 一种基于mpi的矢量大数据并行空间叠置分析方法
CN102305632A (zh) 一种地图信息存储与快速显示方法
CN108595613A (zh) Gis局部地图编辑方法及装置
CN110825830B (zh) 一种网格空间的数据检索方法
CN112597262B (zh) 一种基于空间网格的行业地址序号生成方法及装置
CN105303509A (zh) 一种瓦片地图的融合方法及装置
CN110989886B (zh) 基于空间地图的三维空间网格选取方法及装置
CN110019593A (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