这不是一个卫星收购计划,但它可能让你开始。我使用Python包Skyfield的子卫星SMAP基于最近的点两个线元素集从CelestrakCelestrak。
# !/usr/bin/env python # - * -编码:utf - 8 - *——从skyfield。api导入主题,负载进口numpy np matplotlib进口。pyplot plt #主要来自https://rhodesmill.org/skyfield/earth-satellites.html resource_satellites_url =“http“https:/ / celestrak。comorg北美防空司令部/元素/资源。txt ' resource_satellites = load.tle (resource_satellites_url) SMAP = resource_satellites (SMAP的)打印(SMAP)打印(“框架SMAP发现的时代:”,SMAP.epoch.utc_jpl ()) ts = load.timescale = ts.now()天()——SMAP。时代印刷(' {:。3 f}天远离时代的.format(天))#仍然从这个例子:布拉夫顿=主题(40.8939 N, 83.8917 W) t0 = ts.utc (2020、2、23) t1 = ts.utc (2020、2、24) t = SMAP的事件。find_events(布拉夫顿t0, t1, altitude_degrees = 30.0) ti,事件在zip (t,事件):name =(超过30°,“高潮”,小于30°)(事件)打印(ti.utc_jpl(),名字)#警告我在这里硬编码的一个日期,如果你运行这个框架后,检索#将会更新的,所以不太准确。你想使用的框架#几周内(如果不是几天)的约会最好的准确性。分钟=范围(24 * 60 + 1)* = ts.utc(0 2020, 24日,分钟,0)#例子;每分钟24 - 2月- 2020 subsat_pts = SMAP.at(次).subpoint()纬度,经度= subsat_pts.latitude.degrees subsat_pts.longitude.degrees subsat_pts_now = SMAP.at (ts.now ()) .subpoint () lat_now lon_now = subsat_pts_now.latitude.degrees subsat_pts_now.longitude.degrees #捏造环绕地球保持情节从包装阿龙断点=朗[1:]-朗(:1)> 10。#对SMAP这意味着经度纬度,经度=纬度(:1),朗(:1)朗[中断点]= np。南如果真的:plt.figure (plt)。(经度、纬度)plt的阴谋。标题(“SMAP地图每分钟24 - 2月- 2020点是ts.now ()”) plt。包含plt(“经度(度)”)。ylabel plt(“纬度(度)”)。情节([lon_now], [lat_now],“ok”) #把一个点现在plt.show ()