网站建设难做吗太原做推广营销
1.梳理、总结经纬度处理在Maxcompute平台上的实战应用,如geohash转经纬度,经纬度转geohash,计算geohash九宫格等。
2.欢迎批评指正,跪谢一键三连!
文章目录
- 1.部署代码
1.部署代码
- 部署至
Maxcompute(ODPS)-DataWorks
平台,去掉代码注释即可#coding:utf-8 # from odps.udf import annotate# @annotate("string->string") class geohash_to_lnglat(object):def evaluate(self,geohash):'''function: geohash转成经纬度input: geohashparams: geohash: geohash stringoutput: 'lng,lat': 经纬度字符串 string'''__base32='0123456789bcdefghjkmnpqrstuvwxyz'__decodemap={}for i in range(len(__base32)):__decodemap[__base32[i]]=ilat_interval, lon_interval=(-90.0, 90.0),(-180.0, 180.0)lat_err, lon_err= 90.0, 180.0is_even=Truefor c in geohash:cd= __decodemap[c]for mask in [16,8,4,2,1]:if is_even:lon_err /=2if cd&mask:lon_interval=((lon_interval[0]+lon_interval[1])/2,lon_interval[1])else:lon_interval=(lon_interval[0],(lon_interval[0]+lon_interval[1]