您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
兜兜友(兜兜友为什么下架)
经纬度,围栏,矩形兜兜友(兜兜友为什么下架)
发布时间:2016-12-08加入收藏来源:互联网点击:
很多朋友想了解关于兜兜友的一些资料信息,下面是小编整理的与兜兜友相关的内容分享给大家,一起来看看吧。
LBSLBS英文全称为Location Based Services, 通过电信移动运营商的无线电通讯网络(如GSM网、CDMA网)或外部定位方式(如GPS)获取移动终端用户的位置信息(地理坐标,或大地坐标),在GIS(Geographic Information System,地理信息系统)平台的支持下,为用户提供相应服务的一种增值业务。如寻找用户当前位置1公里范围内的宾馆、影院、图书馆、加油站等的名称和地址。包括两层含义:
确定移动设备或用户所在的地理位置;供与位置相关的各类信息服务。商业模式
休闲娱乐模式。签到模式用户主动签到记录自己所在位置;通过积分、勋章以及领主等荣誉激励用户;通过商家合作,对获得特定积分或勋章的用户提供优惠或折扣奖励,同时营销商家品牌;通过绑定用户其它工具以同步分享用户位置信息;通过鼓励用户对地点商户评价产生优质内容。大富翁游戏模式,让用户用手机购买现实地理位置的虚拟房产与道具,并进行消费与互动等将现实和虚拟融合的模式。特点是趣味,可玩与互动更强,比签到模式更具粘商业模式除了联合商家营销外,还可提供增值服务,以及植入广告等。生活服务模式周边服务搜索:如大众点评网。主要体验在工具实用,问题在信息量积累和覆盖面要比较广泛。与旅游结合:LBS和旅游的结合是十分切合的。分享攻略和心得体现了一定的社交质,代表是游玩网。会员卡与票务模式:一卡捆绑多种会员卡,电子会员卡记录消费习惯信息,如Mokard、Eventbee。社交模式地点交友,即时通讯:不同用户因为在同一时间处于同一地理位置构建用户关键,如兜兜友。以地理位置为基础的小型社区:如区区小事商业型LBS+团购:两者都有地域,用户到本地签约商家后签到,到达一定数量就可以得到折扣或优惠。优惠信息推送:提供基于位置的优惠信息推送,盈利模式是通过和线下商家合作利益分成。店内模式:将用户吸引到指定商场,完成指定行为后便赠送可兑换成商品或礼券的虚拟点数。其他模式例如小企业自建地理围栏或者其他定位服务。GeoHash的使用给定经纬,获取该位置周围1000米的餐馆或者ip地址。通过遍历计算所有地标与目标点距离,显然效率低下。GeoHash是二维的空间经纬度数据编码成一个字符串的地址编码方法。例如,美罗城的经纬度是[31.1932993, 121.43960190000007],下面计算该位置对应的GeoHash值。安装需要的python包pip install python-geohash代码:
import geohashlongitude, latitude = 121.43960190000007, 31.1932993hashcode = geohash.encode(latitude, longitude, precision=6) # 编码print(hashcode)# 输出 wtw37qprint(geohash.neighbors(hashcode)) # 8个近邻编码# 输出 ['wtw37n', 'wtw37w', 'wtw37p', 'wtw37r', 'wtw37x', 'wtw37j', 'wtw37m', 'wtw37t']显示如下图:
wtw37q即为美罗城坐标对应的矩形区域,该区域内所有的经纬度的geohash字符串前6位均为wtw37q。geohash长度与精度对应的关系
字段越长,精度越高,即对应的矩形范围越小。因此仅需确定大致的精度范围和geoHash字符串对应长度。
POI地理围栏问题在实际运用中,给定任意的经纬度坐标,要快速定位对应到POI地理围栏中。
方案一:计算围栏范围内所有的GeoHash编码该场景封装为函数:输入组成围栏的点经纬度坐标集合和指定的geohash长度,输出一组geohash编码。不过该方法存在边界周围部分点缺失情况。
def getHashByFence(point_list,geohash_length): ··· ··· return geohas_list算法步骤:
输入围栏点坐标集合point_list和指定的geohash长度length计算围栏的外包矩形的左上角和右下角坐标lat_min、lat_max、lng_min、lng_max根据lat_min、lat_max、lng_min、lng_max,计算外包矩形对角定点的距离d以外包矩形中心点为圆心,以d/2为半径做一个圆,计算圆覆盖范围内的geohash4.1 获取圆的外包矩形左上角和右下角定点坐标经纬度,存储到double[] locs4.2 根据geohash字符长度计算该长度geohash编码对应的经纬度间隔(latA,lngA)4.3 根据latA和lngA,计算出locs组成的矩形的左上角和右下角定点的经纬度,在geohash划分的网格的索引(也就是第几个),分别记为lat_min,lat_max,lng_min,lng_max4.4 计算lat_min,lat_max,lng_min,lng_max对应范围内左右geohash的二进制编码,然后将经纬度二进制编码uncode为geohash字符编码,保存为Set。剔除sets中geohash编码对应矩形的中心点不在points围栏范围内的geohash,得到最终的geohash结果集。方案二:利用GeoHash编码对应的是地理区域属
利用瓦片思想,大幅减少遍历次数,保证精度。
算法步骤:
因为poi对应区域较小,对poi中心点计算geohash值,字符串长度为6-8左右即可。如果坐标落在区域内,则遍历该区域下所有的poi,使用点是否多边形在多边形内算法判断。参考资料https://blog.csdn.net/Nick_php/article/details/52319662https://www.jianshu.com/p/1ecf03293b9ahttps://halfrost.com/go_spatial_search/本文到此结束,希望对大家有所帮助呢。
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |