[R] random uniform sample of points on an ellipsoid (e.g. WG

Alberto Vieira Ferreira Monteiro albmont at centroin.com.br
Mon Feb 26 00:48:15 CET 2007


I guess this sample is required for some practical application, say a
simulation for something done over the Earth. Then, I also guess that
the sample does not have to be _absolutely_ exact, but a reasonable
approximation can do it. And the ellipsoid is a rotation ellipsoid.

This is my suggestion:

(1) Divide the Ellipsoid by latitudes in _n_ horizontal slices in such
a way that each slice can be considered "almost" spherical. Of course
here lies the problem: depending on the purpose of the simulation,
_n_ would be so big as to make it impractical

(2) Compute the area of each slice (there are formulas for that, whose
error is not very big - again, we rely on the purpose of the simulation)

(3) Chose a random slice based on weight = area

(4) Chose the random latitude by a uniform from the minimum to the
maximum latitude (a much better approximation would give
higher weight to the latitude closer to the equator)

(5) lon = 2 pi runif(1) # :-)

Now the question is: do you know the formulas to compute the area in (2)?
I know these formulas exist, I learned them in the last century, but I can't
remember them and I don't know how to find them.

Alberto Monteiro



More information about the R-help mailing list