我正在尝试在边界框内创建随机纬度/经度。下面的代码创建了纬度/经度,它们在地图上绘制......虽然它们在正确的国家,但它们不在正确的“盒子”中
我的边界框如下所示:
top_left = 51.514881121099904, -0.1293877362387679
bottom_right = 51.492151803709525, -0.09693947143827275
minLat = 51.514881121099904
maxLat = 51.492151803709525
minLng = -0.09693947143827275
maxLng = -0.1293877362387679
我的代码如下所示:
markers = []
10.times do
x = minLat + rand(maxLat - minLat)
y = minLng + rand(maxLng - minLng)
latLng = [x,y]
markers << latLng
end
markers.each do |x|
puts "#{x[0]} , #{x[1]}"
end
但它没有输出正确的纬度/经度。有什么我做错了吗?我看错了吗?
例如一次运行输出:
51.51778835694538 , 0.8479098023328967
51.56834519895925 , 0.70003581382595
52.47933844269927 , 0.6167209565236026
51.52116824209034 , 0.8997051592766233
52.26830135905681 , 0.7514635122980192
52.143607260212896 , 0.21838042686322268
52.04649651836466 , 0.6683244476203801
52.057410769358576 , -0.08734906181439461
52.053408170846915 , 0.1600069328435182
51.8991829618331 , 0.3993135670912452
但显然 52.26830135905681 不在最小和最大纬度之间......所以我有点困惑
rand() 是否进行某种排序或四舍五入。它可以在这么大的花车上工作吗?