问题标签 [pyephem]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1069 浏览

types - pyephem - 观察者纬度/经度类型

为什么决定将观察者的纬度/经度数值视为弧度,而将字符串值视为十进制度?

在 Python 中处理 lat / lon 值时,我通常处理浮点对象。如果星星对齐正确,可能会有一个或两个 int 对象漂浮在其中,但大部分是漂浮的。我总是天真地写一些这样的代码:

然后,我被烧死了。我被烧毁了,因为我的纬度/经度值是十进制度,而不是弧度。这通常很糟糕,因为我最终会挠头想知道我做错了什么。最后,我最终转换为弧度。现在理论上,我可以这样做以获得正确的结果:

但这似乎也很不稳定,我认为我的值必须以弧度为单位!哦等等,只有当它是一个浮动。我知道接受字符串或浮点对象很好,但接受基于 python 类型的不同数字类型似乎不一致。我希望这两个分配都采用相同的数字类型,如下所示:

然后可以为十进制度/ dms提供转换运算符:

然后 to_rad 函数将明确假设十进制度数作为浮点或字符串对象提供。在这一点上,接口将是一致的。我非常简要地挖掘了 _libastro.c 并研究了 to_angle 函数,它是这个问题的核心。

我想不出一个很好的理由不实施这一点。事实上,我会自愿去做!但是在我对此进行讨论之前,我知道我不是 libastro / pyephem 专家,所以我想打开这个问题以确保这是有道理的。这样做完全有可能是有充分理由的,我只是感到非常困惑。

如果有经验的用户或熟悉软件核心的人可以发表评论,我将不胜感激。

先感谢您!

0 投票
3 回答
118 浏览

pyephem - 是否有机会扩展 pyephem.Jupiter() 以包含 cmlIII?

任何天文学家都知道扩展 pyephem 库以使其能够计算木星的 CMLIII 需要什么?截至当前版本,它只计算 CMLI 和 CMLII

谢谢

0 投票
1 回答
4970 浏览

python - 使用 spg4,pyephem 的 Python 卫星跟踪 - 位置不匹配

我正在尝试编写一个基本的 python 脚本,它将从给定位置跟踪用 tle 定义的给定卫星。我不是一个 asto/orbital 人,但我正在努力变得更聪明。

我遇到了一个问题,我使用的不同模型给了我非常不同的位置答案。我试过使用:pyEphem spg4 predict(exec system call from script)

我正在测试的卫星是 ISS 和 directv10(一颗固定的,一颗移动的 - 具有可用于验证的互联网跟踪):

我已经修改了预测源以给我 eci 位置,以便我可以使用它来了解真实位置。我还让它给出了用于验证观察的 az、el 范围。我正在使用 spg4 来获取真实位置。对于观察到的位置,我使用的是 PyEphem。

我从 spg4 获得 ECEF 职位:

我的基于 pyephem 的观察代码是:

llh2ecef 转换:

aer2ecef:

当我比较和绘制 3D 地球仪上的位置时(使用 ecef 位置),我得到了所有地方的答案。预测 eci 位置(转换为 ecef)与我在 ISS 跟踪网站上看到的相匹配(http://www.n2yo.com/?s=25544

get_real() 的结果在规模和位置上都相差甚远。get_ob() 的结果在比例上是正确的,但在地球上的位置是错误的

示例结果:

基于预测:

基于python:

两个观测值之间的 az、el 和范围不匹配。这些位置与“真实”位置不匹配。(在 ecef2llh 转换后,lat 和 long 会,但 height 不会。

与基于网络的跟踪器相比,我注意到预测的“真实”llh 位置与网站匹配。对于 directv10,pyEphem 匹配方位角和仰角,但不匹配 ISS

当我在地球仪上绘制它们时,预测 eci“真实”位置在正确的位置 - 匹配跟踪器网站)。spg84 ecef 位置(我认为应该与 predict 相同,位于地球的另一侧。预测的“观察到”位置靠近 spg84 位置。pyEphem 的高度完全关闭并且不显示(方式太低,在地球内部)。

所以我的问题是我在哪里使用错误的 python 模型?我的理解是 spg84 传播()调用应该以米为单位返回卫星的执行位置。我会认为应该匹配 eci2efec 转换后的预测位置。当使用 sat.sublat、sat.sublong、sat.elevation 时,我还期望匹配然后是 llh2ecef()。

正如我所说,我对所有轨道事物都是新手,所以我确信我会犯一个简单的数学错误或一些事情。我尝试用谷歌搜索并尽可能多地搜索答案、示例和教程,但到目前为止没有任何帮助(我尝试了多种 ecef2llh 和 llh2ecef 方法来尝试解决这些错误。

任何建议,意见,正确方向的指示将不胜感激。如果这对某人有帮助,我可以发布/发送我正在使用的完整代码。我试图确保我在这里发布了重要的部分,并且不想让这个(已经非常)长的帖子变得更长。

谢谢您的帮助。

亚伦

更新:

我发现了问题的至少一部分。spg84.propagate() 返回 ECI 中的位置,而不是 ECEF。通过 eci2ecef 快速运行,它与预测响应完美对齐。

在发帖寻求帮助后,我似乎总能找到解决方案;)

现在需要弄清楚观察者位置发生了什么。这归结为:如何从 pyEphem.compute() 获取结果并获取卫星的 ecef 位置?更喜欢使用 az、el、范围值,而不是纬度、经度、海拔。

我猜我的 aer2ecef 调用中的错误。

谢谢。

更新 2:

让观察结果与“真实”位置一致。看来我遇到了单位问题。工作代码:

现在只需要 aer2ecef() 方法来返回正确的位置......

0 投票
1 回答
10884 浏览

coordinate-transformation - ECEF 来自方位角、仰角、范围和观察者 Lat、Lon、Alt

我正在尝试编写一个基本的 python 脚本,该脚本将从给定位置跟踪用 tle 定义的给定卫星。我不是一个 asto/orbital 人,但我正在努力变得更聪明。

当我尝试将方位角、仰角、范围值转换为 ECEF 位置时遇到问题。我正在使用 PyEphem 来获取观察值,并使用 spg4 来获取要验证的真实位置。我也在使用网站http://www.n2yo.com/?s=25544来验证值。

我通过以下方式获得观察到的方位角、仰角和范围:

报告的方位角、仰角和范围与网站相符。我正在转换为 ECEF 职位:

但是,当我绘制它时,位置很偏离(地球的错误一侧)。我从网站和 spg4 中获得的位置匹配,所以我相信这些是正确的。

我不确定错误是在我的转换方法中,还是我使用了错误的数据进行转换。我在这里的答案中找到了该方法:Get ECEF XYZ given starting coordinates, range, azimuth, and elevation

任何关于我下车的建议或建议将不胜感激。以下是测试输入/输出:

我正在测试的卫星是 ISS 和 directv10(一颗固定的,一颗移动的 - 具有可用于验证的互联网跟踪):

观察站lla:

结果:

0 投票
2 回答
1567 浏览

python - 如何使用 PyEphem 计算正确的经度和行星星座

我试图使用 PyEphem 计算太阳纬度和经度,但我不明白的是当我计算太阳经度和星座时

所以 43:02:58.8 是 13.02 Taurus 但是当我尝试获取星座时

它说白羊座出了什么问题我不明白请帮忙

0 投票
1 回答
2775 浏览

python - 在 Python 3 中安装 Ephem 包

我想在 Windows XP 下的 Python 3.3.0 版本中安装ephem包。

我首先从系统命令提示符尝试了pip install ephem路由。该过程中止,并显示错误消息Unable to find vcvarsall.bat

对于这样的困难,我在网上阅读了先前的建议。之后我在我的计算机中安装了mingw32 ,将C:\MinGW\bin添加到PATH变量中,并为Lib / distutils提供了一个名为distutils.cfg的新文件和内容:

现在运行任何安装命令(pip, *easy_install* 和setup.py都工作相同)以下错误结果:

我试图理解和解决问题,但没有成功。我什至无法在代码中找到建立这些值的位置。

¿ 有人可以提供任何帮助吗?¿ ephem是否会是在3.3.0 文档中安装 Python 模块时提到的“并非所有扩展都可以使用 MinGW 或 Cygwin 构建,但许多扩展都可以。”的案例之一?

提前致谢

帕科

0 投票
1 回答
238 浏览

pyephem - Pyephem:在历元计算中没有正确应用岁差?

我最近下载了 pyephem。我非常喜欢用户界面。

然而,我从中得到了非常不稳定的结果,特别是当我试图获得过去某个时候恒星偏角的估计值时。我完全使用了与http://rhodesmill.org/brandon/projects/pyephem-manual.html#FixedObjects,Precession,andEpochs中描述的 Thuban/Polaris 示例相关的代码,我得到了完全不同的结果。我想知道是否需要在我的脚本中添加其他内容才能使事情正常进行,或者 pyephem 中是否存在新错误。

我的脚本如下所示:

运行它会产生以下输出。我可以理解为什么前两个比较略有不同(网页上的示例是在最近创建的),但是您可以看到两个星的当前日期和纪元 -2800 之间的偏角没有变化,但是在网页上的示例在两个时期之间,两颗恒星的赤纬变化很大:

0 投票
1 回答
593 浏览

pyephem - 使用 PyEphem 中的观察点为 Equinox/Solstice 设置太阳升起/设置方位角

基本上我想做的是:

  • 取一个观察点(使用纬度/经度)
  • 在给定开始日期的情况下计算下一个春分和至日的日期
  • 找到每个日落方位角
  • 找到每个日出方位角

*请注意,我在 ArcGIS 中工作,所以我的一些值是从外部表格中提取的

这是我所拥有的:

我一直在挂断“下一个设置”部分。我得到 NeverUpError... 如果我将其切换到 previous_setting、next_rising、previous_rising... 没关系。我总是收到 NeverUpError 或 AlwaysUpError。

如果有人可以帮我找到春分日落的方位角(在任何日期),那么我可以确定其余的。

如果有不清楚的地方,请告诉我。

谢谢!

0 投票
1 回答
395 浏览

pyephem - PyEphem 上升/设置星星和星座的方位角

我似乎无法弄清楚如何计算恒星的方位角,比如说天狼星,当它处于 alt=0(星升/星集)时。

所以基本上最终我会有两个值。

天狼星.az@星升天狼星.az@星集

这可能吗?

谢谢!

0 投票
3 回答
1299 浏览

python - pyEphem - 计算非地球卫星的位置

我正在尝试获取不绕地球运行的卫星的地球距离和赤经(相对于我在地球上的观察点),但 pyEphem 没有返回与其他太阳体相同的属性。

以木卫三(木星最大的卫星)为例:

我收到此错误:

ra属性存在,但它是相对于我的Observer还是相对于木星的?

似乎是相对的Observer,因为如果我改变位置,值也会改变。

我已经阅读了文档,我知道这些属性不是为卫星定义的,但我不知道如何计算相对于地球的那些属性,因为月球体的附加定义属性:

在行星卫星上,还设置:

月球相对于行星的位置(以行星半径测量)

正在做:

输出:

由于木星的平均半径为 69173 公里,这些值转化为:

鉴于我知道木星相对于 的距离和赤经,Observer如何计算moonGanymede(也相对于Observer的距离和赤经?

我正在使用 pyEphem 3.7.5.1(使用 Python 2.7)。