计算行星和恒星的位置

ephem的Python项目详细描述


http://bottlepy.org/docs/dev/_static/Gittip.pnghttps://travis-ci.org/brandon-rhodes/pyephem.png

pyephem提供了一个ephempython包 用于进行高精度天文计算。 底层的数值例程是用C编写的 也是推动天文学应用的动力, 作者艾尔伍德·查尔斯·唐尼, 慷慨地允许他们在庇以弗所使用。 名称ephem是单词ephemeris的缩写, 这是餐桌的传统术语 给出一个行星、小行星或彗星在一系列日期内的位置。

PyEphem web site提供文档 同时也链接到项目bug跟踪器,用户支持论坛, 以及源代码库。 如果你有一个C编译器和 pip Python installer tool 在你的系统上, 那么安装pyephem应该很简单:

pip install ephem

在下面的下载部分也有Windows安装程序。

Pyephem的设计强调方便和易用性。 天体和观察者在地球上的位置 由python对象表示, 日期和角度自动打印 标准天文格式:

>>> import ephem
>>> mars = ephem.Mars()
>>> mars.compute('2008/1/1')
>>> print(mars.ra)
5:59:27.35
>>> print(mars.dec)
26:56:27.4

文档包括aQuick Reference和aTutorial, 包含在模块本身的文本文件中 以及在PyEphem web site上可用。

pyephem提供的功能包括:

  • 找到行星、彗星或小行星在天空中的位置。
    • 高精度轨道程序已被证实 对于月球、太阳、行星和主要行星卫星。
    • 用户可以提供彗星小行星的轨道元素, 或地球轨道卫星,并计算其位置。
    • 94颗明亮恒星的位置是内置的, 用户可以根据需要创建更多的固定对象 为了他们的计算。
  • 确定某个特定观察者在天空中出现的物体位置。
    • 用户可以提供经度、纬度和高度 他们将要观察的地点。
    • 为了方便起见,一个小型的经纬度数据库 包括122个世界城市。
    • 对于规定的天气条件(温度和压力); pyephem将补偿大气折射 通过调整物体在地平线附近的位置。
  • 计算一个物体何时升起,何时在头顶上移动,何时设置 从一个特定的地点。
  • 解析和使用传统Xephem文件格式的轨道数据, 或者用于跟踪地球轨道卫星的标准TLE格式。
  • 确定分点和至点的日期。
  • 计算月球不同阶段的日期。
  • 从格林威治时间(更准确地说,是星历时间)转换而来 pyephem使用到用户的本地时间。
  • 转换赤道、黄道和银河系之间的位置 坐标系。
  • 确定在哪一页的铀量表或千年星图 一颗特别的星星应该出现。
  • 返回与任何日历日期对应的儒略日期。

开发人员

如果你有兴趣了解毕弗的工作原理或 探索它的源代码,从github签出这个存储库。它是 主办地点:

https://github.com/brandon-rhodes/pyephem

如果你缺乏版本控制方面的专业知识,你可以简单地 使用此链接下载最新源代码的静态副本:

https://github.com/brandon-rhodes/pyephem/archive/master.zip

要就地运行其源代码,请创建一个virtual environment,激活 它,将目录更改为pyephem源代码的根目录,然后运行:

python setup.py build_ext -i

然后您可以运行pyephem测试套件来查看 操作系统和平台上的功能正常工作:

python -m unittest discover ephem

pyephem的文档是作为标准的Sphinx文档项目组织的。你可以 使用sphinx命令行构建文档:

sphinx-build -b html pyephem/ephem/doc/ ./my_documentation_directory/

-或者,更典型的是,通过调用 文档的生成文件:

^{公关6}$

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何将BroadcastReceiver类代码放入服务类中,以便在服务类中注册和注销它?   在Java中根据字符串数组中的项检查输入   键入localhost:8080无法加载java tomcat10主页错误:ERR\u CONNECTION\u被拒绝   java我的程序在BlueJ中的文本“Gross Pay:”后遇到“%.2f”时“崩溃”   使用Servlet和Prepared语句的java UPDATE类找不到异常(MySQL驱动程序)   java如果我使用安装在不同操作系统上的docker使用strictfp,有可能得到不同的结果吗?   java如何在zk中将复选框的onCheck事件传递给其父级?   我们如何通过java中的sftp将文本附加到远程服务器上的现有文件?   java如何将字符串与linkedlist中的字符串进行比较,并将结果作为布尔值插入mysql表   关于Lambda的java。。。。分号   java更改Android容器标题的颜色   java多维数组计算   hibernate 5中的java弃用记录器   java如何读取HOCON配置以将值加载到地图中?   分析如何在生产环境中调试java heap OutOfMemory错误?