CN110633344B - 一种确定点与围栏关系的方法、装置和电子设备 - Google Patents
一种确定点与围栏关系的方法、装置和电子设备 Download PDFInfo
- Publication number
- CN110633344B CN110633344B CN201910750706.2A CN201910750706A CN110633344B CN 110633344 B CN110633344 B CN 110633344B CN 201910750706 A CN201910750706 A CN 201910750706A CN 110633344 B CN110633344 B CN 110633344B
- Authority
- CN
- China
- Prior art keywords
- fence
- target
- point
- linked list
- grid
- 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
Images
Classifications
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/021—Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Remote Sensing (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明提供了一种确定点与围栏关系的方法、装置和电子设备,涉及数据处理的技术领域。其中,该方法包括:确定目标点所在的目标格子;将索引格子中包含目标格子的围栏确定为目标围栏;其中,目标围栏的围栏对象包括局部围栏,局部围栏是目标围栏的边界格子与目标围栏的相交区域;判断目标围栏的边界格子中是否包含目标格子;如果是,根据目标点与局部围栏的位置关系,确定目标点与目标围栏的位置关系。本发明能够提高点与围栏之间位置关系的确定效率,并更加准确的确定出点与围栏之间的关系。
Description
相关申请引用
本申请是申请号为201810664293.1、申请日为2018年6月25日、发明名称为“一种确定点与围栏关系的方法、装置和电子设备”的发明专利申请的分案申请。
技术领域
本申请涉及数据处理的技术领域,尤其涉及一种确定点与围栏关系的方法、装置和电子设备。
背景技术
网约车平台是一种连接乘客和网约车司机的网络平台。当乘客向网约车平台发起包含乘车需求的乘车订单时,网约车平台会将该乘车订单分配给对应的网约车司机,网约车司机就可以按照该乘车订单为乘客提供服务。
网约车平台在精细化运营时,需要快速识别司机或乘客当前所处的城市以及区域,在特定的城市和区域采用不同的策略,例如动调策略等。上述城市和区域均可通过地理围栏来表示,地理围栏是一组首尾闭合的经纬度坐标对。在此情况下,可以需要判断司机或乘客当前所处位置点和地理围栏之间的位置关系。
现有技术中的一种方式是利用射线法判断点与围栏的位置关系。射线法是从围栏内的点A出发沿着X轴画一条射线,依次判断该射线与每条边的交点,并统计交点个数,其中,交点数为奇数,则在多边形内部;如果交点个数是偶数,则在多边形外部,其中,N是多边形的边数。上述射线法的时间复杂度与围栏的点数线性相关,当地理围栏点数(或者,边数)过大时,算法的效率较低。
发明内容
有鉴于此,本申请实施例提供一种确定点与围栏关系的方法、装置和电子设备,用以提高点与围栏之间位置关系的确定效率,并更加准确的确定出点与围栏之间的关系。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种确定点与围栏关系的方法,所述方法应用于支持全球离散格网***DGGS的设备,所述方法包括:确定目标点所在的目标格子;将索引格子中包含所述目标格子的围栏确定为目标围栏;其中,所述目标围栏的围栏对象包括局部围栏,所述局部围栏是所述目标围栏的边界格子与所述目标围栏的相交区域;判断所述目标围栏的边界格子中是否包含所述目标格子;如果是,根据所述目标点与所述局部围栏的位置关系,确定所述目标点与目标围栏的位置关系。
在本发明较佳的实施例中,所述目标围栏的每个边界格子对应的局部围栏,采用如下方式获取:获取所述目标围栏的第一链表和所述边界格子的第二链表;其中,所述第一链表和所述第二链表均为首尾相接的链表;所述第一链表由所述围栏的顶点和所述围栏与所述边界格子的交点有序排列组成;所述第二链表由所述边界格子的顶点和所述交点有序排列组成;基于所述第一链表和所述第二链表,按照预设的遍历规则确定所述目标围栏与所述边界格子对应的局部围栏。
在本发明较佳的实施例中,所述获取所述目标围栏的第一链表和所述边界格子的第二链表的步骤,包括:将所述目标围栏的顶点按照顺时针或逆时针顺序组成第一初级链表;将所述边界格子的顶点按照顺时针或逆时针顺序组成第二初级链表;获取所述边界格子的每条边与所述目标围栏的每条边两两相交的交点;将所述交点分别***到所述第一初级链表和所述第二初级链表的对应位置,得到第一链表和第二链表。
在本发明较佳的实施例中,所述预设的遍历规则包括:从所述目标围栏的顶点中选择位于所述边界格子外部的顶点作为起始点;从所述起始点开始,按照所述第一链表中各点顺序遍历;当遍历到首个交点时,对所述首个交点进行初始标记,并切换至所述第二链表上继续进行遍历,直到再次遍历至所述首个交点;其中,遍历过程中每次遇到所述交点,进行所述第一链表与所述第二链表的切换;将从所述首个交点开始至所述首个交点结束所围成的封闭多边形,确定为所述目标围栏与所述边界格子对应的一个局部围栏。
在本发明较佳的实施例中,所述预设的遍历规则包括:从所述边界格子的顶点中选择位于所述目标围栏外部的顶点作为起始点;从所述起始点开始,按照所述第二链表中各点顺序遍历;当遍历到首个交点时,对所述首个交点进行初始标记,并切换至所述第一链表上继续进行遍历,直到再次遍历至所述首个交点;其中,遍历过程中每次遇到所述交点,进行所述第一链表与所述第二链表的切换;将从所述首个交点开始至所述首个交点结束所围成的封闭多边形,确定为所述目标围栏与所述边界格子对应的一个局部围栏。
在本发明较佳的实施例中,所述方法还包括:如果存在未被遍历的交点,继续按照所述预设的遍历规则选择下一个起始点,获取下一个局部围栏,直至所有交点均被遍历。
在本发明较佳的实施例中,所述方法还包括:构建所述目标围栏的索引格子GidsMp<格子ID,对象池>,其中,格子ID包括所述目标围栏的内部格子ID和所述目标围栏的边界格子ID,所述对象池包括内部格子ID对应的坐标集合和边界格子ID对应的坐标集合,以及所述局部围栏对应的坐标集合;所述将索引格子中包含所述目标格子的围栏确定为目标围栏的步骤,包括:根据所述目标格子的标识确定待选围栏;查找所述待选围栏的索引格子中是否包含所述目标格子;如果是,将所述待选围栏确定为目标围栏。
在本发明较佳的实施例中,所述根据所述目标点与所述局部围栏的位置关系,确定所述目标点与目标围栏的位置关系的步骤,包括:根据射线法判断所述目标点是否在所述局部围栏内;如果是,确定所述目标点属于所述目标围栏;否则,确定所述目标点不属于所述目标围栏。
在本发明较佳的实施例中,所述方法还包括:如果确定出的目标围栏为多个,且所述目标点不属于当前目标围栏,继续确定目标点与下一个目标围栏的位置关系,直至找到所述目标点所属的目标围栏。
在本发明较佳的实施例中,所述确定目标点所在的目标格子的步骤之前,还包括:将目标用户所在位置确定为目标点;所述确定所述目标点与目标围栏的位置关系的步骤之后,所述方法还包括:向所述目标用户下发所述目标点所属目标围栏对应的业务。
第二方面,本发明实施例还提供一种确定点与围栏关系的装置,所述装置设置于支持全球离散格网***DGGS的设备,所述装置包括:第一确定单元,用于确定目标点所在的目标格子;第二确定单元,用于将索引格子中包含所述目标格子的围栏确定为目标围栏;其中,所述目标围栏的围栏对象包括局部围栏,所述局部围栏是所述目标围栏的边界格子与所述目标围栏的相交区域;判断单元,用于判断所述目标围栏的边界格子中是否包含所述目标格子;第三确定单元,用于如果是,根据所述目标点与所述局部围栏的位置关系,确定所述目标点与目标围栏的位置关系。
在本发明较佳的实施例中,所述装置还包括:获取单元,用于获取所述目标围栏的第一链表和所述边界格子的第二链表;其中,所述第一链表和所述第二链表均为首尾相接的链表;所述第一链表由所述围栏的顶点和所述围栏与所述边界格子的交点有序排列组成;所述第二链表由所述边界格子的顶点和所述交点有序排列组成;第四确定单元,用于基于所述第一链表和所述第二链表,按照预设的遍历规则确定所述目标围栏与所述边界格子对应的局部围栏。
在本发明较佳的实施例中,所述获取单元用于:将所述目标围栏的顶点按照顺时针或逆时针顺序组成第一初级链表;将所述边界格子的顶点按照顺时针或逆时针顺序组成第二初级链表;获取所述边界格子的每条边与所述目标围栏的每条边两两相交的交点;将所述交点分别***到所述第一初级链表和所述第二初级链表的对应位置,得到第一链表和第二链表。
在本发明较佳的实施例中,所述预设的遍历规则包括:从所述目标围栏的顶点中选择位于所述边界格子外部的顶点作为起始点;从所述起始点开始,按照所述第一链表中各点顺序遍历;当遍历到首个交点时,对所述首个交点进行初始标记,并切换至所述第二链表上继续进行遍历,直到再次遍历至所述首个交点;其中,遍历过程中每次遇到所述交点,进行所述第一链表与所述第二链表的切换;将从所述首个交点开始至所述首个交点结束所围成的封闭多边形,确定为所述目标围栏与所述边界格子对应的一个局部围栏。
在本发明较佳的实施例中,所述预设的遍历规则包括:从所述边界格子的顶点中选择位于所述目标围栏外部的顶点作为起始点;从所述起始点开始,按照所述第二链表中各点顺序遍历;当遍历到首个交点时,对所述首个交点进行初始标记,并切换至所述第一链表上继续进行遍历,直到再次遍历至所述首个交点;其中,遍历过程中每次遇到所述交点,进行所述第一链表与所述第二链表的切换;将从所述首个交点开始至所述首个交点结束所围成的封闭多边形,确定为所述目标围栏与所述边界格子对应的一个局部围栏。
在本发明较佳的实施例中,所述装置还用于:如果存在未被遍历的交点,继续按照所述预设的遍历规则选择下一个起始点,获取下一个局部围栏,直至所有交点均被遍历。
在本发明较佳的实施例中,所述装置还用于:构建所述目标围栏的索引格子GidsMp<格子ID,对象池>,其中,格子ID包括所述目标围栏的内部格子ID和所述目标围栏的边界格子ID,所述对象池包括内部格子ID对应的坐标集合和边界格子ID对应的坐标集合,以及所述局部围栏对应的坐标集合;所述第二确定单元用于:根据所述目标格子的标识确定待选围栏;查找所述待选围栏的索引格子中是否包含所述目标格子;如果是,将所述待选围栏确定为目标围栏。
在本发明较佳的实施例中,所述第三确定单元用于:根据射线法判断所述目标点是否在所述局部围栏内;如果是,确定所述目标点属于所述目标围栏;否则,确定所述目标点不属于所述目标围栏。
在本发明较佳的实施例中,所述装置还用于:如果确定出的目标围栏为多个,且所述目标点不属于当前目标围栏,继续确定目标点与下一个目标围栏的位置关系,直至找到所述目标点所属的目标围栏。
在本发明较佳的实施例中,所述装置还用于在确定目标点所在的目标格子之前,将目标用户所在位置确定为目标点;以及在确定所述目标点与目标围栏的位置关系之后,向所述目标用户下发所述目标点所属目标围栏对应的业务。结合第一方面,本申请实施例提供了第一方面的第一种可能的实施方式,其中,
第三方面,本发明实施例提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当网络侧设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面任一所述的方法。
第四方面,本发明实施例提供了一种计算机可读介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面任一所述的方法。
本发明实施例提供了一种确定点与围栏关系的方法、装置和电子设备,在本实施例中,首先确定目标点所在的目标格子,然后,将确定包含目标格子的目标围栏,并判断目标围栏的边界格子中是否包含目标格子;如果判断出是,则根据目标点与目标围栏中局部围栏的位置关系,确定目标点与目标围栏的位置关系。
在本实施例中,能够基于局部围栏与目标点的位置关系,确定该目标点与目标围栏的关系,进而,能够针对目标点在边界格子中的情况,快速的给出准确的位置关系,避免错误结论,从而并更加准确的确定出点与围栏之间的关系。进一步地,相对于现有的技术方案,本发明所提供的技术方案的复杂度不与围栏的点数线性相关,进而能够提高点与围栏之间位置关系的确定效率。
为使本申请实施例的上述目的、特征和优点能更明显易懂,下面将结合实施例,并配合所附附图,作详细说明。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例所提供的一种可选的确定点与围栏关系的方法的应用场景的示意图;
图2示出了本发明实施例所提供的一种确定点与围栏关系的方法的流程图;
图3示出了本发明实施例所提供的一种边界格子与目标围栏之间的关系示意图;
图4示出了本申请实施例二所提供的一种确定点与围栏关系的方法的流程图;
图5示出了本申请实施例三所提供的一种确定点与围栏关系的方法的流程图;
图6a示出了本发明实施例所提供的一种目标围栏的边界格子的示意图;
图6b示出了本发明实施例所提供的一种目标围栏的边界格子的位置关系示意图;
图6c示出了本发明实施例所提供的另一种目标围栏的边界格子的位置关系示意图;
图7a示出了本发明实施例所提供的一种目标围栏的边界格子的示意图;
图7b示出了本发明实施例所提供的一种目标围栏的边界格子的位置关系示意图;
图7c示出了本发明实施例所提供的另一种目标围栏的局部围栏的示意图;
图8示出了本发明实施例所提供的一种确定点与围栏关系的装置的示意图;
图9示出了本发明实施例所提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。以下对本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例下述方法、装置、电子设备或计算机存储介质可以应用于任何需要确定点与围栏关系的方法的场景,比如,可以应用于打车软件、购物软件(例如,团购软件,外卖软件等购物软件)、地图定位等各类应用软件。本申请实施例并不对具体的应用场景作限制,任何使用本申请实施例提供的确定点与围栏关系的方法的方案均在本申请保护范围内。
本申请实施例下述方法可以应用在支持全球离散格网***(Discrete GlobalGrid System,简称DGGS)的设备中。全球离散格网***DGGS是一种新型全球建模解决方案,它借助特定方法将全球剖分成无缝无重叠,分层多分辨率的格网结构,并对格网进行统一编码,对外供根据经纬度坐标获取格网ID,及根据格网ID获取其顶点和中心点坐标等接口。
如果该确定点与围栏关系的方法应用在打车软件上,那么该支持全球离散格网***DGGS的设备可以为服务器。
参见图1所示的打车软件应用场景的示意图,在图1中示意出打车软件的服务器,以及与该打车软件的服务器分别通信连接的用户终端。其中,用户终端分别安装有打车软件(或称为打车APP)。如果用户登录或者打开该打车软件,则获取用户所在位置的位置信息,并将该位置信息确定为目标点,然后,通过本申请实施例所描述的方法确定目标点与目标围栏的位置关系。在得到该位置关系之后,如果基于该位置关系确定出目标点位于目标围栏内,那么服务器可以向打车APP发送目标围栏对应的打车业务;或者通过位置关系采用不同的动调策略。
用户终端可以用户的手机、平板电脑等移动终端,也可以为车载导航终端等设备。
在本实施例中,提供了一种确定点与围栏关系的方法、装置和电子设备,通过该确定点与围栏关系的方法,能够针对目标点在边界格子中的情况,快速的给出准确的位置关系,避免错误结论,从而并更加准确的确定出点与围栏之间的关系。
实施例一
参见图2所示的一种确定点与围栏关系的方法的流程图,该方法可以应用于支持全球离散格网***DGGS的设备,通过该设备确定目标点围栏之间的位置关系。
图2所示的确定点与围栏关系的方法应用在支持全球离散格网***DGGS的设备,该方法包括如下步骤:
步骤S202,确定目标点所在的目标格子;其中,格子为六边形格网的简称。
在本实施例中,目标点为用户所在位置,例如,用户所在经纬度坐标。如果本发明实施例所提供的确定点与围栏关系的方法应用在打车软件上,那么可以通过获取该打车软件所安装终端设备的位置来获取用户所在位置。
步骤S204,将索引格子中包含所述目标格子的围栏确定为目标围栏;其中,所述目标围栏的围栏对象包括局部围栏,所述局部围栏是所述目标围栏的边界格子与所述目标围栏的相交区域;
在本实施例中,索引格子是围栏所覆盖的所有格子,包括内部格子和边界格子,其中,边界格子是指索引格子中与围栏相交的格子。
目标围栏的围栏对象中包括局部围栏,该局部围栏是目标围栏的边界格子与目标围栏的相交区域。其中,一个边界格子与目标围栏可能有一个或者多个局部围栏。
在本实施例中,在步骤S202确定出目标点所在的目标格子之后,就可以执行步骤S204,即将索引格子中包含目标格子的围栏确定为目标围栏。之后,就可以执行步骤S206和步骤S208。
步骤S206,判断所述目标围栏的边界格子中是否包含所述目标格子;
步骤S208,如果是,根据所述目标点与所述局部围栏的位置关系,确定所述目标点与目标围栏的位置关系。
通过上述描述可知,在确定出目标围栏之后,需要判断目标围栏的边界格子中是否包含目标格子,如果包含的情况下,则根据目标点与局部围栏之间的位置关系来确定目标点与目标围栏之间的位置关系。
通过上述步骤S206和步骤S208对目标格子进行判断的原因描述如下:
对于索引格子完全在围栏内部的情况下,可以基于目标点与索引格子之间的位置关系来确定目标点与目标围栏之间的位置关系。但是,对于边界格子却会出现错误,例如,目标格子是目标围栏的边界格子,但目标点却在目标围栏外。因此,需要在判断出目标围栏的边界格子中包含目标格子的情况下,根据目标点与局部围栏的位置关系,确定目标点与目标围栏的位置关系。如果局部围栏的数量为多个,那么可以依次确定目标点与各个局部围栏之间的位置关系,进而根据位置关系确定目标点与目标围栏的位置关系。
如果确定出,目标点在局部围栏中,那么就可以确定出目标点在该目标围栏中。如果确定出,目标点不在局部围栏中,那么就可以确定出目标点不在该目标围栏中。
本发明实施例提供了一种确定点与围栏关系的方法、装置和电子设备,在本实施例中,首先确定目标点所在的目标格子,然后,将确定包含目标格子的目标围栏,并判断目标围栏的边界格子中是否包含目标格子;如果判断出是,则根据目标点与目标围栏中局部围栏的位置关系,确定目标点与目标围栏的位置关系。
在本实施例中,能够基于局部围栏与目标点的位置关系,确定该目标点与目标围栏的关系,进而,能够针对目标点在边界格子中的情况,快速的给出准确的位置关系,避免错误结论,从而并更加准确的确定出点与围栏之间的关系。进一步地,相对于现有的技术方案,本发明所提供的技术方案的复杂度不与围栏的点数线性相关,进而能够提高点与围栏之间位置关系的确定效率。
通过上述描述可知,在本实施例中,首先确定目标点所在的目标格子,然后,将索引格子中包含目标格子的围栏确定为目标围栏。基于此,在本实施例的一个可选实施方式中,在执行将索引格子中包含目标格子的围栏确定为目标围栏之前,还需要确定目标围栏的局部围栏。
在本实施例的一个可选实施方式中,目标围栏的每个边界格子对应的局部围栏,采用如下方式获取:
首先,获取所述目标围栏的第一链表和所述边界格子的第二链表;其中,所述第一链表和所述第二链表均为首尾相接的链表;所述第一链表由所述目标围栏的顶点和所述目标围栏与所述边界格子的交点有序排列组成;所述第二链表由所述边界格子的顶点和所述交点有序排列组成;
然后,基于所述第一链表和所述第二链表,按照预设的遍历规则确定所述目标围栏与所述边界格子对应的局部围栏。
具体地,在本实施例中,首先,获取第一链表和第二链表;然后,基于第一链表和第二链表,并按照预设的遍历规则确定目标围栏与边界格子对应的局部围栏。一般情况下,围栏为一个多边形,因此,第一链表中包括目标围栏的顶点和目标围栏与边界格子的交点,第二链表中包括边界格子的顶点和目标围栏与边界格子的交点。在本实施例中,以链表的方式获取局部围栏,更加合理有效。
例如,如图3所示,假设ABCD为边界格子的顶点,1234目标为围栏的四个顶点,其中,AB与23交于M,CD与34交于N。在此情况下,第一链表可以表示为:1→2→M→3→N→4,第二链表可以表示为:A→M→B→C→N→D。
可选地,如图4所示,上述步骤,所述获取所述目标围栏的第一链表和所述边界格子的第二链表,包括如下步骤:
步骤S401,将所述目标围栏的顶点按照顺时针或逆时针顺序组成第一初级链表;
步骤S402,将所述边界格子的顶点按照顺时针或逆时针顺序组成第二初级链表;
步骤S403,获取所述边界格子的每条边与所述目标围栏的每条边两两相交的交点;
步骤S404,将所述交点分别***到所述第一初级链表和所述第二初级链表的对应位置,得到第一链表和第二链表。
具体地,分别将边界格子的顶点与目标围栏的顶点连成两条首尾相接的链表。例如,可以将目标围栏的顶点按照顺时针或者逆时针组成第一初级链表,然后,还可以将边界格子的顶点按照顺时针或者逆时针顺序组成第二初级链表。
如图3所示,以边界格子为ABCD四个顶点组成的矩形为例,该第二初级链表的可以表示为:A→B→C→D,如果目标围栏顶点为1234,第一初级链表可以表示为1→2→3→4。
在得到第一初级链表和第二初级链表之后,可以求出边界格子的每条边与目标围栏的每条边两两相交的交点,如图3所示,边界格子的AB边与目标围栏的23边交于M,边界格子的CD边与目标围栏的34边交于N点。
在确定出交点之后,就可以将交点***第一初级链表和第二初级链表中,得到第一链表和第二链表,其中,第二链表为:A→M→B→C→N→D,第一链表表示为1→2→M→3→N→4。
需要说明的是,在本实施例中,第一初级链表可以是目标围栏的顶点顺时针组成的,还可以是目标围栏的顶点逆时针组成的。第二初级链表可以是边界格子的顶点顺时针组成的,还可以是边界格子的顶点逆时针组成的,本实施例中不做具体限定。
在得到第一链表和所述第二链表之后,就可以按照预设的遍历规则确定所述目标围栏与边界格子对应的局部围栏。在本实施例中,将以两种预设的遍历规则为例来进行介绍。
第一种、预设的遍历规则,包括:
从所述目标围栏的顶点中选择位于所述边界格子外部的顶点作为起始点;
从所述起始点开始,按照所述第一链表中各点顺序遍历;
当遍历到首个交点时,对所述首个交点进行初始标记,并切换至所述第二链表上继续进行遍历,直到再次遍历至所述首个交点;其中,遍历过程中每次遇到所述交点,进行所述第一链表与所述第二链表的切换;
将从所述首个交点开始至所述首个交点结束所围成的封闭多边形,确定为所述目标围栏与所述边界格子对应的一个局部围栏。
第一种预设的遍历规则是从目标围栏的顶点开始。具体地,首先从目标围栏的顶点中选择一个位于边界格子之外的顶点作为起始点。例如,如图3所示,以目标围栏上的顶点1作为起始点。
然后,从起始点开始,按照第一链表中各点顺序遍历,如图3所示,第一链表表示为1→2→M→3→N→4。此时,从顶点1开始,按照第一链表:1→2→M→3→N→4对第一链表中各点进行顺序遍历。
当遍历到首个交点时,对首个交点进行初始标记,并切换至第二链表上继续进行遍历,直至再次遍历至首个交点。例如,如图3所示,从顶点1开始,按照第一链表:1→2→M→3→N→4对第一链表中各点进行顺序遍历,遍历到M时,遍历到首个交点(顶点M)。此时,切换至第二链表上继续进行遍历,即,切换到链路A→M→B→C→N→D上继续进行遍历。例如,M→A→D→N。当遍历到交点N时,切换至第一链表上继续进行遍历,直至再次遍历至首个交点M,例如,N→3→M。
需要说明的是,在上述遍历的过程中,每次遇到交点(M或N)时,都要将其进行初始标记,以标记为“已访问”。上述遍历过程中所遍历到的点可以总结为:1→2→M→A→D→N→3→M。
最后,将从首个交点开始至首个交点结束所围成的封闭多边形确定为目标围栏与边界格子对应的一个局部围栏。例如,如图3所示,将M→A→D→N→3→M所围成的多边形确定为目标围栏与边界格子的一个局部围栏。
需要说明的是,在按照上述第一种预设的遍历规则遍历第一链表和第二链表时,如果第一链表或者第二链表中还存在未被遍历的交点,则继续按照上述第一种预设的遍历规则选择下一个起始点,获取下一个局部围栏,直至所有交点均被遍历。
在此情况下,可以重新从目标围栏中选择一个位于边界格子外部的顶点作为起始点,并按照上述预设的遍历规则对第一链表和第二链表进行遍历,直至所有交点都被标记为“已访问”。
上述描述的是按照第一种预设的遍历规则确定目标围栏与一个边界格子对应的局部围栏的方法。如果边界格子的数量为多个,那么可以反复执行上述过程,直至确定出目标围栏与每个边界格子对应的局部围栏。
第二种、预设的遍历规则,包括:
从所述边界格子的顶点中选择位于所述目标围栏外部的顶点作为起始点;
从所述起始点开始,按照所述第二链表中各点顺序遍历;
当遍历到首个交点时,对所述首个交点进行初始标记,并切换至所述第一链表上继续进行遍历,直到再次遍历至所述首个交点;其中,遍历过程中每次遇到所述交点,进行所述第一链表与所述第二链表的切换;
将从所述首个交点开始至所述首个交点结束所围成的封闭多边形,确定为所述目标围栏与所述边界格子对应的一个局部围栏。
第二种预设的遍历规则是从边界格子的顶点开始。具体地,首先从边界格子的顶点中选择一个位于目标围栏之外的顶点作为起始点。例如,如图3所示,以目标围栏上的顶点B作为起始点。
然后,从起始点开始,按照第一链表中各点顺序遍历,如图3所示,第二链表表示为A→M→B→C→N→D。此时,从顶点B开始,按照第二链表:A→M→B→C→N→D对第二链表中各点进行顺序遍历。
当遍历到首个交点时,对首个交点进行初始标记,并切换至第二链表上继续进行遍历,直至再次遍历至首个交点。例如,如图3所示,从顶点B开始,对第二链表中各点进行顺序遍历,遍历到N时,遍历到首个交点(顶点N),此时已遍历的点为:B→C→N。此时,切换至第一链表上继续进行遍历,即,切换到链路1→2→M→3→N→4上继续进行遍历。例如,N→3→M。当遍历到交点M时,切换至第二链表上继续进行遍历,直至再次遍历至首个交点N,例如,M→A→D→N。
需要说明的是,在上述遍历的过程中,每次遇到交点(M或N)时,都要将其进行初始标记,以标记为“已访问”。上述遍历过程中所遍历到的点可以总结为:B→C→N→3→M→A→D→N。
最后,将从首个交点开始至首个交点结束所围成的封闭多边形确定为目标围栏与边界格子对应的一个局部围栏。例如,如图3所示,将N→3→M→A→D→N所围成的多边形确定为目标围栏与边界格子的一个局部围栏。
需要说明的是,在按照上述第二种预设的遍历规则遍历第一链表和第二链表时,如果第一链表或者第二链表中还存在未被遍历的交点,则继续按照上述第二种预设的遍历规则选择下一个起始点,获取下一个局部围栏,直至所有交点均被遍历。
在此情况下,可以重新从目标围栏中选择一个位于边界格子外部的顶点作为起始点,并按照上述预设的遍历规则对第一链表和第二链表进行遍历,直至所有交点都被标记为“已访问”。
上述描述的是按照第二种预设的遍历规则确定目标围栏与一个边界格子对应的局部围栏的方法。如果边界格子的数量为多个,那么可以反复执行上述过程,直至确定出目标围栏与每个边界格子对应的局部围栏。
在本实施例中,在按照上述所描述的方法得到目标围栏与各个边界格子对应的局部围栏之后,就可以执行将索引格子中包含目标格子的围栏确定为目标围栏的步骤。
在本实施例的一个可选实施方式中,在执行将索引格子中包含目标格子的围栏确定为目标围栏之前,还需要构建所述目标围栏的索引格子GidsMp<格子ID,对象池>,其中,格子ID包括所述目标围栏的内部格子ID和所述目标围栏的边界格子ID,所述对象池包括内部格子ID对应的坐标集合和边界格子ID对应的坐标集合,以及所述局部围栏对应的坐标集合。
构建目标围栏的索引格子的过程描述如下:
求出目标围栏所覆盖的所有格子(包括内部格子和边界格子),构建GidsMp<格子ID,对象池>。其中,对象池中包括目标围栏所覆盖的所有格子,边界格子以及边界格子与目标围栏的交集。
在构建索引格子之后,就可以执行步骤S204,所述将索引格子中包含所述目标格子的围栏确定为目标围栏。
在一个可选的实施方式中,步骤S204,将索引格子中包含所述目标格子的围栏确定为目标围栏包括如下步骤:
步骤S2041,根据所述目标格子的标识确定待选围栏;
步骤S2042,查找所述待选围栏的索引格子中是否包含所述目标格子;
步骤S2043,如果是,将所述待选围栏确定为目标围栏。
具体地,在本实施例中,首先,构建围栏Map<围栏ID,围栏对象>,其中,围栏Map中包括各个围栏的ID,以及各个围栏的围栏对象。构建围栏Map<围栏ID,围栏对象>的过程描述如下:
将围栏所有的坐标相连,对形成的字符串string进行MD5计算,作为围栏ID。按照上述所描述的方法构建索引格子GidsMp<格子ID,对象池>。求出目标围栏的所有边界格子,并构建BorderGidsMp<格子ID,边界格子对象>,计算边界格子与围栏的交集,并存入边界格子中,其中,边界格子对象中包括目标围栏与边界格子的交集,该交集包括点的坐标集合。构建各个围栏的围栏对象,并加入到围栏Map<围栏ID,围栏对象>中,围栏对象包括围栏ID,GidsMp,BorderGidsMp。
在本实施例中,首先,求出目标点所在的目标格子的标识,即目标格子的ID。然后,基于目标格子的ID从围栏Map中获取待选围栏。然后,查找待选围栏的索引格子中是否包含目标格子,如果包含,则将待选围栏确定为目标围栏。
具体地,在获取到待选围栏之后,就可以从围栏Map中获取到待选围栏的索引格子GidsMp和边界格子BorderGidsMp。此时,就可以判断目标格子ID是否在索引格子GidsMp中,若不在,则说明目标点不在待选围栏中,结束判断。若在,则说明目标点在待选围栏中,此时,该待选围栏即为目标围栏。
通过上述描述可知,在本实施例中,采用以索引格子的方式查找目标围栏,能够缩小查找范围,提升查找目标围栏的效率。
在确定出目标围栏之后,就可以判断目标围栏的边界格子中是否包含所述目标格子,具体地,可以判断目标格子的ID是否在边界格子BorderGidsMp中。若不在,则说明点在围栏中,结束判断;否则说明点位于边界格子中,此时,根据目标点与局部围栏的位置关系,确定目标点与目标围栏的位置关系。
如果确定出,目标点在局部围栏中,那么就可以确定出目标点在该目标围栏中。如果确定出,目标点不在局部围栏中,那么就可以确定出目标点不在该目标围栏中。
在一个可选的实施方式中,根据所述目标点与所述局部围栏的位置关系,确定所述目标点与目标围栏的位置关系包括如下步骤:
根据射线法判断所述目标点是否在所述局部围栏内;
如果是,确定所述目标点属于所述目标围栏;否则,确定所述目标点不属于所述目标围栏。
当通过上述方法判断出目标点处于边界格子中时,此时可以判断目标点是否在局部围栏中。此时,可以选用射线法判断目标点是否在局部围栏中。由于局部围栏一般点数比较少,可以直接使用射线法。
如果基于射线法确定出目标点在局部围栏内,则确定出目标点属于目标围栏。如果基于射线法确定出目标点不在局部围栏内,则确定出目标点不属于目标围栏。
需要说明的是,在本实施例中,除了采用上述射线法之外,还可以采用比较法来判断目标点是否在所述局部围栏内。具体地,比较法是比较局部围栏包含的坐标集中是否有目标点,如果含有,则确定出目标点在所述局部围栏内;否则,不在。
如果确定出目标点不属于当前目标围栏,且在目标围栏为多个的情况下,继续确定目标点与下一个目标围栏的位置关系,直至找到所述目标点所属的目标围栏。具体过程如上所述,此处不再赘述。
考虑到相邻围栏的索引格子可能存在重合的格子的情况,如果目标点不在当前目标围栏中,则按照上述方法继续查找,直至找到目标点所属的目标围栏。
需要说明的是,发明人对本实施例所提供的确定点与围栏关系的方法进行了效率分析,分析过程描述如下:
假定围栏为n边形,边界含m个格子,待检测的点均匀地落在围栏内。
对于本发明实施例,当目标点落在围栏中的非边界格子时(无论点是否落在围栏内),检测效率均为O(1);当点落在围栏边界时,局部多边形的边数约为n/m,所以检测效率为O(n/m)。对于纯射线法,检测效率为O(n)。可见,在发明实施例所提供的方法,能够针对目标点在边界格子中的情况,快速的给出准确的位置关系,避免错误结论,从而并更加准确的确定出点与围栏之间的关系。
实施例二:
参见图4所示的第一种可选地确定点与围栏关系的方法的流程图,图4所示,该方法包括如下步骤:
步骤S401,将目标用户所在位置确定为目标点;
步骤S402,确定目标点所在的目标格子;与步骤S202相同,此处不再详细赘述;
步骤S403,将索引格子中包含所述目标格子的围栏确定为目标围栏;其中,所述目标围栏的围栏对象包括局部围栏,所述局部围栏是所述目标围栏的边界格子与所述目标围栏的相交区域;与步骤S204相同,此处不再详细赘述;
步骤S404,判断所述目标围栏的边界格子中是否包含所述目标格子;与步骤S206相同,此处不再详细赘述;
步骤S405,如果是,根据所述目标点与所述局部围栏的位置关系,确定所述目标点与目标围栏的位置关系;与步骤S208相同,此处不再详细赘述;
步骤S406,向所述目标用户下发所述目标点所属目标围栏对应的业务。
具体地,在本实施例中,当用户打开(或者登录)目标应用软件(例如,打车软件,购物软件和定位软件等各类应用软件)时,支持全球离散格网***DGGS的服务器通过目标应用软件所安装终端设备的位置信息确定目标用户所在位置,进而,将目标用户所在位置确定为目标点,其中,目标用户所在位置可以为目标用户的经纬度坐标。
在确定出目标点之后,就可以确定目标点所在的目标格子;然后,将索引格子中包含目标格子的围栏确定为目标围栏;之后,判断目标围栏的边界格子中是否包含目标格子;如果包含,则根据目标点与局部围栏之间的位置关系,确定目标点与目标围栏之间的位置关系。如果确定出,目标点在局部围栏中,那么就可以确定出目标点在该目标围栏中。如果确定出目标点不在局部围栏中,那么就可以确定出目标点不在该目标围栏中。
在本实施例中,在确定出目标点在目标围栏中之后,就可以向目标用户下发目标点所属目标围栏对应的业务。其中,该对应的业务取决于目标应用软件的应用类型。
例如,如果该目标应用软件为打车软件,那么该对应的业务为与打车软件对应的打车业务。例如,实时的载客司机数量,实时空车司机数量等等。如果该目标应用软件为团购软件,那么该对应的业务为团购活动、参与团购的商家、参与团购商家的位置信息等等。
实施例三:
参见图5所示的第一种可选地确定点与围栏关系的方法的流程图,图5所示,该方法包括如下步骤:
步骤S501,确定目标点所在的目标格子;
步骤S502,将索引格子中包含所述目标格子的围栏确定为目标围栏;其中,所述目标围栏的围栏对象包括局部围栏,所述局部围栏是所述目标围栏的边界格子与所述目标围栏的相交区域;
步骤S503,计算目标格子的标识;
步骤S504,根据所述目标格子的标识确定待选围栏;
步骤S505,查找待选围栏的索引格子中是否包含所述目标格子;
步骤S506,如果是,将所述待选围栏确定为目标围栏;
步骤S507,判断目标格子是否在目标围栏的边界格子中;如果否,则确定出目标点在目标围栏内;否则,执行步骤S508;
步骤S508,根据射线法判断所述目标点是否在所述局部围栏内;
步骤S509,如果是,确定所述目标点属于所述目标围栏;否则,确定所述目标点不属于所述目标围栏。
在本实施例中,能够基于局部围栏与目标点的位置关系,确定该目标点与目标围栏的关系,进而,能够针对目标点在边界格子中的情况,快速的给出准确的位置关系,避免错误结论,从而并更加准确的确定出点与围栏之间的关系。进一步地,相对于现有的技术方案,本发明所提供的技术方案的复杂度不与围栏的点数线性相关,进而能够提高点与围栏之间位置关系的确定效率。
实施例四:
为便于理解,本实施例提供了采用前述实施例提供的确定点与围栏关系的方法确定点和围栏关系的具体应用实例。
场景一、此时的目标应用软件为打车软件
假设,用户在北京的某个地方登录或者打开打车软件,此时,将用户在北京的某个地方的位置确定为目标点,其中,该位置可以基于该打车软件所安装终端设备的位置来确定。
在确定出目标点之后,确定目标点所在的目标格子。然后,根据目标格子的ID(或者标识)从围栏Map<围栏ID,围栏对象>中选择待选围栏。其中,围栏对象包括:围栏ID,索引格子GidsMp,边界格子BorderGidsMp。
在得到待选围栏之后,就可以基于围栏对象中的索引格子GidsMp查询待选围栏的索引格子中是否包含目标格子。假设,该待选围栏为“北京市的围栏”,那么此时,可以查找“北京市的围栏”的索引格子中是否包含目标格子。如果确定出包含,则确定“北京市的围栏”为目标围栏。
在得到目标围栏之后,就可以根据目标点与目标围栏中局部围栏的位置关系,确定目标点与目标围栏的位置关系。其中,局部围栏是目标围栏的边界格子与目标围栏的相交区域。如图6a所示的即为“北京市的围栏”的边界格子。如图6b和如图6c所示的即为目标围栏的边界格子与目标围栏的相交区域,即,局部围栏。
如果确定出目标点在“北京市的围栏”中,那么可以向用户下发目标点所属目标围栏(“北京市的围栏”)对应的打车业务。
场景二、
假设,用户在北京的某个地方登录或者打开目标应用软件,此时,将用户在北京的某个地方的位置确定为目标点,其中,该位置可以基于该打车软件所安装终端设备的位置来确定。
在确定出目标点之后,确定目标点所在的目标格子。然后,将索引格子中包含目标格子的围栏确定为目标围栏。其中,索引格子GidsMp<格子ID,对象池>,其中,格子ID包括所述目标围栏的内部格子ID和所述目标围栏的边界格子ID,所述对象池包括内部格子ID对应的坐标集合和边界格子ID对应的坐标集合,以及局部围栏对应的坐标集合。
在得到目标围栏之后,就可以判断目标围栏的边界格子中是否包含目标格子。如果包含,则根据目标点与目标围栏中局部围栏的位置关系,确定目标点与目标围栏的位置关系。
如果确定出目标点在目标围栏中,那么可以向用户下发目标点所属目标围栏对应的打车业务。
下面结合图7a至图7c对目标围栏的局部围栏的确定过程进行进一步的描述。如图7a所示,边界格子的各个顶点为:0、1、2、3、4、5。目标围栏的各个顶点为:0、6、7、8、9、10、11、12。如图7b所示,目标围栏与边界格子的交点分比为:13,14,15和16。
此时,第一链表表示为:6→13→7→14→8→9→10→11→15→12→16。第二链表表示为:0→14→13→16→1→2→3→4→5→15。
如果预设的遍历规则为上述第一种预设的遍历规则,那么确定目标围栏与边界格子对应的局部围栏的过程描述如下:
首先,首先从目标围栏的顶点中选择一个位于边界格子之外的顶点作为起始点。例如,如图7a或7b所示,以目标围栏上的顶点11作为起始点。
然后,从起始点开始,按照第一链表中各点顺序遍历,如图7a所示,第一链表表示为6→13→7→14→8→9→10→11→15→12→16。此时,从顶点11开始,按照第一链表:6→13→7→14→8→9→10→11→15→12对第一链表中各点进行顺序遍历。
当遍历到15时,遍历到首个交点。此时,切换至第二链表上继续进行遍历,即,切换到链路0→14→13→16→1→2→3→4→5→15上继续进行遍历。例如,15→5→4→3→2→1→16。当遍历到交点16时,切换至第一链表上继续进行遍历,直至再次遍历至首个交点15,例如,16→12→15。
需要说明的是,在上述遍历的过程中,每次遇到交点(15或16)时,都要将其进行初始标记,以标记为“已访问”。
上述遍历过程中所遍历到的点可以总结为:11→15→5→4→3→2→1→16→12→15。
最后,将从首个交点开始至首个交点结束所围成的封闭多边形确定为目标围栏与边界格子对应的一个局部围栏。例如,如图7c所示,将15→5→4→3→2→1→16→12→15所围成的多边形确定为目标围栏与边界格子的一个局部围栏。
需要说明的是,在按照上述第一种预设的遍历规则遍历第一链表和第二链表时,第一链表或者第二链表中还存在未被遍历的交点,即交点13和交点14。在此情况下,可以重新从目标围栏中选择一个位于边界格子外部的顶点作为起始点,并按照上述预设的遍历规则对第一链表和第二链表进行遍历,直至所有交点都被标记为“已访问”。
例如,以目标围栏上的顶点8作为起始点。然后,从起始点开始,按照第一链表中各点顺序遍历。此时,从顶点8开始,对第一链表中各点进行顺序遍历。
当遍历到14时,遍历到首个交点。此时,切换至第二链表上继续进行遍历。例如,14→13。当遍历到交点13时,切换至第一链表上继续进行遍历,直至再次遍历至首个交点14,例如,13→7→14。
需要说明的是,在上述遍历的过程中,每次遇到交点(13或14)时,都要将其进行初始标记,以标记为“已访问”。上述遍历过程中所遍历到的点可以总结为:8→14→13→7→14。此时,将14→13→7→14所围成的多边形确定为目标围栏与边界格子的一个局部围栏。
场景三、
假设,用户在北京的某个地方登录或者打开目标应用软件,此时,将用户在北京的某个地方的位置确定为目标点,其中,该位置可以基于该打车软件所安装终端设备的位置来确定。
在确定出目标点之后,确定目标点所在的目标格子。然后,将索引格子中包含目标格子的围栏确定为目标围栏。在得到目标围栏之后,就可以判断目标围栏的边界格子中是否包含目标格子。如果包含,则根据目标点与目标围栏中局部围栏的位置关系,确定目标点与目标围栏的位置关系。
如果确定出目标点在目标围栏中,那么可以向用户下发目标点所属目标围栏对应的打车业务。
下面结合图7a至图7c对目标围栏的局部围栏的确定过程进行进一步的描述。如图7a所示,边界格子的各个顶点为:0、1、2、3、4、5。目标围栏的各个顶点为:0、6、7、8、9、10、11、12。如图7b所示,目标围栏与边界格子的交点分比为:13,14,15和16。
此时,第一链表表示为:6→13→7→14→8→9→10→11→15→12→16。第二链表表示为:0→14→13→16→1→2→3→4→5→15。
如果预设的遍历规则为上述第二种预设的遍历规则,那么确定目标围栏与边界格子对应的局部围栏的过程描述如下:
首先,首先从边界格子的顶点中选择一个位于目标围栏之外的顶点作为起始点。例如,如图7a或7b所示,以边界格子的顶点0作为起始点。
然后,从顶点0开始,对第二链表中各点进行顺序遍历。
当遍历到15时,遍历到首个交点。此时,切换至第一链表上继续进行遍历。例如,15→12→16。当遍历到交点16时,切换至第二链表上继续进行遍历,直至再次遍历至首个交点15,例如,16→1→2→3→4→5→15。
需要说明的是,在上述遍历的过程中,每次遇到交点(15或16)时,都要将其进行初始标记,以标记为“已访问”。
上述遍历过程中所遍历到的点可以总结为:0→15→12→16→1→2→3→4→5→15。
最后,将从首个交点开始至首个交点结束所围成的封闭多边形确定为目标围栏与边界格子对应的一个局部围栏。例如,如图7c所示,将15→12→16→1→2→3→4→5→15所围成的多边形确定为目标围栏与边界格子的一个局部围栏。
需要说明的是,在按照上述第二种预设的遍历规则遍历第一链表和第二链表时,第一链表或者第二链表中还存在未被遍历的交点,即交点13和交点14。在此情况下,可以重新从目标围栏中选择一个位于边界格子外部的顶点作为起始点,由于边界格子中位于目标围栏之外的顶点只有0点,那么继续将0点作为起始点,并按照上述预设的遍历规则对第一链表和第二链表进行遍历,直至所有交点都被标记为“已访问”。
例如,以目标围栏上的顶点0作为起始点。然后,从起始点开始,按照第二链表中各点顺序遍历。此时,从顶点0开始,对第二链表中各点进行顺序遍历。
当遍历到14时,遍历到首个交点。此时,切换至第一链表上继续进行遍历。例如,14→7→13。当遍历到交点13时,切换至第二链表上继续进行遍历,直至再次遍历至首个交点14,例如,13→14。
需要说明的是,在上述遍历的过程中,每次遇到交点(13或14)时,都要将其进行初始标记,以标记为“已访问”。上述遍历过程中所遍历到的点可以总结为:0→14→7→13→14。此时,将14→7→13→14所围成的多边形确定为目标围栏与边界格子的一个局部围栏。
实施例五
对应于前述确定点与围栏关系的方法,本实施例提供了一种确定点与围栏关系的装置,该装置设置于支持全球离散格网***DGGS的设备,参见图8所示的一种确定点与围栏关系的装置的结构框图,包括:
第一确定单元10,用于确定目标点所在的目标格子;
第二确定单元20,用于将索引格子中包含所述目标格子的围栏确定为目标围栏;其中,所述目标围栏的围栏对象包括局部围栏,所述局部围栏是所述目标围栏的边界格子与所述目标围栏的相交区域;
判断单元30,用于判断所述目标围栏的边界格子中是否包含所述目标格子;
第三确定单元40,用于如果是,根据所述目标点与所述局部围栏的位置关系,确定所述目标点与目标围栏的位置关系。
相对于现有的技术方案,本发明所提供的技术方案的复杂度不与围栏的点数线性相关,进而能够提高点与围栏之间位置关系的确定效率。进一步地,在本实施例中,能够基于局部围栏与目标点的位置关系,确定该目标点与目标围栏的关系,进而,能够针对目标点在边界格子中的情况,快速的给出准确的位置关系,避免错误结论,从而并更加准确的确定出点与围栏之间的关系。
在另一种实施方式中,所述装置还包括:获取单元,用于获取所述目标围栏的第一链表和所述边界格子的第二链表;其中,所述第一链表和所述第二链表均为首尾相接的链表;所述第一链表由所述围栏的顶点和所述围栏与所述边界格子的交点有序排列组成;所述第二链表由所述边界格子的顶点和所述交点有序排列组成;第四确定单元,用于基于所述第一链表和所述第二链表,按照预设的遍历规则确定所述目标围栏与所述边界格子对应的局部围栏。
在另一种实施方式中,所述获取单元用于:将所述目标围栏的顶点按照顺时针或逆时针顺序组成第一初级链表;将所述边界格子的顶点按照顺时针或逆时针顺序组成第二初级链表;获取所述边界格子的每条边与所述目标围栏的每条边两两相交的交点;将所述交点分别***到所述第一初级链表和所述第二初级链表的对应位置,得到第一链表和第二链表。
在另一种实施方式中,所述预设的遍历规则包括:从所述目标围栏的顶点中选择位于所述边界格子外部的顶点作为起始点;从所述起始点开始,按照所述第一链表中各点顺序遍历;当遍历到首个交点时,对所述首个交点进行初始标记,并切换至所述第二链表上继续进行遍历,直到再次遍历至所述首个交点;其中,遍历过程中每次遇到所述交点,进行所述第一链表与所述第二链表的切换;将从所述首个交点开始至所述首个交点结束所围成的封闭多边形,确定为所述目标围栏与所述边界格子对应的一个局部围栏。
在另一种实施方式中,所述预设的遍历规则包括:从所述边界格子的顶点中选择位于所述目标围栏外部的顶点作为起始点;从所述起始点开始,按照所述第二链表中各点顺序遍历;当遍历到首个交点时,对所述首个交点进行初始标记,并切换至所述第一链表上继续进行遍历,直到再次遍历至所述首个交点;其中,遍历过程中每次遇到所述交点,进行所述第一链表与所述第二链表的切换;将从所述首个交点开始至所述首个交点结束所围成的封闭多边形,确定为所述目标围栏与所述边界格子对应的一个局部围栏。
在另一种实施方式中,所述装置还用于:如果存在未被遍历的交点,继续按照所述预设的遍历规则选择下一个起始点,获取下一个局部围栏,直至所有交点均被遍历。
在另一种实施方式中,所述装置还用于:构建所述目标围栏的索引格子GidsMp<格子ID,对象池>,其中,格子ID包括所述目标围栏的内部格子ID和所述目标围栏的边界格子ID,所述对象池包括内部格子ID对应的坐标集合和边界格子ID对应的坐标集合,以及所述局部围栏对应的坐标集合;所述第二确定单元用于:根据所述目标格子的标识确定待选围栏;查找所述待选围栏的索引格子中是否包含所述目标格子;如果是,将所述待选围栏确定为目标围栏。
在另一种实施方式中,所述第三确定单元用于:根据射线法判断所述目标点是否在所述局部围栏内;如果是,确定所述目标点属于所述目标围栏;否则,确定所述目标点不属于所述目标围栏。
在另一种实施方式中,所述装置还用于:如果确定出的目标围栏为多个,且所述目标点不属于当前目标围栏,继续确定目标点与下一个目标围栏的位置关系,直至找到所述目标点所属的目标围栏。
在另一种实施方式中,所述装置还用于在确定目标点所在的目标格子之前,将目标用户所在位置确定为目标点;以及在确定所述目标点与目标围栏的位置关系之后,向所述目标用户下发所述目标点所属目标围栏对应的业务。
实施例六
本发明实施例提供了一种支持全球离散格网***DGGS的电子设备,该电子设备包括存储器以及处理器,存储器用于存储支持处理器执行前述任一项确定点与围栏关系的方法的程序,处理器被配置为用于执行存储器中存储的程序。
参见图9所示的一种服务器的结构示意图,具体包括处理器90,存储器91,总线92和通信接口93,处理器90、通信接口93和存储器91通过总线92连接;处理器90用于执行存储器91中存储的可执行模块,例如计算机程序。
其中,存储器91可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口93(可以是有线或者无线)实现该***网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线92可以是ISA总线、PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器91用于存储程序,处理器90在接收到执行指令后,执行程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器90中,或者由处理器90实现。
处理器90可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器90中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器90可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器91,处理器90读取存储器91中的信息,结合其硬件完成上述方法的步骤。
本实施例提供的确定点与围栏关系的方法可以由上述服务器执行,亦或,本实施例提供的确定点与围栏关系的装置可以设置于上述服务器侧。
进一步,本实施例还提供了一种计算机存储介质,用于储存为前述任一项确定点与围栏关系的装置所用的计算机软件指令。
本发明实施例所提供的确定点与围栏关系的方法、装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (18)
1.一种确定点与围栏关系的方法,其特征在于,所述方法应用于支持全球离散格网***DGGS的设备,所述方法包括:
确定目标点所在的目标格子;
将索引格子中包含所述目标格子的围栏确定为目标围栏;其中,所述目标围栏的围栏对象包括局部围栏,所述局部围栏是所述目标围栏的边界格子与所述目标围栏的相交区域;
判断所述目标围栏的边界格子中是否包含所述目标格子;
如果是,根据所述目标点与所述局部围栏的位置关系,确定所述目标点与目标围栏的位置关系;
其中所述目标围栏的每个边界格子对应的局部围栏,采用如下方式获取:
获取所述目标围栏的第一链表和所述边界格子的第二链表;其中,所述第一链表和所述第二链表均为首尾相接的链表;所述第一链表由所述围栏的顶点和所述围栏与所述边界格子的交点有序排列组成;所述第二链表由所述边界格子的顶点和所述交点有序排列组成;
基于所述第一链表和所述第二链表,按照预设的遍历规则确定所述目标围栏与所述边界格子对应的局部围栏。
2.如权利要求1所述的方法,其特征在于,所述获取所述目标围栏的第一链表和所述边界格子的第二链表的步骤,包括:
将所述目标围栏的顶点按照顺时针或逆时针顺序组成第一初级链表;
将所述边界格子的顶点按照顺时针或逆时针顺序组成第二初级链表;
获取所述边界格子的每条边与所述目标围栏的每条边两两相交的交点;
将所述交点分别***到所述第一初级链表和所述第二初级链表的对应位置,得到第一链表和第二链表。
3.如权利要求1所述的方法,其特征在于,所述预设的遍历规则包括:
从所述目标围栏的顶点中选择位于所述边界格子外部的顶点作为起始点;
从所述起始点开始,按照所述第一链表中各点顺序遍历;
当遍历到首个交点时,对所述首个交点进行初始标记,并切换至所述第二链表上继续进行遍历,直到再次遍历至所述首个交点;其中,遍历过程中每次遇到所述交点,进行所述第一链表与所述第二链表的切换;
将从所述首个交点开始至所述首个交点结束所围成的封闭多边形,确定为所述目标围栏与所述边界格子对应的一个局部围栏。
4.如权利要求1所述的方法,其特征在于,所述预设的遍历规则包括:
从所述边界格子的顶点中选择位于所述目标围栏外部的顶点作为起始点;
从所述起始点开始,按照所述第二链表中各点顺序遍历;
当遍历到首个交点时,对所述首个交点进行初始标记,并切换至所述第一链表上继续进行遍历,直到再次遍历至所述首个交点;其中,遍历过程中每次遇到所述交点,进行所述第一链表与所述第二链表的切换;
将从所述首个交点开始至所述首个交点结束所围成的封闭多边形,确定为所述目标围栏与所述边界格子对应的一个局部围栏。
5.如权利要求3或4所述的方法,其特征在于,所述方法还包括:
如果存在未被遍历的交点,继续按照所述预设的遍历规则选择下一个起始点,获取下一个局部围栏,直至所有交点均被遍历。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:构建所述目标围栏的索引格子GidsMp<格子ID,对象池>,其中,格子ID包括所述目标围栏的内部格子ID和所述目标围栏的边界格子ID,所述对象池包括内部格子ID对应的坐标集合和边界格子ID对应的坐标集合,以及所述局部围栏对应的坐标集合;
所述将索引格子中包含所述目标格子的围栏确定为目标围栏的步骤,包括:
根据所述目标格子的标识确定待选围栏;
查找所述待选围栏的索引格子中是否包含所述目标格子;
如果是,将所述待选围栏确定为目标围栏。
7.如权利要求1所述的方法,其特征在于,所述根据所述目标点与所述局部围栏的位置关系,确定所述目标点与目标围栏的位置关系的步骤,包括:
根据射线法判断所述目标点是否在所述局部围栏内;
如果是,确定所述目标点属于所述目标围栏;否则,确定所述目标点不属于所述目标围栏。
8.如权利要求1所述的方法,其特征在于,所述确定目标点所在的目标格子的步骤之前,还包括:将目标用户所在位置确定为目标点;
所述确定所述目标点与目标围栏的位置关系的步骤之后,所述方法还包括:向所述目标用户下发所述目标点所属目标围栏对应的业务。
9.一种确定点与围栏关系的装置,其特征在于,所述装置设置于支持全球离散格网***DGGS的设备,所述装置包括:
第一确定单元,用于确定目标点所在的目标格子;
第二确定单元,用于将索引格子中包含所述目标格子的围栏确定为目标围栏;其中,所述目标围栏的围栏对象包括局部围栏,所述局部围栏是所述目标围栏的边界格子与所述目标围栏的相交区域;
判断单元,用于判断所述目标围栏的边界格子中是否包含所述目标格子;
第三确定单元,用于如果是,根据所述目标点与所述局部围栏的位置关系,确定所述目标点与目标围栏的位置关系;
获取单元,用于获取所述目标围栏的第一链表和所述边界格子的第二链表;其中,所述第一链表和所述第二链表均为首尾相接的链表;所述第一链表由所述围栏的顶点和所述围栏与所述边界格子的交点有序排列组成;所述第二链表由所述边界格子的顶点和所述交点有序排列组成;
第四确定单元,用于基于所述第一链表和所述第二链表,按照预设的遍历规则确定所述目标围栏与所述边界格子对应的局部围栏。
10.如权利要求9所述的装置,其特征在于,所述获取单元用于:
将所述目标围栏的顶点按照顺时针或逆时针顺序组成第一初级链表;
将所述边界格子的顶点按照顺时针或逆时针顺序组成第二初级链表;
获取所述边界格子的每条边与所述目标围栏的每条边两两相交的交点;
将所述交点分别***到所述第一初级链表和所述第二初级链表的对应位置,得到第一链表和第二链表。
11.如权利要求9所述的装置,其特征在于,所述预设的遍历规则包括:
从所述目标围栏的顶点中选择位于所述边界格子外部的顶点作为起始点;
从所述起始点开始,按照所述第一链表中各点顺序遍历;
当遍历到首个交点时,对所述首个交点进行初始标记,并切换至所述第二链表上继续进行遍历,直到再次遍历至所述首个交点;其中,遍历过程中每次遇到所述交点,进行所述第一链表与所述第二链表的切换;
将从所述首个交点开始至所述首个交点结束所围成的封闭多边形,确定为所述目标围栏与所述边界格子对应的一个局部围栏。
12.如权利要求9所述的装置,其特征在于,所述预设的遍历规则包括:
从所述边界格子的顶点中选择位于所述目标围栏外部的顶点作为起始点;
从所述起始点开始,按照所述第二链表中各点顺序遍历;
当遍历到首个交点时,对所述首个交点进行初始标记,并切换至所述第一链表上继续进行遍历,直到再次遍历至所述首个交点;其中,遍历过程中每次遇到所述交点,进行所述第一链表与所述第二链表的切换;
将从所述首个交点开始至所述首个交点结束所围成的封闭多边形,确定为所述目标围栏与所述边界格子对应的一个局部围栏。
13.如权利要求11或12所述的装置,其特征在于,所述装置还用于:
如果存在未被遍历的交点,继续按照所述预设的遍历规则选择下一个起始点,获取下一个局部围栏,直至所有交点均被遍历。
14.如权利要求9所述的装置,其特征在于,所述装置还用于:构建所述目标围栏的索引格子GidsMp<格子ID,对象池>,其中,格子ID包括所述目标围栏的内部格子ID和所述目标围栏的边界格子ID,所述对象池包括内部格子ID对应的坐标集合和边界格子ID对应的坐标集合,以及所述局部围栏对应的坐标集合;
所述第二确定单元用于:
根据所述目标格子的标识确定待选围栏;
查找所述待选围栏的索引格子中是否包含所述目标格子;
如果是,将所述待选围栏确定为目标围栏。
15.如权利要求9所述的装置,其特征在于,所述第三确定单元用于:
根据射线法判断所述目标点是否在所述局部围栏内;
如果是,确定所述目标点属于所述目标围栏;否则,确定所述目标点不属于所述目标围栏。
16.如权利要求9所述的装置,其特征在于,所述装置还用于在确定目标点所在的目标格子之前,将目标用户所在位置确定为目标点;以及在确定所述目标点与目标围栏的位置关系之后,向所述目标用户下发所述目标点所属目标围栏对应的业务。
17.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当网络侧设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1~8任一所述的方法。
18.一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1~8任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910750706.2A CN110633344B (zh) | 2018-06-25 | 2018-06-25 | 一种确定点与围栏关系的方法、装置和电子设备 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810664293.1A CN108846882B (zh) | 2018-06-25 | 2018-06-25 | 一种确定点与围栏关系的方法、装置和电子设备 |
CN201910750706.2A CN110633344B (zh) | 2018-06-25 | 2018-06-25 | 一种确定点与围栏关系的方法、装置和电子设备 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810664293.1A Division CN108846882B (zh) | 2018-06-25 | 2018-06-25 | 一种确定点与围栏关系的方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110633344A CN110633344A (zh) | 2019-12-31 |
CN110633344B true CN110633344B (zh) | 2021-08-24 |
Family
ID=64202693
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910750706.2A Active CN110633344B (zh) | 2018-06-25 | 2018-06-25 | 一种确定点与围栏关系的方法、装置和电子设备 |
CN201810664293.1A Active CN108846882B (zh) | 2018-06-25 | 2018-06-25 | 一种确定点与围栏关系的方法、装置和电子设备 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810664293.1A Active CN108846882B (zh) | 2018-06-25 | 2018-06-25 | 一种确定点与围栏关系的方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN110633344B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111246376B (zh) * | 2018-11-28 | 2021-11-16 | 北京嘀嘀无限科技发展有限公司 | 用于确定目标是否属于目标地理围栏的***和方法 |
CN110769369B (zh) * | 2018-12-29 | 2020-09-22 | 北京嘀嘀无限科技发展有限公司 | 位置判断方法、判断装置、服务器和计算机可读存储介质 |
CN110398240B (zh) * | 2019-06-12 | 2021-07-20 | 北京邮电大学 | 一种基于电子围栏的位置判定方法、装置与电子设备 |
CN110475204B (zh) * | 2019-09-23 | 2021-11-19 | 创新先进技术有限公司 | 一种地理围栏逆地址解析方法、装置及设备 |
CN110650437B (zh) * | 2019-11-27 | 2020-02-18 | 苏宁云计算有限公司 | 电子围栏上的围栏点删除方法、装置及计算机设备 |
CN111078812B (zh) * | 2019-12-03 | 2023-09-05 | 支付宝(杭州)信息技术有限公司 | 围栏的生成方法、装置和电子设备 |
CN111209358A (zh) * | 2019-12-24 | 2020-05-29 | 武汉蜜蜂云科技有限公司 | 一种景区片区内设备数量统计方法及装置 |
CN111967823B (zh) * | 2020-08-14 | 2024-04-19 | 北京骑胜科技有限公司 | 物品的管理方法及设备 |
CN113282696A (zh) * | 2021-05-31 | 2021-08-20 | 广州宸祺出行科技有限公司 | 一种针对出行业务的轻量级的高性能地址逆解析方法、装置及电子设备 |
CN114295135A (zh) * | 2021-12-22 | 2022-04-08 | 中寰卫星导航通信有限公司 | 一种位置信息的确定方法、装置及存储介质 |
CN115209349A (zh) * | 2022-08-04 | 2022-10-18 | 维沃移动通信有限公司 | 地理围栏检测方法、装置和电子设备 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090167529A1 (en) * | 2007-12-27 | 2009-07-02 | Avi Kashi | Electronic fence using wireless mesh network |
US8639184B2 (en) * | 2008-11-06 | 2014-01-28 | Qualcomm Incorporated | Static nodes positioning in a wireless network |
CN101887127B (zh) * | 2010-03-19 | 2014-09-03 | 深圳市安巨科技有限公司 | 车辆监控处理方法、装置及gps服务器、车辆监控*** |
US8868254B2 (en) * | 2012-06-08 | 2014-10-21 | Apple Inc. | Accessory control with geo-fencing |
CN103106807B (zh) * | 2013-01-11 | 2015-05-20 | 南威软件股份有限公司 | 一种公务车辆监管中位置预警的方法 |
CN103916818A (zh) * | 2014-04-09 | 2014-07-09 | 北京百度网讯科技有限公司 | 基于地理围栏技术的定位方法和移动终端 |
CN104636482B (zh) * | 2015-02-16 | 2019-03-26 | 百度在线网络技术(北京)有限公司 | 用于确定目标地址的方法和装置 |
CN106156245B (zh) * | 2015-04-28 | 2020-02-14 | 高德软件有限公司 | 一种电子地图中的线要素合并方法及装置 |
CN106488400B (zh) * | 2015-08-31 | 2019-10-22 | 中国电信股份有限公司 | 生成地理围栏的方法及装置 |
US9747380B2 (en) * | 2015-11-12 | 2017-08-29 | International Business Machines Corporation | Grid-based geofence data indexing |
CN105510928A (zh) * | 2016-01-05 | 2016-04-20 | 上海卓易科技股份有限公司 | 一种电子围栏智能控制***及方法 |
CN105828292A (zh) * | 2016-05-09 | 2016-08-03 | 青岛海信移动通信技术股份有限公司 | 一种基于地理围栏的位置检测方法及装置 |
CN106535129B (zh) * | 2016-11-22 | 2019-10-18 | 腾云天宇科技(北京)有限公司 | 一种统计移动设备数量的方法、装置和计算设备 |
CN107402955B (zh) * | 2017-06-02 | 2020-04-14 | 阿里巴巴集团控股有限公司 | 确定地理围栏的索引网格的方法和装置 |
CN107390243A (zh) * | 2017-06-09 | 2017-11-24 | 北斗导航位置服务(北京)有限公司 | 一种gnss定位数据与地理围栏临界点阈值判断方法 |
CN108009653B (zh) * | 2017-08-16 | 2021-12-21 | 北京嘀嘀无限科技发展有限公司 | 订单管理方法、装置、服务器和计算机可读存储介质 |
CN107610455A (zh) * | 2017-09-06 | 2018-01-19 | 上海享骑电动车服务有限公司 | 电子围栏 |
-
2018
- 2018-06-25 CN CN201910750706.2A patent/CN110633344B/zh active Active
- 2018-06-25 CN CN201810664293.1A patent/CN108846882B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108846882B (zh) | 2019-09-03 |
CN110633344A (zh) | 2019-12-31 |
CN108846882A (zh) | 2018-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110633344B (zh) | 一种确定点与围栏关系的方法、装置和电子设备 | |
CN111044056B (zh) | 基于道路匹配的定位方法、芯片子***及电子设备 | |
CN110795642B (zh) | 位置名称生成方法以及位置名称显示方法 | |
CN106708837B (zh) | 兴趣点搜索方法、装置 | |
KR20180100194A (ko) | 경로 이탈 인식 방법, 단말 및 저장 매체 | |
CN111380544A (zh) | 车道线的地图数据生成方法及装置 | |
CN111488414A (zh) | 道路任务匹配方法、装置与设备 | |
KR20180122737A (ko) | 도로명칭 표시방법, 장치 및 저장매체 | |
CN116484036A (zh) | 图像推荐方法、装置、电子设备及计算机可读存储介质 | |
CN111210134B (zh) | 服务区域划分方法、装置、服务器和可读存储介质 | |
CN110633425B (zh) | 一种移动目标查找方法和装置 | |
JP6398434B2 (ja) | 地図表示プログラム、地図表示方法および情報処理装置 | |
CN116069889A (zh) | 一种线状要素单线拓扑状态的判断方法和装置 | |
CN114021025B (zh) | 基于气象信息的路径推荐方法、装置、设备和存储介质 | |
CN111866722A (zh) | 一种生成电子围栏的方法、***、装置和存储介质 | |
JP5132694B2 (ja) | データ生成装置、データ生成方法及び経路探索装置 | |
JP2018132595A (ja) | エリア抽出システムおよびエリア抽出方法 | |
CN113869715A (zh) | 站点分组方法、归属站点确定方法、装置和计算机设备 | |
CN113865590A (zh) | 一种基于厂区运单绑定固定路线的导航方法、装置及介质 | |
CN103186528A (zh) | 筛选地理信息的方法、装置与移动终端 | |
JP5638684B2 (ja) | 情報出力装置及び情報出力方法 | |
CN106028445A (zh) | 定位精准度的确定方法和装置 | |
CN112800154A (zh) | 电子地图的构建方法、装置及电子地图的实现方法、装置 | |
CN115759642A (zh) | 一种车辆推荐方法、***、设备和可读存储介质 | |
CN116051614B (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 |