CN116010541A - 一种地图元素抽稀方法及装置 - Google Patents
一种地图元素抽稀方法及装置 Download PDFInfo
- Publication number
- CN116010541A CN116010541A CN202211695063.4A CN202211695063A CN116010541A CN 116010541 A CN116010541 A CN 116010541A CN 202211695063 A CN202211695063 A CN 202211695063A CN 116010541 A CN116010541 A CN 116010541A
- Authority
- CN
- China
- Prior art keywords
- map
- thinning
- distance
- element set
- elements
- 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.)
- Pending
Links
Images
Landscapes
- Instructional Devices (AREA)
Abstract
本申请提供一种地图元素抽稀方法及装置,涉及数据处理领域,在提升绘制地图元素的效率,保证地图页面流畅的前提下,不增加用户的使用成本,解决了用户使用成本高、数据更改不灵活的问题。该方案包括:获取地图在终端当前可视域的第一元素集合;根据当前地图层级的相近距离,对第一元素集合抽稀,得到第二元素集合,第二元素集合中任意两个元素的参考点间的距离大于相近距离。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种地图元素抽稀方法及装置。
背景技术
目前,主流的地图有高德地图、百度地图和ArcGis等。用户基于描绘新场景需求,会在地图上标记一些线段,大量用户的标记对地图产生了海量的线段,称之为海量线。在地图展示过程中,实时绘制海量线会造成地图页面卡顿,用户体验差。
常规的做法是将海量线事先绘制到地图上,然后将绘制了海量线的地图以底图的形式发布。当用户需要展示海量线时,直接调用底图即可完成展示。这一方法很好的解决了卡顿的问题。
但上述解决方案,用户需要通过购买会员才能获取底图发布功能,且发布底图仅仅适用于绘制的海量线是固定的情况,无法灵活添加海量线。
发明内容
本申请提供一种地图元素抽稀方法及装置,在提升绘制地图元素的效率,保证地图页面流畅的前提下,不增加用户的使用成本,解决了用户使用成本高、数据更改不灵活的问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请提供一种地图元素抽稀方法,该方法可以包括:获取地图在终端当前可视域的第一元素集合;根据当前地图层级的相近距离,对第一元素集合抽稀,得到第二元素集合,第二元素集合中任意两个元素的参考点间的距离大于相近距离。
通过本申请提供的方案,根据当前地图层级的相近距离对获取的地图在终端当前可视域的第一元素集合进行抽稀,以使得抽稀后获得的第二元素集合中任意两个元素的参考点间的距离大于相近距离。这样一来,由于距离较近的元素的特征相似,将该相近距离作为抽稀因子进行抽稀,实现距离很近的元素可以只保留一个进行绘制,保证了第二元素集合中的元素体现第一元素集合的特征的基础上,尽可能的降低待绘制元素的数量,提升了绘制元素的效率,保证地图页面流畅。同时,该方案不需要用户额外付费,不增加用户的使用成本;并且,用户可以根据实际需求配置元素的内容,提高了方案的灵活性。
一种可能的实现方式中,根据当前地图层级的相近距离,对第一元素集合抽稀,得到第二元素集合,包括:从第一元素集合中,选择一个初始元素,确定为目标元素;依次遍历第一元素集合中,初始元素之外的其他元素,将与每个当前目标元素的参考点间的距离大于相近距离的元素,确定为目标元素;遍历完成后,将所有目标元素作为第二元素集合。
这样一来,通过遍历第一元素集合中,初始元素之外的其他元素,以保证不遗漏第一元素集合中的每一元素参与抽稀过程,使得第二元素集合中的元素能够体现第一元素集合的特征,将与每个当前目标元素的参考点间的距离大于相近距离的元素,确定为目标元素,以使得第二元素集合中任意两个元素的参考点间的距离大于相近距离。
一种可能的实现方式中,元素为线段,初始元素为长度最长的线段;依次遍历第一元素集合中,初始元素之外的其他元素,包括:按照长度从长到短的顺序,依次遍历第一元素集合中,初始元素之外的其他元素。
在地图展示中,由于长度越长的折线其吸引用户注意的能力越大,也决定了整体折线的布局情况,长度较短的折线不太容易引起用户的注意,其对地图折线的整体布局也相对影响较低。当元素为线段,初始元素可以为长度最长的线段时,通过线段长度从长到短的顺序依次遍历第一线集合中,初始线段之外的其他线段,以使得长度较长的折线可以在抽稀过程中存留,保证抽稀后获得的第二元素集合能够保持原有元素的形状特征。
一种可能的实现方式中,元素为线段,参考点包括:线段的中心点。
另一种可能的实现方式中,元素为线段,参考点包括:线段的外切矩形的中心点。这样一来,当出现方向相背但线段中心点相近的两条长度较长的折线时,由于方向相背的两条折线的外切矩形的中心点的距离大于该两条折线的线段中心点,且更容易满足大于相近距离,以使得抽稀后保留方向相背但线段中心点相近的两条长度较长的折线。
另一种可能的实现方式中,元素为线段,参考点包括:线段的外切圆的中心点。
一种可能的实现方式中,元素为点,参考点为元素本身。
一种可能的实现方式中,元素为面,参考点包括:面的外接多边形的中心点,或者,面的外接圆的中心点。
一种可能的实现方式中,地图的不同地图层级的相近距离不同;不同地图层级的相近距离与地图层级的大小成反比。这样一来,根据地图的不同地图层级配置不同的相近距离,以使得第一元素集合抽稀后的第二元素集合更能贴近原有元素的形状特征。
一种可能的实现方式中,当前地图层级的相近距离,为2的N次方乘以抽稀距离系数;N为地图的最大层级减当前地图层级的差值;抽稀距离系数为正数。
一种可能的实现方式中,该方法还可以包括:绘制第二元素集合中的元素。
一种可能的实现方式中,根据当前地图层级的相近距离,对第一元素集合抽稀,包括:若当前地图层级小于图层阈值,根据当前地图层级的相近距离,对第一元素集合抽稀。若当前图层大于图层阈值,直接将第一元素集合作为第二元素集合。
需要说明的是,若当前地图层级等于图层阈值,可以根据实际需求,执行对第一元素集合抽稀,或者直接将第一元素集合作为第二元素集合任一种方案。
这样一来,当用户放大地图比例以观察终端当前可视域内显示的地图区域的具体细节(即当前图层大于图层阈值)时,为了保证用户能够看到当前可视域对应的全部元素,直接将第一元素集合作为第二元素集合,避免因抽稀过程剔除部分元素,导致地图显示的元素缺失。
第二方面,本申请提供一种地图元素抽稀装置,该装置可以包括:获取模块和抽稀模块。其中,获取模块,用于:获取地图在终端当前可视域的第一元素集合。抽稀模块,用于:根据当前地图层级的相近距离,对第一元素集合抽稀,得到第二元素集合,第二元素集合中任意两个元素的参考点间的距离大于相近距离。
一种可能的实现方式中,抽稀模块,具体用于:从第一元素集合中,选择一个初始元素,确定为目标元素;依次遍历第一元素集合中,初始元素之外的其他元素,将与每个当前目标元素的参考点间的距离大于相近距离的元素,确定为目标元素;遍历完成后,将所有目标元素作为第二元素集合。
一种可能的实现方式中,元素为线段,初始元素为长度最长的线段。抽稀模块,具体用于:按照长度从长到短的顺序,依次遍历第一元素集合中,初始元素之外的其他元素。
一种可能的实现方式中,元素为线段,参考点包括:线段的中心点;或者,线段的外切矩形的中心点;或者,线段的外切圆的中心点。
一种可能的实现方式中,元素为点,参考点为元素本身。
一种可能的实现方式中,元素为面,参考点包括:面的外接多边形的中心点;或者,面的外接圆的中心点。
一种可能的实现方式中,地图的不同地图层级的相近距离不同;不同地图层级的相近距离与地图层级的大小成反比。
一种可能的实现方式中,当前地图层级的相近距离,为2的N次方乘以抽稀距离系数;N为地图的最大层级减当前地图层级的差值;抽稀距离系数为正数。
一种可能的实现方式中,该装置还可以包括绘制模块。其中,绘制模块,用于:绘制第二元素集合中的元素。
一种可能的实现方式中,抽稀模块,具体用于:若当前图层小于图层阈值,根据当前地图层级的相近距离,对第一元素集合抽稀。
第三方面,本申请提供一种服务器,该服务器包括一个或多个处理器和一个或多个存储器;一个或多个存储器与一个或多个处理器耦合,一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,服务器执行如第一方面或任一种可能的实现方式描述的地图元素抽稀方法。
第四方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,当计算机指令在计算机上运行时,使得计算机执行如第一方面或任一种可能的实现方式描述的地图元素抽稀方法。
第五方面,本申请提供一种计算机程序产品,该计算机程序产品包括计算机指令,当计算机指令在计算机上运行时,使得计算机执行如第一方面或任一种可能的实现方式描述的地图元素抽稀方法。
本申请中第二方面到第五方面及其各种实现方式的具体描述,可以参考第一方面中各种实现方式中的详细描述;并且,第二方面到第五方面及其各种实现方式的有益效果,可以参考第一方面中各种实现方式中的有益效果分析,此处不再赘述。
附图说明
图1为本申请实施例提供的一种用于地图元素抽稀处理系统的示意图;
图2为本申请实施例提供的一种地图元素抽稀方法的流程示意图;
图3为本申请实施例提供的一种地图元素应用场景示意图;
图4为本申请实施例提供的另一种地图元素应用场景示意图;
图5为本申请实施例提供的另一种地图元素应用场景示意图;
图6为本申请实施例提供的一种地图元素抽稀过程的方法示意图;
图7为本申请实施例提供的另一种地图元素抽稀的流程示意图;
图8为本申请实施例提供的一种地图元素抽稀装置的结构示意图;
图9为本申请实施例提供的另一种地图元素抽稀装置的结构示意图;
图10为本申请实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。此外,“至少一个”是指一个或多个,“多个”是指两个或两个以上。
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
首先,对本申请中的部分术语进行解释说明,以便于本领域技术人员理解。
地图元素:在地图布局中用于显示河流、山川、区域边界等各种形状的构图元素。元素可以包括线、点、面中的一项或多项。
海量元素:在地图绘制中,用户根据场景需求在地图中添加的数量级上万的元素。
地图的缩放比例:终端设备显示的地图中任意两点的距离与该两点的真实距离之间的比值。
可视域:终端设备的显示界面所能显示的地图区域。地图的缩放比例越大,终端设备所能显示的地图区域越小。在地图的缩放比例相同的情况下,终端设备的显示界面的面积越大,终端设备所能显示的地图区域越大。
图层:根据地图不同的分辨率分成的不同级别。每个图层的地图缩放比例不同。例如,在百度地图图层规定中,地图图层19级对应地图的缩放比例为1:20米;地图层级3级对应地图的缩放比例为1:2000公里。图层等级越高,同一终端设备可视域所显示的实际地图区域越小。
正如背景技术的描述,用户需要通过购买会员才能获取底图发布功能,导致用户使用成本高。同时由于发布底图仅仅适用于绘制的海量线是固定的情况,存在数据更改不灵活的问题。
本申请提出一种地图元素抽稀方法,根据当前地图层级的相近距离,对获取的地图在终端当前可视域的第一元素集合进行抽稀,使得抽稀后获得的第二元素集合中任意两个元素的参考点间的距离大于相近距离。这样一来,由于距离较近的元素的特征相似,将该相近距离作为抽稀因子进行抽稀,实现距离很近的元素可以只保留一个进行绘制,保证了第二元素集合中的元素体现第一元素集合的特征的基础上,尽可能的降低待绘制元素的数量,提升了绘制元素的效率,保证地图页面流畅。同时,该方案不需要用户额外付费,不增加用户的使用成本;并且,用户可以根据实际需求配置元素的内容,提高了方案的灵活性。
下面结合本申请实施例的附图,对本申请实施例中的应用场景进行描述。
本申请提供的方案可以应用于图1所示的系统。如图1所示,系统可以包括:计算设备101和终端设备102。
其中,计算设备101用于管理元素,终端设备102用于接收并绘制元素。计算设备101与终端设备102可以通信连接,该通信连接可以是无线网络、局域网连接或蓝牙连接等通讯方式。
作为一种可能的实现方式,计算设备101执行本申请提供的方案,确定第二元素集合。终端设备102从计算设备101请求抽稀后的第二元素集合,并绘制该第二元素集合中的元素。
作为另一种可能的实现方式,计算设备101负责获取并存储第一元素集合,终端设备102根据用户的请求,从计算设备请求获取第一元素集合后,执行本申请提供的方案,确定第二元素集合,然后进行绘制。
示例性的,终端设备102可以为手机、平板电脑、个人计算机(personal computer,PC)、个人数字助理(personal digital assistant,PDA)、智能手表、上网本、可穿戴电子设备、增强现实技术(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、车载设备、智能汽车、智能音响、机器人等,本申请对该终端设备102的具体形式不做特殊限制。
需要说明的是,图1所示的系统中包括的各个设备的数量以及产品形态,可以根据实际需求配置,图1仅作为一种示例,并不对系统的构成限定。
下面结合本申请实施例中的其他附图,对本申请实施例中的技术方案进行描述。
本申请提供的一种地图元素抽稀方法,可以应用于地图元素抽稀装置,该装置可以部署于图1示意的计算设备101或终端设备102。
可以理解的是,本申请提供的方案可以由部署于后台的计算设备中的地图元素抽稀装置执行,然后将抽稀后的第二元素集合存储于后台的计算设备,在接收到终端设备的请求后,向终端设备发送第二元素集合,以使得终端设备加载该第二元素集合的数据后进行在线绘制。或者,本申请提供的方案还可以由部署于终端设备的地图元素抽稀装置执行抽稀和绘制的过程。
需要说明的是,下述实施例仅描述一次当前地图元素抽稀的过程,其他不再一一赘述。
如图2所示,本申请实施例提供的地图元素抽稀方法可以包括:
S201、地图元素抽稀装置获取地图在终端当前可视域的第一元素集合。
其中,终端当前可视域是指该终端当前所能显示的地图区域。可以理解的是,用户选取的地图缩放比例越大,该终端当前所能显示的地图区域的实际范围越小,终端当前所能显示的地图区域中的元素特征越清晰。
地图在终端当前可视域的第一元素集合是指在终端当前所能显示的地图区域中的所有元素的集合。
其中,地图元素抽稀装置获取元素的方法可以从服务器以接口的形式直接获取,或者采用文件形式从服务器获取,并存储到计算设备,或者其他方法,获取方式不受限制,开发人员可根据用户需求而自由选择。
示例型的,当元素为线段时,第一元素集合可以包括:所有折线点的经纬度坐标、绘制线的宽度和颜色。
具体的,地图元素抽稀装置通过获取当前地图在终端屏幕内四个顶点(如手机屏幕的左上角、左下角、右上角以及右下角)显示的经纬度坐标,从后台的计算设备中查询符合在该四个顶点围成的方形区域范围内的所有元素,即为在终端当前可视域的第一元素集合。
S202、地图元素抽稀装置根据当前地图层级的相近距离,对第一元素集合抽稀,得到第二元素集合。
其中,地图层级是指当前用户选择的地图缩放比例对应的地图层级。
其中,第二元素集合中任意两个元素的参考点间的距离大于相近距离。
可以理解的是,该第二元素集合即为待绘制的元素集合。
作为一种可能的实现方式,当元素为线段时,参考点可以是:线段的中心点、线段的外切矩形的中心点或者,或者线段的外切圆的中心点。
示例性的,当参考点是线段的中心点时,若线段上的点为偶数个,则中间点为第(线段折线点总数/2)+1)个点;若线段上的点为奇数个,则中间点为第(线段折线点总数+1)/2)个点)。如图3所示,折线1和折线2为线段集合中的两条折线。显而易见的,当参考点是线段的中心点时,折线1的参考点为点3,折线2的参考点为点8。同理,如图4所示,折线3和折线4为线段集合中的两条折线,当参考点是线段的中心点时,折线3的参考点为点d,折线4的参考点为点k。
示例性的,当参考点是线段的外切矩形的中心点时,折线的外切矩形的中心点为:以折线内各个点之间的最长直线距离作为矩形的一个边,以折线内各个点距离此边最长的垂直距离,作为矩形的另一个边,构建一个矩形,该矩形的对角线的交叉点即为参考点。
具体的,如图5所示,在折线5的所有折线点中,p点与t点之间的距离最长,连接p点与t点,作为矩形的一个边;在折线5的所有折线点中,r点到该边的垂直距离最长,以该垂直距离作为矩形的另一个边,构建出一个外切折线5的矩形。该矩形的对角线的交叉点A即为折线5的参考点。同理,构建处一个外切折线6的矩形,该矩形的对角线的交叉点B即为折线6的参考点。
作为一种可能的实现方式,当元素为点时,参考点可以是元素本身。
作为一种可能的实现方式,当元素为面时,参考点可以是面的外接多边形的中心点,或者,面的外接圆的中心点。
当然,元素的参考点的位置,可以根据实际需求配置,本申请实施例对此不予限定。
具体的,相近距离是配置的用于合并绘制的元素的参考点距离的门限值。参考点的距离小于相近距离的参考点可以合并绘制。相近距离的取值,可以根据实际需求配置相近距离。
示例性的,相近距离可以作为S202中抽稀过程的抽稀因子,用于实现距离很近的元素可以只保留一个进行绘制,保证了第二元素集合中的元素体现第一元素集合的特征的基础上,尽可能的降低待绘制元素的数量。
作为一种可能的实现方式,地图的不同地图层级的相近距离不同。这样一来,根据地图的不同地图层级配置不同的相近距离,以使得第一元素集合抽稀后的第二元素集合更能贴近原有元素(第一元素集合)的形状特征,保证用户视觉体验。
一种可能的实现方式中,不同地图层级的相近距离与地图层级的大小成反比。
示例性的,当前地图层级的相近距离,为2的N次方乘以抽稀距离系数;N为地图的最大层级减当前地图层级的差值;抽稀距离系数为正数。
其中,抽稀距离系数可以根据实际需求配置。例如,抽稀距离系数可以为5。
例如,假设地图的最大层级为20,抽稀距离系数为5,相近距离=pow(2,20-当前地图层级)*5。其中,pow用于幂级函数计算。其中,括号内第一位为幂的底数,第二位为幂的指数。也即相近距离=2^(20-当前层级)*5。
示例性的,若当前地图层级为20时,相近距离为2(20-20)*5=5米。若当前地图层级为15时,相近距离为2(20-15)*5==160米。
作为另一种可能的实现方式,地图的不同地图层级的相近距离可以相同。
通过本申请提供的方案,根据当前地图层级的相近距离对获取的地图在终端当前可视域的第一元素集合进行抽稀,以使得抽稀后获得的第二元素集合中任意两个元素的参考点间的距离大于相近距离。这样一来,由于距离较近的元素的特征相似,将该相近距离作为抽稀因子进行抽稀,实现距离很近的元素可以只保留一个进行绘制,保证了第二元素集合中的元素体现第一元素集合的特征的基础上,尽可能的降低待绘制元素的数量,提升了绘制元素的效率,保证地图页面流畅。同时,该方案不需要用户额外付费,不增加用户的使用成本;并且,用户可以根据实际需求配置元素的内容,提高了方案的灵活性。
具体的,可以根据实际需求配置S202的实现过程,本申请实施例对于S202的抽稀过程不予限定,只要抽稀后的第二元素集合中任意两个元素的参考点间的距离大于相近距离的具体实现,均属于本申请方案的保护范围。
示例性的,S202中根据当前地图层级的相近距离,对第一元素集合抽稀,得到第二元素集合的具体过程可以如图6所示,具体可以包括:
S601、地图元素抽稀装置从第一元素集合中,选择一个初始元素,确定为目标元素。
具体的,选择初始元素的原则,可以根据实际需求配置,本申请实施例不予限定。例如,可以任意选择一个元素,作为初始元素。
作为一种可能的实现方式,当元素为线段时,初始元素可以为第一线集合的默认排列顺序中的第一条折线。
作为另一种可能的实现方式,当元素为线段时,初始元素可以为第一线集合中折线长度最长的一条折线。
作为一种可能的实现方式,当元素为点时,初始元素可以为第一点集合的默认排列顺序中,第一个点。
作为一种可能的实现方式,当元素为面时,初始元素可以为第一面集合的中面积最大的一个平面图案。
S602、地图元素抽稀装置依次遍历第一元素集合中,初始元素之外的其他元素,将与每个当前目标元素的参考点间的距离大于相近距离的元素,确定为目标元素。
其中,当前目标元素是指遍历过程中,每个当前时刻的所有目标元素。当前目标元素的数量是逐渐增多的。
示例性的,在执行S602的过程中,可以将目标元素添加到第二元素集合中,当前目标元素就是第二元素集合中的所有元素。
示例性的,如图3所示,元素为线段,参考点为线段的中心点,假设折线1为第一线集合的一条折线,当前目标线段为折线2,则折线1与当前目标线段(折线2)的参考点间的距离即为折线1与折线2的中心点间的距离d1。同理,如图4所示,元素为线段,参考点为线段的中心点,假设折线3为第一线集合的一条折线,当前目标线段为折线4,则折线3与当前目标线段(折线4)的参考点间的距离即为折线3与折线4的中心点间的距离d2。
示例性的,如图5所示,元素为线段,参考点为线段的外切矩形的中心点。假设折线5为第一线集合的一条折线,当前目标线段为折线6,则折线5与当前目标线段(折线6)的参考点间的距离即为折线5与折线6的中心点间的距离d3。
具体的,S602中,依次遍历第一元素集合中,初始元素之外的其他元素,遍历到一个其他元素,先判断这个元素与每个当前目标元素的参考点间的距离是否大于相近距离,若当前遍历到的元素,与每个当前目标元素的参考点间的距离大于相近距离,就把当前遍历到的元素确定为一个新的目标元素,也就是说,当前目标元素的数量就增加一个。
示例性的,假设元素为线段,第一线集合为X集合,X集合中共有5条折线,分别为折线a、折线b、折线c、折线d、折线e,第二线集合为Y集合,Y集合中当前不存在折线,相近距离用Dx表示,对S602中的遍历过程以下述几个步骤进行描述:
步骤1、按照折线长度从长到短排列顺序,排序后为折线a、折线b、折线c、折线d、折线e,选择排列顺序中第一条折线a移入Y集合中。此时,Y集合为{折线a}。
步骤2、遍历X集合中的其他线段,按照顺序遍历到折线b,获取折线b与Y集合中所有元素(折线a)的参考点的距离dxa-b。假设dxa-b大于Dx,将折线b移入Y集合中。此时,Y集合为{折线a、折线b}。
步骤3、遍历X集合中的其他线段,按照顺序遍历到折线c,分别获取折线c和Y集合中折线a和折线b的参考点距离dxa-c和dxb-c。假设dxa-c大于Dx,dxb-c小于Dx,折线c不移入Y集合中。此时,Y集合为{折线a、折线b}。
步骤4、遍历X集合中的其他线段,按照顺序遍历到折线d,分别获取折线d和Y集合中折线a和折线b的参考点距离,为dxa-d和dxb-d。假设dxa-d和dxb-d都大于Dx,将折线d移入Y集合中。此时,Y集合为{折线a、折线b、折线d}。
步骤5、遍历X集合中的其他线段,按照顺序遍历到折线e,分别获取折线e和Y集合中折线a、折线b和折线d的参考点距离,分别为dxa-e、dxb-e、dxd-e。假设dxa-e大于Dx,dxb-e小于Dx,dxd-e大于于Dx,折线e不移入Y集合中。此时,Y集合为{折线a、折线b、折线d}。
步骤6、遍历结束。此时,Y集合为{折线a、折线b、折线d}。
示例性的,当元素为点,参考点为点,初始元素为第一点集合的默认排列顺序中,第一个点。地图元素抽稀装置按照默认顺序遍历第一点集合中,初始点之外的其他点,将与每个当前目标点的参考点间的距离大于相近距离的点,确定为目标点。具体的,遍历过程,可参考上述步骤2至步骤6。
示例性的,当元素为面时,参考点为面的外切正四边形的中心点,目标元素为第一面集合的中面积最大的一个平面图案。地图元素抽稀装置按照面积从大到小的顺序,依次遍历第一面集合中,初始面之外的其他面,将与每个当前目标面的外切正四边形的中心点的距离大于相近距离的面,确定为目标面。具体的,遍历过程,可参考上述步骤2至步骤6。
S603、地图元素抽稀装置遍历完成后,将所有目标元素作为第二元素集合。
进一步的,基于用户放大地图层级是为了更好的观察地图元素的细节考虑,为了避免因抽稀过程剔除部分元素,导致放大后地图显示的元素缺失,如图7所示,在S202之前,该方法还可以包括:
S203、地图元素抽稀装置判断当前地图层级是否小于图层阈值。
其中,图层阈值是配置的用于判断地图元素抽稀装置执行抽稀过程的门限值。用户可以根据实际使用情况调整图层阈值。示例性的,图层阈值可以为17级。
具体的,在S203中,若地图当前地图层级小于图层阈值,则执行S202;若地图当前地图层级大于图层阈值,执行S204。
需要说明的是,若当前图层等于图层阈值,可以根据实际需求,地图元素抽稀装置执行S202或S204,本申请对此不做限定。
S204、地图元素抽稀装置将第一元素集合作为第二元素集合。
这样一来,当用户放大地图比例以观察终端当前可视域内显示的地图区域的具体细节(即当前图层大于图层阈值)时,为了保证用户能够看到当前可视域对应的全部元素地图,直接将第一元素集合作为第二元素集合,避免因抽稀过程剔除部分元素,导致地图显示的元素缺失。
可选的,如图7所示,本申请实施例提供的地图元素抽稀方法还可以包括S205。
S205、终端设备绘制第二元素集合中的元素。
作为一种可能的实现方式,地图元素抽稀装置部署于终端设备中,S205中终端设备绘制S202中获取的第二元素集合中的元素。
另一种可能的实现方式中,地图元素抽稀装置部署于后台计算设备中,S205中终端设备加载计算设备中的第二元素集合中的元素,在终端设备中进行绘制。
地图元素抽稀装置将S202或S204中确定的第二元素集合发送至终端设备,终端设备加载第二元素集合,以使得在终端当前可视域中显示元素数据。
示例性的,在安卓移动设备端的高德地图为例,在地图中展示折线的实现方法如下:
AMap.addPolyline(new PolylineOptions().addAll(latLngs).width(10).color(Color.argb(255,1,1,1)))。
其中,latLngs为折线点经纬度坐标数组。
示例性的,在苹果公司开发的移动操作系统设备端的高德地图为例,在地图中展示折线的实现方法如下:
//构造折线对象
MAPolyline*commonPolyli=[MAPolyline polylineWithCoordinates:commonPolylineCoords count:4]。
//在地图上添加折线对象
[_mapView addOverlay:commonPolyline];
其中,commonPolylineCoords为折线点经纬度坐标数组。
需要说明的是,若地图层级缩放或者当前终端设备的可视域发生变化(如用户拖动终端设备的屏幕)时,以上抽稀过程(S201和S202)都会重新执行一遍,以确保S203中绘制的元素是实时有效的。
可以看出,上述主要从方法的角度对本申请实施例提供的技术方案进行了介绍。为了实现功能,本申请实施例提供了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本申请实施例可以根据上述方法示例对地图元素抽稀装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。可选的,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
图8为本申请实施例提供的一种地图元素抽稀装置80的结构示意图。该地图元素抽稀装置80可以包括:获取模块801和抽稀模块802。
其中,获取模块801,用于:获取地图在终端当前可视域的第一元素集合。示例性的,获取模块801可以用于支持地图元素抽稀装置80执行图2或图7中S201的过程。
抽稀模块802,用于:根据当前地图层级的相近距离,对第一元素集合抽稀,得到第二元素集合,第二元素集合中任意两个元素的参考点间的距离大于相近距离。示例性的,抽稀模块802可以用于支持地图元素抽稀装置80执行图2或图7中S202的过程。
一种可能的实现方式中,抽稀模块802,具体用于:从第一元素集合中,选择一个初始元素,确定为目标元素;依次遍历第一元素集合中,初始元素之外的其他元素,将与每个当前目标元素的参考点间的距离大于相近距离的元素,确定为目标元素;遍历完成后,将所有目标元素作为第二元素集合。示例性的,抽稀模块802可以用于支持地图元素抽稀装置80执行图6中S601-S603的过程。
一种可能的实现方式中,抽稀模块802,具体用于:按照从长到短的顺序,依次遍历第一元素集合中,初始元素之外的其他元素。
一种可能的实现方式中,抽稀模块802,具体用于:若当前图层小于图层阈值,根据当前地图层级的相近距离,对第一元素集合抽稀。
可选的,如图9所示,该地图元素抽稀装置80还可以包括:绘制模块803。
绘制模块803,用于:绘制第二元素集合中的元素。示例性的,绘制模块803可以用于支持地图元素抽稀装置80执行图7中S205的过程。
本申请实施例提供一种服务器,如图10所示,该服务器100可以包括处理器1001。可选的,服务器100还包括与处理器1001连接的存储器1002。
其中,该处理器1001用于执行上述实施例提供的任意一种地图元素抽稀方法中的步骤。
处理器1001可以是中央处理器(central processing unit,CPU),通用处理器网络处理器(network processor,NP)、数字信号处理器(digital signal processing,DSP)、微处理器、微控制器、可编程逻辑器件(programmable logic device,PLD)或它们的任意组合。处理器1001还可以是其它任意具有处理功能的装置,例如电路、器件或软件模块。处理器1001也可以包括多个CPU,并且处理器1001可以是一个单核(single-CPU)处理器,也可以是多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路或用于处理数据(例如计算机程序指令)的处理核。
存储器1002可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备、随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,本申请实施例对此不作任何限制。存储器1002可以是独立存在,也可以和处理器1001集成在一起。其中,存储器1002中可以包含计算机程序代码。处理器1001用于执行存储器1002中存储的计算机程序代码,从而实现本申请实施例任意一种地图元素抽稀方法。
本申请实施例还提供了一种计算机可读存储介质,包括计算机执行指令,当其在计算机上运行时,使得计算机执行上述实施例提供的任意一种地图元素抽稀方法。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机指令,当计算机指令在计算机上运行时,使得计算机执行上述实施例提供的任意一种地图元素抽稀方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机执行指令。在计算机上加载和执行计算机执行指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机执行指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机执行指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)等。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (12)
1.一种地图元素抽稀方法,其特征在于,所述方法包括:
获取所述地图在终端当前可视域的第一元素集合;
根据当前地图层级的相近距离,对所述第一元素集合抽稀,得到第二元素集合,所述第二元素集合中任意两个元素的参考点间的距离大于所述相近距离。
2.根据权利要求1所述的方法,其特征在于,所述根据当前地图层级的相近距离,对所述第一元素集合抽稀,得到第二元素集合,包括:
从所述第一元素集合中,选择一个初始元素,确定为目标元素;
依次遍历所述第一元素集合中,所述初始元素之外的其他元素,将与每个当前目标元素的参考点间的距离大于所述相近距离的元素,确定为目标元素;
遍历完成后,将所有目标元素作为所述第二元素集合。
3.根据权利要求1或2所述的方法,其特征在于,所述元素为线段,所述初始元素为长度最长的线段;
所述依次遍历所述第一元素集合中,所述初始元素之外的其他元素,包括:
按照长度从长到短的顺序,依次遍历所述第一元素集合中,所述初始元素之外的其他元素。
4.根据权利要求1或2所述的方法,其特征在于,
所述元素为线段,所述参考点包括:所述线段的中心点;或者,所述线段的外切矩形的中心点;或者,所述线段的外切圆的中心点;
或者,
所述元素为点,所述参考点为所述元素本身;
或者,
所述元素为面,所述参考点包括:所述面的外接多边形的中心点;或者,所述面的外接圆的中心点。
5.根据权利要求1或2所述的方法,其特征在于,所述地图的不同地图层级的相近距离不同;不同地图层级的相近距离与地图层级的大小成反比。
6.根据权利要求5所述的方法,其特征在于,所述当前地图层级的相近距离,为2的N次方乘以抽稀距离系数;所述N为所述地图的最大层级减所述当前地图层级的差值;所述抽稀距离系数为正数。
7.根据权利要求1或2所述的方法,其特征在于,所述根据当前地图层级的相近距离,对所述第一元素集合抽稀,包括:
若所述当前地图层级小于图层阈值,根据所述当前地图层级的相近距离,对所述第一元素集合抽稀。
8.一种地图元素抽稀装置,其特征在于,所述装置包括:获取模块和抽稀模块;
所述获取模块,用于:获取所述地图在终端当前可视域的第一元素集合;
所述抽稀模块,用于:根据当前地图层级的相近距离,对所述第一元素集合抽稀,得到第二元素集合,所述第二元素集合中任意两个元素的参考点间的距离大于所述相近距离。
9.根据权利要求8所述的装置,其特征在于,
所述抽稀模块,具体用于:
从所述第一元素集合中,选择一个初始元素,确定为目标元素;依次遍历所述第一元素集合中,所述初始元素之外的其他元素;将与每个当前目标元素的参考点间的距离大于所述相近距离的元素,确定为目标元素;遍历完成后,将所有目标元素作为所述第二元素集合;
所述元素为线段,所述初始元素为长度最长的线段;所述抽稀模块,具体用于:按照长度从长到短的顺序,依次遍历所述第一元素集合中,所述初始元素之外的其他元素;
所述元素为线段,所述参考点包括:所述线段的中心点;或者,所述线段的外切矩形的中心点;或者,所述线段的外切圆的中心点;或者,所述元素为点,所述参考点为所述元素本身;或者,所述元素为面,所述参考点包括:所述面的外接多边形的中心点;或者,所述面的外接圆的中心点;
所述地图的不同地图层级的相近距离不同;不同地图层级的相近距离与地图层级的大小成反比;
所述当前地图层级的相近距离,为2的N次方乘以抽稀距离系数;所述N为所述地图的最大层级减所述当前地图层级的差值;所述抽稀距离系数为正数;
所述抽稀模块,具体用于:若所述当前地图层级小于图层阈值,根据所述当前地图层级的相近距离,对所述第一元素集合抽稀。
10.一种服务器,其特征在于,包括一个或多个处理器和一个或多个存储器;
所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,所述服务器执行如权利要求1-7任一项所述的方法。
11.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在计算机上运行时,使得所述计算机执行如权利要求1-7任一项所述的方法。
12.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211695063.4A CN116010541A (zh) | 2022-12-28 | 2022-12-28 | 一种地图元素抽稀方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211695063.4A CN116010541A (zh) | 2022-12-28 | 2022-12-28 | 一种地图元素抽稀方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116010541A true CN116010541A (zh) | 2023-04-25 |
Family
ID=86027776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211695063.4A Pending CN116010541A (zh) | 2022-12-28 | 2022-12-28 | 一种地图元素抽稀方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116010541A (zh) |
-
2022
- 2022-12-28 CN CN202211695063.4A patent/CN116010541A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9835462B2 (en) | System for determining a height coordinate | |
CN113628331B (zh) | 一种虚幻引擎中摄影测量模型的数据组织和调度方法 | |
US8941652B1 (en) | Incremental surface hole filling | |
US20160232420A1 (en) | Method and apparatus for processing signal data | |
CN113870436B (zh) | 一种图像处理方法、装置、电子设备和存储介质 | |
CN112489213A (zh) | 三维地形模型生成方法、装置、电子设备及存储介质 | |
CN113628314A (zh) | 一种虚幻引擎中摄影测量模型的可视化方法、装置和设备 | |
CN108229740A (zh) | 一种商圈边界的确定方法、装置、服务器及存储介质 | |
CN112717414B (zh) | 游戏场景编辑方法、装置、电子设备以及存储介质 | |
EP2518443A1 (en) | Method of generating a database, navigation device and method of determining height information | |
CN110264546B (zh) | 图像合成的方法、装置、计算机可读存储介质及终端 | |
CN112115226A (zh) | 地图渲染方法和地图渲染装置 | |
CN116010541A (zh) | 一种地图元素抽稀方法及装置 | |
CN115511701A (zh) | 一种地理信息的转换方法及装置 | |
CN112330769B (zh) | 虚线纹理的生成方法、装置及电子设备 | |
CN115761119A (zh) | 邻域体素存储方法、装置、计算机设备和存储介质 | |
Qiao et al. | A rapid visualization method of vector data over 3D terrain | |
CN114022518A (zh) | 图像的光流信息获取方法、装置、设备和介质 | |
CN111383334B (zh) | 用于渲染对象的系统和方法 | |
CN112667761A (zh) | 地理信息数据生成、地图呈现方法及装置、存储介质、计算设备 | |
KR101769020B1 (ko) | 시설물에 대한 병렬처리 기반의 모델링 단계별 lod 서비스 데이터 생성 방법 | |
CN110610544A (zh) | 钻孔数据抽稀方法和装置、设备及储存介质 | |
CN111506680B (zh) | 地形数据生成、渲染方法及装置、介质、服务器、终端 | |
CN117744187B (zh) | Cad绘图方法、装置、计算机设备和存储介质 | |
CN117557711B (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 |