<p>A way to do this is to first find the xyz in ECEF of the point on the ground (a transform for a spherical Earth is just the spherical to xyz coordinates transform from most physics text books where lat = 90-theta and lon = phi and r = radius of Earth).  Then, find the satellite slant range (which depends only on the elevation angle and the altitude of the satellite).  Then compute the unit vector toward the satellite in local ENU (east, north, up) coordinates (use Gram Schmidt to find local E and local N given U is the local point and the north pole is (0,0,1). Now, reuse your spherical transform to change az and el into local ENU.  That part is a little weird, but if you think about it, the local horizon elevation is just like the theta of a spherical system, and az is phi (U corresponds to elevation = 90deg).  Finally, compute the same unit vector in xyz (multiply each component by your ENU unit vectors and add the terms), and then "walk along that vector" by the slant path range.  You will now have the xyz of the satellite.  Finally, from the xyz of the satellite compute the lat and lon (and as a check, you should get back your same altitude).</p>

CC BY-SA 3.0
2017-11-09T06:02:47.337Z
2017-11-09T06:02:47.337Z
Chris
<p>Given an Earth station (antenna) coordinates (in lat,long) ant its Elevation (El) and Azimuth (Az), how to compute the satellite coordinates (lat,long), known its height?</p>

<p>For simplification purposes, the Earth can be considered as an sphere.</p>

<p>So its given:</p>

<pre><code>Earth Radius = 6371000 meters
Satellite Height, in meters (perpendicular to the Earth's)

Station lat, long (as parameters)
Station height (0 = Zero, for simplification purposes)
Station Elevation (angle, radius or degrees)
Station Azimuth (angle, radius or degrees)
</code></pre>

<p>In summary: I'm trying to calculate satellite's coordinates projected on celestial sphere. I.e. it's current ground track position from the horizontal coordinate system values and the position of the observation.</p>

<p>The problem can be shown in this two figures: 
<img src="https://i.sstatic.net/VdpRP.jpg" alt="Earth&#39;s Sphere">
<img src="https://i.sstatic.net/4mYYd.jpg" alt="Antenna&#39;s Horizon Schema"></p>

CC BY-SA 3.0
2014-10-23T15:24:44.393Z
If I try to use kepler's Law, I get some strange results, due the quadrant changing in some situations...
Etore Marcari Jr.
CC BY-SA 3.0
2014-11-03T16:50:08.933Z
No. Its Latitude and Longitude. I have the altitude (given by the satellite spce) and azimuth (from Antenna)
Etore Marcari Jr.
CC BY-SA 3.0
2014-11-03T16:53:46.100Z
It is what I'm looking for.
Etore Marcari Jr.
<orbit>
How to compute satellite coordinates (lat,long) given antenna's coordinates, angles and satellite height
Etore Marcari Jr.
# How to compute satellite coordinates (lat,long) given antenna's coordinates, angles and satellite height

(Asked by: username_0 on 2014-10-22)

Given an Earth station (antenna) coordinates (in lat,long) ant its Elevation (El) and Azimuth (Az), how to compute the satellite coordinates (lat,long), known its height?
For simplification purposes, the Earth can be considered as an sphere.
So its given:
Earth Radius = 6371000 meters
Satellite Height, in meters (perpendicular to the Earth's)

Station lat, long (as parameters)
Station height (0 = Zero, for simplification purposes)
Station Elevation (angle, radius or degrees)
Station Azimuth (angle, radius or degrees)

In summary: I'm trying to calculate satellite's coordinates projected on celestial sphere. I.e. it's current ground track position from the horizontal coordinate system values and the position of the observation.
The problem can be shown in this two figures:

**Tags:** orbit

> **Comments:**
> **username_0**: If I try to use kepler's Law, I get some strange results, due the quadrant changing in some situations...  
> **username_0**: No. Its Latitude and Longitude. I have the altitude (given by the satellite spce) and azimuth (from Antenna)  
> **username_0**: It is what I'm looking for.  

---

## 1 answers

### Answer by username_1 on 2017-11-09. Score: 6 | Accepted answer

A way to do this is to first find the xyz in ECEF of the point on the ground (a transform for a spherical Earth is just the spherical to xyz coordinates transform from most physics text books where lat = 90-theta and lon = phi and r = radius of Earth). Then, find the satellite slant range (which depends only on the elevation angle and the altitude of the satellite). Then compute the unit vector toward the satellite in local ENU (east, north, up) coordinates (use Gram Schmidt to find local E and local N given U is the local point and the north pole is (0,0,1). Now, reuse your spherical transform to change az and el into local ENU. That part is a little weird, but if you think about it, the local horizon elevation is just like the theta of a spherical system, and az is phi (U corresponds to elevation = 90deg). Finally, compute the same unit vector in xyz (multiply each component by your ENU unit vectors and add the terms), and then "walk along that vector" by the slant path range. You will now have the xyz of the satellite. Finally, from the xyz of the satellite compute the lat and lon (and as a check, you should get back your same altitude).


---

