以前开发一个项目有这样一个需求,货主找附件的车,原来是通过使经纬度进行匹配的,
因为经纬度是2个字段,所以匹配起来性能比较低,有一个geohash算法可以将二维的经纬度匹配
转为一维的匹配,降低查询效率.详细了解请参见相关博文
背景
网上百度的geohash java版的代码发现计算并不准确
于是去maven库查询了一下发现有对应的jar包,而且写的比较详细。
对应pom文件
ch.hsr
geohash
1.0.10
简单使用例子import ch.hsr.geohash.GeoHash;
import com.lin.jedisFactory.JedisPoolUtil;
import redis.clients.jedis.Jedis;
import java.util.Set;
/**
* Created by Kevin on 2015/2/4.
*/
public class GeoHashTest {
public static void main(String[] args) {
/*假设货主的纬经度,南开区*/
double lat1 = 39.145609;
double lon1 = 117.154471;
/*假设司机1的纬经度,和平区*/
double lat2 = 39.122661;
double lon2 = 117.220299;
/*假设司机2的纬经度东丽*/
double lat3 = 39.093657;
double lon3 = 117.320047;