ECEF кадры в астропии / healpix? - PullRequest
0 голосов
/ 03 декабря 2018

Я просмотрел документацию по астропии и пришел к выводу, что нет исходных кадров ECEF (ориентированных на землю, фиксированных на земле) с координатами lon, lat, которые можно преобразовать в экваториальные координаты RA, dec, если дано время.Это правда?

В конце концов, я бы хотел создать карту, используя:

map = HEALPix(nside=NSIDE, order='nested', frame=MY_REF_FRAME())

MY_REF_FRAME = ITRS, очевидно, не вариант.

Буду признателен, если кто-нибудь поможет мне найти способ определить это с помощью последней версии астропии.

Спасибо!

Эрик

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

Позвольте мне опубликовать ответ на последний комментарий @Christoph здесь, чтобы я мог вставить полный код.Это код и ошибка, которую я получаю:

In [1]: import astropy.coordinates as coord                                                                                                                                                           
In [2]: import astropy.units as u                                                                                                                                                                     
In [3]: from astropy.time import Time                                                                                                                                                                 
In [4]: coord.ITRS( coord.SphericalRepresentation(lon= 0.0 *u.deg ,lat = 0.0 * u.deg, distance = 1 * u.m), obstime=Time('2018-12-03 14:00:00')).transform_to(coord.ICRS)                              

ValueError                                Traceback (most recent call last)
<ipython-input-4-1d50da4d3855> in <module>
----> 1 coord.ITRS( coord.SphericalRepresentation(lon= 0.0 *u.deg ,lat = 0.0 * u.deg, distance = 1 * u.m), obstime=Time('2018-12-03 14:00:00')).transform_to(coord.ICRS)

~/lib/python3.5/site-packages/astropy/coordinates/baseframe.py in transform_to(self, new_frame)
   1165             msg = 'Cannot transform from {0} to {1}'
   1166             raise ConvertError(msg.format(self.__class__, new_frame.__class__))
-> 1167         return trans(self, new_frame)
   1168 
   1169     def is_transformable_to(self, new_frame):
...
   474             # In case we want to convert 1e20 to int.
   475             try:
--> 476                 fill_value = np.array(fill_value, copy=False, dtype=ndtype)
   477             except OverflowError:
   478                 # Raise TypeError instead of OverflowError. 

ValueError: invalid literal for int() with base 10: 'N'


In [6]: astropy.__version__                                                                                                                                                                           
Out[6]: '3.0.5'

In [8]: numpy.__version__                                                                                                                                                                             
Out[8]: '1.15.3'
0 голосов
/ 03 декабря 2018

HEALPix сам по себе и https://astropy -healpix.readthedocs.io в основном о пикселях HEALPix в одном заданном кадре неба.

Для преобразований между различными системами координат неба вы должны обратить внимание на astropy.coordinates .

Я не знаком с ECEF, но вы можете выполнить необходимые вычисления с использованием существующих фреймов ICRS и ITRF (см. https://stackoverflow.com/a/49325584/498873).

...