gpt4 book ai didi

javascript - 在 map 上将纬度/经度坐标数组组合在一起

转载 作者:行者123 更新时间:2023-11-29 14:59:04 24 4
gpt4 key购买 nike

我正在尝试比较 map 的纬度/经度坐标数组,以查看是否有任何“集群”或组合在一起。我想删除靠得太近的那些,所以如果 map 上有 4-5 个堆叠在一起,它只会显示 1,直到你放大一点,然后它会再次重新计算所有这些.

我尝试将数组与其自身进行比较,但它似乎没有给出一致的结果。有没有人尝试过这样的事情?

JSON 示例:

[
{
Latitude = "44.033843";
Longitude = "-79.48865499999999";
},
{
Latitude = "44.033843";
Longitude = "-79.48865499999999";
}]

最佳答案

迭代节点,对于缩放级别,仅显示彼此之间超出设定距离的节点。半正弦公式很容易实现:这里的JS示例。

http://www.movable-type.co.uk/scripts/latlong.html

对于效率方面,您可能不想在每次迭代时针对临时列表计算整个列表,以便第一级整理一个简单的舍入工作(每个度数彼此相距约 60 英里)......从舍入开始放大到最接近的 5 度,然后是 1,然后是 10 度、100 度等。对这些列表进行排序并首先提取唯一的数组值 - 然后计算与结果列表的距离。

当然还有许多其他算法可以做到这一点 - 但在某些时候你必须计算距离。

关于javascript - 在 map 上将纬度/经度坐标数组组合在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12878784/

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