用于传播卫星轨道的python库。

orbit-predictor的Python项目详细描述


https://travis-ci.org/satellogic/orbit-predictor.svg?branch=masterhttps://coveralls.io/repos/github/satellogic/orbit-predictor/badge.svg?branch=master

轨道预测器是一个python库,用于传播地球轨道物体(卫星,国际空间站, 圣诞老人等)使用TLE (Two-Line Elements set)

所有的努力都是由布兰登·罗德斯完成的 SGP4

我们可以说orbit predictor是sgp4的python实现的一种“包装器”。

安装它

您可以从pypi安装轨道预测器:

pip install orbit-predictor

使用示例

国际空间站什么时候会越过阿根廷?

In [1]: from orbit_predictor.sources import EtcTLESource

In [2]: from orbit_predictor.locations import ARG

In [3]: source = EtcTLESource(filename="examples/iss.tle")

In [4]: predictor = source.get_predictor("ISS")

In [5]: predictor.get_next_pass(ARG)
Out[5]: <PredictedPass ISS over ARG on 2017-11-10 22:48:10.607212>

In [6]: predicted_pass = _

In [7]: position = predictor.get_position(predicted_pass.aos)

In [8]: ARG.is_visible(position)  # Can I see the ISS from this location?
Out[8]: True

In [9]: import datetime

In [10]: position_delta = predictor.get_position(predicted_pass.los + datetime.timedelta(minutes=20))

In [11]: ARG.is_visible(position_delta)
Out[11]: False

In [12]: tomorrow = datetime.datetime.utcnow() + datetime.timedelta(days=1)

In [13]: predictor.get_next_pass(ARG, tomorrow, max_elevation_gt=20)
Out[13]: <PredictedPass ISS over ARG on 2017-11-11 23:31:36.878827>

从TLE行简化创建预测器:

In [1]: import datetime

In [2]: from orbit_predictor.sources import get_predictor_from_tle_lines

In [3]: TLE_LINES = (
            "1 43204U 18015K   18339.11168986  .00000941  00000-0  42148-4 0  9999",
            "2 43204  97.3719 104.7825 0016180 271.1347 174.4597 15.23621941 46156")

In [4]: predictor = get_predictor_from_tle_lines(TLE_LINES)

In [5]: predictor.get_position(datetime.datetime(2019, 1, 1))
Out[5]: Position(when_utc=datetime.datetime(2019, 1, 1, 0, 0),
    position_ecef=(-5280.795613274576, -3977.487633239489, -2061.43227648734),
    velocity_ecef=(-2.4601788971676903, -0.47182217472755117, 7.167517631852518),
    error_estimate=None)

目前你有这些来源

  • 内存源:内存存储。
  • EtcTLESource:uniq-TLE存储在/etc/latest-TLE
  • wstlesource:它读取satellogic中当前使用的rest api。我们正在努力使之公开。

如何贡献

  • 编写PEP8投诉代码。
  • 把代码包装在100个共谋者身上。
  • 始终为每个要素和合并建议使用分支。
  • 总是在推之前运行测试(测试意味着PEP8验证)

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

推荐PyPI第三方库


热门话题
java使用并发hashmap减少线程池的内存使用?   java为什么在提交片段后出现错误“getParentActivityIntent:badActivity name”?   vim UltiSnips扩展java包   java给出了一个名称列表,如何插入、删除、显示、搜索和退出?Java程序   java Spring集成:只从FTP服务器下载新的或更新的文件?   使用Java中的Scala:将函数作为参数传递   java线程1每秒填充一个映射,线程2每60秒保存一个条目   java从私有类访问公共类中的方法/字段   如何使用ApacheSpark流媒体和JavaAPI从所有人那里获取英语推文?   java是否可以在父标记和子标记中编写XMLSchemainstance?   java无法读取文本文件,也找不到解决方案   java在运行时加载类时无法创建bean