Use the scroll wheel to zoom. Control+scroll wheel to pan between observer and satellite location. Click and drag or swipe to rotate the view. The input fields accept all common formats of geographic coordinates and angles.
You can enter either observer azimuth and elevations to calculate the satellite position and altitude, or you can enter the globe satellite position and altitude to calculte the obser azimuth and elevations that point to this satellite position. Because on the Flat Earth satellites do not exist, there is no way to enter a Flat Earth satellite position.
Click on green Himawari 8 button to fill in the mean position and altitude of the Himawari 8 satellite. Note: The real position does vary some km due to an orbit inclination of 0.03° and a small excentricity.
Two observers located far enough away observe the same geostationary satellite. They both see the same satellite in different directions. The directions can be measured as a horizontal angle in clockwise direction from due north, called azimuth, and a vertical angle measured from the horizon upwards, called elevation.
Using math as described below we can calculate where in space the 2 lines of sight meet. This is the location of the satellite. Because the surface of the globe model is spherical and the surface of the flat earth model is flat, the same measured lines of sight will meet at different locations. We can check the calculated locations with the published data to see which model is correct.
But what if the published data is fake? We can check this too:
The 2 lines of sight never exactly meet each other due to inaccuracies in the measurements. But it is expected that the closest separation LineSeparation of the lines of sight on the correct model is very small and on the wrong model big.
The preset values in the calculator and the animation are from 2 observers located in Sydney and Perth, both observing the geostationary satellite Himawari 8, see Video Bursting more Flat Earth balloons with real telescope observations by Wolfie6020.
Their location and line of sights are as follows:
| Observer Sydney | Observer Perth | |
|---|---|---|
| Latitude | S 33°52'04.30" | S 31°57'08.10" |
| Longitude | E 151°12'26.40" | E 115°51'41.00" |
| Azimuth | 341°32'42.80" | 41°09'35.40" |
| Elevation | 49°03'19.80" | 44°09'35.00" |
The calculated Satellite locations, distances and line of sight separation for Globe and Flat Earth are:
| Globe Model | Flat Earth Model | Reality | |
|---|---|---|---|
| Satellite Latitude | S 0°01'01.54" | N 4°32'48.22" | ~ 0° [note 1] |
| Satellite Longitude | E 140°40'36.53" | E 141°02'06.80" | ~ E 140°42' [note 2] |
| Satellite Altitude | 35,805.195 km | 5862.5577 km | 35,791...35,795 km [note 2] |
| Line of Sight Separation | 0.00014975 km | 668.07827 km | 0 km |
| Distance 1 | 37,156.736 km | 7524.4967 km | 37,133 km [note 3] |
| Distance 2 | 37,489.385 km | 8672.1186 km | 37,467 km [note 3] |
[1] Latitude varies slightly due to a small inclination of 0.03°
[2] Source Wikipedia, varies slightly due to inclination and excentricity
[3] Data from SkySafari 6 Pro, see Video
As we can see, the line of sights on the Globe Model meet with a separation of only 15 cm, while the line of sights on the flat earth are nowhere closer than 668 km. This indicates that the Flat Earth model is wrong and the Globe model is right.
The calculated altitude on the Globe model is very close to the altitude published for the Himawari 8 satellite of 35,791...35,795 km (source Wikipedia). The difference is only 0.034%.
The deviations are due to not taking into account the elliptical shape of the earth, ignoring the observer elevations and small orbit variations (inclination, excentricity).
On the Globe model, the altitude of a satellite in geostationary orbit depends on the gravitation and rotation period of the earth. It can be calculated as follows:
| (1) | ||||||||||||||||
| where' |
|
This matches exactly the published values and is very close to the calculations from the observations for the Globe model.
The Flat Earth model has not even any theory for how satellites could orbit the earth. Some Flat Earthers claim, satellites are balloons. But there are no balloons that can reach an altitude of 5863 km and stay at exactly the same position forever. Space starts at the Kármán line at 100 km altitude. So even on the Flat Earth model the observed satellite must be in space, which according to Flat Earthers does not exist!?
Now lets see how the calculations are done:
We have given the locations of 2 observers in latitude and longitude and the azimuth and elevation angles they observe the satellite.
Azimuth is the horizontal angle measured from local north in a clockwise direction. An azimuth angle of 90° points due east. Elevation is the vertical angle measured from the local eye level up. An elevation angle of 90° points vertically up.
The position of the satellite is the intersection of the line of sights of the 2 observers. So we have to calculate the line of sights in an earth centered earth fixed (ECEF) cartesian coordinate system for the globe and in a cartesian flat earth coordinate system (FE).
Because the azimuth and elevation angle is measured with respect to a local coordinate system, that depends on the latitude and longitude of the observers, we have to calculate this local coordinate systems with respect to the global coordinate systems ECEF and FE. We can use vector geometry to accomplish this.
Using the latitude and longitude angle and the radius of the earth we can use trigonometry to calculate the vector from the center of the earth to the location on the surface of the earth in ECEF cartesian coordinates. This vectors are the positions P1 and P2 of the observers transformed from lat/long into the ECEF coordinate system.
I approximate the earth by a perfect sphere for all calculations. To get more accurate results I would have to use the more complicated ellipsoid equations. But since the orbit does vary slighly due to a small inclination angle of 0.03° and a small excentricity, the approximation is good enough.
Note: Coordinate system transformations like the following do not change the 3D positions and vectors. Coordinate system transformation only express the same vectors with respect to another reference system. So the coordinates of the vectors change, e.g. from (latitude, longitude, elevation) to (x,y,z). But the lengths of the vectors and the distances between vectors or positions are maintained. This is not the case for Projections, i.e. from the globe to the flat earth. That's why all flat earth map distances are wrong.
Coordinate system transformation from latitude/longitude to ECEF cartesian globe coordinates:
| (2) | ||||||||||||||||
| where' |
|
Note: Letters in boldface denote vector quantities, like P with its 3 components (Px, Py, Pz).
Using the latitude and longitude angle and the radius of the flat earth π·R we can use trigonometry to calculate the vectors pointing from the north pole to the observer locations on the surface of the flat earth in FE cartesian coordinates.
Note: because the (latitude, longitude, elevation) vectors are measured on the globe model, the following calculation is NOT a coordinate system transformation, but a Projection. It changes the lengths of vectors and the distances between vectors and positions. A coordinate system transormation would not project the globe surface locations onto the flat earth surface, as flat earther unconsciously do when they simply interpret globe coordinates as flat earth coordinates.
But we want to see what happens if we simply interpret the globe latitude and longitude coordinates of observers as flat earth latitudes and longitudes. This is technically a Projection transformation. We want to see whether measurements done in reality give consistent results in both models or if one model fails.
Coordinate transformation (projection) from latitude/longitude to cartesian flat earth (FE) coordinates:
| (3) | ||||||||||||||||
| where' |
|
The local ENU (east/north/up) coordinate system consists of 3 unit vectors that are perpendicular to each other and build a so called right hand rule system. Unit vectors are vectors with a length of 1. Three mutually perpendicular vectors can have 2 different permutations. We distinguish between right hand and left hand rule permutations.
To calculate the ENU vectors, we can use the cross product n = a ⨯ b. The cross product (⨯) of 2 vectors a and b creates a new vector n that is perpendicular to both vectors. There are 2 possible directions which are perpendicular to 2 vectors. The order the 2 vectors are multiplied defines the direction of the new vector. You start at the first vector a and turn it into the second vector b, like you turn a screw. The direction this screw would move is the direction the new vector n is pointing. Its length is the product of the lengths of each vector times the sine of the angle between the vectors. See Cross product in Wikipedia how this is calculated.
For further calculations with the ENU vectors, we have to ensure that their length is 1. This can be achieved using the norm function. This function calculates the length of the vector using Pythagoras and divides each component by this length.
| (4) | |||||||||||||
| (5) | |||||||||||||
| where' |
|
The hat symbol above letters like
With the 2 vector functions (⨯) and norm, we can calculate the ENU vectors for the globe as follows:
Calculation of the east/north/up base vectors of the local coordinate system at P in ECEF globe coordinates:
| (6) | ||||||||||||||||
| (7) | ||||||||||||||||
| (8) | ||||||||||||||||
| with | ||||||||||||||||
| where' |
|
Note: The local up vector
If the observer is at the north or south pole, the north and east vectors are undefined. I choose north to point in the direction of the longitude line, defined by the longitude value of point P.
The calculation of the local ENU coordinate system on the flat earth uses the same operations, but is slightly different than for the globe earth.
Calculation of the east/north/up base vectors of the local coordinate system at P in FE coordinates:
| (9) | |||||||||||||
| (10) | |||||||||||||
| (11) | |||||||||||||
| where' |
|
Note: The up vector on the flat earth is simply pointing upwards in the z-direction of the FE coordinate system. The north vector points in the opposite direction as the position vector of the observer.
If the observer is at the north pole, the north and east vectors are undefined. I choose north to point in the direction of the longitude line, defined by the longitude value of point P.
Calculating the direction of line of sight from azimuth and elevation, using the local ENU coordinate system, is the same for globe and flat earth. The calculation simply uses the ENU coordinate system calculated for one or the other model.
The first step is transforming the angles into local coordinates. This is almost the same as the transformation of latitude/longitude into cartesian ECEF coordinates, but using azimut/elevation instead.
Calculation of the line of sight direction in local ENU coordinates:
| (12) | |||||||
| (13) | |||||||
| (14) | |||||||
| where' |
|
In the next step we transform the line of sight components from the local ENU coordinate system into the global ECEF or FE coordinate system by using the ENU base vectors.
Transforming the line of sight vectors into global coordinates using the ENU base vectors:
| (15) | ||||||||||
| where' |
|
Now we have the line of sights defined by the observer positions and line of sight directions in global EFEC or FE cartesian coordinates. Next we have to find the location of the closest distance between the two line of sights.
Two line of sights L1 and L2 will never meet at exactly one point. So we have to figure out a method to calculate the point on each line with the smallest distance between them. Luckily this can easily be calculated using vector geometry.
The principle is the following: The connection line between the points T and S, which has the shortest possible length, is a line that is perpendicular to both lines L1 and L2. The connection between any other 2 points on the lines is longer.
If we look along the direction of the connection line TS onto the line of sights L1 and L2, we look perpendicular to the plane A in the figure below, see Top View.
The plane A is defined by the 2 direction vectors
| (16) | |||||||||||||||||||
| (17) | |||||||||||||||||||
| (18) | |||||||||||||||||||
| where' |
|
The shortest distance d between the lines L1 and L2 is the vector r from point P to point Q projected onto the perpendicular axis
A vector can be projected onto an axis that is given by a unit vector using the Dot product of the 2 vectors. The dot product, also called the scalar product, is denoted by a dot. If both arguments left and right of the dot are vectors, then the dot is the dot product operator. If one or both arguments are a real number, then the dot is the multiplication operator. The result of the dot product is a scalar. In the following equation the dot represents the dot product operator:
| (19) | |||||||||||||
| where' |
|
Note: The dot product can result in positive and negative numbers. In the calculation of position T we have to use the value as it results from the equation above. But the distance is simply the absolute value of d.
Now we need the locations of the points S and T to calculate the location of the satellite. The satellite location is the point between S and T.
To find S we project line L2 onto the plane along the perpendicular
We get the point R by projecting the coordinates of the vector PQ onto the axes defined by the unit vectors
So we get the local plane coordinates of the line of sights as follows (apostrophes denote 2D vectors):
| (20) | ||||||||||||||||
| (21) | ||||||||||||||||
| where' |
|
To calculate the intersection point S in plane coordinates we formulate the line equations for L1 and L3 in the plane coordinate system:
| (22) | |
| (23) |
We need the point on the plane that fulfills both equations at the same time. To calculate this point we simply have to equate the above equations. This gives 2 very simple equations for the unknowns a and b.
| (24) |
Solving for b using the second line and then inserting b in the first line gives the value for a.
| (25) |
a is the distance of the intersection point S from the point P along the axis
| (26) |
Because we used the vectors of the 3D world coordinate systems in the equation above, we have the point S as the 3D point in the ECEF or FE coordinate system.
We have now all necessary vectors to calculate the second point T:
| (27) |
The satellite position Sat lies between the points S and T, which can be calculated like the mean value of 2 values:
| (28) |
Calculating the distance between any points is trivial. Simply subtract the point vectors and calculate the length of the resulting vector using Pythagoras as shown in (5).
Finally we can transform the satellite position back into latitude, longitude and altitude separate for flat earth and globe, which I can provide later or can be found in the source code.