我如何计算距离中心 10 或 20 公里半径内的纬度和经度

how i can count lat and lon in radius ten or twenty kilometres from center

我需要计算距离中心 10 公里和 20 公里半径内的随机纬度和经度,我有哪些电线。

例如:

    location_center = {
            "lat": 5.0123,
            "lon": 40.712
}

半径 10 公里内的随机线:

    location_center = {
        "lat": 6.246,
        "lon": 45.678

}

半径 20 公里内的随机线:

    location_center = {
        "lat": 7.368,
        "lon": 50.678

}

我怎么算?

将不胜感激。

在 0..2*Pi 范围内生成随机角度

使用 this page 中的 Destination point given distance and bearing from start point 部分,计算所需距离 d 公里处的点(地球半径 R=6378.13 km

brng = random() * 2 * Math.pi
lat2 = Math.asin( Math.sin(lat1)*Math.cos(d/R) +
                  Math.cos(lat1)*Math.sin(d/R)*Math.cos(brng) );
lon2 = lon1 + Math.atan2(Math.sin(brng)*Math.sin(d/R)*Math.cos(lat1),
                        Math.cos(d/R)-Math.sin(lat1)*Math.sin(lat2));