Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def generate_points lat, lon, radius
- return [] unless lon && lat && GeoPolygon.is_lonlat_inside_mkad(lon, lat)
- points = []
- 10.times do |i|
- point = random_point(lat, lon, radius)
- point["id"] = i
- points << point
- end
- points
- end
- def random_point(lat, lon, rad)
- a = 2 * Math::PI * rand
- r = rad * Math.sqrt(rand) * 180 / (6371.01 * Math::PI)
- dx = r * Math.cos(a)
- dy = r * Math.sin(a)
- {
- lon: lon + dx,
- lat: lat + dy,
- }
- end
Add Comment
Please, Sign In to add comment