Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spherical Approximation of Earth's Radius #34

Open
GoogleCodeExporter opened this issue May 28, 2015 · 3 comments
Open

Spherical Approximation of Earth's Radius #34

GoogleCodeExporter opened this issue May 28, 2015 · 3 comments

Comments

@GoogleCodeExporter
Copy link

`geomath.py` defines its spherical approximation of Earth's radius as 6378135 
meters (6378.135 km).

According to Wikipedia, the above radius is the actual equatorial radius of the 
Earth (per the WGS-84 ellipsoid model). 

It seem more appropriate for `geomath.distance()` to use an average radius 
value, since the above applies only at the equator, where it is a maximum 
value. The IUGG (according to Wikipedia) defines the mean radius of the earth 
as 6371.009 km. 

http://en.wikipedia.org/wiki/Earth_radius#Mean_radii

Therefore, I propose changing `geomath.py` to instead define:

`RADIUS = 6371009`

(However, there are several different ways to calculate "mean radius" of the 
Earth; I'm not 100% certain that this one is the "most correct" approximation 
for Great Circle calculations, but it is definitely "more correct" than the 
equatorial radius.)

Original issue reported on code.google.com by [email protected] on 7 Mar 2012 at 5:39

@GoogleCodeExporter
Copy link
Author

“6371” is the "surface area" radius, based on there being three radii 
boundaries:  Two equatorial, a_x and a_y, and the polar, b——one for each 
axis.  This gives an approximation of “(2*a + b)/3”.
However, for a “great circle” circumference approximation, the boundaries 
are the meridional circumference and equator.
For the meridional circumference, we will add a third, mean equatorial radius, 
a_m, (a_x*a_y)^.5, giving an approximate, mean meridional radius of Mr ≈ 
.5*(a_m + b).
The equatorial circumference——while considered spherical for Earth and 
other spheroids——can be elliptical and therefore requires its 
“approximation”:  a_e ≈ .5*(a_x + a_y).

Thus the great circle radius approximation is

   GCr ≈ .5*(Mr + a_e) = .5*(.5*(a_m + b) + .5*(a_x + a_y)),
                      = .25*(a_x + a_m + a_y + b),
                      = .25*(3*a + b);

Given the particular dynamics involved, squaring-rooting gives a closer 
approximation of the circumferences, with the “ellipsoidal quadratic mean” 
(or just “triaxial quadratic mean”), being the better choice:

   GCr ≈ Qr = (.25*(3*a^2 + b^2))^.5;

Both ways give an approximate GCr of 6372.8 km, which is about as precise as 
one can get for a universal value, given the variation in the different 
ellipsoid models of Earth and the different ways the circumferences can be 
differentiated.
There is a wiki article that gives a more in-depth analysis of the concept:

          http://math.wikia.com/wiki/Ellipsoidal_quadratic_mean_radius

Therefore, my suggested valuation for “geomath.py” is:  RADIUS = 6372800

Original comment by [email protected] on 7 Jun 2013 at 3:12

@GoogleCodeExporter
Copy link
Author

There's an error in the analysis in

http://math.wikia.com/wiki/Ellipsoidal_quadratic_mean_radius

(the way the vertex latitude was sampled was wrong).  When this is corrected 
the mean radius becomes R1 = (2*a + b)/3 the IUGG recommended value.  So I 
propose RADIUS = 6371009.

Original comment by [email protected] on 12 Jun 2013 at 9:49

@GoogleCodeExporter
Copy link
Author

You might also want to consider abandoning the spherical approximation and 
solving for the geodesic distance using

http://pypi.python.org/pypi/geographiclib

Original comment by [email protected] on 12 Jun 2013 at 10:20

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant