Расхождение в расстояниях, возвращаемых астропсией AltAzPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Расхождение в расстояниях, возвращаемых астропсией AltAz

Сообщение Anonymous »

Я пишу код, определяющий местоположение самолета относительно наблюдателя, находящегося на земле, и получил несоответствие между расстоянием, рассчитанным непосредственно из геоцентрических декартовых координат наблюдателя и самолета, и расстоянием, возвращаемым AltAz в астрономии. Следующий минимально воспроизводимый код иллюстрирует проблему с самолетом на высоте 1000 м над наблюдателем.

Код: Выделить всё

#Problem calculating distance to object in the sky
#worse when close to observer. Negligible if distance > 100 km
from astropy.time import Time
from astropy import units as u
from astropy.coordinates import EarthLocation, AltAz
obs_lon = 0*u.deg
obs_lat = 0*u.deg
obs_alt = 0*u.m
aircraft_lon = 0*u.deg
aircraft_lat = 0*u.deg
aircraft_alt = 1000*u.m
obs_time = Time ('2000-01-01T00:00:00.000')
obs_location = EarthLocation.from_geodetic (obs_lon,obs_lat, obs_alt)
aircraft_location = EarthLocation.from_geodetic(aircraft_lon, aircraft_lat, \
aircraft_alt)
aircraft_altaz = aircraft_location.get_gcrs(obstime=obs_time). \
transform_to(AltAz(location=obs_location, obstime=obs_time))
dist = ((aircraft_location.x - obs_location.x)**2 + \
(aircraft_location.y - obs_location.y)**2 + \
(aircraft_location.z - obs_location.z)**2)**0.5
print("distance calculated from xyz", dist) # this gives 1000 m, as expected
print("distance returned from AltAz", aircraft_altaz.distance) # 1189.4 m ?

Я ожидал получить похожие результаты, но они совершенно разные. Разница больше для близких объектов по сравнению с удаленными. Это также сильно зависит от времени (особенно времени суток, а не даты, поэтому проблема выглядит связанной с вращением Земли). Зависимость от широты кажется весьма небольшой. Замена gcrs на itrs приводит к такому же поведению.

Подробнее здесь: https://stackoverflow.com/questions/790 ... ropy-altaz
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»