如何识别具有LAT、LONG 坐标格式的点是否靠近其他点。
假设我想找到靠近的所有点:
-38.9086621,-68.082214
距离不到 1 公里。我已经知道如何在给定象限中找到坐标,但不知道如何在点附近找到象限。
最佳答案
您可以使用半正弦公式来计算两个给定坐标之间的距离。计算出的距离是给定坐标(直线)之间的直接连接。
JavaScript 示例 (Source):
var R = 6371e3; // meters
var lat1Radians = lat1.toRadians();
var lat2Radians = lat2.toRadians();
var deltaLat = (lat2-lat1).toRadians();
var deltaLon = (lon2-lon1).toRadians();
var a = Math.sin(deltaLat/2) * Math.sin(deltaLat/2) +
Math.cos(lat1Radians) * Math.cos(lat2Radians) *
Math.sin(deltaLon/2) * Math.sin(deltaLon/2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
var d = R * c;
关于javascript - 如何找到距给定坐标最近的点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37798621/