说明:
- distance 函数用于计算两个经纬度之间的距离,采用的是Haversine公式。
- search_points_within_distance 函数用于搜索指定距离内的点,遍历所有点,计算每个点与中心点的距离,如果距离小于半径,则将该点添加到结果列表中。
- 示例数据中, points 为所有点的经纬度坐标, center 为中心点的经纬度坐标, radius 为半径距离。
- 调用 search_points_within_distance 函数进行搜索,并将结果保存到 result 中。
- 最后输出结果。
import java.util.ArrayList;
import java.util.List;
import java.lang.Math;
public class SearchPointsWithinDistance {
private static final double EARTH_RADIUS = 6371.0; // 地球半径,单位为千米
// 计算两个经纬度之间的距离
public static double distance(double lat1, double lng1, double lat2, double lng2) {
double radLat1 = Math.toRadians(lat1); // 将纬度转换为弧度
double radLat2 = Math.toRadians(lat2);
double radLng1 = Math.toRadians(lng1); // 将经度转换为弧度
double radLng2