我正在使用
$lat=rand(0-pi()*1000000,pi()*1000000)/1000000;
$lon=rand(0-pi()*1000000,pi()*1000000)/1000000;
在地球上选择一个随机点(以弧度表示)然而这种方法导致点在民意测验附近靠近赤道附近,因为$ lon距离民意调查附近的距离较小,然后是赤道。
有关如何获得更好分发的任何想法?
答案 0 :(得分:1)
根据this article on Wolfram,你需要这样的东西:
$long = pi() - 2 * pi() * rand(0, 1000000) / 1000000;
$lat = pi() / 2 - acos(2 * rand(0, 1000000) / 1000000 - 1);