In AstroPy метод get_sun()
возвращает экваториальные координаты Солнца в виде объекта SkyCoord
в системе координат GCRS.Как я могу преобразовать эти координаты в топоцентрический кадр, чтобы получить топоцентрические экваториальные координаты Солнца?
Я посмотрел на метод transform_to()
, но этоне предлагает топоцентрическую структуру.Где-то в документах я видел это утверждение: «Классами фреймов, встроенными в астропию, являются ICRS, FK5, FK4, FK4NoETerms, Galactic и AltAz».Означает ли это, что для преобразования в топоцентрическую систему я должен был бы определить новый класс как подкласс класса BaseCoordinateFrame
?
РЕДАКТИРОВАТЬ: Математический фон можно увидетьнапример, здесь (ответ Дьедонне): https://astronomy.stackexchange.com/questions/19170/transformation-from-geocentric-coordinates-into-equatorial-coordinates
Я хотел бы знать, реализовано ли это уже в AstroPy как готовая к использованию функция?
РЕДАКТИРОВАТЬ 2: Мне кажется, что я должен получить желаемый результат, если я все еще сохраняю кадр GCRS, но меняю параметры obsgeoloc
и obsgeovel
со значений по умолчанию (0,0,0) на значения моей фактической позиции,Но как мне это сделать?
РЕДАКТИРОВАТЬ 3: Мне удалось изменить по крайней мере obsgeoloc
, но это не имеет значения, я получаю те же экваториальные координаты, если я ничего не делаюнеправильно или просто неправильно все понимают, или, может быть, разница не очевидна, потому что значения координат даются с точностью до 8 десятичных знаков?(И я до сих пор не знаю, какие значения взять за obsgeovel
, но даже если я использую некоторые произвольные значения, я снова получаю те же координаты.)
<SkyCoord (GCRS: obstime=2018-12-01T00:00:00.000, obsgeoloc=(0., 0., 0.) m, obsgeovel=(0., 0., 0.) m / s): (ra, dec, distance) in (deg, deg, AU)
(246.72726607, -21.71360187, 0.98613747)>
<GCRS Coordinate (obstime=2018-12-01T00:00:00.000, obsgeoloc=(4659791.10339651, 1289069.45080985, 4147935.86909442) m, obsgeovel=(0., 0., 0.) m / s): (ra, dec) in deg
(246.72726607, -21.71360187)>