gpt4 book ai didi

mysql - 计算mysql中哪些点(纬度,经度)在一定距离内?

转载 作者:可可西里 更新时间:2023-11-01 08:37:19 27 4
gpt4 key购买 nike

有两个点 A、B,距离为 x(距 A 英里)和 y(距 B 英里)。设从 A 到 B 的距离为 N。因此,A 与 B 相距 N 英里。我该如何解决问题:距 A (N + x + y) 英里的可用点有哪些?我不确定如何更好地解释这一点。我真的不知道如何解决这个问题,我读了 Fastest Way to Find Distance Between Two Lat/Long Points并且我相信给出的解决方案计算了两点之间的距离,并且不知道该解决方案是否可以用于解决我的问题,或者如果可以,如何解决。

最佳答案

如果您正在寻找近似算法,我建议寻找 k-means 算法或层次聚类,尤其是怪物曲线或空间填充曲线。首先,您可以计算图形的最小生成树,然后删除最长和最昂贵的边。然后这棵树会生成许多小树,您可以使用 k-means 来计算点组,即簇。

“单链接k聚类算法……恰恰是Kruskal的算法……相当于找到一个MST并删除k-1个最昂贵的边。”参见此处的示例:https://stats.stackexchange.com/questions/1475/visualization-software-for-clustering .

关于怪物曲线的一个很好的例子是希尔伯特曲线。这条曲线的基本形式是一个 U 形,通过将许多曲线复制在一起并旋转它,曲线填充欧几里德空间。令人惊讶的是,格雷码可以帮助找出这个 U 形的方向。可以查一下Nick的空间索引四叉树希尔伯特曲线blog article about more details .为了计算曲线的索引,您可以像在 bing map 中那样组合一个四元键。四键对于每个坐标都是唯一的,它可以用于正常的字符串操作。键中的每个位置都是 U 形曲线的一部分,因此您可以从四键从左到右部分选择该区域的点。

在此图像中,您可以看到使用希尔伯特曲线找到的绿色多边形:

enter image description here

你可以在这里找到我的 php 类:http://www.phpclasses.org/package/6202-PHP-Generate-points-of-an-Hilbert-curve.html

关于mysql - 计算mysql中哪些点(纬度,经度)在一定距离内?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8753562/

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