CN110677810B - 用于生成地理围栏的方法和装置 - Google Patents
用于生成地理围栏的方法和装置 Download PDFInfo
- Publication number
- CN110677810B CN110677810B CN201810715981.6A CN201810715981A CN110677810B CN 110677810 B CN110677810 B CN 110677810B CN 201810715981 A CN201810715981 A CN 201810715981A CN 110677810 B CN110677810 B CN 110677810B
- Authority
- CN
- China
- Prior art keywords
- clustering
- road network
- data
- network data
- boundary
- 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
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W64/00—Locating users or terminals or network equipment for network management purposes, e.g. mobility management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Navigation (AREA)
- Traffic Control Systems (AREA)
Abstract
本申请实施例公开了用于生成地理围栏的方法和装置。该方法的一具体实施方式包括:获取路网数据和预设时间段内的用户位置数据;基于路网数据,过滤表征用户位置在路网数据所指示的道路上的用户位置数据;对过滤后的用户位置数据进行聚类,并利用路网数据修正聚类结果;基于修正后的用户位置数据的聚类结果生成地理围栏。该实施方式能够获得更加精确的地理围栏。
Description
技术领域
本申请实施例涉及计算机技术领域,具体涉及位置服务技术领域,尤其涉及用于生成地理围栏的方法和装置。
背景技术
在基于位置服务的应用中,地理围栏技术是虚拟的栅栏围出一个虚拟地理边界。当终端设备(如手机)进入、离开某个特定地理区域,或在该区域内活动时,可以接收自动发送的该区域相关的通知消息。可以应用在安防、智能出行和到访等场景中。
通常,地理围栏由具有相似属性的地理位置点确定,目前的地理围栏发现算法包括人工在地图上标注围栏的方法,具体通过人工判断人群活动范围边界来标记地理围栏,或者采用基于卫星图像的边界检测,通过检测建筑物边界来发现地理围栏。
发明内容
本申请实施例提出了用于生成地理围栏的方法和装置。
第一方面,本申请实施例提供了一种用于生成地理围栏的方法,包括:获取路网数据和预设时间段内的用户位置数据;基于路网数据,过滤表征用户位置在路网数据所指示的道路上的用户位置数据;对过滤后的用户位置数据进行聚类,并利用路网数据修正聚类结果;基于修正后的用户位置数据的聚类结果生成地理围栏。
在一些实施例中,上述对过滤后的用户位置数据进行聚类,并利用路网数据修正聚类结果,包括:确定初始的聚类半径,执行如下迭代操作:基于聚类半径对过滤后的用户位置数据进行聚类,得到聚类边界,判断聚类边界是否满足与路网数据相关的预设条件;若聚类边界不满足与路网数据相关的预设条件,调整聚类半径,执行迭代操作以修正聚类结果;若聚类边界满足与路网数据相关的预设条件,输出用户位置数据的聚类结果。
在一些实施例中,上述与路网数据相关的预设条件包括:聚类边界所指示的地理位置范围内不包含路网数据所指示的道路上的点。
在一些实施例中,上述基于聚类半径对过滤后的用户位置数据进行聚类,包括:基于聚类半径,采用基于密度的聚类算法对过滤后的用户位置数据进行聚类。
在一些实施例中,上述基于修正后的用户位置数据的聚类结果生成地理围栏,包括:根据修正后的聚类结果的聚类半径,以及聚类得到的类簇的中心位置,确定类簇的边界,作为地理围栏的边界。
第二方面,本申请实施例提供了一种用于生成地理围栏的装置,包括:获取单元,被配置成获取路网数据和预设时间段内的用户位置数据;过滤单元,被配置成基于路网数据,过滤表征用户位置在路网数据所指示的道路上的用户位置数据;聚类单元,被配置成对过滤后的用户位置数据进行聚类,并利用路网数据修正聚类结果;生成单元,被配置成基于修正后的用户位置数据的聚类结果生成地理围栏。
在一些实施例中,上述聚类单元进一步被配置成按照如下方式对过滤后的用户位置数据进行聚类,并利用路网数据修正聚类结果:确定初始的聚类半径,执行如下迭代操作:基于聚类半径对过滤后的用户位置数据进行聚类,得到聚类边界,判断聚类边界是否满足与路网数据相关的预设条件;若聚类边界不满足与路网数据相关的预设条件,调整聚类半径,执行迭代操作以修正聚类结果;若聚类边界满足与路网数据相关的预设条件,输出用户位置数据的聚类结果。
在一些实施例中,上述与路网数据相关的预设条件包括:聚类边界所指示的地理位置范围内不包含路网数据所指示的道路上的点。
在一些实施例中,上述聚类单元进一步被配置成按照如下方式对过滤后的用户位置数据进行聚类:基于聚类半径,采用基于密度的聚类算法对过滤后的用户位置数据进行聚类。
在一些实施例中,上述生成单元进一步被配置成按照如下方式生成地理围栏:根据修正后的聚类结果的聚类半径,以及聚类得到的类簇的中心位置,确定类簇的边界,作为地理围栏的边界。
第三方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面提供的用于生成地理围栏的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其中,程序被处理器执行时实现第一方面提供的用于生成地理围栏的方法。
本申请上述实施例的用于生成地理围栏的方法和装置,通过获取路网数据和预设时间段内的用户位置数据,随后基于路网数据,过滤表征用户位置在路网数据所指示的道路上的用户位置数据,然后对过滤后的用户位置数据进行聚类,并利用路网数据修正聚类结果,最后基于修正后的用户位置数据的聚类结果生成地理围栏,能够获得更加精确的地理围栏。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请实施例可以应用于其中的示例性系统架构图;
图2是根据本申请的用于生成地理围栏的方法的一个实施例的流程图;
图3是根据本申请实施例的用于生成地理围栏的另一个实施例的流程图;
图4是图3所示用于生成地理围栏的方法的流程中对用户位置数据聚类并修正聚类结果的原理示意图;
图5是本申请的用于生成地理围栏的装置的一个结构示意图;
图6是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的用于生成地理围栏的方法或用于生成地理围栏的装置的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104、以及服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户110可以使用终端设备101、102、103通过网络104与服务器105互,以接收或发送消息等。终端设备101、102、103上可以安装有各种地理位置应用,例如地图服务客户端、导航客户端、叫车软件客户端等等。
终端设备101、102、103可以是具有显示器并支持互联网访问的各种电子设备,包括但不限于智能手机、平板电脑、智能手表、笔记本电脑、膝上便携型电脑、电子书阅读器等。
服务器105可以是为地图服务提供数据服务的服务器,服务器105可以获取终端设备101、102、103的定位数据,并对多个终端设备的定位数据进行分析,存储分析结果。服务器105还可以对终端设备101、102、103的地图数据获取请求进行解析,根据解析结果查找相应的地图数据,将查找到的地图数据返回给终端设备101、102、103。
需要说明的是,本申请实施例所提供的用于生成地理围栏的方法可以由服务器105执行,相应地,用于生成地理围栏的装置可以设置于服务器105中。
需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
应该理解,图1中的终端设备、网络、服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络、服务器。
继续参考图2,其示出了根据本申请的用于生成地理围栏的方法的一个实施例的流程200。该用于生成地理围栏的方法,包括以下步骤:
步骤201,获取路网数据和预设时间段内的用户位置数据。
在本实施例中,用于生成地理围栏的方法的执行主体(如图1所示的服务器)可以获取路网数据以及预先存储的预设时间段内的用户位置数据。在这里,路网数据可以预设地理位置范围内(例如,北京市海淀区)的主干道路数据,可以是预先采集并存储在上述执行主体或其他电子设备中的。路网数据可以是描述道路覆盖范围的数据,可以包括表示长度、宽度、延伸方向等道路属性的数据。具体来说,路网数据可以包括道路上的点的集合,道路上的点可以用二维坐标表示。路网数据还可以包括表示道路宽度的数值、道路标志的位置等。例如,路网数据中表示一个路段的数据可以包括该路段的起始点坐标、终点坐标、道路宽度等。
用户位置数据可以是用户的位置坐标,可以通过用户携带的终端设备的定位数据获取。在实际场景中,用户开启终端设备的定位功能后,上述执行主体可以通过GPS(GlobalPositioning System,全球定位系统)等确定用户的终端设备的位置,进而确定用户位置数据,并存储确定出的用户位置数据。在本实施例中,上述执行主体可以获取预设时间段内的用户位置数据。该预设时间段可以是当前时间之前的一段时间,例如可以是当前时间之前的一个月。所获取的用户位置数据可以是开启所携带的终端设备的定位功能的所有用户的位置数据。
通常在定位时,可以记录定位时间和定位出的位置数据。可选地,在获取用户位置数据时,可以一并获取位置数据对应的定位时间。这样,在后续对位置数据进行聚类或其他类型的数据分析时,可以将定位时间作为其中一个依据进行划分。
步骤202,基于路网数据,过滤表征用户位置在路网数据所指示的道路上的用户位置数据。
接着,可以过滤掉所有位于道路上的用户位置数据点。具体来说,可以判断用户位置数据所表征的用户位置是否落在路网数据所指示的道路上。可以根据路网数据中起始点坐标、终点坐标以及道路宽度等数据确定出每个路段所覆盖的区域的坐标范围,然后判断用户的位置坐标是否落在各个路段所覆盖的区域的坐标范围内,若是,则将对应的用户位置数据过滤掉。
步骤203,对过滤后的用户位置数据进行聚类,并利用路网数据修正聚类结果。
在本实施例中,过滤后的用户位置数据可以是用户位置的二维坐标,例如经纬度坐标。聚类时可以根据用户位置的经纬度坐标,将相互之间的距离较近的用户位置数据聚为同一类簇,将相互之间距离较远的用户位置数据聚类为不同的类簇。在这里,可以采用各种聚类方法对过滤后的用户位置数据进行基于地理位置的聚类。例如可以采用K-means(K均值)算法、高斯混合模型的最大期望聚类算法、基于密度的聚类算法等,将用户位置数据按照地理位置聚为多个类簇。每个类簇可以包括多个用户位置数据点,可以根据各类簇的用户位置数据点确定出每个类簇的边界。
上述执行主体可以利用步骤201获取的路网数据对用户位置数据的聚类结果进行修正。具体来说,可以判断聚类得到的类簇所覆盖的地理位置范围是否包含路网数据所指示的道路,若是,则可以利用类簇所覆盖的地理位置范围是否包含路网数据所指示的道路将该类簇划分为多个类簇,从而保证类簇所覆盖的范围内不包含道路。
在本实施例的一些可选的实现方式中,可以确定获取的所有用户位置数据所覆盖的地理位置范围(例如北京市海淀区),并利用该地理位置范围内的路网数据将其划分为多个子区域,每个子区域内都不包含主干道路。则可以在对过滤后的用户位置数据进行聚类得到多个类簇之后,可以判断每个类簇是否与大于两个的子区域相交,若是,则将该类簇的边界缩小至与其相交的一个子区域的边界。由此实现对聚类结果的校正,使得用户位置数据的每个类簇所覆盖的地理位置范围都不与主干道路相交叉。
步骤204,基于修正后的用户位置数据的聚类结果生成地理围栏。
在本实施例中,可以将修正后的用户位置数据的聚类结果,即将修正后得到的每个类簇所覆盖的地理位置范围作为一个地理围栏的范围。具体地,可以计算修正后的类簇的边界点的坐标,作为地理围栏的边界点坐标,或者当修正后的类簇的边界是规则形状(例如矩形、圆形等)时,可以用规则形状的参数表示类簇的边界,例如采用一个顶点坐标及矩形的长、宽表示矩形边界,采用圆心坐标及半径来表示圆形边界。可选地,当修正聚类结果后得到的类簇边界(通常是闭合图形)是不规则形状时,可以利用沿顺时针或逆时针方向的边界点的坐标集合来表示类簇的边界,进而确定类簇的边界为生成的地理围栏。
在本实施例的一些可选的实现方式中,上述基于修正后的用户位置数据的聚类结果生成地理围栏的步骤204,可以包括:根据修正后的聚类结果的聚类半径,以及聚类得到的类簇的中心位置,确定类簇的边界,作为地理围栏的边界。也即可以以最后一次执行迭代操作时的聚类半径为最终的聚类半径,以最后一次迭代操作后的聚类中心为类簇的中心,确定类簇的中心的位置坐标,根据类簇的中心的位置坐标和聚类半径计算出聚类边界,例如可以将已类簇的中心为圆心、最终的聚类半径为半径的圆形边界为聚类边界。或者,为了更精确地确定出地理围栏,可以以类簇的中心为圆心,以最终的聚类半径为半径的圆形边界内,沿顺时针或逆时针方向每隔一定角度找出与圆形边界与圆心连线上距离圆心最远的用户位置数据点作为该角度上对应的聚类边界点,进而将所有角度上的边界点连接形成聚类边界,也即形成地理围栏的边界。
本申请上述实施例的用于生成地理围栏的方法,通过获取路网数据和预设时间段内的用户位置数据,随后基于路网数据,过滤表征用户位置在路网数据所指示的道路上的用户位置数据,之后对过滤后的用户位置数据进行聚类,并利用路网数据修正聚类结果,最后基于修正后的用户位置数据的聚类结果生成地理围栏,能够避免位于道路上的用户位置数据影响聚类精度进而影响地理围栏的生成精度,同时保证生成的地理围栏不会包含道路主干道,生成更加精确的地理围栏。
在一些实施例中,在上述聚类过程中,可以迭代执行多次聚类操作,以尽可能地将距离相近的用户位置数据点聚为同一类簇,同时保证每个类簇所覆盖的地理位置范围不包含道路。具体请参考图3,其示出了根据本申请的用于生成地理围栏的方法的一个实施例的流程300。该用于生成地理围栏的方法,包括以下步骤:
步骤301,获取路网数据和预设时间段内的用户位置数据。
在本实施例中,用于生成地理围栏的方法的执行主体(如图1所示的服务器)可以获取预先存储的路网数据以及预设时间段内的用户位置数据。在这里,路网数据可以预设地理位置范围内(例如,北京市海淀区)的主干道路数据,可以由道路上的点的坐标及道路的其他属性参数表示;用户位置数据可以是用户的位置坐标,可以通过用户携带的诸如手机等移动设备的定位信息获取。预设时间段可以是当前时间之前的一段时间,例如可以是当前时间之前的一个月。
步骤302,基于路网数据,过滤表征用户位置在路网数据所指示的道路上的用户位置数据。
对获取的用户位置数据中的每个数据点,可以判断该数据点对应的用户位置是否在路网数据所指示的道路上,若是,可以将该数据点滤除。这样可以仅保留路网之外的用户位置数据点,使得基于用户位置数据的聚类操作不受到路网上的用户位置数据点的影响。
步骤301、步骤302分别与前述实施例中的步骤201、202相同,此处不再赘述。
步骤303,确定初始的聚类半径。
在聚类开始时,可以设定随机的聚类半径作为初始的聚类半径,或者可以预先设定初始的聚类半径。聚类半径可以是类簇内所有点到类簇中心的距离中的最大值。
步骤304,执行迭代操作。
具体来说,迭代操作可以包括步骤3041和步骤3042。
在步骤3041中,基于聚类半径对过滤后的用户位置数据进行聚类,得到聚类边界。
在迭代操作中,可以首先采用聚类算法,基于聚类半径对步骤302过滤后的用户位置数据进行聚类。例如可以选定多个聚类中心的位置,按照聚类半径,将用户位置数据点划分如对应的类簇中,随后可以按照类簇中用户位置数据点的分布,调整聚类中心的位置,并依据聚类半径,重新聚类,直到不同类簇间的距离满足预设的距离条件或基于当前的聚类半径的聚类次数达到一定的数值,可以输出基于当前的聚类半径的聚类结果。聚类结果中,每个类簇可以包括至少一个用户位置数据点,则可以根据每个类簇中距离聚类中心最远的用户位置数据点来确定出聚类边界。
在本实施例的一些可选的实现方式中,可以基于聚类半径,采用基于密度的聚类算法对过滤后的用户位置数据进行聚类。例如可以采用DBSCAN(Density-Based SpatialClustering of Applications with Noise,具有噪声的基于密度的聚类算法)对过滤后的用户位置数据进行聚类,得到的每个类簇中的数据点的数量不小于设定的最小数据点数,且每个类簇内的点与核心点之间的距离都不大于聚类半径。这样,可以有效地利用用户位置数据所表征的用户密度来执行聚类操作,提升聚类精度,进而提升地理围栏的精度。
在步骤3042中,判断聚类边界是否满足与路网数据相关的预设条件。
与路网数据相关的预设条件可以是基于路网数据对聚类边界设定的限制条件,包括聚类边界与路网不相交,或者聚类边界与道路之间的距离不小于设定的距离等等。在基于当前的聚类半径完成聚类得到聚类边界之后,可以判断聚类边界是否满足该与路网数据相关的预设条件。在这里,聚类边界可以是由聚类边界上的点的坐标表示的,假设与路网数据相关的预设条件为聚类边界与路网不相交,则可以判断聚类边界上的点的坐标是否落在路网上;假设与路网数据相关的预设条件为聚类边界与道路之间的距离不小于设定的距离,则可以判断聚类边界上的点的坐标与路网数据中各数据点间的最小距离是否小于上述设定的距离。
可选地,上述与路网数据相关的预设条件可以包括:聚类边界所指示的地理位置范围内不包含路网数据所指示的道路上的点。也即聚类边界指示的地理位置范围未覆盖路网数据表征的道路。这样,可以保证后续基于聚类边界生成的地理围栏不与道路相交,且地理围栏内不存在道路,进一步提升地理围栏的准确性。
在本实施例的另一些可选的实现方式中,在迭代操作的步骤3041之后,还可以判断迭代操作的执行次数是否达到预设的次数阈值,若已达到预设的次数阈值,则可以停止迭代操作。
如果步骤3042的判断结果为“否”,即聚类边界不满足与路网数据相关的预设条件,可以执行步骤305,调整聚类半径,并返回执行迭代步骤304。
当聚类边界不满足与路网数据相关的预设条件时,可以调整聚类半径使重新聚类得到的聚类边界满足与路网数据相关的预设条件。当上述与路网数据相关的预设条件为聚类边界与路网不相交时,若聚类边界不满足该条件,则表明聚类边界与路网相交,在步骤305中可以减小聚类半径,以使聚类边界避开路网。当上述与路网数据相关的预设条件为聚类边界与道路之间的距离不小于设定的距离时,若聚类边界不满足该条件,则表明聚类边界距离道路过远,在步骤305中可以增大聚类半径使得重新聚类后的聚类边界向道路靠近,以避免聚类半径过小导致同一建筑物群落或商业群落的用户位置数据被聚类为不同的类簇。
在调整聚类半径之后,可以返回执行迭代操作304,进而判断基于调整后的聚类半径的聚类边界是否满足与路网数据相关的预设条件。这样,可以通过不断调整聚类半径,循环执行迭代操作来使得聚类边界满足与路网数据相关的预设条件。
如果步骤3042的判断结果为“是”,即聚类边界满足与路网数据相关的预设条件,可以执行步骤306,输出用户位置数据的聚类结果,并基于修正后的用户位置数据的聚类结果生成地理围栏。
在调整聚类半径循环执行迭代步骤304之后,若聚类边界满足与路网数据相关的预设条件,则可以跳出循环,输出基于当前的聚类半径的聚类结果。该聚类结果即为修正后的用户位置数据的聚类结果。
之后,可以将修正后得到的每个类簇所覆盖的地理位置范围作为一个地理围栏的范围。具体地,可以计算修正后的类簇的边界点的坐标,作为地理围栏的边界点坐标,或者当修正后的类簇的边界是规则形状(例如矩形、圆形等)时,可以用规则形状的参数表示类簇的边界,例如采用一个顶点坐标及矩形的长、宽表示矩形边界,采用圆心坐标及半径来表示圆形边界。可选地,当修正聚类结果后得到的类簇边界(通常是闭合图形)是不规则形状时,可以利用沿顺时针或逆时针方向的边界点的坐标集合来表示类簇的边界,进而确定类簇的边界为生成的地理围栏。
在本实施例的一些可选的实现方式中,上述基于修正后的用户位置数据的聚类结果生成地理围栏的步骤,可以包括:根据修正后的聚类结果的聚类半径,以及聚类得到的类簇的中心位置,确定类簇的边界,作为地理围栏的边界。也即可以以最后一次执行迭代操作时的聚类半径为最终的聚类半径,以最后一次迭代操作后的聚类中心为类簇的中心,确定类簇的中心的位置坐标,根据类簇的中心的位置坐标和聚类半径计算出聚类边界,例如可以将已类簇的中心为圆心、最终的聚类半径为半径的圆形边界为聚类边界。或者,为了更精确地确定出地理围栏,可以以类簇的中心为圆心,以最终的聚类半径为半径的圆形边界内,沿顺时针或逆时针方向每隔一定角度找出与圆形边界与圆心连线上距离圆心最远的用户位置数据点作为该角度上对应的聚类边界点,进而将所有角度上的边界点连接形成聚类边界,也即形成地理围栏的边界。
请参考图4,其示意性地示出了图3所示用于生成地理围栏的方法流程中对用户位置数据聚类并修正聚类结果的原理。如图4所示,初始的聚类半径r=r1,得到的聚类结果中类簇C1的边界与道路A、B相交,则可以减小聚类半径r。调整后聚类半径r=r2,得到的聚类结果中类簇C2的边界与道路B相交,则可以继续减小聚类半径r。调整后聚类半径r=r3,得到的聚类结果中类簇C3与所有的道路A、B都不相交,则可以输出聚类结果。类簇C3的边界即可以作为生成的地理围栏的边界。
从图3可以看出,本实施例的用于生成地理围栏的方法,通过循环执行聚类操作,判断聚类边界是否满足与路网数据相关的预设条件,在聚类边界不满足与路网数据相关的预设条件时调整聚类半径重新聚类的方式,可以使聚类结果尽可能保持较高的精确度,同时聚类得到的类簇所覆盖的范围避开道路,能够进一步提升生成的地理围栏的准确性。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种用于生成地理围栏的装置的一个实施例,该装置实施例与图2和图3所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的用于生成地理围栏的装置500包括:获取单元501、过滤单元501,聚类单元503以及生成单元504。其中,获取单元501可以被配置成获取路网数据和预设时间段内的用户位置数据;过滤单元502可以被配置成基于路网数据,过滤表征用户位置在路网数据所指示的道路上的用户位置数据;聚类单元503可以被配置成对过滤后的用户位置数据进行聚类,并利用路网数据修正聚类结果;生成单元504可以被配置成基于修正后的用户位置数据的聚类结果生成地理围栏。
在本实施例中,获取单元501可以获取表征道路的相关属性信息的路网数据以及预先存储的预设时间段内的用户位置数据。其中,路网数据可以是描述道路覆盖范围的数据,用户位置数据可以由用户携带的终端设备的定位数据获取。
过滤单元502可以判断用户位置数据所表征的用户位置是否落在路网数据所指示的道路上。可以根据路网数据中起始点坐标、终点坐标以及道路宽度等数据确定出每个路段所覆盖的区域的坐标范围,然后判断用户的位置坐标是否落在各个路段所覆盖的区域的坐标范围内,若是,则将对应的用户位置数据过滤掉。
聚类单元503可以根据用户位置的经纬度坐标,采用各种聚类方法将相互之间的距离较近的用户位置数据聚为同一类簇,将相互之间距离较远的用户位置数据聚类为不同的类簇。然后判断聚类得到的类簇所覆盖的地理位置范围是否包含路网数据所指示的道路,若是,则可以利用类簇所覆盖的地理位置范围是否包含路网数据所指示的道路将该类簇划分为多个类簇,从而保证类簇所覆盖的范围内不包含道路。
生成单元504可以将修正后得到的每个类簇所覆盖的地理位置范围作为一个地理围栏的范围,从而根据修正后的聚类结果生成地理围栏。
在一些实施例中,上述聚类单元503可以进一步被配置成按照如下方式对过滤后的用户位置数据进行聚类,并利用路网数据修正聚类结果:确定初始的聚类半径,执行如下迭代操作:基于聚类半径对过滤后的用户位置数据进行聚类,得到聚类边界,判断聚类边界是否满足与路网数据相关的预设条件;若聚类边界不满足与路网数据相关的预设条件,调整聚类半径,执行迭代操作以修正聚类结果;若聚类边界满足与路网数据相关的预设条件,输出用户位置数据的聚类结果。
在一些实施例中,上述与路网数据相关的预设条件包括:聚类边界所指示的地理位置范围内不包含路网数据所指示的道路上的点。
在一些实施例中,上述聚类单元503可以进一步被配置成按照如下方式对过滤后的用户位置数据进行聚类:基于聚类半径,采用基于密度的聚类算法对过滤后的用户位置数据进行聚类。
在一些实施例中,上述生成单元504可以进一步被配置成按照如下方式生成地理围栏:根据修正后的聚类结果的聚类半径,以及聚类得到的类簇的中心位置,确定类簇的边界,作为地理围栏的边界。
应当理解,装置500中记载的诸单元与参考图2和图3描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作和特征同样适用于装置500及其中包含的单元,在此不再赘述。
本申请上述实施例的用于生成地理围栏的装置500,通过获取单元获取路网数据和预设时间段内的用户位置数据,过滤单元基于路网数据,过滤表征用户位置在路网数据所指示的道路上的用户位置数据,聚类单元对过滤后的用户位置数据进行聚类,并利用路网数据修正聚类结果,生成单元基于修正后的用户位置数据的聚类结果生成地理围栏,提升了生成的地理围栏的准确性。
下面参考图6,其示出了适于用来实现本申请实施例的电子设备的计算机系统600的结构示意图。图6示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括获取单元、过滤单元、聚类单元和生成单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,获取单元还可以被描述为“获取路网数据和预设时间段内的用户位置数据的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该装置:获取路网数据和预设时间段内的用户位置数据;基于路网数据,过滤表征用户位置在路网数据所指示的道路上的用户位置数据;对过滤后的用户位置数据进行聚类,并利用路网数据修正聚类结果;基于修正后的用户位置数据的聚类结果生成地理围栏。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种用于生成地理围栏的方法,包括:
获取路网数据和预设时间段内的用户位置数据;
基于所述路网数据,过滤表征用户位置在路网数据所指示的道路上的用户位置数据;
对过滤后的用户位置数据进行聚类,并将所覆盖的地理位置范围包含所述路网数据所指示的道路作为原聚类结果的类簇修正为由均不包含所述路网数据所指示的道路的多个类簇构成的新聚类结果;
基于所述新聚类结果生成地理围栏。
2.根据权利要求1所述的方法,其中,所述对过滤后的用户位置数据进行聚类,并将所覆盖的地理位置范围包含所述路网数据所指示的道路作为原聚类结果的类簇修正为由均不包含所述路网数据所指示的道路的多个类簇构成的新聚类结果,包括:
确定初始的聚类半径,执行如下迭代操作:基于聚类半径对过滤后的用户位置数据进行聚类,得到聚类边界,判断聚类边界所指示的地理位置范围内是否包含所述路网数据所指示的道路上的点;
若所述聚类边界所指示的地理位置范围内不包含所述路网数据所指示的道路上的点,调整聚类半径,执行所述迭代操作以修正聚类结果;
若所述聚类边界所指示的地理位置范围内包含所述路网数据所指示的道路上的点,输出用户位置数据的聚类结果。
3.根据权利要求2所述的方法,其中,所述基于聚类半径对过滤后的用户位置数据进行聚类,包括:
基于聚类半径,采用基于密度的聚类算法对所述过滤后的用户位置数据进行聚类。
4.根据权利要求1-3任一项所述的方法,其中,所述基于所述新聚类结果生成地理围栏,包括:
根据所述新聚类结果的聚类半径,以及聚类得到的类簇的中心位置,确定所述类簇的边界,作为所述地理围栏的边界。
5.一种用于生成地理围栏的装置,包括:
获取单元,被配置成获取路网数据和预设时间段内的用户位置数据;
过滤单元,被配置成基于所述路网数据,过滤表征用户位置在路网数据所指示的道路上的用户位置数据;
聚类单元,被配置成对过滤后的用户位置数据进行聚类,并将所覆盖的地理位置范围包含所述路网数据所指示的道路作为原聚类结果的类簇修正为由均不包含所述路网数据所指示的道路的多个类簇构成的新聚类结果;
生成单元,被配置成基于所述新聚类结果生成地理围栏。
6.根据权利要求5所述的装置,其中,所述聚类单元进一步被配置成按照如下方式对过滤后的用户位置数据进行聚类,并利用将所覆盖的地理位置范围包含所述路网数据所指示的道路作为原聚类结果的类簇修正为由均不包含所述路网数据所指示的道路的多个类簇构成的新聚类结果:
确定初始的聚类半径,执行如下迭代操作:基于聚类半径对过滤后的用户位置数据进行聚类,得到聚类边界,判断聚类边界所指示的地理位置范围内是否包含所述路网数据所指示的道路上的点;
若所述聚类边界所指示的地理位置范围内不包含所述路网数据所指示的道路上的点,调整聚类半径,执行所述迭代操作以修正聚类结果;
若所述聚类边界所指示的地理位置范围内包含所述路网数据所指示的道路上的点,输出用户位置数据的聚类结果。
7.根据权利要求6所述的装置,其中,所述聚类单元进一步被配置成按照如下方式对过滤后的用户位置数据进行聚类:
基于聚类半径,采用基于密度的聚类算法对所述过滤后的用户位置数据进行聚类。
8.根据权利要求5-7任一项所述的装置,其中,所述生成单元进一步被配置成按照如下方式生成地理围栏:
根据所述新聚类结果的聚类半径,以及聚类得到的类簇的中心位置,确定所述类簇的边界,作为所述地理围栏的边界。
9.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4中任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1-4中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810715981.6A CN110677810B (zh) | 2018-07-03 | 2018-07-03 | 用于生成地理围栏的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810715981.6A CN110677810B (zh) | 2018-07-03 | 2018-07-03 | 用于生成地理围栏的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110677810A CN110677810A (zh) | 2020-01-10 |
CN110677810B true CN110677810B (zh) | 2021-04-02 |
Family
ID=69065530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810715981.6A Active CN110677810B (zh) | 2018-07-03 | 2018-07-03 | 用于生成地理围栏的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110677810B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535865B (zh) * | 2020-04-21 | 2023-11-10 | 中国移动通信集团四川有限公司 | 一种地图网格划分方法和电子设备 |
CN111815361A (zh) * | 2020-07-10 | 2020-10-23 | 北京思特奇信息技术股份有限公司 | 区域边界计算方法、装置、电子设备及存储介质 |
CN112612933B (zh) * | 2021-01-05 | 2024-03-26 | 同方知网(北京)技术有限公司 | 一种分类数据可视化方法 |
CN116645791B (zh) * | 2023-05-31 | 2023-12-15 | 安徽祥源科技股份有限公司 | 一种基于电子围栏设备的封闭区域的预警方法及系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291435B (zh) * | 2011-07-15 | 2012-09-05 | 武汉大学 | 一种基于地理时空数据的移动信息搜索及知识发现系统 |
US8744419B2 (en) * | 2011-12-15 | 2014-06-03 | At&T Intellectual Property, I, L.P. | Media distribution via a scalable ad hoc geographic protocol |
US8755824B1 (en) * | 2013-06-28 | 2014-06-17 | Google Inc. | Clustering geofence-based alerts for mobile devices |
CN104063509B (zh) * | 2014-07-09 | 2017-07-11 | 武汉大学 | 一种移动式地理围栏的信息推送系统及其方法 |
CN105718465B (zh) * | 2014-12-02 | 2019-04-09 | 阿里巴巴集团控股有限公司 | 地理围栏生成方法及装置 |
CN104835323B (zh) * | 2015-05-19 | 2017-04-26 | 银江股份有限公司 | 一种结合电子围栏的多目标公交客流检测方法 |
CN106488401B (zh) * | 2015-08-31 | 2019-09-20 | 中国电信股份有限公司 | 生成无缝相邻的地理围栏的方法及装置 |
-
2018
- 2018-07-03 CN CN201810715981.6A patent/CN110677810B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110677810A (zh) | 2020-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11553301B2 (en) | Systems and methods for deploying dynamic geofences based on content consumption levels in a geographic location | |
CN110677810B (zh) | 用于生成地理围栏的方法和装置 | |
KR102344482B1 (ko) | 지오-펜스 평가 시스템 | |
US11061984B2 (en) | Grid-based geofence data indexing | |
US10299191B2 (en) | Method and device for establishing wireless connection | |
EP3525410A1 (en) | Account login method, apparatus, and server | |
US8428622B1 (en) | Location based recommendation method for mobile station content | |
US9867041B2 (en) | Methods and systems for determining protected location information based on temporal correlations | |
US20210219093A1 (en) | Method and apparatus for verifying entity information | |
US20120016952A1 (en) | Efficient Generation Of Static Bitmaps | |
CN111311193B (zh) | 公共服务资源的配置方法和装置 | |
US10921131B1 (en) | Systems and methods for interactive digital maps | |
US10728700B2 (en) | Privacy assurance in location based services | |
CN110376625A (zh) | 用于仓储系统快速定位方法 | |
CN107247280B (zh) | 一种定位认证和处理方法及装置 | |
CN110620808A (zh) | 用于推送信息的方法和装置 | |
CN112685531B (zh) | 车辆匹配方法和装置、计算设备以及计算机可读存储介质 | |
WO2015199847A1 (en) | Stream computing event models | |
CN106464735B (zh) | 数字服务平台中第三方服务的实现 | |
CN110708657A (zh) | 用于移动终端的无线接入点连接方法和装置 | |
CN110086880B (zh) | 创建网络请求的实例的方法和装置 | |
CN115631465B (zh) | 重点人群风险感知方法、装置、电子设备和可读介质 | |
CN113901347A (zh) | 信息推荐方法和装置 | |
CN115456704A (zh) | 一种基于电子地理围栏的服务推荐方法、装置及存储介质 | |
CA2990295C (en) | Mobile terminal position storage method and device |
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 |