案例分析7 共享单车数据定位

1. 共享单车GeoHash定位案例

单词:longitude经度),latitude维度

数据:

  1:单车信息数据,

触发事件         

访问的url                   

时间                         

用户的id                               

经度                  

维度                

省份                  

城市              

区(县)

2:北京市的poi位置信息.

经度

维度

Addr

Province

District

 

单车数据:+位置信息

 

 

需求需求和流程分析

根据单车信息数据(经纬度信息),确定单车位置

 

  使用GeoHash算法将poi中的数据转换成对应的geoHash值对应地理位置,

获取所有的单车数据的经纬度对应的地理位置,先从本地的地理仓库位置中获取数据,找到匹配的数据返回,如果没有数据,去官网地图获取数据,将数据存储在本地的地理位置库中

知识点:

json数据解析,HttpClient基本使用GeoHash原理和简单使用 字符串切割 子串 数据转换

String url = "http://gc.ditu.aliyun.com/regeocoding?l=" + latitude + "," + longitude + "&type=010";

 

GeoHash算法基本原理

GeoHash算法的步骤

下面以北海公园为例介绍GeoHash算法的计算步骤

 

2.1. 根据经纬度计算GeoHash二进制编码(逼近思想)

地球纬度区间是[-90,90], 北海公园的纬度是39.928167,可以通过下面算法对纬度39.928167进行逼近编码:

1)区间[-90,90]进行二分为[-90,0),[0,90],称为左右区间,可以确定39.928167属于右区间[0,90],给标记为1

2)接着将区间[0,90]进行二分为 [0,45),[45,90],可以确定39.928167属于左区间 [0,45),给标记为0

3)递归上述过程39.928167总是属于某个区间[a,b]。随着每次迭代区间[a,b]

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值