GeoHash算法的c实现
来源:互联网 发布:逻辑回归算法 编辑:程序博客网 时间:2024/05/22 18:24
char *GeoHash::geohash(double lng, double lat, char *buf, int bits){ uint64_t lngLatBits = 0; double lngMin = -180; double lngMax = 180; double latMin = -90; double latMax = 90; for(int i=0; i<bits; ++i) { lngLatBits<<=1; double lngMid = (lngMax + lngMin)/2; if(lng > lngMid) { lngLatBits += 1; lngMin = lngMid; } else { lngMax = lngMid; } lngLatBits <<=1; double latMid = (latMax + latMin)/2; if(lat > latMid) { lngLatBits += 1; latMin = latMid; } else { latMax = latMid; } } static char base32encode[] = "0123456789bcdefghjkmnpqrstuvwxyz"; // 11010 10010 10010 10010 10101 11011 00100 11000 // a b c 1 2 x 2 3 \0 int i; for(i=0;i <8; ++i) { uint32_t index = lngLatBits >> (35-i*5); index &= 31; buf[i] = base32encode[index]; } buf[i] = 0; return buf;}
阅读全文
0 0
- GeoHash算法的c实现
- erlang 实现geohash算法
- geohash实现(c语言)
- geohash算法,实现快速查找附近的点
- 图解GeoHash算法--MongoDB 地理位置索引的实现原理
- geohash算法原理及实现方式 1、geohash特点
- geohash算法原理及实现方式
- geohash算法原理及实现方式
- geohash算法原理及实现方式
- geohash算法原理及实现方式
- geohash 算法原理及实现方式
- geohash算法原理及实现方式
- geohash算法原理及实现方式
- 查找附近网点geohash算法及实现
- geohash算法原理及实现方式
- geohash算法原理及实现方式
- geohash算法原理及实现方式
- geohash算法原理及实现方式
- Java之对象赋值引用
- 循环左移
- FAST角点简介
- java开源项目
- LeetCode
- GeoHash算法的c实现
- is和==的区别
- 迭代器模式
- PHP常用的文件操作函数集锦
- python学习资料
- Java_基础—用LinkedList模拟栈数据结构的集合并测试
- python爬虫练习2
- 基于Qt的简易通用开发框架
- hdu1754-I Hate It 线段树RMQ算法求区间最值问题