Java 实现 Redis中的GEO数据结构
LBS (基于位置信息服务(Location-Based Service,LBS))应用访问的数据是和人
或物关联的一组经纬度信息,而且要能查询相邻的经纬度范围,GEO 就非常适合应用在
LBS 服务的场景中
import java.util.ArrayList;
import java.util.List;
// 定义一个表示地理位置的类,用于存储地理位置的相关信息
public class GeoLocation {
// 成员名称,用于标识这个地理位置,比如某个地点的名称
private String member;
// 地理位置的经度
private double longitude;
// 地理位置的纬度
private double latitude;
// 构造函数,用于初始化 GeoLocation 对象
// 参数 member 为成员名称,longitude 为经度,latitude 为纬度
public GeoLocation(String member, double longitude, double latitude) {
this.member = member;
this.longitude = longitude;
this.latitude = latitude;
}
// 获取成员名称的方法
public String getMember() {
return member;
}
// 获取经度的方法
public double getLongitude() {
return longitude;
}
// 获取纬度的方法
public double getLatitude() {
return latitude;
}
}
// 定义一个用于计算两个地理位置之间距离的工具类