繁体   English   中英

PHP / Mysql Radius在xy坐标之间搜索

[英]PHP/Mysql Radius search between x y coordinates

我已经得到一个人的(荷兰语)xy坐标和来自数据库中不同位置的xy坐标,例如:

x = 158322
y = 460782

现在,我想找到一个人周围15公里半径内的所有位置。 找到这个的最佳方法是什么,您可以举个例子吗?

根据您拥有的数据量,您需要计算固定点与数据集中每个点之间的距离。 如果数据集很大,则可以先获取15公里边界框中的所有点,然后计算匹配点的距离。

要计算php中的距离,您可以执行以下操作:

$distance = sqrt(($x-$x2)^2+($y-$y2)^2 // = pythagoras a^2+b^2=c^2

当然,这是假设地球是平坦的。 如果您需要补偿地球的曲率,请在Google中搜索“计算两个坐标之间的距离”。

如果我没记错的话,您提到的“荷兰坐标”以米为单位,因此,获取15km的边界框应该像x +/- 15000y +/- 15000一样简单

顺便说一句,mysql具有sqrt功能,因此从技术上讲,您可以在mysql中完成所有这些操作。

另外,如果您需要将Rijksdriehoekscoördinaten转换为GPS坐标的代码,请告诉我;)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM