Je suis en train de créer LNGS Lat/aléatoire à l'intérieur d'un cadre de sélection. Le code ci-dessous crée Lat/LNGS et ils complotent sur la carte ... et alors qu'ils sont dans le bon pays, ils ne sont pas dans le droit « boîte »Créer un ensemble aléatoire de LatLng dans un BoundingBox
ma boîte englobante ressemble à ceci:
top_left = 51.514881121099904, -0.1293877362387679
bottom_right = 51.492151803709525, -0.09693947143827275
minLat = 51.514881121099904
maxLat = 51.492151803709525
minLng = -0.09693947143827275
maxLng = -0.1293877362387679
Mon code ressemble à ceci:
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
Mais ce ne est pas sortie le droit lat/LNGS. Y a-t-il quelque chose que je fais de mal? Est-ce que je regarde cela de la mauvaise façon?
Par exemple, une des sorties d'exécution:
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
Mais clairement 52.26830135905681 n'est pas entre min et max lat ... donc je suis un peu confus
Est-ce que rand() faire une sorte ou d'arrondi en haut Peut-il fonctionner sur de tels flotteurs?
cela fonctionne très bien pour moi. –
hmmm ... quand je les tracer sur une carte, ils ont tort –