首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与使用dec/ra计算子月球位置的混淆

与使用dec/ra计算子月球位置的混淆
EN

Stack Overflow用户
提问于 2018-09-15 04:40:07
回答 3查看 204关注 0票数 1

我需要计算给定日期/时间的视方位角和仰角以及亚月经度。我得到的az/el角通常与其他来源(MoonCalc.org、Horizons等)一致。但是,对于次月经/次月经,还没有很好的比较来源。更重要的是,我怀疑我使用dec/ra值得到的经度/经度,因为ra在很长一段时间内几乎没有变化。

这是我所做的基本决定:

代码语言:javascript
复制
roc.date='2018/1/1 01:00:00'
moon=ephem.Moon(roc)
print('rocMoonTest: %s UTC-4, lat/lon = %0.4f [+N], %0.4f [+E]' %
    (roc.date, math.degrees(roc.lat), math.degrees(roc.lon)))
print('Moon dec/ra     = %s [+N], %s [+W]' % (moon.dec, moon.ra ))
print('Moon a_dec/a_ra = %s [+N], %s [+W]' % (moon.a_dec, moon.a_ra ))
print('Moon g_dec/g_ra = %s [+N], %s [+W]' % (moon.g_dec, moon.g_ra ))
print('Moon az/el      = %0.4f, %0.4f' %
    (math.degrees(moon.az), math.degrees(moon.alt)))

然后我每3个小时重复一次。以下是输出:

代码语言:javascript
复制
rocMoonTest: 2018/1/1 01:00:00 UTC-4, lat/lon = 43.0000 [+N], -78.0000 [+E]
Moon dec/ra     = 18:53:07.1 [+N], 5:43:03.33 [+W]
Moon a_dec/a_ra = 19:22:21.3 [+N], 5:39:38.43 [+W]
Moon g_dec/g_ra = 19:22:44.7 [+N], 5:40:41.41 [+W]
Moon az/el      = 105.3953, 43.0670

rocMoonTest: 2018/1/1 04:00:00 UTC-4, lat/lon = 43.0000 [+N], -78.0000 [+E]
Moon dec/ra     = 19:07:55.4 [+N], 5:49:00.24 [+W]
Moon a_dec/a_ra = 19:32:24.2 [+N], 5:47:42.22 [+W]
Moon g_dec/g_ra = 19:32:35.1 [+N], 5:48:45.29 [+W]
Moon az/el      = 169.5907, 65.8406

rocMoonTest: 2018/1/1 07:00:00 UTC-4, lat/lon = 43.0000 [+N], -78.0000 [+E]
Moon dec/ra     = 19:13:15.7 [+N], 5:54:49.89 [+W]
Moon a_dec/a_ra = 19:41:07.2 [+N], 5:55:47.50 [+W]
Moon g_dec/g_ra = 19:41:05.5 [+N], 5:56:50.65 [+W]
Moon az/el      = 246.5737, 49.4664

正如预期的那样,正如az/el角所证实的那样,在此期间,当地球自转并达到某处的峰值高度时,月球会从东向西摆动。然而,不同的dec/ra值都没有显著变化。在这6个小时的跨度中,我希望看到ra大约6个小时的变化。显然,当我使用这些ra值中的任何一个来计算经度时,我得到了错误的答案。看起来dev/ra的参照系并没有随着地球旋转。然而,文档表明我应该期待它的出现。

有人愿意解释一下我对各种赤经变量的理解错误在哪里吗?最直接的方法是计算子月球的纬度/经度吗?请注意,我宁愿避免使用将表观的az/el位置旋转到大地经度/经度的方法。

EN

回答 3

Stack Overflow用户

发布于 2018-09-17 02:59:44

测量“赤道”不是针对地球的旋转表面,而是针对天空中固定的恒星--它是一种经度,但其原点是星图上两个最大的“天空赤道”--地球的赤道和“太阳系的赤道”--黄道(不是真正的太阳系赤道,因为它是地球轨道的平面,而不是所有行星轨道的加权平均)的交叉点。

由于它们的交叉点本身会随着时代的推移而移动,因此右提升的系统每年都会有很小的不同,而且在几个世纪和几千年之间也会有很大的不同。因此,必须始终相对于某个日期、某个精确时刻(如B1950或J2000 )指定右升和赤纬(天纬度)。

现在RA和dec有一个固定的坐标系,不动,ICRS,它像J2000一样定向,但定义使用类星体的位置(我们假设)在我们物种的生命周期内不会有明显的移动。

票数 0
EN

Stack Overflow用户

发布于 2019-04-23 12:48:46

关于你问题的这部分

计算次月球纬度/经度最直接的方法是什么?

这是我计算月下点的代码。

代码语言:javascript
复制
greenwich = ephem.Observer()
greenwich.lat = "0"
greenwich.lon = "0"
greenwich.date = datetime.utcnow()

#add Moon Sub Solar Point
moon = ephem.Moon(greenwich)
moon.compute(greenwich.date)
moon_lon = math.degrees(moon.ra - greenwich.sidereal_time() )
# map longitude value from -180 to +180 
if moon_lon < -180.0 :
  moon_lon = 360.0 + moon_lon 
elif moon_lon > 180.0 :
  moon_lon = moon_lon - 360.0

moon_lat = math.degrees(moon.dec)
print "moon Lon:",moon_lon, "Lat:",moon_lat

希望这能有所帮助。我也使用相同的方法来计算次太阳点。对我来说很有用。

编辑:是...格林威治纬度被设置为零,因为它对此计算根本无关紧要。

票数 0
EN

Stack Overflow用户

发布于 2019-12-19 04:08:40

您可以通过查看以下链接来强化您在此方法方向上的思考:

Computing sub-solar point

这给出了基本上相同的解决方案,但对于sub_solar_point,也来自Liam肯尼迪(他为格林威治提供了一个非零拉特),以及Brandon Rhodes的回答,他用python包装了xephem库,为我们提供了pyephem,直到最近还在积极维护它。Brandon现在更专注于他的下一次迭代,一个名为skyfield的纯python库,它使用了最新可用的星历和更直观的API。

https://pypi.org/project/skyfield/

https://rhodesmill.org/skyfield/installation.html

虽然我现在不能贡献它,但我是否可以建议将pyephem和skyfield的结果进行比较,也许在matplotlib图中,IOW,skyfield的结果可能有多大的不同/改进?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52338971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档