问题标签 [skyfield]

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 回答
208 浏览

skyfield - 近地点和远地点的计算减少了几分钟

我正在尝试计算近地点和远地点(或一般给定第二个物体,如太阳和行星等)

当我为 2019 年运行此程序时,下一个远地点计算在 2019-09-13 13:16。这与John Walker (13:33)、Fred Espenak (13:32)、Time and Date dot com (13:32)等表格相差几分钟。

由于舍入与截断秒数等原因,我希望在其他来源中看到一分钟的差异,但超过 15 分钟的差异似乎不寻常。我已经用 de431t 和 de421 ephemeris 进行了尝试,结果相似。

这里有什么区别?我正在计算每个身体中心的距离,对吧?我在搞什么鬼?

0 投票
1 回答
194 浏览

timestamp - 如何解析 Skyfield 的时间戳?

给定一个 UTC 时间戳(例如字符串'2006-03-01 11:18:15.500000+11:00'),我应该如何将它转换为(的继任者)中的Time对象?skyfieldpyEphem

例如,可以skyfield使用标准的 pythondatetime对象吗?

0 投票
1 回答
280 浏览

python - 有没有办法在给定行星坐标(太阳、月亮等)的情况下知道日期和时间?

Skyfield 具有计算月相的功能。但是如果我想知道月亮什么时候离太阳 20 度或离太阳 25 度呢?

如何获得太阳和月亮处于一定经度的确切日期和时间?

编辑(澄清):是否有可能知道太阳或月亮在某个位置的下一个(或上一个)日期和时间?like skyfield 提供了一个功能来查找太阳和月亮何时处于 0 度或 180 度(新月、满月)。

0 投票
1 回答
592 浏览

python - 计算新月的倾斜度

可以用Skyfield计算月牙的倾斜度吗?还是直接?我知道来回的新月形岩石,我想正确地显示它。

https://www.calsky.com/cs.cgi/Moon/15?obs=4311082095747103&c=

0 投票
1 回答
183 浏览

python - 我如何计算正确的行星冲日?

我很难找到一种方法来计算行星冲撞的确切时刻。根据定义,磷当从地球的角度来看乙,当它与太阳相反时,行星被称为对冲小号,所以我的假设是它发生在角度聚醚砜处于最大值的时刻。

为了找到这个,我用 Skyfield 编写了以下代码:

由于某些我不太明白的原因,这会在反对实际发生的时候产生价值。但我真正的问题是,与真正的反对时间相比,我得到的时间总是错误的。例如:

  • 2018 年 7 月 27 日的火星冲日被认为是世界标准时间 2:15,但实际上,它实际上是世界标准时间 5:12。
  • 2020 年 10 月 13 日的火星冲日将在 UTC 时间 23:59 发生,但 Skyfield 告诉我它将在 10 月 14 日 01:55 UTC 发生。

等等……</p>

degrees我在调用后的变量中get_angleangles之后添加了打印调用,并在_find_maxima()10 月 14 日得到了以下结果:

怎么了?

0 投票
1 回答
75 浏览

python-3.x - from_altaz()和observe(sun).apparent().ecliptic_latlon()的不同黄道值

在日出时,太阳应该在地平线上(即东部海拔 0 度)。但如果我检查黄道经度:

  1. 日出时的太阳和
  2. from_altaz() 东零度

我对两者都有不同的价值。但它不应该是一样的吗?

我错过了什么?

我能做些什么来获得相同的值吗?

0 投票
0 回答
206 浏览

python - 如何使用 Skyfield 或 PyEphem 来确定过去五连词的日期?

我正在尝试编写一个 python 脚本,该脚本将使用 SkyField 和 SciPy 库来查找五重行星合相......具体来说,我正在寻找 5 个可见行星都在白羊座内合相的日期。这种情况应该非常罕见,我只需要找出它是否以及何时发生在过去 10 万年左右......

PyEphem有这个脚本,这里有SkyField 解决方案来查找连词。

我能够修改天域解决方案以找到过去 5000 年的合相:

这会输出 9 个日期......这似乎适合如此罕见的事情。

谁能确认我这样做对吗?

如何导入星星?我必须创建它还是有一个星历表?有公元前 3000 年之前的星历吗?

0 投票
1 回答
244 浏览

python - 尝试使用天空场时出现错误“没有名为 jplephem.pck 的模块”

我正在尝试使用 skyfield,但出现以下错误:“ModuleNotFoundError:没有名为 'jplephem.pck' 的模块”我在第一行本身收到错误,它是这样的:

我试图在网上查找它,它说它是一个依赖项,我不知道该怎么做才能调试它

任何形式的帮助将不胜感激

0 投票
1 回答
143 浏览

skyfield - 根据太阳高度/方位角获取一天中的相位

根据 skyfield 在线文档,我能够计算出一天中的给定时间是day还是night

现在,我还想根据太阳高度/方位角对一天中的早上/中午/晚上阶段进行分类。我想出了以下内容。

我需要帮助以了解如何进一步进行,因为我没有有关天文计算的相关背景知识。谢谢

0 投票
1 回答
158 浏览

python - 如何并行计算天体运动?

我有一段代码使用Skyfield计算一些卫星和行星的位置。为清楚起见,我使用 Pandas DataFrame 作为位置和相应时刻的容器。我想让计算并行,但总是得到同样的错误:TypeError: can't pickle Satrec objects。测试了不同的并行器,例如 Dask、pandarallel、swifter 和 Pool.map()。

要并行化的一段代码示例:

为了让 Dask 避免 Pickle,我尝试像这样手动 设置序列化serializers=['dask', 'pickle'],但没有帮助。

据我了解,Skyfield 使用包含Satrec 类的 sgp4。

我想知道是否有某种方法可以并行化它.apply()。或者也许我根本不应该尝试使用 Skyfield 函数进行并行处理?