工作需要,实现了一下Geo Hash算法。
尽量直接使用位操作,比网上常见的字符串判断位值得写法效率应该高一点。
TODO:循环的写法可以再优雅一点;注释可以再清晰一点。...private final static char[] DIGITS = {'0', '1', '2', '3', '4', '5', '6', '7', '8',
'9', 'b', 'c'...new HashMap();
/*
初始化编码映射内容
*/
static {
int i = 0;
for (char c...: DIGITS) {
LOOKUP.put(c, i++);
}
}
/**
* 构造函数,参数为hash编码长度,长度越长经度越高...* 经度的经度优先
*
* @param hashLength hash编码长度
*/
public GeoHash(int hashLength) {