INNER CODE UNIT · Python
s
ATTron/astroz · bindings/python/astroz/__init__.py:133
c, s = np.cos(theta), np.sin(theta)
p = pos[:, sats]
x, y = p[..., 0].copy(), p[..., 1].copy()
p[..., 0] = c * x + s * y
p[..., 1] = c * y - s * x
if vel is not None:
v = vel[:, sats]
vx, vy = v[..., 0].copy(), v[..., 1].copy()
v[..., 0] = c * vx + s * vy + _EARTH_ROTATION_RATE * p[..., 1]
v[..., 1] = c * vy - s * vx - _EARTH_ROTATION_RATE * p[..., 0]
def _ecef_to_geodetic_into(pos, sats):
"""WGS84 ECEF km -> (lat deg, lon deg, alt km) in place; mirrors
WorldCoordinateSystem.ecefToGeodeticDeg (iterative, 10 rounds)."""
p = pos[:, sats]
x, y, z = p[..., 0].copy(), p[..., 1].copy(), p[..., 2].copy()
lon = np.arctan2(y, x)