一种基于地理信息的公共服务推荐方法及系统与流程

文档序号:17321982发布日期:2019-04-05 21:35阅读:536来源:国知局
一种基于地理信息的公共服务推荐方法及系统与流程

本发明涉及网络通讯的技术领域,特别是一种基于地理信息的公共服务推荐方法及系统。



背景技术:

在现有技术中,最常见的个性化推荐方法有以下几种:基于用户的协同过滤方法、基于地理位置的位置推荐以及基于用户的满意度的推荐,其中,基于用户的协同过滤方法计算用户的相似度,并基于邻居用户群计算推荐,在用户的历史偏好的数据上计算用户的相似度。基于地理位置的推荐主要是通过gps模块定位,依据服务产品与用户的地理位置远近进行推荐;基于用户满意度的推荐主要是根据历史用户对服务产品的满意度进行推荐。基于地理位置的位置推荐方法计算方法复杂,越来越不适应如今快节奏的人民生活。

为了实现对公共服务的快速查询,用户通常会通过导航软件如百度地图,高德地图发送查询指令,但百度地图,高德地图提供的数据不仅仅包含了公共服务,同时也提供了用户自行标注的服务,这种混杂的数据提供增加了用户的选择难度,混淆了用户的真实需求,同时可能增加用户的成本甚至可能导致用户陷入危险之中。

公开号为cn104751396a的发明专利公开了一种基于地理位置的社区服务推荐方法,其特征是应用于由移动终端、社区服务平台和社区数据中心组成推荐系统中;社区服务中心包括:统一身份认证平台、gis平台、服务推荐平台和日志服务平台;社区数据中心包括:社区基础库和包含m个服务产品的社区服务产品库。该方法虽然能够给新注册用户提供社区服务的推荐,但是这些社区服务全部来自老用户的推荐,当其中有些服务不能够正常提供时,这些服务依然会存在于社区服务产品库中,容易误导新注册用户。



技术实现要素:

为了解决上述的技术问题,本发明提出一种基于地理信息的公共服务推荐方法及系统,以国家权威机关登记注册的公共服务机构为核心数据,同时剔除用户自行登记注册的数据,使得本身提供的数据是安全可靠的,以全球定位系统和北斗卫星导航系统为基础的定位技术及算法实现的公共服务推荐算法从根本上解决了用户在选择公共服务时产生的选择性困难,避免了因为错误数据的存在导致用户多跑路的问题。

本发明第一目的是提供一种基于地理信息的公共服务推荐方法,包括获取当前移动终端设备的地理坐标p(lng,lat),还包括以下步骤:

步骤1:将所述当前的地理坐标p(lng,lat)通过网络发送给公共服务数据中心;

步骤2:从所述公共服务数据中心获取所述当前的地理坐标p(lng,lat)和周边公共服务数据的地理信息坐标集合

c{p0(lng0,lat0),p1(lng1,lat1),......pi(lngi,lati)......pn(lngn,latn)},其中,0≤i≤n;

步骤3:依次计算地理信息坐标集合c到移动终端设备地理信息坐标p(lng,lat)的距离cp,并把结果存入集合c2;

步骤4:将集合c2反馈到所述移动终端设备。

优选的是,所述步骤3包括以下子步骤:

步骤31:将经纬度转换为弧度;

步骤32:计算弧度差;

步骤33:计算pn与p之间的角度;

步骤34:计算pn与p之间的距离;

步骤35:将计算后的结果按照从小到大的顺序排序后存入集合c2。

在上述任一方案中优选的是,所述步骤31的计算公式为

rlngn=radians(lngn)

rlatn=radians(latn)

rlng=radians(lng)

rlat=radians(lat)

其中radians表示求弧度函数。

在上述任一方案中优选的是,所述弧度差的计算公式为

slng=abs(rlngn-rlng)

slat=abs(rlatn-rlat)

其中,abs表示求绝对值函数。

在上述任一方案中优选的是,所述pn与p之间的角度h的计算公式为

h=sin2(slat/2)+cos(rlatn)×cos(rlat)×sin2(slng/2)

其中,sin表示正弦函数,cos表示余弦函数。

在上述任一方案中优选的是,所述pn与p之间的距离cp的计算公式为

cp=2×r×asin(sqrt(h))

其中,r表示地球半径平均值,asin表示反正弦函数,sqrt表示求平方根函数。

在上述任一方案中优选的是,所述移动终端设备通过移动终端设备所集成的gps模块和/或bds模块获取当前的地理信息坐标。

在上述任一方案中优选的是,所述网络包括wlan、gsm、cdma、3g、4g和5g中至少一种。

本发明第二目的是提供一种基于地理信息的公共服务推荐系统,包括移动终端设备和终端设备位置获取模块,还包括以下模块:

位置发送模块:将所述当前的地理坐标p(lng,lat)通过网络发送给公共服务数据中心;

周边信息获取模块:用于从所述公共服务数据中心获取所述当前的地理坐标p(lng,lat)和周边公共服务数据的地理信息坐标集合c{p0(lng0,lat0),p1(lng1,lat1),......pi(lngi,lati)......pn(lngn,latn)},其中,0≤i≤n;

计算模块:依次计算地理信息坐标集合c到移动终端设备地理信息坐标p(lng,lat)的距离cp,并把结果存入集合c2;

信息反馈模块:用于将集合c2反馈到所述移动终端设备;

公共服务数据中心:用于存储所述当前的地理坐标p、所述周边公共服务数据的地理信息坐标集合c和所述集合c2。

优选的是,所述计算模块具有以下功能:

1)将经纬度转换为弧度;

2)计算弧度差;

3)计算pn与p之间的角度;

4)计算pn与p之间的距离;

5)将计算后的结果按照从小到大的顺序排序后存入集合c2。

在上述任一方案中优选的是,所述将经纬度转换为弧度的计算公式为

rlngn=radians(lngn)

rlatn=radians(latn)

rlng=radians(lng)

rlat=radians(lat)

其中radians表示求弧度函数。

在上述任一方案中优选的是,所述弧度差的计算公式为

slng=abs(rlngn-rlng)

slat=abs(rlatn-rlat)

其中,abs表示求绝对值函数。

在上述任一方案中优选的是,所述pn与p之间的角度h的计算公式为

h=sin2(slat/2)+cos(rlatn)×cos(rlat)×sin2(slng/2)

其中,sin表示正弦函数,cos表示余弦函数。

在上述任一方案中优选的是,所述pn与p之间的距离cp的计算公式为

cp=2×r×asin(sqrt(h))

其中,r表示地球半径平均值,asin表示反正弦函数,sqrt表示求平方根函数。

在上述任一方案中优选的是,所述移动终端设备通过移动终端设备所集成的gps模块和/或bds模块获取当前的地理信息坐标。

在上述任一方案中优选的是,所述网络包括wlan、gsm、cdma、3g、4g和5g中至少一种。

本发明提出了一种基于地理信息的公共服务推荐系统及方法,具有实用、高效、适应性更广的特点,从根本上解决了用户在选择公共服务上的选择性困难。

附图说明

图1为按照本发明的基于地理信息的公共服务推荐方法的一优选实施例的流程图。

图1a为按照本发明的基于地理信息的公共服务推荐方法的如图1所示实施例的计算流程图。

图2为按照本发明的基于地理信息的公共服务推荐系统的一优选实施例的结构图。

图3为按照本发明的基于地理信息的公共服务推荐方法的一实施例的具体实施方法流程图。

图4为按照本发明的基于地理信息的公共服务推荐方法的又一实施例的具体实施方法流程图。

具体实施方式

下面结合附图和具体的实施例对本发明做进一步的阐述。

实施例一

如图1所示,执行步骤100,终端设备位置获取模块通过移动终端设备所集成的gps模块和/或bds模块获取当前移动终端设备的地理坐标p(lng,lat)。

执行步骤110,位置发送模块将所述当前的地理坐标p(lng,lat)通过网络发送给公共服务数据中心,网络包括wlan、gsm、cdma、3g、4g和5g中至少一种。

执行步骤120,从所述公共服务数据中心获取所述当前的地理坐标p(lng,lat)和周边公共服务数据的地理信息坐标集合c{p0(lng0,lat0),p1(lng1,lat1),......pi(lngi,lati)......pn(lngn,latn)},其中,0≤i≤n。

执行步骤130,依次计算地理信息坐标集合c到移动终端设备地理信息坐标p(lng,lat)的距离cp,并把结果存入集合c2。如图1a所示,步骤131包括以下子步骤:执行步骤131,将经纬度转换为弧度,将经纬度转换为弧度的计算公式为rlngn=radians(lngn),rlatn=radians(latn),rlng=radians(lng),rlat=radians(lat),其中radians表示求弧度函数。执行步骤132,计算弧度差,弧度差的计算公式为slng=abs(rlngn-rlng),slat=abs(rlatn-rlat),其中,abs表示求绝对值函数。执行步骤133,计算pn与p之间的角度,pn与p之间的角度h的计算公式为h=sin2(slat/2)+cos(rlatn)×cos(rlat)×sin2(slng/2),其中,sin表示正弦函数,cos表示余弦函数。执行步骤134,计算pn与p之间的距离,pn与p之间的距离cp的计算公式为cp=2×r×asin(sqrt(h)),其中,r表示地球半径平均值,asin表示反正弦函数,sqrt表示求平方根函数。执行步骤132,将计算后的结果按照从小到大的顺序排序后存入集合c2。

执行步骤140:将集合c2反馈到所述移动终端设备。

gps:globalpositioningsystem全球定位系统,

bds:beidounavigationsatellitesystem北斗卫星导航系统。

实施例二

如图2所示,基于地理信息的公共服务推荐系统包括移动终端设备200、终端设备位置获取模块210、位置发送模块220、周边信息获取模块230、公共服务数据中心240、计算模块250和信息反馈模块260。

移动终端设备200包括智能手机、智能手表、平板电脑、移动电脑和其他带有网络的智能设备。

终端设备位置获取模块210安装在移动终端设备200上,用于使用移动终端设备所集成的gps和/或bds模块获取当前移动终端设备的地理坐标p(lng,lat)。

位置发送模块220安装在移动终端设备200上,用于将当前的地理坐标p(lng,lat)通过wlan、gsm、cdma、3g、4g和5g等网络发送给公共服务数据中心240。

周边信息获取模块230用于从公共服务数据中心获取当前的地理坐标p(lng,lat)和周边公共服务数据的地理信息坐标集合c{p0(lng0,lat0),p1(lng1,lat1),......pi(lngi,lati)......pn(lngn,latn)},其中,0≤i≤n。

公共服务数据中心240用于存储当前的地理坐标p、周边公共服务数据的地理信息坐标集合c和集合c2,并与位置发送模块220、周边信息获取模块230、公共服务数据中心240和信息反馈模块260实现数据通讯。

计算模块250用于计算地理信息坐标集合c到移动终端设备地理信息坐标p(lng,lat)的距离cp,并把结果存入集合c2,功能包括:

1)将经纬度转换为弧度,计算公式为rlngn=radians(lngn),rlatn=radians(latn),rlng=radians(lng),rlat=radians(lat),其中radians表示求弧度函数。

2)计算弧度差,计算公式为slng=abs(rlngn-rlng),slat=abs(rlatn-rlat),其中,abs表示求绝对值函数。

3)计算pn与p之间的角度;计算公式为h=sin2(slat/2)+cos(rlatn)×cos(rlat)×sin2(slng/2),其中,sin表示正弦函数,cos表示余弦函数

4)计算pn与p之间的距离,计算公式为cp=2×r×asin(sqrt(h)),其中,r表示地球半径平均值,asin表示反正弦函数,sqrt表示求平方根函数。

5)将计算后的结果按照从小到大的顺序排序后存入集合c2。

信息反馈模块260用于将集合c2反馈到所述移动终端设备。

实施例三

为了实现对公共服务的快速查询,用户通常会通过导航软件如百度地图,高德地图发送查询指令,但百度地图,高德地图提供的数据不仅仅包含了公共服务,同时也提供了用户自行标注的服务,这种混杂的数据提供增加了用户的选择难度,混淆了用户的真实需求,同时可能增加用户的成本甚至可能是用户陷入危险之中。

公共服务数据中心的地图以国家权威机关登记注册的公共服务机构为核心数据,同时剔除用户自行登记注册的数据,使得本身提供的数据是安全可靠的,以全球定位系统和北斗卫星导航系统为基础的定位技术及算法实现的公共服务推荐算法从根本上解决了用户在选择公共服务时产生的选择性困难,避免了因为错误数据的存在导致用户多跑路的问题。

地图来源通常有两种,一是百度地图或者高德地图这种地图服务公司的,这种公司提供的是地图服务,不提供测绘数据,根据购买的单元提供相应的接口;另外一种是从星球地图出版社购买地图元数据,出版社提供的仅仅是地图测绘数据,不提供任何接口,使用之前需要做处理。

本系统中提供公共服务机构自注册接口,可以让公共服务机构官方进行注册;为了保证数据的真实有效性,本系统不提供用户自行注册接口

实施例四

如图3所示,执行步骤300,用户通过系统客户端输入需要查找的公共服务pn的名称:邮电局。执行步骤310,系统gps(全球定位系统)和/或bds(北斗卫星导航系统)获取用户当前的地理位置p。执行步骤320,系统通过网络将pn和p发送给数据中心。执行步骤330,数据中心将以获取到的参数p为中心,查找周围的公共服务;并以pn为过滤参量清洗数据,删除非邮电局的公共服务。执行步骤340,判断查询到的公共服务是否为官方添加,即判断该公共服务信息的可靠性。如果该公共服务不是官方用户添加或是没有经过官方确认的公共服务,则顺序执行步骤345和步骤330,舍弃该公共服务数据信息,重新查找定义为“邮电局”的公共服务。如果该公共服务是官方用户添加或经过官方确认的公共服务,则执行步骤350,保留该公共服务数据信息。执行步骤360,判断是否还有未查询到的定义为“邮电局”的公共服务信息数据。如果还有未查询到的定义为“邮电局”的公共服务信息数据,则重新执行步骤330,继续查找定义为“邮电局”的公共服务信息数据。如果没有未查询到的定义为“邮电局”的公共服务信息数据,则执行步骤370,将查询到的全部定义为“邮电局”的公共服务信息数据设置为集合c{p0(lng0,lat0),p1(lng1,lat1),p2(lng2,lat2)......pi(lngi,lati)......pn(lngn,latn)},分别计算地理信息坐标集合c中的任意地理信息坐标pn(lngn,latn)到p(lng,lat)的距离cp,并根据cp从小到大排序,计算步骤如下:

1)将经纬度转换为弧度,公式为:

rlngn=radians(lngn)

rlatn=radians(latn)

rlng=radians(lng)

rlat=radians(lat)

其中radians表示求弧度函数。

2)计算弧度差,公式为:

slng=abs(rlngn-rlng)

slat=abs(rlatn-rlat)

其中,abs表示求绝对值函数

3)计算pn与p之间的角度,公式为:

h=sin2(slat/2)+cos(rlatn)×cos(rlat)×sin2(slng/2)

其中,sin表示正弦函数,cos表示余弦函数

4)计算pn与p之间的距离,公式为:

cp=2×r×asin(sqrt(h))

其中,r表示地球半径平均值,asin表示反正弦函数,sqrt表示求平方根函数。

5)将计算后的结果按照从小到大的顺序排序后存入集合c2。

执行步骤380,将集合c2推送给客户,并在用户使用的系统客户端上呈现。

实施例五

如图4所示,执行步骤400,系统gps(全球定位系统)和/或bds(北斗卫星导航系统)获取用户当前的地理位置p。执行步骤410,用户通过系统客户端输入需要查找的公共服务pn的名称:社区卫生。执行步骤420,系统通过网络将pn和p发送给数据中心。执行步骤430,数据中心将以获取到的参数p为中心,查找周围的公共服务。执行步骤440,判断查询到的公共服务是否为官方添加,即判断该公共服务信息的可靠性。如果该公共服务不是官方用户添加或是没有经过官方确认的公共服务,则顺序执行步骤445和步骤430,舍弃该公共服务数据信息,重新查找公共服务。如果公共服务是官方用户添加或经过官方确认的公共服务,则执行步骤450,保留该公共服务数据信息。执行步骤460,判断是否还有未查询到的公共服务信息数据。如果还有未查询到的公共服务信息数据,则重新执行步骤430,继续查找公共服务信息数据。如果没有未查询到的公共服务信息数据,则执行步骤470,判断该公共服务信息数据是否包含“社区卫生”。如果该公共服务信息数据没有包含“社区卫生”,则顺序执行步骤475和步骤470,,删除该信息数据,并判断下一条公共服务信息数据是否包含“社区卫生”。如果该公共服务信息数据包含“社区卫生”,则执行步骤480,判断全部公共服务信息数据是否全部判断完成。如果没有全部判断完成,则执行步骤470,,继续判断下一条公共服务信息数据是否包含“社区卫生”。如果全部判断完成,则执行步骤485,将查询到的全部定义为“社区卫生”的公共服务信息数据设置为集合c{p0(lng0,lat0),p1(lng1,lat1),p2(lng2,lat2)......pi(lngi,lati)......pn(lngn,latn)},分别计算地理信息坐标集合c中的任意地理信息坐标pn(lngn,latn)到p(lng,lat)的距离cp,并根据cp从小到大排序,计算步骤如下:

6)将经纬度转换为弧度,公式为:

rlngn=radians(lngn)

rlatn=radians(latn)

rlng=radians(lng)

rlat=radians(lat)

其中radians表示求弧度函数。

7)计算弧度差,公式为:

slng=abs(rlngn-rlng)

slat=abs(rlatn-rlat)

其中,abs表示求绝对值函数

8)计算pn与p之间的角度,公式为:

h=sin2(slat/2)+cos(rlatn)×cos(rlat)×sin2(slng/2)

其中,sin表示正弦函数,cos表示余弦函数

9)计算pn与p之间的距离,公式为:

cp=2×r×asin(sqrt(h))

其中,r表示地球半径平均值,asin表示反正弦函数,sqrt表示求平方根函数。

10)将计算后的结果按照从小到大的顺序排序后存入集合c2。

执行步骤490,将集合c2推送给客户,并在用户使用的系统客户端上呈现。

为了更好地理解本发明,以上结合本发明的具体实施例做了详细描述,但并非是对本发明的限制。凡是依据本发明的技术实质对以上实施例所做的任何简单修改,均仍属于本发明技术方案的范围。本说明书中每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1