问题:如何将纬度,经度和海拔转换为J2000坐标(XYZ)。在ephem中是否存在转换?我检查了文档,但我找不到我需要的东西(或者由于我在这个领域缺乏知识而可能忽略了一些东西)。感谢
的 的 ** * ** * ** * 的** * ** * ** OLD(忽视) 的 ** * ** * ** * ** * ** * ***
我在右升天(RA)和赤纬(Dec)中有月亮位置,我想将它们转换为X Y Z坐标。是否有内置的PyEphem功能?还有,背后的数学是什么?感谢。
编辑:我正在使用J2000坐标系(我认为这是赤道仪,这是我第一次使用天文学)。我有距离月球的距离。 ra / dec值已经在J2000(赤道)坐标中。X指向北方
Y指向西方
Z指向天空
答案 0 :(得分:0)
我建议您查看PyEphem documentation的coordinate conversion。
基本上,PyEphem只处理三个坐标系 - 赤道,黄道和银河系 - 每个坐标系由两个角度和一个时期(极地进展的调整偏移)定义。
根据您的坐标方案的样子,您应该能够使用三角函数转换为如果您还有对象的距离。
编辑:您的“X-Y-Z”坐标似乎是黄道坐标左侧。
from ephem import Equatorial, Ecliptic, degree
def convert_equatorial_to_XYZ(ra, dec, dist=1.0, epoch='2000'):
"""
Given
ra right ascension (in hours)
dec declination (in degrees)
dist distance (optional, defaults to 1.0)
epoch epoch (optional, assumes J2000)
Return
degrees North, degrees West, distance
"""
eq = Equatorial(ra, dec, epoch=epoch)
ec = Ecliptic(eq)
return ec.lat/degree, 360.0 - ec.lon/degree, dist