问题标签 [astronomy]

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

python - pyephem 恒星时间给出了意想不到的结果

我是ephem第一次使用,无法理解 oberver.sidereal_time() 的输出

我写了几个脚本来从小时角度确定太阳时。第一个使用 ephe 计算赤经,并使用 Meeus 的天文算法中的公式来获得格林威治平均恒星时,可以将其转换为带有经度的局部平均恒星时。

当我插入一些数据时,这给出了我期望的输出:

我编写的第二个脚本以相同的方式计算赤经,但使用 ephem 的 sidereal_time() 来获取本地视恒星时间。

这并没有得到我期望的输出。

AFAIK,这两个脚本之间的唯一区别是第一个基于当地平均恒星时的小时角,而第二个基于当地视恒星时的小时角,考虑到地球的章动,我认为这应该是非常小的因素。相反,我看到了大约三个小时的差异。谁能向我解释发生了什么事?

0 投票
1 回答
2107 浏览

javascript - 计算太阳的赤经和赤纬

我一直在关注本指南,将其移植到 javascript: http: //www.saao.ac.za/public-info/sun-moon-stars/sun-index/how-to-calculate-altaz/

直到 9 点(赤经)和 10 点(赤纬),一切都顺利进行。我无法重新创建他们为这些给出的答案。

(9) 寻找太阳赤经的阿尔法: (a) 开普敦:

我也试过:

差远了!

和 10(a),偏角

正如你所看到的,我正抓着稻草,因为我对此一无所知。任何帮助将非常感激。

0 投票
2 回答
3833 浏览

math - 给定太阳的位置(方位角和仰角)以及纬度和经度,计算日期和时间

与这个关于查找给定日期和坐标的太阳方位角和仰角的非常有用的问题相关。我希望找到相反的:时间和日期太阳将在天空的那个位置。

因此,我想知道是否有人可以帮助解决现有公式或修改链接到的公式。

我目前的想法是采用两个范围,两者都有几度的变化,一个用于方位角(120-123 度)和仰角(18-21 度)。然后编写一个算法来遍历所有天/时间,并检查给定范围是否存在于当天的某个时间。循环这些天并使用附加的算法并不能完全保持大 O 小,也不会是最好的性能。

任何帮助或提示,请。

谢谢。

0 投票
1 回答
635 浏览

python - 为什么我的天文学模拟不准确?

我制作了一个模拟太阳系中物体运动的程序,但是,我的结果出现了各种不准确之处。

我相信这可能与我的集成方法有关。


tl;博士在我的模拟和 NASA 的数据之间,地球的位置和速度之间存在细微差别,如果您可以查看下面的代码并告诉我我的数学是否错误。


我运行的测试是一个为期 10 天(864000 秒)的模拟,Thu Mar 13 18:30:59 2006Thu Mar 23 18:30:59 2006.

模拟后,程序报告了地球的以下统计数据:

测量单位当然是米和米每秒。

我使用 HORIZONS 系统来获取Thu Mar 13 18:30:59 2006太阳系中大多数大型天体的起始位置和速度矢量,并将它们放入模拟中。

测试后,我再次向HORIZONS查询了Thu Mar 23 18:30:59 2006地球数据,得到了以下结果:

如您所见,结果的前四位几乎总是相同的。但是,这仍然是一个很大的失误!我很担心,因为我必须模拟几年的时间,而且错误可能会升级。

请您看看我的模拟核心并告诉我我的数学是否不正确?

我有这个方法的另一个版本,它应该表现更好,但它表现得更差:

0 投票
6 回答
4528 浏览

python - 我的重力模拟出了什么问题?

根据在这个答案中给我的建议,我在我的重力模拟器中实现了一个龙格-库塔积分器。

然而,在我模拟了太阳系一年之后,位置仍然偏离了 110 000 公里,这是不可接受的。

我的初始数据由 NASA 的 HORIZONS 系统提供。通过它,我获得了行星、冥王星、月球、火卫二和火卫一在特定时间点的位置和速度矢量。

这些矢量是 3D 的,但是,有些人告诉我,我可以忽略三维,因为行星在围绕太阳的盘子中排列自己,所以我做到了。我只是将 xy 坐标复制到我的文件中。

这是我改进的更新方法的代码:

算法如下:

  1. 更新系统中所有物体的加速度
  2. RK4(第一步)
  3. 转到 1
  4. RK4(二)
  5. 转到 1
  6. RK4(第三)
  7. 转到 1
  8. RK4(第四)

我的 RK4 实施是否搞砸了?还是我只是从损坏的数据开始(重要的机构太少而忽略了第三维)?

如何解决这个问题?


解释我的数据等...

我所有的坐标都是相对于太阳的(即太阳在 (0, 0))。

110 000 km通过从我的模拟器预测的坐标中减去 NASA 给出的地球 x 坐标得到了错误。

相对误差似乎微乎其微,但这仅仅是因为在我的模拟和美国宇航局的模拟中地球都离太阳很远。距离仍然很大,使我的模拟器毫无用处。

0 投票
1 回答
446 浏览

python - 提取第三个轴,数据立方体 pyfits

我有一个数据立方体 fitfile,由常规 (512x512) 2d 网格的强度组成。然而,还有第三个轴;该轴上的每个值对应一个频率。在每个频率上,都会拍摄一张这样的 2d 图片。

我一直试图在 fit 文件中找到这些频率值,但到目前为止我还没有运气。我知道有 140 个不同的频道,我通过查看 fit 文件的标题知道单位等。问题在于找到这 140 个通道的值。

顺便说一句,在 Python 中编程。

0 投票
2 回答
2974 浏览

python - 如何分割一个不等式的numpy数组?

我已经尽力自己找到解决方案,但我只是没有找到任何相关的东西。我有一些从 .tbl 文件中提取的 numpy 数组(这是我用 atpy 提取的天文表格式)。每个数组中大约有 25,000 个数字,我使用 matplotlib 将它们绘制为散点图。y 轴值直接来自数组,x 轴是两个单独数组中值的简单减法。

没关系,但我真正需要做的是提取某个范围内的值(例如,我需要 y 的值在 10 到 13 之间,x 的值在 0 到 1 之间)。当然,要使情节发挥作用,这些值都必须相互匹配。这是我所拥有的:

我也尝试过这种方法来切片数据,但没有运气:

我尝试了很多不同的事情,包括尝试将这些数组转换为列表,以及许多不同的不等式格式。在这个过程中,我可能让自己离答案更远了,但是这段代码至少打印了整个散点图(它无法像我想要的那样切割数据)。其他一些迭代打印的空白图与我正在寻找的数字范围相去甚远。

我是 python 和这个网站的新手,所以请尽可能明确地提供任何提示等。如果它是超级行话,我可能无法充分利用你的建议。谢谢大家。

0 投票
1 回答
1508 浏览

python - matplotlib 热图反转数据?

这是一个奇怪的问题,希望有人能帮助我。我正在尝试使用 matplotlib 热图绘制我的数据的密度图,但不知何故,我的数据以一种奇怪的方式被反转/旋转。我有一个散点图,然后我将这些点合并为密度,但图像根本不是应该出现的。例如,这是原始散点图,它具有正确的方向:

原始散点图

然后这是我的热图(请注意,结构从上方逆时针旋转了 90 度,但轴数据是正确的......轴上的数字是从数据自动生成的,所以如果你简单地反转轴,图片就会出来正确,但数字全部关闭):

方向错误但轴正确的热图

我只是看不出这是怎么回事,因为数据解析例程与我刚刚生成散点图时的相同。我认为,它必须是热图的编码方式,但我看不出故障可能在哪里。我已经尝试过考虑热图的内置原点放置(左上角),但这并没有解决它。代码如下(先解析所有数据):

现在这里是热图代码:

我对 Python 很陌生,所以解释越少,我就越有可能好好利用它。感谢您提供的任何帮助。

0 投票
1 回答
1646 浏览

javascript - 针对给定观察者位置将太阳路径投影到 Google 地图上

我有以下详细信息列表

我要做的是计算我计算中使用的相对纬度和经度,这样我就可以用 Google Maps V3 (JavaScript) 绘制一个椭圆

这是可能的还是我应该将我的纬度/经度转换为页面像素并这样做(但这不是我想要完成任务的方式)

[编辑]

我正在尝试根据单个观察者所看到的高度和方位角来收集纬度和经度坐标,因此我的地图上的一个点我想在一天/时间内可视化太阳的路径。

0 投票
1 回答
1864 浏览

numpy - 在 Matplotlib 中使用多边形进行 Numpy 数组切片

这似乎是一个相当简单的问题,但我是 Python 新手,我正在努力解决它。我有一个从两个 numpy 数组(大约 25,000 条信息)生成的散点图/热图。y 轴直接取自一个数组,x 轴由两个数组的简单减法运算生成。

我现在需要做的是对数据进行切片,以便我可以使用属于绘图上某些参数的选择。例如,我需要提取所有落在平行四边形内的点: 在此处输入图像描述

我可以使用简单的不等式切出一个矩形(请参阅下面的索引和) idx_c,但我确实需要一种使用更复杂的几何图形来选择点的方法。看起来这种切片可以通过指定多边形的顶点来完成。这是我能找到的最接近解决方案的方法,但我不知道如何实现它:idx_hidx

http://matplotlib.org/api/nxutils_api.html#matplotlib.nxutils.points_inside_poly

理想情况下,我真的需要类似于下面的索引的东西,例如colorjh[idx]. 最终我将不得不绘制不同的数量(例如colorjh[idx]vs colorhk[idx]),因此索引需要可转移到数据集中的所有数组(大量数组)。也许这很明显,但我想有些解决方案可能不那么灵活。换句话说,我将使用这个图来选择我感兴趣的点,然后我需要这些索引来为同一个表中的其他数组工作。

这是我正在使用的代码:

就像我说的,我是 Python 的新手,所以解释的术语越少,我就越有可能实现它。感谢您提供的任何帮助。