- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我是 PyEphem 的新手,我想弄清楚它能做什么以及它是如何工作的。因为我不想将它用作黑匣子并盲目相信我得到的任何数字,所以我想重新创建一个解释过的例子 here .
该示例计算给定观察者在 1998 年 8 月 10 日 23:10 UT 的对象方位角和高度。给出以下参数:
RA = 16 小时 41.7 分钟,DEC = 36 天 28 分钟
观察者的纬度为北纬 52 度 30 分,经度为西经 1 度 55 分。
根据示例(我可以在 Excel 中重新创建)的正确答案是 AZ = 269.14634 度和 ALT = 49.169122 度。
我使用 pyephem 编写了以下代码以尝试实现相同的结果:
day = '1998/8/10 23:10:00'
longitude = ephem.degrees('-1.91667')
latitude = ephem.degrees('52.5')
star = ephem.FixedBody()
star._ra = '16:41:42.0'
star._dec = '36:28:00.0'
observer = ephem.Observer()
observer.date = day
observer.lon = longitude
observer.lat = latitude
star.compute(observer)
print 'Observer', observer
print 'RA', star.ra, 'DEC', star.dec
print 'AZ', star.az, 'ALT', star.alt
运行程序会得到这个输出:
>>>
Observer <ephem.Observer date='1998/8/10 23:10:00' epoch='2000/1/1 12:00:00' lon=-1:55:00.0 lat=52:30:00.0 elevation=0.0m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
RA 16:41:39.23 DEC 36:28:33.5
AZ 269:09:54.9 ALT 49:10:57.7
AZ + ALT 的结果显然与示例大致相同,但远非相同。与我输入的内容相比,打印输出中的 RA 和 DEC 略有修改,这也让我感到困惑。
如果有人能帮助我阐明结果不同的原因以及我可以或应该做些什么来复制结果,我将不胜感激。谢谢。
编辑:更正了以下回答中指出的错别字。这个问题仍然有效。
EDIT2:好的,我已经阅读(并且有点理解)为什么 PyEphem 从这个 link 调整了赤经和赤纬。 .我不明白的是,是否有任何方法可以让 PyEphem 以同样的方式忽略对相对论偏转、章动 和光差 的调整你能让它忽略大气折射吗?我假设方位角的差异是由于赤经和赤纬的调整造成的,但最好确认一下。
最佳答案
PyEphem 底层的 C 库没有任何方法可以关闭偏转、像差或章动——也许是因为大自然也不允许我们关闭这些效果,但我不确定!我会注意到,它不会为地球轨道卫星进行这些计算,但我想不出一个简单的方法让你把卫星放在一个精确的 RA 和 dec 在你的位置之上,这样你就可以问 PyEphem 关于它的位置。
我这周实际上是在 DjangoCon 上讨论 API,并思考 PyEphem 有朝一日如何使它的内部工作更容易从 Python 访问,而不是将所有这些有趣的步骤都锁定在 C 代码中。但是,在我准备好替代方案之前,完成您想要的唯一方法是打开源文件 circum.c
并注释掉这些行:
/* allow for relativistic light bending near the sun */
deflect (mjed, lam, bet, lsn, rsn, 1e10, &ra, &dec);
/* TODO: correction for annual parallax would go here */
/* correct EOD equatoreal for nutation/aberation to form apparent
* geocentric
*/
nut_eq(mjed, &ra, &dec);
ab_eq(mjed, lsn, &ra, &dec);
如果从第 263 行开始的这三个调用 — deflect()
、nut_eq()
和 ab_eq()
— 被注释掉,那么您可能会得到与本文中的答案更接近的答案。您可以通过以下方式应用这些更改:
.tar.gz
。python setup.py install
以安装该软件的自定义版本。如果进动以某种方式起作用,则可能还有另一个障碍 — 您可能需要将 star
对象的纪元设置为恰好 '1998/8/10 23:10: 00'
在这种情况下 — 但请先尝试关闭三个光效调用,看看是否能让您更接近!
关于Python PyEphem 计算方位角和高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12266176/
如您所知,SpaceX 将特斯拉跑车发射到太空,目前它正在绕太阳运行。 https://en.wikipedia.org/wiki/Elon_Musk%27s_Tesla_Roadster 我如何在
基本上我想做的是: 获取观察点(使用纬度/经度) 在给定起始日期的情况下计算下一个春分和至日的日期 找出每个人的日落方位角 找出每个人的日出方位角 *请注意,我在 ArcGIS 中工作,所以我的一些值
我刚刚开始使用 PyEphem。我的直接任务是,给定一个日期和时间,用 latitude-longitude 值计算地球上的次太阳点。我将深入研究 PyEphem 来解决这个问题,但如果有人已经这样做
我目前正在使用瑞士星历,但它需要相当大的外部数据文件。所以,我正在考虑Pyephem ,这似乎在没有任何数据文件的情况下运行良好。但它的有效/准确日期范围是多少? SwissEph 的工作历史已近 1
看来pyephem应该能够给我您在月球周期中所处位置的标准人型名称,并指定日期-“第一季度”,“满月”,“打蜡新月”,“渐渐隆起, ”等 我说不对吗? 有谁知道标准解决方案吗? 最佳答案 这是我对自己
我已经搜索了大量的 PyEphem 网页,下载了代码,并调查了对象,但我没有找到一种方法来获得某个名义惯性坐标系中地球卫星的地心直角坐标。我错过了一些明显的东西吗?我正在寻找“传统”的 x、y、z 和
如何使用 PyEphem 计算国际空间站在满月前的下一次凌日?我对此一无所知。 提前致谢! 最佳答案 这并不能真正回答你的问题,但我写了https://github.com/barrycarter/b
我正在尝试使用 pyephem 计算日出和日落,但该算法似乎从未在极地地区收敛? 观察下面的示例代码。它以 10 分钟为增量迭代一整年,询问下一次日出和日落。 pyephem 总是返回一个 Alway
为了帮助我计算国际空间站的视觉星等,我需要能够计算相位角。 谁能帮我算一下吗? 在任何时刻我都会生成 Obs对象和ISS对象使用 PyEphem 。对于观察者我有 Alt/Az到ISS和Alt/Az到
我有一个延时Python脚本,在英国工作得很好,现在我住在法国,它仍然按照标准GMT时间计算。如何更改代码以使其代表我的实际位置? import sys import os import time i
我是第一次使用 ephem,并且无法理解 oberver.sidereal_time() 的输出 我编写了几个脚本来从小时角度确定太阳时。第一个使用 ephem 计算赤经,并使用 Meeus 天文算法
Pyephem 文档有如何计算特定时间行星所在星座的示例。 >>> m = ephem.Moon('1980/6/1') >>> print(ephem.constellation(m)) ('Sgr
我正在尝试制作一个程序来显示我选择的来自地球上不同位置和不同时代的星星。我已经让它工作了,这样我就可以显示 ephem 数据库中的对象,例如金星,但我想要显示的星星不在目录中。我如何定义摩羯座的星星,
我在尝试进行坐标转换时遇到 PyEphem 问题。基本上在这个小例子中,我尝试计算 (l,b) = (52°,68.5°) 的赤道坐标。 这就是我认为它应该如何工作: import ephem gal
我一直在使用 PyEphem 来研究行星相对于地球上某个位置的运动。然而,我注意到有时从 PyEphem 得到的结果对于赤纬来说似乎是不连续的,而赤经似乎是连续的。这些图中每 30 分钟获取一次 RA
我的问题是 PyEphem 为至日和春分日期以及太阳几何学提供准确结果的时间跨度是多少。 到目前为止,我找到了 B.C. 的极限。 9998-03-20 到 A.D. 9999-12-31 在 Git
我正在使用 PyEphem 计算不同时间太阳在天空中的位置。 我有一个观察点(恰好在巨石阵),可以使用 PyEphem 计算一天中任何时间的日出、日落以及太阳的高度角和方位角(相对于 N 的度数)。太
我正在尝试确定火星上季节的开始和结束时间。该点位于 0º、90º、180º 和 270º Ls(太阳经度)。 PyEphem 提供日心经度和纬度。这与此处显示的太阳经度有何关联: http://www
我正在尝试根据 UTC 小时和经度计算本地太阳时。我查看了 ephem 包,但无法找到直接的方法。关于这个问题的类似问题要么唤起固定位置(日出、月亮、日落)的计算(例如 Calculating daw
我很难找到天空中星星的当前坐标(RA,DEC)。在网上我只找到了这个教程,如何使用 ephem 库:http://asimpleweblog.wordpress.com/2010/07/04/astr
我是一名优秀的程序员,十分优秀!