一种确定点与围栏关系的方法、装置和电子设备制造方法及图纸

技术编号:22974680 阅读:19 留言:0更新日期:2019-12-31 23:25
本发明专利技术提供了一种确定点与围栏关系的方法、装置和电子设备,涉及数据处理的技术领域。其中,该方法包括:确定目标点所在的目标格子;将索引格子中包含目标格子的围栏确定为目标围栏;其中,目标围栏的围栏对象包括局部围栏,局部围栏是目标围栏的边界格子与目标围栏的相交区域;判断目标围栏的边界格子中是否包含目标格子;如果是,根据目标点与局部围栏的位置关系,确定目标点与目标围栏的位置关系。本发明专利技术能够提高点与围栏之间位置关系的确定效率,并更加准确的确定出点与围栏之间的关系。

A method, device and electronic equipment for determining the relationship between point and fence

【技术实现步骤摘要】
一种确定点与围栏关系的方法、装置和电子设备相关申请引用本申请是申请号为201810664293.1、申请日为2018年6月25日、专利技术名称为“一种确定点与围栏关系的方法、装置和电子设备”的专利技术专利申请的分案申请。
本申请涉及数据处理的
,尤其涉及一种确定点与围栏关系的方法、装置和电子设备。
技术介绍
网约车平台是一种连接乘客和网约车司机的网络平台。当乘客向网约车平台发起包含乘车需求的乘车订单时,网约车平台会将该乘车订单分配给对应的网约车司机,网约车司机就可以按照该乘车订单为乘客提供服务。网约车平台在精细化运营时,需要快速识别司机或乘客当前所处的城市以及区域,在特定的城市和区域采用不同的策略,例如动调策略等。上述城市和区域均可通过地理围栏来表示,地理围栏是一组首尾闭合的经纬度坐标对。在此情况下,可以需要判断司机或乘客当前所处位置点和地理围栏之间的位置关系。现有技术中的一种方式是利用射线法判断点与围栏的位置关系。射线法是从围栏内的点A出发沿着X轴画一条射线,依次判断该射线与每条边的交点,并统计交点个数,其中,交点数为奇数,则在多边形内部;如果交点个数是偶数,则在多边形外部,其中,N是多边形的边数。上述射线法的时间复杂度与围栏的点数线性相关,当地理围栏点数(或者,边数)过大时,算法的效率较低。
技术实现思路
有鉴于此,本申请实施例提供一种确定点与围栏关系的方法、装置和电子设备,用以提高点与围栏之间位置关系的确定效率,并更加准确的确定出点与围栏之间的关系。为了实现上述目的,本专利技术实施例采用的技术方案如下:第一方面,本申请实施例提供了一种确定点与围栏关系的方法,所述方法应用于支持全球离散格网系统DGGS的设备,所述方法包括:确定目标点所在的目标格子;将索引格子中包含所述目标格子的围栏确定为目标围栏;其中,所述目标围栏的围栏对象包括局部围栏,所述局部围栏是所述目标围栏的边界格子与所述目标围栏的相交区域;判断所述目标围栏的边界格子中是否包含所述目标格子;如果是,根据所述目标点与所述局部围栏的位置关系,确定所述目标点与目标围栏的位置关系。在本专利技术较佳的实施例中,所述目标围栏的每个边界格子对应的局部围栏,采用如下方式获取:获取所述目标围栏的第一链表和所述边界格子的第二链表;其中,所述第一链表和所述第二链表均为首尾相接的链表;所述第一链表由所述围栏的顶点和所述围栏与所述边界格子的交点有序排列组成;所述第二链表由所述边界格子的顶点和所述交点有序排列组成;基于所述第一链表和所述第二链表,按照预设的遍历规则确定所述目标围栏与所述边界格子对应的局部围栏。在本专利技术较佳的实施例中,所述获取所述目标围栏的第一链表和所述边界格子的第二链表的步骤,包括:将所述目标围栏的顶点按照顺时针或逆时针顺序组成第一初级链表;将所述边界格子的顶点按照顺时针或逆时针顺序组成第二初级链表;获取所述边界格子的每条边与所述目标围栏的每条边两两相交的交点;将所述交点分别插入到所述第一初级链表和所述第二初级链表的对应位置,得到第一链表和第二链表。在本专利技术较佳的实施例中,所述预设的遍历规则包括:从所述目标围栏的顶点中选择位于所述边界格子外部的顶点作为起始点;从所述起始点开始,按照所述第一链表中各点顺序遍历;当遍历到首个交点时,对所述首个交点进行初始标记,并切换至所述第二链表上继续进行遍历,直到再次遍历至所述首个交点;其中,遍历过程中每次遇到所述交点,进行所述第一链表与所述第二链表的切换;将从所述首个交点开始至所述首个交点结束所围成的封闭多边形,确定为所述目标围栏与所述边界格子对应的一个局部围栏。在本专利技术较佳的实施例中,所述预设的遍历规则包括:从所述边界格子的顶点中选择位于所述目标围栏外部的顶点作为起始点;从所述起始点开始,按照所述第二链表中各点顺序遍历;当遍历到首个交点时,对所述首个交点进行初始标记,并切换至所述第一链表上继续进行遍历,直到再次遍历至所述首个交点;其中,遍历过程中每次遇到所述交点,进行所述第一链表与所述第二链表的切换;将从所述首个交点开始至所述首个交点结束所围成的封闭多边形,确定为所述目标围栏与所述边界格子对应的一个局部围栏。在本专利技术较佳的实施例中,所述方法还包括:如果存在未被遍历的交点,继续按照所述预设的遍历规则选择下一个起始点,获取下一个局部围栏,直至所有交点均被遍历。在本专利技术较佳的实施例中,所述方法还包括:构建所述目标围栏的索引格子GidsMp<格子ID,对象池>,其中,格子ID包括所述目标围栏的内部格子ID和所述目标围栏的边界格子ID,所述对象池包括内部格子ID对应的坐标集合和边界格子ID对应的坐标集合,以及所述局部围栏对应的坐标集合;所述将索引格子中包含所述目标格子的围栏确定为目标围栏的步骤,包括:根据所述目标格子的标识确定待选围栏;查找所述待选围栏的索引格子中是否包含所述目标格子;如果是,将所述待选围栏确定为目标围栏。在本专利技术较佳的实施例中,所述根据所述目标点与所述局部围栏的位置关系,确定所述目标点与目标围栏的位置关系的步骤,包括:根据射线法判断所述目标点是否在所述局部围栏内;如果是,确定所述目标点属于所述目标围栏;否则,确定所述目标点不属于所述目标围栏。在本专利技术较佳的实施例中,所述方法还包括:如果确定出的目标围栏为多个,且所述目标点不属于当前目标围栏,继续确定目标点与下一个目标围栏的位置关系,直至找到所述目标点所属的目标围栏。在本专利技术较佳的实施例中,所述确定目标点所在的目标格子的步骤之前,还包括:将目标用户所在位置确定为目标点;所述确定所述目标点与目标围栏的位置关系的步骤之后,所述方法还包括:向所述目标用户下发所述目标点所属目标围栏对应的业务。第二方面,本专利技术实施例还提供一种确定点与围栏关系的装置,所述装置设置于支持全球离散格网系统DGGS的设备,所述装置包括:第一确定单元,用于确定目标点所在的目标格子;第二确定单元,用于将索引格子中包含所述目标格子的围栏确定为目标围栏;其中,所述目标围栏的围栏对象包括局部围栏,所述局部围栏是所述目标围栏的边界格子与所述目标围栏的相交区域;判断单元,用于判断所述目标围栏的边界格子中是否包含所述目标格子;第三确定单元,用于如果是,根据所述目标点与所述局部围栏的位置关系,确定所述目标点与目标围栏的位置关系。在本专利技术较佳的实施例中,所述装置还包括:获取单元,用于获取所述目标围栏的第一链表和所述边界格子的第二链表;其中,所述第一链表和所述第二链表均为首尾相接的链表;所述第一链表由所述围栏的顶点和所述围栏与所述边界格子的交点有序排列组成;所述第二链表由所述边界格子的顶点和所述交点有序排列组成;第四确定单元,用于基于所述第一链表和所述第二链表,按照预设的遍历规则确定所述目标围栏与所述边界格子对应的局部围栏。在本专利技术较佳的实施例中,所述获取单元用于:将所述目标围栏的顶点按照顺时针或逆时针顺序组成第一初级链表;将所述边界格子的顶点按照顺时针或逆时针顺序组成第二初级链表;获取所述边本文档来自技高网...

【技术保护点】
1.一种确定点与围栏关系的方法,其特征在于,所述方法应用于支持全球离散格网系统DGGS的设备,所述方法包括:/n确定目标点所在的目标格子;/n将索引格子中包含所述目标格子的围栏确定为目标围栏;其中,所述目标围栏的围栏对象包括局部围栏,所述局部围栏是所述目标围栏的边界格子与所述目标围栏的相交区域;/n判断所述目标围栏的边界格子中是否包含所述目标格子;/n如果是,根据所述目标点与所述局部围栏的位置关系,确定所述目标点与目标围栏的位置关系;/n其中所述目标围栏的每个边界格子对应的局部围栏,采用如下方式获取:/n获取所述目标围栏的第一链表和所述边界格子的第二链表;其中,所述第一链表和所述第二链表均为首尾相接的链表;所述第一链表由所述围栏的顶点和所述围栏与所述边界格子的交点有序排列组成;所述第二链表由所述边界格子的顶点和所述交点有序排列组成;/n基于所述第一链表和所述第二链表,按照预设的遍历规则确定所述目标围栏与所述边界格子对应的局部围栏。/n

【技术特征摘要】
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的设备,所述装置包括:
第一确...

【专利技术属性】
技术研发人员:盛克华张振王玥
申请(专利权)人:北京嘀嘀无限科技发展有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1