问题标签 [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 投票
13 回答
16900 浏览

astronomy - 交互式数据语言,IDL:有人关心吗?

有人使用称为交互式数据语言(IDL)的语言吗?它很受科学家欢迎。我认为它是一种糟糕的语言,因为它是专有的(运行它的每个终端都必须购买昂贵的许可证)并且它的支持很少(尝试搜索 IDL,这种语言,现在在堆栈上)。我试图说服我的同事停止使用它并学习 C/C++/Python/Fortran/Java/Ruby。有没有人足够了解甚至关心 IDL 并对此发表意见?你怎么看呢?我应该告诉我的同事现在不要再在这上面浪费时间了吗?我怎样才能说服他们?

编辑:人们得到的印象是我不知道或不使用 IDL。另外,我说 IDL 的支持很少,这在某种意义上是正确的,所以我必须澄清一下,科学图书馆确实很大。我一直使用 IDL,但这正是问题所在:我只使用 IDL,因为同事使用它。IDL 使用了一种文件格式,即 .sav,它只能在 IDL 中打开。所以我必须使用 IDL 来处理这些数据并将数据传回给同事,但我知道我使用另一种语言会更有效率。这就像有人在电子邮件附件中向您发送了一个 microsoft word 文件,如果您不明白这是多么错误,那么您可能写了太多单词而没有足够的代码,然后您购买了 microsoft word。

编辑:作为 IDL Python 的替代品很受欢迎。这是来自AstroBetter的 IDL 的优点(和缺点)列表:

IDL 的优点

  • 成熟的许多数值和天文库可用
  • 广泛的天文用户群
  • 数字方面与语言本身很好地结合在一起
  • 许多本地用户经验丰富
  • 小阵列更快
  • 安装更简单
  • 好的,统一的文档
  • 标准 GUI 运行/调试工具 (IDLDE)
  • 单一小部件系统(无需担心选择或学习)
  • 保存/恢复功能
  • 使用关键字参数作为标志更方便

IDL 的缺点

  • 适用性窄,不太适合一般编程
  • 大型阵列较慢
  • 阵列功能不太强大
  • 表支持差
  • 使用 C 或 Fortran 扩展的能力有限,此类扩展难以分发和支持
  • 与没有或负担不起许可证的其他人合作昂贵,有时会出现问题。
  • 闭源(只有 RSI 可以修复错误)
  • 与 IRAF 任务集成非常尴尬
  • 内存管理更尴尬
  • 单个小部件系统(如果在另一个框架中工作则无用)
  • 绘图:
    • 对符号和数学文本的尴尬支持
    • 许多字体系统,可移植性问题(v5.1有所缓解)
    • 不灵活或可扩展
    • 绘图窗口本质上不是交互式的(例如,平移和缩放)

Python的优点

  • 非常通用且功能强大的编程语言,但易于学习。强大但可选的面向对象编程支持
  • 非常大的用户和开发者社区,非常广泛的图书馆基础
  • 使用 C、C++ 或 Fortran 非常可扩展,提供可移植的分发机制
  • 自由; 非限制性许可;开源
  • 成为天文学的标准脚本语言
  • 易于使用 IRAF 任务
  • STScI 应用工作的基础
  • 更通用的阵列功能
  • 对大数组更快,更好地支持内存映射
  • 许多书籍和在线文档资源可用(用于语言及其库)
  • 更好地支持表结构
  • 绘图
    • 框架(matplotlib)更具扩展性和通用性
    • 更好的字体支持和可移植性(也只有一种方法)
    • 可用于许多窗口框架(GTK、Tk、WX、Qt…)
    • 独立于所用框架的标准绘图功能
    • 绘图可嵌入其他 GUI
    • 更强大的图像处理(多个同步 LUTS、可选的重新采样/重新缩放、alpha 混合等)
  • 支持许多小部件系统
  • 对 Python 开发能力的强大本地影响

Python的缺点

  • 更多需要单独安装的项目
  • 在天文学界不太被接受(但支持明显增长)
  • 科学图书馆不那么成熟:
    • 文档不完整,不统一
    • 没有那么深入的天文图书馆和实用程序
    • 并非所有 IDL 数值库函数在 Python 中都有相应的功能
  • 一些数字结构与语言不太一致(或不如 IDL 方便)
  • 数组索引约定“向后”</li>
  • 小阵列性能较慢
  • 没有标准的 GUI 运行/调试工具
  • 支持许多小部件系统(担心选择哪个)
  • 当前缺少相当于 IDL 中的 SAVE/RESTORE 的功能
  • matplotlib 还没有所有 IDL 2-D 绘图功能的等效项(例如,曲面图)
  • 使用用作标志的关键字参数不太方便
  • 绘图:
    • 比较不成熟,还有很大的发展空间
    • 缺少一些绘图类型(例如,表面)
    • 3-d 能力需要 VTK(尽管 matplotlib 有一些基本的 3-d 能力)
0 投票
8 回答
31605 浏览

time - 如何计算日出/日落时间?

我喜欢跟踪日出和日落时间。在过去的几年里,我一直在用一个用我最喜欢的编程语言的流行库编写的小程序来做这件事。在过去的两个月里,我比平时更经常地跟踪这些时间,我碰巧注意到,在春分那天,日出时间比前一天增加了 8 分钟!我知道这是不可能的,并与NOAA进行比较,发现我的起落时间已经中断了几天,实际上一年中的大部分时间似乎都偏离了大约一分钟。

在这一点上,我想自己实现计算。有哪些算法或公式可用于进行此计算?

0 投票
4 回答
4344 浏览

equinox - 如何计算春分/至日时刻?

有哪些算法或公式可用于计算分点和至点?几年前我找到了其中一个并实施了它,但精度不是很好:一天中的时间似乎假定为 00:00、06:00、12:00 和 18:00 UTC,具体取决于哪个春分或计算至日。维基百科将这些计算结果精确到分钟,因此必须有更精确的结果。我最喜欢的编程语言的库也出现在那些硬编码的时代,所以我假设它们使用的算法与我实现的算法相同或相似。

我也曾经尝试使用一个库,该库提供了太阳经度,并在 0、90、180 和 270 度的确切时刻执行了一个搜索程序来归零;这一直有效,但与 Wikipedia 中的时间不一致,所以我认为这种方法有问题。然而,我惊喜地发现迈蒙尼德(中世纪的犹太学者)在一千年前使用完全相同的想法提出了一种算法。

0 投票
2 回答
4046 浏览

c - 给定日期、时间、纬度和经度的太阳方位角的 C 代码

我似乎问错了我的问题,所以我再次强调一下。是此页面上的最佳答案

https://stackoverflow.com/questions/257717/position-of-the-sun-given-time-of-day-and-lat-long

问题的解决方案还是更需要?

谢谢

0 投票
4 回答
2049 浏览

c# - .NET 的新星

有天文学家吗?我想知道是否有人制作或偶然发现了美国海军 Observatoru Vector Astrometry Subroutines (NOVAS)的 .NET(最好是 C#)实现。

0 投票
4 回答
2000 浏览

.net - 用于月亮和太阳落下/升起时间的 Web 服务或 .net 库?

任何人都知道可以为任何给定日期和任何给定纬度/经度提供太阳和月亮升起/落下时间的 Web 服务或 .NET 类库?

提前致谢。

0 投票
2 回答
251 浏览

python - 使用 astWCS 尝试创建 WCS 对象时出错

我正在运行 python2.5 并尝试使用 astLib 库来分析天文图像中的 WCS 信息。我尝试使用以下框架代码实例化对象:

其中 file.fits 是指向有效拟合文件的字符串。

我尝试使用传递 pyfits 标头对象的替代方法,但这也失败了:

错误是这样的:

当我在 ipython 中运行时,我在 pastebin 上得到了完整的错误

我知道 astWCS 模块是 WCStools 的包装版本,但我更喜欢使用 Python 模块,因为我的其余代码都在 Python 中

任何人都可以帮助解决这个问题吗?

0 投票
4 回答
2770 浏览

astronomy - 太阳能系统电脑模型

我有兴趣为我们的太阳系构建一个 3D 模型以供网络使用(可能使用 AS3 和 papervision),并且一直在研究如何对行星位置进行编码。我的想法是从 NASA 下载已经计算好的位置,因为我自己计算位置似乎过于复杂。我不确定是否应该使用以太阳为中心的编码或以地球为中心的编码。

我想知道有没有人有这方面的经验。哪种方法会更好?NASA JPL 网站似乎将我们太阳系中所有主要天体的位置都定位为以地球为中心。不过,当将航海者和火星着陆器任务添加到模型中时,我可以看到这稍后会成为一个问题?

非常欢迎任何反馈、评论和链接。

编辑:我有一个使用日心坐标的粗略模型运行,但我无法找到这种格式的所有行星的坐标。

更新:

我没有太多细节可以提供,因为我真的不知道我在做什么(从空间的角度来看)。我想掌握 3D 编程,并对空间感兴趣。我的想法是,我将首先制作一个粗略的太阳系模拟器,其中包含所有行星及其轨道器(起初可能不包括卫星)。也许包括一个新闻聚合器和一些新闻/资源的链接等等。总的想法是让人们点击并为去月球和火星感到超级兴奋(首先)。

从长远来看,我希望能够添加卫星和月球任务(及时回溯到 70 年代并查看月球任务)。

所以要回答 Arrieta 的问题,这个想法不是计算日食,而是建立一个易于接近的交互式空间探索器,并在途中学习一些 3D 和空间相关的东西。

0 投票
12 回答
15651 浏览

algorithm - 有哪些算法可以让我模拟行星物理学?

我有兴趣做一个“太阳系”模拟器,它可以让我模拟行星和恒星的旋转和引力。

我想说,模拟我们的太阳系,并以不同的速度模拟它(即,观察地球和其他行星围绕太阳旋转数天、数年等)。我希望能够添加行星和改变行星质量等,看看它会如何影响系统。

有没有人有任何资源可以为我指明编写这种模拟器的正确方向?

是否有为此目的而设计的任何现有物理引擎?

0 投票
6 回答
5099 浏览

astronomy - 破解 FITs 图像标题

我需要更改几个 FIT 图像标题中的一些值以适应我拥有的一些测试数据。因此,我正在尝试破解 FITs 图像标题以与应用程序一起运行。

然而此刻——我什至看不到标题,别介意破解它。我运行 Ubuntu。

谁能建议一些软件来查看 FIT - 甚至可以破解它?