2
如何计算特定日期和时间某站(经度,纬度)处观测者的恒星位置(ra,dec)?我需要计算所有元素(包括计算中的所有元素(恒星,气压和温度自行运动...)的全坐标约简)坐标减少python
我试过用pyephem,但我不确定能不能完成。
import ephem
polaris = ephem.readdb("Polaris,f|M|F7,2:31:48.704,89:15:50.72,2.02,1")
polaris.compute('2016/3/1 16:22:56')
print polaris.a_ra
print polaris.a_dec
我也试图与astroplan,我认为我更接近的解决方案,但仍然不知道如何还原后得到的坐标,并添加适当的运动。
import astropy.units as u
from astropy.coordinates import EarthLocation
from astropy.coordinates import SkyCoord
from pytz import timezone
from astroplan import Observer
from astropy.time import Time
from astroplan import FixedTarget
import numpy as np
import astropy.units as u
from astroplan.plots import plot_sky
from astroplan.plots import plot_parallactic
from astroplan.plots import plot_airmass
import matplotlib.pyplot as plt
from astroplan import FixedTarget
longitude = '21d33m20.4s'
latitude = '+43d08m24.6s'
elevation = 1150 * u.m
time = Time('2015-06-16 12:00:00')
location = EarthLocation.from_geodetic(longitude, latitude, elevation)
observer = Observer(name='Name',
location=location,
pressure=0.615 * u.bar,
relative_humidity=0.11,
temperature=0 * u.deg_C,
timezone=timezone('Europe/Belgrade'),
description="..")
coordinates = SkyCoord('2h31m48.704s', '89d15m50.72s', frame = 'icrs')
polaris = FixedTarget(name='Polaris', coord=coordinates)
plot_airmass(polaris, observer, time)
ax = plt.gca()
box = ax.get_position()
ax.set_position([box.x0, box.y0, box.width * 0.8, box.height * 0.8])
plt.legend(loc=1, bbox_to_anchor=(1.35, 1))
plt.show()
您可能在http://physics.stackexchange.com上获得了更多成功 - 这个问题似乎更多地是关于物理学而不是计算机编程。 –
或http://astronomy.stackexchange.com/ –
不要忘记添加如下信息:您需要什么目标精度?你想要几何或视觉位置?如果精度太高或者物体太近,高度有时也很重要,但对于恒星来说,它应该没有问题。 – Spektre