问题标签 [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.
python - 提高 Skyfield 中日出/日落计算的性能
给定坐标(纬度/经度)和时间戳,我正在使用库为每个坐标/时间戳对计算太阳是否在该位置和时间升起skyfield
:
这段代码有效,但对我的需要来说太慢了。有没有办法将坐标上的 Python 循环移动到 NumPy 中?Skyfield 文档说 Skyfield 使用 NumPy,但据我所知wgs84.latlon
,它没有将 NumPy 数组作为输入。
如果无法避免 Python 循环,是否有一种方法可以提高速度的准确性?
请注意,在我的实际用例中,时间戳和坐标都是用户提供的并且事先未知,因此我不能假设它们具有任何特定结构。
python - 太阳经度与地球的度数计算春分和冬至等
我尝试构建一些函数来计算太阳经度,通常缩写为Ls,是太阳的黄道经度,即太阳在天球上沿黄道的位置。
例如,当输入日期 07/Nov/2021 时,它将返回 225.08684077988164。我在 python 上搜索了一些库,但它主要返回 Equinox 的日期。
我找到了一些代码来手动计算它,但也停留在最后一行。
JD是朱利安日期(输入日期+位置后,我会计算它)
定义学位的最后一步
但在最后一行公式似乎是错误的,因为它总是返回 0
python - 如何使用天空场找到行星位置
我想以黄道经度、纬度、速度和地心距离的形式使用天空场找到行星位置
python - 如何使用 Skyfield 计算“表观逆行运动”?
我正在做一个占星术项目,但我不知道如何使用 Skyfield 计算“表观逆行运动”,请帮助我。
python - 如何使用 SkyField 计算真节点和平均节点
我正在使用 Skyfield 开发一个占星术软件我不知道如何计算真节点和平均节点......
请帮我
python - 我在使用 Skyfield python 时遇到问题
我想找出木星的日心位置,以及相应的黄道带,但我遇到了基本问题。
我得到的错误:
如果有人可以帮助我解决错误问题,然后向我建议如何将木星映射到星座,我将不胜感激。
python - 根据轨道参数为卫星绘制带有天空场的子点
我正在尝试为不同的卫星轨道高度显示不同的子点图,并使用这些线进行进一步分析。
所以我给自己写了一个卫星创建函数来计算倾角和平均运动:
但是,当我尝试使用 skyfiled 包计算子点时,出现错误:
我发现_compute_latitude(self, position)
skyfields toposlib.py 为x、y 和z 返回nan。
如果我为倾斜度选择不同的值i
并且mean_motion
它有效,但不适用于计算值。(虽然计算是正确的)
为什么它返回 nan 以及计算的边界是什么?
提前致谢!
python - 两个版本的 python 为相同的代码给出两个不同的结果
如果使用 Python2 或 Python3 运行,以下代码会产生两种不同的结果。为什么?
输出天空场 1.41 [-2804378.01051857 4419981.90545062 -3632070.86144542]
输出天空场 1.40 [-2804356.81834716 4419995.31425895 -3632070.90655877]
python - 如果卫星在相机 FOV 中,最快的计算方法是什么
我需要找到最快的方法来检查卫星(给定它的 TLE)是否从相机可见(给定它在地球上的位置 - 经度和纬度 - 以及它的视野)。摄像机的视场定义为宽度为 15 度、高度为 60 度且以某个已知高度和方位角为中心的矩形。
TLDR:我的第一次尝试是使用 PyEphem ( https://rhodesmill.org/pyephem/ ) 计算相对于观察者的卫星 ALT 和 AZ,并检查它是否没有黯然失色。为了检查这颗卫星是否在 FOV 中,我使用了 astropy Regions ( https://astropy-regions.readthedocs.io/en/stable/ ) 来构建矩形天空区域。它工作正常,但我在 TLE 中有 5400 颗卫星和 24 个不同位置的相机,这种方法变得太慢了。
更详细地说:我需要使用遍布全球的广角相机(宽 15 度,高 60 度)模拟卫星观测。我试图将每个摄像机定义为具有已知位置的“站”对象,并将 FOV 定义为来自天体区域的 RectangularSkyRegion:
然后使用 PyEphem 我随着时间的推移进行迭代:
现在我真的不知道该怎么做,因为我需要检查几件事。首先,我需要检查相机是否在夜间,我在 PyEphem 的帮助下完成了这项工作。我只是简单地检查之前日落的时间是否大于之前日出的时间。我还需要检查一颗卫星是否高于观察者的地平线,以及它是否黯然失色。我可以很简单地做到这一点,但首先我需要计算每个慢速观察者的卫星位置(5400 个不同的卫星和 24 个不同的观察者)。PyEphem 中有一种方法可以仅知道观测时间来计算卫星位置,但这会给我子点的地心纬度和经度角以及海拔高度或赤经和赤纬,我必须将其转换为 ALT 和 AZ对我的问题有任何用处。
python - AttributeError: 'list' 对象没有属性 'center' skyfiled wgs84.geographic_position_of ()
我正在尝试使用skifield python包确定地球上某个位置的经纬度位置
但它会引发 AttributeError 所以我不知道在这种情况下使用哪种 Object 类型