gpt4 book ai didi

JavaScript函数最近的地理邻居

转载 作者:行者123 更新时间:2023-11-30 13:02:44 24 4
gpt4 key购买 nike

我正在寻找一个返回数字最近邻的 JavaScript 函数。例如:我有一个坐标 12,323432/12,234223,我想知道数据库中一组 20 个其他坐标中最近的坐标。怎么处理?

最佳答案

以下 3 个函数使用 Haversine 从 javascript 数组中找到最近的坐标公式。

function toRad(Value) {
/** Converts numeric degrees to radians */
return Value * Math.PI / 180;
}

function haversine(lat1,lat2,lng1,lng2){
rad = 6372.8; // for km Use 3961 for miles
deltaLat = toRad(lat2-lat1);
deltaLng = toRad(lng2-lng1);
lat1 = toRad(lat1);
lat2 = toRad(lat2);
a = Math.sin(deltaLat/2) * Math.sin(deltaLat/2) + Math.sin(deltaLng/2) * Math.sin(deltaLng/2) * Math.cos(lat1) * Math.cos(lat2);
c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
return rad * c;
}
function calculate(){
var result = haversine(lat1,coordArray [0][0],lng1,coordArray [0][1]);
for (var i=1;i<coordArray.length;i++){
var ans = haversine(lat1,coordArray [i][0],lng1,coordArray [i][1]);
if (ans < result){//nearest
result = ans;
}
}
document.write("Result " +result);
}

关于JavaScript函数最近的地理邻居,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16774935/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com