gpt4 book ai didi

java - 生成一个偏离两极的随机纬度

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:18:02 24 4
gpt4 key购买 nike

我正在使用以下代码随机导出均匀分布的纬度/经度

public static LatLng nextLatLng(){
return new LatLng((r.nextDouble() * -180.0)+ 90.0,
(r.nextDouble() * -360.0)+ 180.0);

我使用派生的纬度/经度来检索谷歌街景 View

streetView.setPosition (nextLatLng(), ONE_THOUSAND_KM_RADIUS);

我注意到我的结果中有很大一部分 (~10%) 将我带到了南极洲。我认为这是因为经度越靠近两极越短,并且南极洲的街景位置越少。

什么是倾斜随机 LatLng 生成器以减少生成南极点的好算法?

最佳答案

如果你想在地球表面统一选取随机点,你需要遵循Sphere Point Picking的规则。 .否则,您的 sample 将像您描述的那样“聚集”在两极附近。

double u = r.nextDouble();
double v = r.nextDouble();

double latitude = Math.toDegrees(Math.acos(u*2-1)) - 90;
double longitude = 360 * v - 180;

关于java - 生成一个偏离两极的随机纬度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32735998/

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