Randomly samples longitude and latitude on earth so that equal areas are (approximately) equally likely to be sampled. (Approximation assumes earth as a perfect sphere.)
a data frame with variables long and lat. If verbose is
TRUE, then x, y, and z coordinates are also included in the data frame.
rgeo and rgeo2 differ in the algorithms used to generate random positions.
Each assumes a spherical globe. rgeo uses that fact that each of the x, y and z
coordinates is uniformly distributed (but not independent of each other). Furthermore, the
angle about the z-axis is uniformly distributed and independent of z. This provides
a straightforward way to generate Euclidean coordinates using runif. These are then
translated into latitude and longitude.
rlatlon is an alias for rgeo and
rlonlat is too, expect that it reverses the
order in which the latitude and longitude values are
returned.
rgeo2 samples points in a cube by independently sampling each coordinate. It then
discards any point outside the sphere contained in the cube and projects the non-discarded points
to the sphere. This method must oversample to allow for the discarded points.
deg2rad(), googleMap() and latlon2xyz().
rgeo(4)
#> lat lon
#> 1 -26.753299 4.880432
#> 2 -64.369786 51.715726
#> 3 18.181790 -66.721506
#> 4 -6.281018 -103.974445
# sample from a region that contains the continental US
rgeo(4, latlim = c(25,50), lonlim = c(-65, -125))
#> lat lon
#> 1 27.27968 -117.01791
#> 2 48.57241 -80.02287
#> 3 34.33344 -89.51643
#> 4 34.95282 -110.67493
rgeo2(4)
#> lat lon
#> 1 9.714323 -88.59965
#> 2 27.981377 167.53559
#> 3 -64.222853 32.77816
#> 4 40.528947 124.11740