我在用
$lat=rand(0-pi()*1000000,pi()*1000000)/1000000;
$lon=rand(0-pi()*1000000,pi()*1000000)/1000000;
在地球上随机选取一个点(以弧度为单位),但是这种方法会导致点在靠近投票点的地方比在赤道附近更近,因为1度的$lon距离在靠近投票点的地方比在赤道的地方要小。
关于如何获得更好的分销有什么想法吗?
最佳答案
基于this article on Wolfram你需要这样的东西:
$long = pi() - 2 * pi() * rand(0, 1000000) / 1000000;
$lat = pi() / 2 - acos(2 * rand(0, 1000000) / 1000000 - 1);
关于php - 挑选地球上随机点的更好方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34359902/