CN104507047A - 一种poi区域获取方法及装置 - Google Patents
一种poi区域获取方法及装置 Download PDFInfo
- Publication number
- CN104507047A CN104507047A CN201410778132.7A CN201410778132A CN104507047A CN 104507047 A CN104507047 A CN 104507047A CN 201410778132 A CN201410778132 A CN 201410778132A CN 104507047 A CN104507047 A CN 104507047A
- Authority
- CN
- China
- Prior art keywords
- coordinate
- svg
- user terminal
- poi
- summits
- 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
Links
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/025—Services making use of location information using location based information parameters
-
- 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)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种POI区域获取方法及装置,用于解决目前在POI区域获取过程中存在POI区域获取结果误差大的问题。本发明实施例中,对基于SVG格式的地图进行处理,能够快速获取各个POI区域所对应的图形以及该图形参数,通过不同POI区域分别对应的图形形状的不同,采用不同的方式对预估POI区域是否为用户终端所在的POI区域进行判断,相较于现有技术中仅通过用户终端所在位置坐标与POI区域中心点之间的距离来确定用户终端所在POI区域的方式,根据POI区域对应的图形形状和图形参数确定用户终端所在POI区域,有效提高了定位结果的准确性,进而便于商家有针对性的进行推送信息的发送,避免了资源浪费问题。
Description
技术领域
本发明涉及定位技术领域,尤其涉及一种POI区域获取方法及装置。
背景技术
目前,位置服务的相关产业在近几年得到了快速的发展。定位系统主要用于通过各种途径(如网络、全球定位系统)快速获取不同用户的位置信息,特别是获取兴趣点(Point Of Interest,POI)区域。每个POI包含四方面信息,名称、类别、经度、纬度、附近的酒店、饭店,商铺等信息。
对用户终端所在POI区域(如机场大厅、展厅、仓库、商场、超市、图书馆、地下停车场、矿井等场所)进行确定,能够在一定程度上反映POI区域中包含的人员流动情况,以通过人员流动情况进行公共场所的合理布局以及统一规划;例如,商场中每一个楼层均包含多个商铺,每一个商铺均视为一个POI区域,当用户终端位于商场中时,准确地确定用户终端所处的POI区域能够帮助商家为用户终端提供更多的推送消息服务,有效提高了用户体验。
目前,针对上述室内定位场景,若已知用户终端所处位置,通常可以采用网络定位方式确定用户终端的位置,并计算用户终端所在位置距离每一个POI区域中心点的距离来判断该用户终端位于哪一个POI区域内,而由于每一个POI区域并不一定为规则图形,因此,采用上述方法获取用户终端所在的POI区域时,将存在得到的定位结果误差较大的问题,POI区域的获取错误,将导致用户终端获取错误的推送服务消息,进而增加了不必要的信息成本。
由此可见,在POI区域获取过程中存在POI区域获取结果误差大的问题。
发明内容
本发明实施例提供一种POI区域获取方法及装置,用以解决目前在POI区域获取过程中存在POI区域获取结果误差大的问题。
本发明实施例提供的具体技术方案如下:
一种兴趣点POI区域获取方法,包括:
获取SVG格式地图;其中,所述SVG格式地图中包含各个POI区域的地图;
获取用户终端所处位置坐标,并将所述用户终端所处位置坐标进行坐标转换,生成所述用户终端在SVG格式地图中的SVG坐标;
根据生成的所述SVG坐标,在SVG格式地图中预估SVG坐标所在的预估POI区域;并
根据所述预估POI区域对应的图形形状,判断所述用户终端是否位于所述预估POI区域内;
当判定所述用户终端位于所述预估POI区域内时,上报所述预估POI区域标识。
一种兴趣点POI区域获取装置,包括:
获取单元,用于获取SVG格式地图;其中,所述SVG格式地图中包含各个POI区域的地图;
SVG坐标生成单元,用于获取用户终端所处位置坐标,并将所述用户终端所处位置坐标进行坐标转换,生成所述用户终端在SVG格式地图中的SVG坐标;
预估单元,用于根据生成的所述SVG坐标,在SVG格式地图中预估SVG坐标所在的预估POI区域;
判断单元,用于根据所述预估POI区域对应的图形形状,判断所述用户终端是否位于所述预估POI区域内;
上报单元,用于当判定所述用户终端位于所述预估POI区域内时,上报所述预估POI区域标识。
本发明实施例中,将包含POI区域的地图保存为可缩放矢量图形(ScalableVector Graphics;SVG)格式地图,并将用户终端所处位置坐标进行转换,生成SVG格式地图中的SVG坐标;根据该SVG坐标,在该SVG格式地图中预估SVG坐标所在预估POI区域;并根据该预估POI区域对应的图形形状,判断该预估POI区域是否为用户终端所在的POI区域;若判定该预估POI区域为用户终端所在的POI区域,则将该预估POI区域进行上报;若判定该预估POI区域不是用户终端所在的POI区域,则根据SVG坐标,获取另一个预估POI区域,并重复上述判断过程,直至确定选定的预估POI区域为用户终端所在的POI区域。采用本发明技术方案,对基于SVG格式的地图进行处理,能够快速获取各个POI区域所对应的图形以及该图形参数,通过不同POI区域分别对应的图形形状的不同,采用不同的方式对预估POI区域是否为用户终端所在的POI区域进行判断,相较于现有技术中仅通过用户终端所在位置坐标与POI区域中心点之间的距离来确定用户终端所在POI区域的方式,根据POI区域对应的图形形状和图形参数确定用户终端所在POI区域,有效提高了定位结果的准确性,进而便于商家推送信息的发送。
附图说明
图1为本发明实施例中POI区域获取流程图;
图2为本发明实施例中预估POI区域对应的图形形状为矩形的示意图;
图3为本发明实施例中预估POI区域对应的图形形状为圆形的示意图;
图4为本发明实施例中预估POI区域对应的图形形状为环形的示意图;
图5为本发明实施例中预估POI区域对应的图形形状为扇形的示意图;
图6为本发明实施例中预估POI区域对应的图形形状为多边形的示意图;
图7为本发明实施例中贝塞尔曲线上关键点示意图;
图8a为本发明实施例中预估POI区域对应的图形形状为不规则路径的示意图;
图8b为本发明实施例中第一多边形示意图;
图8c为本发明实施例中第二多边形示意图;
图9为本发明实施例中做过像素点直线后的不规则路径示意图;
图10a、图10b和图10c为本发明实施例中贝赛尔曲线向不同方向凸起的示意图;
图11为本发明实施例中贝塞尔曲线凸起方向获取示意图;
图12为本发明实施例中应用场景一下的POI区域示意图;
图13为本发明实施例中应用场景二下的POI区域示意图;
图14为本发明实施例中POI区域获取装置结构示意图。
具体实施方式
为了解决目前在POI区域获取过程中存在POI区域获取结果误差大的问题。本发明实施例中,对基于SVG格式的地图进行处理,能够快速获取各个POI区域所对应的图形以及该图形参数,通过不同POI区域分别对应的图形形状的不同,采用不同的方式对预估POI区域是否为用户终端所在的POI区域进行判断,相较于现有技术中仅通过用户终端所在位置坐标与POI区域中心点之间的距离来确定用户终端所在POI区域的方式,根据POI区域对应的图形形状和图形参数确定用户终端所在POI区域,有效提高了定位结果的准确性,进而便于商家有针对性的进行推送信息的发送,避免了资源浪费问题。
下面结合说明书附图,对本发明实施例作进一步详细描述。
参阅图1所示,本发明实施例中,POI区域获取流程包括:
步骤100:获取SVG格式地图。
本发明实施例中,SVG为一种图像文件格式,其基于扩展标记语言(Extensible Markup Language;XML);使用SVG格式直接用代码来描绘图像,可以用任何文字处理工具打开SVG格式图像,通过改变部分代码来使SVG格式图像具有交互功能,并且,SVG格式图像还可以随时插入到HTML中通过浏览器(如火狐浏览器)进行呈现。此外,对SVG格式图像进行放大时,能够保持图像质量不变;可以在SVG格式图像中保留可编辑的状态,通过该可编辑的状态,可以获取SVG格式图像的参数。
由于SVG图像的上述优势,因此,将包含各个POI区域的地图进行格式转换,即将包含各个POI区域的地图保存为SVG格式,生成SVG格式地图;或者,直接获取由软件绘制的SVG格式地图,该SVG格式地图中包含各个POI区域;在该SVG格式地图中,获取SVG格式地图对应的图形参数,该图形参数包括图形point字段属性和ViewBox元素属性,其中,point字段属性包括各个顶点的坐标,图形中每一个边的斜率,且顶点的坐标包括横坐标和纵坐标,且该横坐标值和纵坐标值均为像素值;ViewBox元素属性包括SVG格式地图缩放后的宽度和高度,以及SVG格式地图左上角的初始坐标,该该SVG格式地图中,以左上角所在的点作为原点,以水平向右方向为x轴正方向,以与x轴垂直的竖直向下方向为y轴正方向,建立SVG坐标系。
步骤110:获取用户终端所处位置坐标,并将该用户终端所处位置坐标进行坐标转换,生成该用户终端在SVG格式地图中的SVG坐标。
本发明实施例中,可以采用网络定位方式获取用户终端所在的位置坐标。
可选的,将该用户终端所处位置坐标进行坐标转换,生成该用户终端在SVG格式地图中的SVG坐标,具体包括:根据SVG格式地图的初始坐标,用户终端所在位置坐标,以及SVG格式地图缩放的宽度和高度,获取SVG坐标。
具体的,可以采用如下公式获取用户终端在SVG格式地图中的SVG坐标:
XSVG坐标=x×w+x0;
YSVG坐标=y×h+y0;
其中,XSVG坐标为SVG坐标的横坐标;YSVG坐标为SVG坐标的纵坐标;x为用户终端所在位置的横坐标;y为用户终端所在位置的纵坐;w为SVG格式地图的宽度;h为SVG格式地图的高度;x0为初始横坐标;y0为初始纵坐标。
步骤120:根据生成的SVG坐标,在上述SVG格式地图中预估SVG坐标所在的预估POI区域。
本发明实施例中,根据生成的SVG坐标,在SVG格式地图上确定该SVG坐标所表示的像素点所在的预估POI区域;可选的,可以通过计算SVG坐标所表示的像素点与各个POI区域的中心点之间的距离,获取预估POI区域。
步骤130:根据上述预估POI区域对应的图形形状,判断上述用户终端是否位于预估POI区域内。
本发明实施例中,获取预估POI区域对应的图形形状,该图形形状包括矩形,圆形,环形,扇形,多边形,以及不规则路径;其中,不规则路径即为由贝塞尔曲线以及直线段组成的图形。根据预估POI区域对应的图形形状,可以分为以下几种情况判断用户终端是否位于预估POI区域内:
第一种情况:POI区域对应的图形形状为矩形。
在SVG格式地图中,分别获取矩形四个顶点的位置坐标;当SVG坐标中的横坐标大于等于矩形四个顶点中横坐标值最小的顶点的横坐标值,小于等于矩形四个顶点中横坐标值最大的顶点的横坐标值,且SVG坐标中的纵坐标大于等于矩形四个顶点中纵坐标值最小的顶点的纵坐标值,小于等于矩形四个顶点中纵坐标值最大的顶点的纵坐标值时,判定该用户终端位于预估POI区域内。
例如,参阅图2所示,预估POI区域对应的图形形状为矩形,该矩形包含四个顶点A、B、C、D,其中,四个顶点的坐标分别为A(x1,y1)、B(x2,y1)、C(x1,y2)、D(x2,y2),当XSVG坐标位于【x1,x2】,YSVG坐标位于【y1,y2】时,确定SVG坐标所表示的像素点位于该矩形内,即确定用户终端位于上述预估POI区域内。
第二种情况:POI区域对应的图形形状为圆形。
在SVG格式地图中,获取圆形的圆心位置坐标以及该圆形的半径;根据SVG坐标以及上述圆形的圆心位置坐标,确定SVG坐标表示的像素点与上述圆形的圆心之间的距离;当该距离小于等于上述圆形的半径时,判定用户终端位于预估POI区域内。
例如,参阅图3所示,预估POI区域对应的图形形状为圆形,该圆形的圆心为O,O点的位置坐标为(xo,yo),该圆形的半径为r,可以根据如下公式计算SVG坐标所表示的像素点与圆心的距离L:
当L≤r时,确定SVG坐标所表示的像素点位于该圆形内,即确定用户终端位于上述预估POI区域内。
第三种情况:POI区域对应的图形形状为环形。
在SVG格式地图中,获取环形的圆心位置坐标以及该环形的内半径和外半径;根据SVG坐标以及上述环形的圆心位置坐标,确定SVG坐标表示的像素点与上述环形的圆心之间的距离;当该距离小于等于上述环形的外半径,且大于等于上述环形的内半径时,判定用户终端位于预估POI区域内。
例如,参阅图4所示,预估POI区域对应的图形形状为环形,该环形的圆心为O,O点的位置坐标为(xo,yo),该圆形的内半径为r1,外半径为r2,可以根据如下公式计算SVG坐标所表示的像素点与圆心的距离L:
当r1≤L≤r2时,确定SVG坐标所表示的像素点位于该环形内,即确定用户终端位于上述预估POI区域内。
第四种情况:POI区域对应的图形形状为扇形。
在SVG格式地图中,获取扇形的圆心位置坐标,该扇形的半径,以及该扇形的两个半径分别与水平方向的夹角;根据SVG坐标以及上述扇形的圆心位置坐标,确定SVG坐标表示的像素点与上述圆心之间的距离;获取该SVG坐标表示的像素点与上述圆心之间的连线与水平方向的夹角;当该距离小于等于上述圆形的半径,且上述获取的夹角位于上述扇形的两个半径分别与水平方向的夹角之间时,判定用户终端位于预估POI区域内。
例如,参阅图5所示,预估POI区域对应的图形形状为扇形,该扇形的圆心为O,O点的位置坐标为(xo,yo),该扇形的半径a与水平方向的夹角为θ1,扇形的半径b与水平方向的夹角为θ2,且该扇形的半径为r,可以根据如下公式计算SVG坐标所表示的像素点与圆心的距离L:
当L≤r时,连接SVG坐标所表示的像素点与圆心O得到连线T,并得到连线T与水平方向的夹角θ,当θ1≤θ≤θ2时,确定SVG坐标所表示的像素点位于该扇形内,即确定用户终端位于上述预估POI区域内。
第五种情况:POI区域对应的图形形状为多边形。
在SVG格式地图中,分别获取多边形的每一个顶点的坐标;若SVG坐标与该多边形的任意一顶点的坐标相同,则确定用户终端位于预估POI区域内;若SVG坐标与多边形中所有顶点的坐标均不相同,则以SVG坐标所表示的像素点为起点,向水平方向或者竖直方向做射线,根据该射线与上述多边形的交点数目,判断用户终端是否在所述预估POI区域内;其中,当该射线与上述多边形的交点数目为奇数时,确定用户终端位于预估POI区域内;当该射线与上述多边形的交点数目为偶数时,确定用户终端位于预估POI区域外。
可选的,以SVG坐标所表示的像素点为起点,向水平方向做射线还是竖直方向做射线,分为如下两种方式获取射线与多边形的交点数目:
第一种方式:以SVG坐标所表示的像素点为起点,向水平方向做射线。
针对获取的每一个边,均执行如下操作:
若判定边的两个顶点的纵坐标不相等,且SVG坐标的纵坐标大于该边的两个顶点中纵坐标值最小的顶点的纵坐标,且小于该边的两个顶点中纵坐标值最大的顶点的纵坐标,则获取上述射线与上述边的交点,当上述交点的横坐标与上述SVG坐标的横坐标相比较的结果满足第一预设条件时,记录上述射线与上述边存在一个交点;若判定上述边的两个顶点的纵坐标相等,且上述SVG坐标的纵坐标等于上述边的两个顶点的纵坐标,上述SVG坐标的横坐标大于上述边的两个顶点的横坐标值最小的顶点的横坐标,小于上述边的两个顶点中横坐标值最大的顶点的横坐标,则确定上述SVG坐标所表示的像素点位于上述边上,即记录上述射线与该边存在一个交点;否则,确定上述边与上述射线之间不存在交点。
其中,上述第一预设条件为:上述交点的横坐标与上述SVG坐标的横坐标相等;当交点位于SVG坐标所表示的像素点左侧时,该交点的横坐标小于SVG坐标的横坐标;当交点位于SVG坐标所表示的像素点右侧时,该交点的横坐标大于SVG坐标的横坐标。
第二种方式:以SVG坐标所表示的像素点为起点,向竖直方向做射线。
针对获取的每一个边,均执行如下操作:
若判定边的两个顶点的横坐标不相等,且SVG坐标的横坐标大于该边的两个顶点中横坐标值最小的顶点的纵坐标,且小于该边的两个顶点中横坐标值最大的顶点的横坐标,则获取上述射线与上述边的交点,当上述交点的纵坐标与上述SVG坐标的纵坐标相比较的结果满足第二预设条件时,记录上述射线与上述边存在一个交点;若判定上述边的两个顶点的横坐标相等,且上述SVG坐标的横坐标等于上述边的两个顶点的横坐标,上述SVG坐标的纵坐标大于上述边的两个顶点的纵坐标值最小的顶点的纵坐标,小于上述边的两个顶点中纵坐标值最大的顶点的纵坐标,则确定上述SVG坐标所表示的像素点位于上述边上,即记录上述射线与该边存在一个交点;否则,确定上述边与所述射线之间不存在交点。
其中,上述第二预设条件为:上述交点的纵坐标与上述SVG坐标的纵坐标相等;当交点位于SVG坐标所表示的像素点上方时,该交点的纵坐标小于SVG坐标的纵坐标;当交点位于SVG坐标所表示的像素点下方时,该交点的纵坐标大于SVG坐标的纵坐标。
可选的,可以不进行SVG坐标是否与多边形的顶点坐标相同的判定,直接执行以SVG坐标对应的像素点为起点,向水平方向或者竖直方向做射线;此时,为了避免了在计算射线与不同边之间交点数目过程中,由于顶点被累积两次造成的错误,因此,较佳的,设置每一个边仅包含下顶点。
可选的,可以预先确定上述多边形所外切的外切矩形(参阅图6所示),并判断上述SVG坐标所表示的像素点是否在上述外切矩形内,若不在,则无须进行上述判断;若在,则采用上述方式进行判断。
第六种情况:POI区域对应的图形形状为不规则路径。
在SVG地图中,获取不规则路径中包含的所有贝赛尔曲线的起始点、结束点和控制点,其中,控制点为一个或者两个(参阅图7所示,该贝赛尔曲线包含起始点S0,结束点S1,两个控制点P0和P1),针对每一个贝塞尔曲线,均执行如下操作:
参阅图8a所示为不规则路径示意图,该不规则路径包含两条贝塞尔曲线,分别为第一贝赛尔曲线和第二贝赛尔曲线。针对任意一贝赛尔曲线,将该贝塞尔曲线的起始点、控制点和结束点依次连接,并根据连接后的图形与上述不规则路径中除贝赛尔曲线外的其他路径,组成第一多边形(参阅图8b所示虚线所示);以上述SVG坐标所表示的像素点为起点,向水平方向或者竖直方向做射线,根据该射线与第一多边形的交点数目,判断用户终端是否在该预估POI区域内,得到第一判断结果;并将上述起始点、控制点和结束点依次连接,生成第二多边形(参阅图8c中虚线所示);并以上述SVG坐标所表示的像素点为起点,向水平方向或者竖直方向做射线,根据上述射线与第二多边形的交点数目,判断用户终端是否在预估POI区域内,得到第二判断结果;根据第一判断结果和第二判断结果,判断用户终端是否位于预估POI区域内。
可选的,可以在获取第一多边形后,以上述SVG坐标所表示的像素点为起点,向水平方向或者竖直方向做射线之前,首先判断第一多边形的所有顶点中是否存在任意一顶点坐标与SVG坐标相同,若相同,且该任意一顶点不是贝赛尔曲线的控制点,则确定SVG坐标对应的像素点位于不规则路径中,即用户终端位于预估POI区域内。
可选的,根据第一判断结果和第二判断结果,判断用户终端是否位于预估POI区域内的过程,具体包括:当第二判断结果为用户终端不在预估POI区域内时,根据第一判断结果确定用户终端是否在预估POI区域内,即当第一判断结果为SVG坐标所表示的像素点不在第一多边形内时,表明该SVG坐标所表示的像素点不在该不规则路径内,当第一判断结果为SVG坐标所表示的像素点在第一多边形内时,表明该SVG坐标所表示的像素点在该不规则路径内;当第二判断结果为用户终端在预估POI区域内时,沿竖直方向直线,其中,上述直线经过上述SVG坐标所表示的像素点(参阅图9所示);获取该直线与上述贝塞尔曲线的交点坐标;其中,该交点数目为一个或者两个;当上述任意一交点坐标与上述SVG坐标相同时,确定该SVG坐标所表示的像素点位于上述贝塞尔曲线上;根据上述交点坐标,以及上述SVG坐标,判断上述SVG坐标所表示的像素点是否位于上述贝塞尔曲线凸起内部;当第一判断结果为上述SVG坐标所表示的像素点位于第一多边形内时,若上述SVG坐标所表示的像素点位于上述贝塞尔曲线凸起内部,则确定上述SVG坐标所表示的像素点位于上述不规则路径内部;否则,确定上述SVG坐标所表示的像素点不位于上述不规则路径内部;当第一判断结果为上述SVG坐标所表示的像素点位于第一多边形外时,若上述SVG坐标所表示的像素点位于上述贝塞尔曲线凸起内部,则确定上述SVG坐标所表示的像素点不位于上述不规则路径内部;否则,确定上述SVG坐标所表示的像素点位于上述不规则路径内部;当上述SVG坐标所表示的像素点位于上述不规则路径内部,或者上述SVG坐标所表示的像素点位于上述不规则路径的任意一边上时,确定用户终端位于预估POI区域内。
可选的,根据上述交点坐标,以及上述SVG坐标,判断上述SVG坐标所表示的像素点是否位于上述贝塞尔曲线凸起内部的过程,具体包括:
若上述贝赛尔曲线为向上凸起贝塞尔曲线(参阅图10a所示),则当上述交点的纵坐标小于上述SVG坐标的纵坐标,确定上述SVG坐标所表示的像素点位于上述贝塞尔曲线凸起内部;否则,确定上述SVG坐标所表示的像素点位于上述贝塞尔曲线凸起外部;
若上述贝赛尔曲线为向下凸起贝塞尔曲线(参阅图10b所示),则当上述交点的纵坐标大于上述SVG坐标的纵坐标,确定上述SVG坐标所表示的像素点位于上述贝塞尔曲线凸起内部;否则,确定上述SVG坐标所表示的像素点位于上述贝塞尔曲线凸起外部;
若上述贝塞尔曲线为向左或者向右凸起贝塞尔曲线(参阅图10c所示),则当上诉后SVG坐标的纵坐标大于两个交点中纵坐标值最小的交点的纵坐标,且小于两个交点中纵坐标值最大的交点的纵坐标时,确定上述SVG坐标所表示的像素点位于上述贝塞尔曲线凸起内部;否则,确定上述SVG坐标所表示的像素点位于上述贝塞尔曲线凸起外部。
可选的,可以通过将贝塞尔曲线中起始点与结束点的连线(以下称为第一连线),以及起始点与控制点的连线(以下称为第二连线)之间的斜率进行比较,并根据比较结果和贝塞尔曲线走势,确定该贝塞尔曲线的凸起方向。具体的,通常情况下,POI区域所对应的图形均以顺时针方向绘制而成,即以图形中左上角线段或曲线有左向右依次绘制图形中的每一个线段或者曲线,且图形中每一个线段或者曲线均由左向右绘制;当贝塞尔曲线在绘制方向上为x方向增加时,即第一连线斜率都大于第二连线斜率时确定该贝塞尔曲线的凸起方向为向上;相应的,当贝塞尔曲线在绘制方向上为x方向减少时,第一连线斜率均小于第二连线斜率时,确定该贝塞尔曲线的凸起方向为向上;否则,确定贝塞尔曲线的凸起方向为向下。进一步的,贝塞尔曲线向左或者向右凸起的判断方法,与上述方法相似,在此不再赘述。
例如,参阅图11所示,曲线1为x方向增加,起始点与两个控制点连线后的斜率分别为K1和K2,起始点和结束点连线后的斜率为K3,当K1和K2均小于K3时,确定曲线1为向上凸起;曲线2为x方向减小,起始点与两个控制点连线后的斜率分别为K1和K2,起始点和结束点连线后的斜率为K3,当K1和K2均大于K3时,确定曲线2为向上凸起。
步骤140:当判定上述用户终端位于预估POI区域内时,上报该预估POI区域标识。
本发明实施例中,当确定用户终端所在的预估POI区域标识后,即将该预估POI区域标识上报至系统,系统获取该POI区域标识以后,即将该POI区域标识相对应的推送消息发送至用户终端,从而避免系统向用户终端发送错误的推送消息,避免了系统资源的浪费。
进一步的,当判定上述用户终端不位于预估POI区域内时,选定另一个POI区域作为预估POI区域,重复上述判定过程,直至获取用户终端所在的POI区域。
基于上述技术方案,下面结合具体应用场景,详细描述获取用户终端所在POI区域的流程。
应用场景一
本发明实施例中,参阅图12所示,以预估POI区域对应的图形形状为多边形为例。
当SVG坐标所表示的像素点为P1时,将像素点P1的坐标与多边形中每一个顶点的坐标分别进行比较,判定像素点P1的横坐标与多边形顶点A的横坐标相等,且像素点P1的纵坐标与多边形顶点A的纵坐标相等,即表明像素点P1和多边形顶点重合,且该多边形顶点为不规则路径的顶点,从而确定用户终端位于该预估POI区域。
当SVG坐标所表示的像素点为P2时,将像素点P2的坐标与多边形中每一个顶点的坐标分别进行比较,判定像素点P2的坐标与多边形所有顶点的坐标均不相同,即表明像素点P2不位于多边形的顶点上;以像素点P2为起点,沿水平向左方向做射线,则仅考虑该像素点左侧的多边形上的所有边是否与该射线存在交点;针对多边形边a,该边a的两个顶点分别为A和B,顶点A的纵坐标为y1,顶点B的纵坐标为y2,则当像素点P2的纵坐标y满足y1≤y≤y2时,表明该射线与边a存在一个交点;采用上述方式,记录上述射线与多边形所有边的交点;由图12所示可知,上述射线与多边形的交点数量为1个(奇数),判断像素点P2位于多边形内部,即确定用户终端位于预估POI区域内。
当SVG坐标所表示的像素点为P3时,将像素点P3的坐标与多边形中每一个顶点的坐标分别进行比较,判定像素点P3的坐标与多边形所有顶点的坐标均不相同,即表明像素点P3不位于多边形的顶点上;以像素点P3为起点,沿水平向左方向做射线,则仅考虑该像素点左侧的多边形上的所有边是否与该射线存在交点;针对多边形边a,该边a的两个顶点分别为A和B,顶点A的纵坐标为y1,顶点B的纵坐标为y2,则当像素点P3的纵坐标y满足y1≤y≤y2时,表明该射线与边a存在一个交点;采用上述方式,记录上述射线与多边形所有边的交点;由图12所示可知,上述射线与多边形的交点数量为2个(偶数),判断像素点P3位于多边形外部,即确定用户终端不位于预估POI区域内。
应用场景二
本发明实施例中,参阅图13所示,以预估POI区域对应的图形形状为多不规则路径为例。
当SVG坐标所表示的像素点为Q1时,像素点Q1位于第一多边形内,且像素点Q1不在第二多边形内;此时,表明像素点Q1位于不规则路径内,即确定用户终端位于预估POI区域内。
当SVG坐标所表示的像素点为Q2时,像素点Q2位于第一多边形内,且像素点Q2位于第二多边形内;做经过像素点Q2的竖直方向直线,该直连与第一贝塞尔的交点为W1,且第一贝塞尔曲线为向上凸起贝塞尔曲线;像素点Q2的纵坐标和交点W1的纵坐标相等,表明像素点Q2位于该贝塞尔曲线上,即确定用户终端位于预估POI区域内。
当SVG坐标所表示的像素点为Q3时,像素点Q3位于第一多边形内,且像素点Q3位于第二多边形内;做经过像素点Q3的竖直方向直线,该直连与第一贝塞尔的交点为W2,且第一贝塞尔曲线为向上凸起贝塞尔曲线;像素点Q3的纵坐标大于交点W2的纵坐标,表明像素点Q2位于该贝塞尔曲线凸起之内;此时,即确定用户终端位于预估POI区域内。
当SVG坐标所表示的像素点为Q4时,像素点Q4位于第一多边形内,且像素点Q4位于第二多边形内;做经过像素点Q4的竖直方向直线,该直连与第一贝塞尔的交点为W3,且第一贝塞尔曲线为向上凸起贝塞尔曲线;像素点Q4的纵坐标小于交点W3的纵坐标,表明像素点Q4位于该贝塞尔曲线凸起之外;此时,即确定用户终端不位于预估POI区域内。
当SVG坐标所表示的像素点为Q5时,像素点Q5不位于第一多边形内,且像素点Q5位于第二多边形内;做经过像素点Q5的竖直方向直线,该直连与第一贝塞尔的交点为W4,且第二贝塞尔曲线为向上凸起贝塞尔曲线;像素点Q5的纵坐标大于交点W4的纵坐标,表明像素点Q5位于该贝塞尔曲线凸起之内;此时,即确定用户终端不位于预估POI区域内。
基于上述技术方案,参阅图14所示,本发明实施例中,提供一种POI区域获取装置,包括SVG格式地图生成单元140,SVG坐标生成单元141,预估单元142,判断单元143,以及上报单元144,其中:
SVG格式地图生成单元140,用于将包含各个POI区域的地图进行格式转换,生成SVG格式地图;
SVG坐标生成单元141,用于获取用户终端所处位置坐标,并将所述用户终端所处位置坐标进行坐标转换,生成所述用户终端在SVG格式地图中的SVG坐标;
预估单元142,用于根据生成的所述SVG坐标,在SVG格式地图中预估SVG坐标所在的预估POI区域;
判断单元143,用于根据所述预估POI区域对应的图形形状,判断所述用户终端是否位于所述预估POI区域内;
上报单元144,用于当判定所述用户终端位于所述预估POI区域内时,上报所述预估POI区域标识。
其中,当所述预估POI区域对应的图形形状为矩形时,所述判断单元143,具体用于:在SVG格式地图中,分别获取所述矩形四个顶点的位置坐标;当所述SVG坐标中的横坐标大于等于所述矩形四个顶点中横坐标值最小的顶点的横坐标值,小于等于所述矩形四个顶点中横坐标值最大的顶点的横坐标值,且SVG坐标中的纵坐标大于等于所述矩形四个顶点中纵坐标值最小的顶点的纵坐标值,小于等于所述矩形四个顶点中纵坐标值最大的顶点的纵坐标值时,判定所述用户终端位于所述预估POI区域内。
当所述预估POI区域对应的图形形状为圆形时,所述判断单元143,具体用于:在SVG格式地图中,获取所述圆形的圆心位置坐标以及所述圆形的半径根据所述SVG坐标以及所述圆心位置坐标,确定所述SVG坐标表示的像素点与所述圆心之间的距离;当所述距离小于等于所述圆形的半径时,判定所述用户终端位于所述预估POI区域内。
当所述预估POI区域对应的图形形状为多边形时,所述判断单元143,具体用于:在SVG格式地图中,分别获取所述多边形的每一个顶点的坐标;若所述SVG坐标与所述多边形的任意一顶点的坐标相同,则确定所述用户终端位于所述预估POI区域内;若所述SVG坐标与所述多边形中所有顶点的坐标均不相同,则以SVG坐标所表示的像素点为起点,向水平方向或者竖直方向做射线,根据所述射线与所述多边形的交点数目,判断所述用户终端是否在所述预估POI区域内。
所述判断单元143,具体用于:当判定所述SVG坐标表示的像素点不位于所述多边形的任意一边上时,获取所述射线与所述多边形的每一个边的交点数目;根据所述射线与所述多边形的每一个边的交点数目,统计所述射线与所述多边形的交点数目;当所述交点数目为奇数时,确定所述SVG坐标所表示的像素点位于所述多边形内;当所述SVG坐标所表示的像素点位于所述多边形内时,确定所述用户终端位于所述预估POI区域内。
若所述射线为水平方向射线,则所述判断单元143,具体用于:获取所述多边形中以所述SVG坐标所表示的像素点为起点,沿射线方向一侧的所有边;针对获取的每一个边,均执行如下操作:若判定所述边的两个顶点的纵坐标不相等,且所述SVG坐标的纵坐标大于所述边的两个顶点中纵坐标值最小的顶点的纵坐标,且小于所述边的两个顶点中纵坐标值最大的顶点的纵坐标,则记录所述射线与所述边存在一个交点;若判定所述边的两个顶点的纵坐标相等,且所述SVG坐标的纵坐标等于所述边的两个顶点的纵坐标,所述SVG坐标的横坐标大于所述边的两个顶点的横坐标值最小的顶点的横坐标,小于所述边的两个顶点中横坐标值最大的顶点的横坐标,则记录所述射线与所述边存在一个交点;否则,确定所述边与所述射线之间不存在交点。
若所述射线为竖直方向射线,则所述判断单元143,具体用于:获取所述多边形中以所述SVG坐标所表示的像素点为起点,沿射线方向一侧的所有边;针对获取的每一个边,均执行如下操作:若判定所述边的两个顶点的横坐标不相等,且所述SVG坐标的横坐标大于所述边的两个顶点中横坐标值最小的顶点的纵坐标,且小于所述边的两个顶点中横坐标值最大的顶点的横坐标,则记录所述射线与所述边存在一个交点;若判定所述边的两个顶点的横坐标相等,且所述SVG坐标的横坐标等于所述边的两个顶点的横坐标,所述SVG坐标的纵坐标大于所述边的两个顶点的纵坐标值最小的顶点的纵坐标,小于所述边的两个顶点中纵坐标值最大的顶点的纵坐标,则记录所述射线与所述边存在一个交点;否则,确定所述边与所述射线之间不存在交点;
当所述预估POI区域对应的图形形状为不规则路径时,所述判断单元143,具体用于:在SVG地图中,获取不规则路径中包含的所有贝赛尔曲线的起始点、结束点和控制点,其中,控制点为一个或者两个;针对每一个贝塞尔曲线,均执行如下操作:将所述起始点、控制点和结束点依次连接,并根据连接后的图形与所述不规则路径中除贝赛尔曲线外的其他路径,组成第一多边形;若所述SVG坐标与所述第一多边形的任意一顶点的坐标相同,则确定所述用户终端位于所述预估POI区域内;若所述SVG坐标与所述多边形中所有顶点的坐标均不相同,则以所述SVG坐标所表示的像素点为起点,向水平方向或者竖直方向做射线,根据所述射线与所述第一多边形的交点数目,判断所述用户终端是否在所述预估POI区域内,得到第一判断结果;并将所述起始点、控制点和结束点依次连接,生成第二多边形;并以所述SVG坐标所表示的像素点为起点,向水平方向或者竖直方向做射线,根据所述射线与所述第二多边形的交点数目,判断所述用户终端是否在所述预估POI区域内,得到第二判断结果;根据所述第一判断结果和所述第二判断结果,判断所述用户终端是否位于所述预估POI区域内。
所述判断单元143,具体用于:当所述第二判断结果为所述用户终端不在所述预估POI区域内时,根据所述第一判断结果确定所述用户终端是否在所述预估POI区域内;当所述第二判断结果为所述用户终端在所述预估POI区域内时,沿竖直方向直线,其中,所述直线经过所述SVG坐标所表示的像素点;获取所述直线与所述贝塞尔曲线的交点坐标;其中,所述交点数目为一个或者两个;当所述任意一交点坐标与所述SVG坐标相同时,确定所述SVG坐标所表示的像素点位于所述贝塞尔曲线上;根据所述交点坐标,以及所述SVG坐标,判断所述SVG坐标所表示的像素点是否位于所述贝塞尔曲线凸起内部;当所述第一判断结果为所述SVG坐标所表示的像素点位于所述第一多边形内时,若所述SVG坐标所表示的像素点位于所述贝塞尔曲线凸起内部,则确定所述SVG坐标所表示的像素点位于所述不规则路径内部;否则,确定所述SVG坐标所表示的像素点不位于所述不规则路径内部;当所述第一判断结果为所述SVG坐标所表示的像素点位于所述第一多边形外时,若所述SVG坐标所表示的像素点位于所述贝塞尔曲线凸起内部,则确定所述SVG坐标所表示的像素点不位于所述不规则路径内部;否则,确定所述SVG坐标所表示的像素点位于所述不规则路径内部;当所述SVG坐标所表示的像素点位于所述不规则路径内部,或者所述SVG坐标所表示的像素点位于所述不规则路径的任意一边上时,确定所述用户终端位于所述预估POI区域内。
综上所述,本发明实施例中,将包含各个POI区域的地图进行格式转换,生成SVG格式地图;获取用户终端所处位置坐标,并将该用户终端所处位置坐标进行坐标转换,生成该用户终端在SVG格式地图中的SVG坐标;根据生成的SVG坐标,在上述SVG格式地图中预估SVG坐标所在的预估POI区域;根据上述预估POI区域对应的图形形状,判断上述用户终端是否位于预估POI区域内;当判定上述用户终端位于预估POI区域内时,上报该预估POI区域标识。采用本发明技术方案,对基于SVG格式的地图进行处理,能够快速获取各个POI区域所对应的图形以及该图形参数,通过不同POI区域分别对应的图形形状的不同,采用不同的方式对预估POI区域是否为用户终端所在的POI区域进行判断,相较于现有技术中仅通过用户终端所在位置坐标与POI区域中心点之间的距离来确定用户终端所在POI区域的方式,根据POI区域对应的图形形状和图形参数确定用户终端所在POI区域,有效提高了定位结果的准确性,进而便于商家推送信息的发送。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (18)
1.一种兴趣点POI区域获取方法,其特征在于,包括:
获取可缩放矢量图形SVG格式地图;其中,所述SVG格式地图中包含各个POI区域的地图;
获取用户终端所处位置坐标,并将所述用户终端所处位置坐标进行坐标转换,生成所述用户终端在SVG格式地图中的SVG坐标;
根据生成的所述SVG坐标,在SVG格式地图中预估SVG坐标所在的预估POI区域;并
根据所述预估POI区域对应的图形形状,判断所述用户终端是否位于所述预估POI区域内;
当判定所述用户终端位于所述预估POI区域内时,上报所述预估POI区域标识。
2.如权利要求1所述的方法,其特征在于,当所述预估POI区域对应的图形形状为矩形时,根据所述预估POI区域对应的图形形状,判断所述用户终端是否位于所述预估POI区域内,具体包括:
在SVG格式地图中,分别获取所述矩形四个顶点的位置坐标;
当所述SVG坐标中的横坐标大于等于所述矩形四个顶点中横坐标值最小的顶点的横坐标值,小于等于所述矩形四个顶点中横坐标值最大的顶点的横坐标值,且SVG坐标中的纵坐标大于等于所述矩形四个顶点中纵坐标值最小的顶点的纵坐标值,小于等于所述矩形四个顶点中纵坐标值最大的顶点的纵坐标值时,判定所述用户终端位于所述预估POI区域内。
3.如权利要求1所述的方法,其特征在于,当所述预估POI区域对应的图形形状为圆形时,根据所述预估POI区域对应的图形形状,判断所述用户终端是否位于所述预估POI区域内,具体包括:
在SVG格式地图中,获取所述圆形的圆心位置坐标以及所述圆形的半径;
根据所述SVG坐标以及所述圆心位置坐标,确定所述SVG坐标表示的像素点与所述圆心之间的距离;
当所述距离小于等于所述圆形的半径时,判定所述用户终端位于所述预估POI区域内。
4.如权利要求1所述的方法,其特征在于,当所述预估POI区域对应的图形形状为多边形时,根据所述预估POI区域对应的图形形状,判断所述用户终端是否位于所述预估POI区域内,具体包括:
在SVG格式地图中,分别获取所述多边形的每一个顶点的坐标;
若所述SVG坐标与所述多边形的任意一顶点的坐标相同,则确定所述用户终端位于所述预估POI区域内;
若所述SVG坐标与所述多边形中所有顶点的坐标均不相同,则以SVG坐标所表示的像素点为起点,向水平方向或者竖直方向做射线,根据所述射线与所述多边形的交点数目,判断所述用户终端是否在所述预估POI区域内。
5.如权利要求4所述的方法,其特征在于,根据所述射线与所述多边形的交点数目,判断所述用户终端是否在所述预估POI区域内,具体包括:
当判定所述SVG坐标表示的像素点不位于所述多边形的任意一边上时,获取所述射线与所述多边形的每一个边的交点数目;
根据所述射线与所述多边形的每一个边的交点数目,统计所述射线与所述多边形的交点数目;
当所述交点数目为奇数时,确定所述SVG坐标所表示的像素点位于所述多边形内;
当所述SVG坐标所表示的像素点位于所述多边形内时,确定所述用户终端位于所述预估POI区域内。
6.如权利要求5所述的方法,其特征在于,若所述射线为水平方向射线,则获取所述射线与所述多边形的每一个边的交点数目,具体包括:
获取所述多边形中以所述SVG坐标所表示的像素点为起点,沿射线方向一侧的所有边;针对获取的每一个边,均执行如下操作:
若判定所述边的两个顶点的纵坐标不相等,且所述SVG坐标的纵坐标大于所述边的两个顶点中纵坐标值最小的顶点的纵坐标,且小于所述边的两个顶点中纵坐标值最大的顶点的纵坐标,则记录所述射线与所述边存在一个交点;
若判定所述边的两个顶点的纵坐标相等,且所述SVG坐标的纵坐标等于所述边的两个顶点的纵坐标,所述SVG坐标的横坐标大于所述边的两个顶点的横坐标值最小的顶点的横坐标,小于所述边的两个顶点中横坐标值最大的顶点的横坐标,则记录所述射线与所述边存在一个交点;否则,确定所述边与所述射线之间不存在交点。
7.如权利要求5所述的方法,其特征在于,若所述射线为竖直方向射线,则获取所述射线与所述多边形的每一个边的交点数目,具体包括:
获取所述多边形中以所述SVG坐标所表示的像素点为起点,沿射线方向一侧的所有边;针对获取的每一个边,均执行如下操作:
若判定所述边的两个顶点的横坐标不相等,且所述SVG坐标的横坐标大于所述边的两个顶点中横坐标值最小的顶点的纵坐标,且小于所述边的两个顶点中横坐标值最大的顶点的横坐标,则记录所述射线与所述边存在一个交点;
若判定所述边的两个顶点的横坐标相等,且所述SVG坐标的横坐标等于所述边的两个顶点的横坐标,所述SVG坐标的纵坐标大于所述边的两个顶点的纵坐标值最小的顶点的纵坐标,小于所述边的两个顶点中纵坐标值最大的顶点的纵坐标,则记录所述射线与所述边存在一个交点;否则,确定所述边与所述射线之间不存在交点。
8.如权利要求1所述的方法,其特征在于,当所述预估POI区域对应的图形形状为不规则路径时,根据所述预估POI区域对应的图形形状,判断所述用户终端是否位于所述预估POI区域内,具体包括:
在SVG地图中,获取不规则路径中包含的所有贝赛尔曲线的起始点、结束点和控制点,其中,控制点为一个或者两个;针对每一个贝塞尔曲线,均执行如下操作:
将所述起始点、控制点和结束点依次连接,并根据连接后的图形与所述不规则路径中除贝赛尔曲线外的其他路径,组成第一多边形;
以所述SVG坐标所表示的像素点为起点,向水平方向或者竖直方向做射线,根据所述射线与所述第一多边形的交点数目,判断所述用户终端是否在所述预估POI区域内,得到第一判断结果;并
将所述起始点、控制点和结束点依次连接,生成第二多边形;并以所述SVG坐标所表示的像素点为起点,向水平方向或者竖直方向做射线,根据所述射线与所述第二多边形的交点数目,判断所述用户终端是否在所述预估POI区域内,得到第二判断结果;
根据所述第一判断结果和所述第二判断结果,判断所述用户终端是否位于所述预估POI区域内。
9.如权利要求8所述的方法,其特征在于,根据所述第一判断结果和所述第二判断结果,判断所述用户终端是否位于所述预估POI区域内,具体包括:
当所述第二判断结果为所述用户终端不在所述预估POI区域内时,根据所述第一判断结果确定所述用户终端是否在所述预估POI区域内;
当所述第二判断结果为所述用户终端在所述预估POI区域内时,沿竖直方向直线,其中,所述直线经过所述SVG坐标所表示的像素点;
获取所述直线与所述贝塞尔曲线的交点坐标;其中,所述交点数目为一个或者两个;
当所述任意一交点坐标与所述SVG坐标相同时,确定所述SVG坐标所表示的像素点位于所述贝塞尔曲线上;
根据所述交点坐标,以及所述SVG坐标,判断所述SVG坐标所表示的像素点是否位于所述贝塞尔曲线凸起内部;
当所述第一判断结果为所述SVG坐标所表示的像素点位于所述第一多边形内时,若所述SVG坐标所表示的像素点位于所述贝塞尔曲线凸起内部,则确定所述SVG坐标所表示的像素点位于所述不规则路径内部;否则,确定所述SVG坐标所表示的像素点不位于所述不规则路径内部;
当所述第一判断结果为所述SVG坐标所表示的像素点位于所述第一多边形外时,若所述SVG坐标所表示的像素点位于所述贝塞尔曲线凸起内部,则确定所述SVG坐标所表示的像素点不位于所述不规则路径内部;否则,确定所述SVG坐标所表示的像素点位于所述不规则路径内部;
当所述SVG坐标所表示的像素点位于所述不规则路径内部,或者所述SVG坐标所表示的像素点位于所述不规则路径的任意一边上时,确定所述用户终端位于所述预估POI区域内。
10.一种兴趣点POI区域获取装置,其特征在于,包括:
获取单元,用于获取可缩放矢量图形SVG格式地图;其中,所述SVG格式地图中包含各个POI区域的地图;
SVG坐标生成单元,用于获取用户终端所处位置坐标,并将所述用户终端所处位置坐标进行坐标转换,生成所述用户终端在SVG格式地图中的SVG坐标;
预估单元,用于根据生成的所述SVG坐标,在SVG格式地图中预估SVG坐标所在的预估POI区域;
判断单元,用于根据所述预估POI区域对应的图形形状,判断所述用户终端是否位于所述预估POI区域内;
上报单元,用于当判定所述用户终端位于所述预估POI区域内时,上报所述预估POI区域标识。
11.如权利要求10所述的装置,其特征在于,当所述预估POI区域对应的图形形状为矩形时,所述判断单元,具体用于:
在SVG格式地图中,分别获取所述矩形四个顶点的位置坐标;当所述SVG坐标中的横坐标大于等于所述矩形四个顶点中横坐标值最小的顶点的横坐标值,小于等于所述矩形四个顶点中横坐标值最大的顶点的横坐标值,且SVG坐标中的纵坐标大于等于所述矩形四个顶点中纵坐标值最小的顶点的纵坐标值,小于等于所述矩形四个顶点中纵坐标值最大的顶点的纵坐标值时,判定所述用户终端位于所述预估POI区域内。
12.如权利要求10所述的装置,其特征在于,当所述预估POI区域对应的图形形状为圆形时,所述判断单元,具体用于:
在SVG格式地图中,获取所述圆形的圆心位置坐标以及所述圆形的半径根据所述SVG坐标以及所述圆心位置坐标,确定所述SVG坐标表示的像素点与所述圆心之间的距离;当所述距离小于等于所述圆形的半径时,判定所述用户终端位于所述预估POI区域内。
13.如权利要求10所述的装置,其特征在于,当所述预估POI区域对应的图形形状为多边形时,所述判断单元,具体用于:在SVG格式地图中,分别获取所述多边形的每一个顶点的坐标;若所述SVG坐标与所述多边形的任意一顶点的坐标相同,则确定所述用户终端位于所述预估POI区域内;若所述SVG坐标与所述多边形中所有顶点的坐标均不相同,则以SVG坐标所表示的像素点为起点,向水平方向或者竖直方向做射线,根据所述射线与所述多边形的交点数目,判断所述用户终端是否在所述预估POI区域内。
14.如权利要求13所述的装置,其特征在于,所述判断单元,具体用于:
当判定所述SVG坐标表示的像素点不位于所述多边形的任意一边上时,获取所述射线与所述多边形的每一个边的交点数目;根据所述射线与所述多边形的每一个边的交点数目,统计所述射线与所述多边形的交点数目;当所述交点数目为奇数时,确定所述SVG坐标所表示的像素点位于所述多边形内;当所述SVG坐标所表示的像素点位于所述多边形内时,确定所述用户终端位于所述预估POI区域内。
15.如权利要求14所述的装置,其特征在于,若所述射线为水平方向射线,则所述判断单元,具体用于:
获取所述多边形中以所述SVG坐标所表示的像素点为起点,沿射线方向一侧的所有边;针对获取的每一个边,均执行如下操作:
若判定所述边的两个顶点的纵坐标不相等,且所述SVG坐标的纵坐标大于所述边的两个顶点中纵坐标值最小的顶点的纵坐标,且小于所述边的两个顶点中纵坐标值最大的顶点的纵坐标,则记录所述射线与所述边存在一个交点;若判定所述边的两个顶点的纵坐标相等,且所述SVG坐标的纵坐标等于所述边的两个顶点的纵坐标,所述SVG坐标的横坐标大于所述边的两个顶点的横坐标值最小的顶点的横坐标,小于所述边的两个顶点中横坐标值最大的顶点的横坐标,则记录所述射线与所述边存在一个交点;否则,确定所述边与所述射线之间不存在交点。
16.如权利要求14所述的装置,其特征在于,若所述射线为竖直方向射线,则所述判断单元,具体用于:
获取所述多边形中以所述SVG坐标所表示的像素点为起点,沿射线方向一侧的所有边;针对获取的每一个边,均执行如下操作:
若判定所述边的两个顶点的横坐标不相等,且所述SVG坐标的横坐标大于所述边的两个顶点中横坐标值最小的顶点的纵坐标,且小于所述边的两个顶点中横坐标值最大的顶点的横坐标,则记录所述射线与所述边存在一个交点;若判定所述边的两个顶点的横坐标相等,且所述SVG坐标的横坐标等于所述边的两个顶点的横坐标,所述SVG坐标的纵坐标大于所述边的两个顶点的纵坐标值最小的顶点的纵坐标,小于所述边的两个顶点中纵坐标值最大的顶点的纵坐标,则记录所述射线与所述边存在一个交点;否则,确定所述边与所述射线之间不存在交点。
17.如权利要求10所述的装置,其特征在于,当所述预估POI区域对应的图形形状为不规则路径时,所述判断单元,具体用于:
在SVG地图中,获取不规则路径中包含的所有贝赛尔曲线的起始点、结束点和控制点,其中,控制点为一个或者两个;针对每一个贝塞尔曲线,均执行如下操作:
将所述起始点、控制点和结束点依次连接,并根据连接后的图形与所述不规则路径中除贝赛尔曲线外的其他路径,组成第一多边形;以所述SVG坐标所表示的像素点为起点,向水平方向或者竖直方向做射线,根据所述射线与所述第一多边形的交点数目,判断所述用户终端是否在所述预估POI区域内,得到第一判断结果;并将所述起始点、控制点和结束点依次连接,生成第二多边形;并以所述SVG坐标所表示的像素点为起点,向水平方向或者竖直方向做射线,根据所述射线与所述第二多边形的交点数目,判断所述用户终端是否在所述预估POI区域内,得到第二判断结果;根据所述第一判断结果和所述第二判断结果,判断所述用户终端是否位于所述预估POI区域内。
18.如权利要求17所述的装置,其特征在于,所述判断单元,具体用于:
当所述第二判断结果为所述用户终端不在所述预估POI区域内时,根据所述第一判断结果确定所述用户终端是否在所述预估POI区域内;当所述第二判断结果为所述用户终端在所述预估POI区域内时,沿竖直方向直线,其中,所述直线经过所述SVG坐标所表示的像素点;获取所述直线与所述贝塞尔曲线的交点坐标;其中,所述交点数目为一个或者两个;当所述任意一交点坐标与所述SVG坐标相同时,确定所述SVG坐标所表示的像素点位于所述贝塞尔曲线上;根据所述交点坐标,以及所述SVG坐标,判断所述SVG坐标所表示的像素点是否位于所述贝塞尔曲线凸起内部;当所述第一判断结果为所述SVG坐标所表示的像素点位于所述第一多边形内时,若所述SVG坐标所表示的像素点位于所述贝塞尔曲线凸起内部,则确定所述SVG坐标所表示的像素点位于所述不规则路径内部;否则,确定所述SVG坐标所表示的像素点不位于所述不规则路径内部;当所述第一判断结果为所述SVG坐标所表示的像素点位于所述第一多边形外时,若所述SVG坐标所表示的像素点位于所述贝塞尔曲线凸起内部,则确定所述SVG坐标所表示的像素点不位于所述不规则路径内部;否则,确定所述SVG坐标所表示的像素点位于所述不规则路径内部;当所述SVG坐标所表示的像素点位于所述不规则路径内部,或者所述SVG坐标所表示的像素点位于所述不规则路径的任意一边上时,确定所述用户终端位于所述预估POI区域内。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410778132.7A CN104507047B (zh) | 2014-12-15 | 2014-12-15 | 一种poi区域获取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410778132.7A CN104507047B (zh) | 2014-12-15 | 2014-12-15 | 一种poi区域获取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104507047A true CN104507047A (zh) | 2015-04-08 |
CN104507047B CN104507047B (zh) | 2018-05-01 |
Family
ID=52948749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410778132.7A Active CN104507047B (zh) | 2014-12-15 | 2014-12-15 | 一种poi区域获取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104507047B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105045836A (zh) * | 2015-06-30 | 2015-11-11 | 百度在线网络技术(北京)有限公司 | 一种目标物信息的检索方法及装置 |
CN105448121A (zh) * | 2015-12-29 | 2016-03-30 | 深圳市科漫达智能管理科技有限公司 | 一种停车场寻车路径提示方法与系统 |
CN107436925A (zh) * | 2017-07-07 | 2017-12-05 | 杭州冉驰科技有限公司 | 一种poi数据检索方法及关联方法 |
CN107992589A (zh) * | 2017-12-11 | 2018-05-04 | 机械工业第六设计研究院有限公司 | 一种svg地图数据的加载方法、装置及系统 |
CN108024257A (zh) * | 2017-11-30 | 2018-05-11 | 新华三大数据技术有限公司 | 部署ap的方法及装置 |
CN109584705A (zh) * | 2017-09-29 | 2019-04-05 | 北京搜狗科技发展有限公司 | 一种地图展现方法及设备 |
CN110246173A (zh) * | 2018-08-14 | 2019-09-17 | 浙江大华技术股份有限公司 | 一种判断形状区域的方法和装置 |
CN110807983A (zh) * | 2019-10-10 | 2020-02-18 | 支付宝(杭州)信息技术有限公司 | 一种电子地图的区域调整方法、装置及电子设备 |
CN111143488A (zh) * | 2018-11-06 | 2020-05-12 | 阿里巴巴集团控股有限公司 | 一种poi位置的确定方法及装置 |
CN111435165A (zh) * | 2018-12-26 | 2020-07-21 | 保定市天河电子技术有限公司 | 基于激光雷达的运输车障碍检测方法及系统 |
CN111680227A (zh) * | 2020-06-08 | 2020-09-18 | 广东赛百威信息科技有限公司 | 一种在地图上搜索n公里范围内目标点的方法 |
CN111951349A (zh) * | 2019-05-17 | 2020-11-17 | 珠海金山办公软件有限公司 | 一种图形顶点类型的调整方法、装置及电子设备 |
CN112650794A (zh) * | 2020-12-30 | 2021-04-13 | 北京嘀嘀无限科技发展有限公司 | 位置数据处理方法、装置、电子设备和存储介质 |
CN113268679A (zh) * | 2021-04-19 | 2021-08-17 | 宁波市测绘和遥感技术研究院 | 基于互联网大数据的可视化处理方法 |
CN116469120A (zh) * | 2023-05-31 | 2023-07-21 | 国网浙江省电力有限公司营销服务中心 | 电费单据自动数据处理方法、装置及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103535057A (zh) * | 2011-05-18 | 2014-01-22 | 微软公司 | 基于自动查询发现附近地点 |
CN103563406A (zh) * | 2011-06-03 | 2014-02-05 | 苹果公司 | 对从地理围栏离开的监视 |
-
2014
- 2014-12-15 CN CN201410778132.7A patent/CN104507047B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103535057A (zh) * | 2011-05-18 | 2014-01-22 | 微软公司 | 基于自动查询发现附近地点 |
CN103563406A (zh) * | 2011-06-03 | 2014-02-05 | 苹果公司 | 对从地理围栏离开的监视 |
Non-Patent Citations (1)
Title |
---|
ZHANGXUE66688: "《地理信息系统算法第二章》", 22 February 2012 * |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105045836B (zh) * | 2015-06-30 | 2019-03-15 | 百度在线网络技术(北京)有限公司 | 一种目标物信息的检索方法及装置 |
CN105045836A (zh) * | 2015-06-30 | 2015-11-11 | 百度在线网络技术(北京)有限公司 | 一种目标物信息的检索方法及装置 |
CN105448121A (zh) * | 2015-12-29 | 2016-03-30 | 深圳市科漫达智能管理科技有限公司 | 一种停车场寻车路径提示方法与系统 |
CN107436925B (zh) * | 2017-07-07 | 2023-11-17 | 江苏艾德锐电子科技有限公司 | 一种poi数据检索方法及关联方法 |
CN107436925A (zh) * | 2017-07-07 | 2017-12-05 | 杭州冉驰科技有限公司 | 一种poi数据检索方法及关联方法 |
CN109584705A (zh) * | 2017-09-29 | 2019-04-05 | 北京搜狗科技发展有限公司 | 一种地图展现方法及设备 |
CN108024257B (zh) * | 2017-11-30 | 2021-07-02 | 新华三大数据技术有限公司 | 部署ap的方法及装置 |
CN108024257A (zh) * | 2017-11-30 | 2018-05-11 | 新华三大数据技术有限公司 | 部署ap的方法及装置 |
CN107992589A (zh) * | 2017-12-11 | 2018-05-04 | 机械工业第六设计研究院有限公司 | 一种svg地图数据的加载方法、装置及系统 |
CN107992589B (zh) * | 2017-12-11 | 2021-07-09 | 机械工业第六设计研究院有限公司 | 一种svg地图数据的加载方法、装置及系统 |
CN110246173B (zh) * | 2018-08-14 | 2023-11-03 | 浙江大华技术股份有限公司 | 一种判断形状区域的方法和装置 |
CN110246173A (zh) * | 2018-08-14 | 2019-09-17 | 浙江大华技术股份有限公司 | 一种判断形状区域的方法和装置 |
CN111143488A (zh) * | 2018-11-06 | 2020-05-12 | 阿里巴巴集团控股有限公司 | 一种poi位置的确定方法及装置 |
CN111143488B (zh) * | 2018-11-06 | 2023-03-28 | 阿里巴巴集团控股有限公司 | 一种poi位置的确定方法及装置 |
CN111435165A (zh) * | 2018-12-26 | 2020-07-21 | 保定市天河电子技术有限公司 | 基于激光雷达的运输车障碍检测方法及系统 |
CN111951349A (zh) * | 2019-05-17 | 2020-11-17 | 珠海金山办公软件有限公司 | 一种图形顶点类型的调整方法、装置及电子设备 |
CN111951349B (zh) * | 2019-05-17 | 2024-03-22 | 珠海金山办公软件有限公司 | 一种图形顶点类型的调整方法、装置及电子设备 |
CN110807983A (zh) * | 2019-10-10 | 2020-02-18 | 支付宝(杭州)信息技术有限公司 | 一种电子地图的区域调整方法、装置及电子设备 |
CN111680227B (zh) * | 2020-06-08 | 2023-04-21 | 广东赛百威信息科技有限公司 | 一种在地图上搜索n公里范围内目标点的方法 |
CN111680227A (zh) * | 2020-06-08 | 2020-09-18 | 广东赛百威信息科技有限公司 | 一种在地图上搜索n公里范围内目标点的方法 |
CN112650794A (zh) * | 2020-12-30 | 2021-04-13 | 北京嘀嘀无限科技发展有限公司 | 位置数据处理方法、装置、电子设备和存储介质 |
CN112650794B (zh) * | 2020-12-30 | 2024-08-20 | 北京嘀嘀无限科技发展有限公司 | 位置数据处理方法、装置、电子设备和存储介质 |
CN113268679A (zh) * | 2021-04-19 | 2021-08-17 | 宁波市测绘和遥感技术研究院 | 基于互联网大数据的可视化处理方法 |
CN116469120A (zh) * | 2023-05-31 | 2023-07-21 | 国网浙江省电力有限公司营销服务中心 | 电费单据自动数据处理方法、装置及存储介质 |
CN116469120B (zh) * | 2023-05-31 | 2023-09-05 | 国网浙江省电力有限公司营销服务中心 | 电费单据自动数据处理方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104507047B (zh) | 2018-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104507047A (zh) | 一种poi区域获取方法及装置 | |
CN106980633B (zh) | 室内地图数据的生成方法及装置 | |
CN109979006B (zh) | 室内路网模型构建方法及装置 | |
Taneja et al. | Algorithms for automated generation of navigation models from building information models to support indoor map-matching | |
KR101159395B1 (ko) | 임의의 선형 및 비선형 지도를 설계하고 사용하기 위한시스템, 방법 및 컴퓨터 판독가능 매체 | |
KR101997011B1 (ko) | 3d 물체 및 3d 지형 중 적어도 하나를 시각화하는 방법 | |
CN106123898B (zh) | 基于图片解析的室内路径规划方法 | |
CN103596263B (zh) | 一种室内定位中获取位置的方法及装置 | |
TWI661210B (zh) | 座標系統制定方法、裝置及資料結構產品 | |
CN104867174A (zh) | 一种三维地图渲染显示方法及系统 | |
CN106409129B (zh) | 路况绘制方法及装置 | |
KR101591427B1 (ko) | 3차원 지형 영상 가시화에서의 적응형 렌더링 방법 | |
CN107240153B (zh) | 基于dsm的无人机飞行安全区域计算显示方法 | |
CN110914870B (zh) | 图像网络的注释生成 | |
CN113570664B (zh) | 增强现实导航显示方法和装置、电子设备、计算机介质 | |
Delikostidis et al. | Increasing the usability of pedestrian navigation interfaces by means of landmark visibility analysis | |
CN109472416B (zh) | 基于自动路网数据提取的室内路径规划方法及装置、客户端 | |
JP4781685B2 (ja) | 略地図生成装置 | |
CN116484487B (zh) | 墙板配筋方法、装置、设备及存储介质 | |
US10928202B2 (en) | System and methods for three-dimensional volumetric indoor location geocoding | |
CN108470363A (zh) | 一种基于地理参考点和三角剖分的手绘地图移动定位方法 | |
CN114838729A (zh) | 一种路径规划方法、装置及设备 | |
JP5907794B2 (ja) | 地図情報処理装置、地図情報処理方法、およびプログラム | |
US10101497B2 (en) | Method for determining a karstic region | |
CN109978944B (zh) | 坐标系统制定方法、装置及数据结构产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park 19 floor Patentee after: RUIJIE NETWORKS Co.,Ltd. Address before: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden State Industrial Park 19 floor Patentee before: Beijing Star-Net Ruijie Networks Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |