在地球上选择随机点的更好方法

时间:2015-12-18 16:26:07

标签: php math geolocation

我正在使用

$lat=rand(0-pi()*1000000,pi()*1000000)/1000000;
$lon=rand(0-pi()*1000000,pi()*1000000)/1000000;

在地球上选择一个随机点(以弧度表示)然而这种方法导致点在民意测验附近靠近赤道附近,因为$ lon距离民意调查附近的距离较小,然后是赤道。

有关如何获得更好分发的任何想法?

1 个答案:

答案 0 :(得分:1)

根据this article on Wolfram,你需要这样的东西:

$long = pi() - 2 * pi() * rand(0, 1000000) / 1000000;
$lat = pi() / 2 - acos(2 * rand(0, 1000000) / 1000000 - 1);