latitudes = [] #Long list of latitudes
longitudes = [] #Long list of longitudes
unixtimes = [] #Long list of corresponding unixtimes
因此,我有兴趣区分每次卫星在相当大的地理区域(每次通过)时的纬度/经度记录。但是,我不确定如何做到这一点。
现在,我通过目视检查位置图,手动找到第一个'发现'那个地区的卫星,然后我以同样的方式发现了下一次发生。然后,通过时间是每个事件之间的差异。但是,这个传递时间会随着时间而变化,因此这种方法随着时间的推移并不准确。另一个问题是它依赖于地理位置,如果我想要第一次通过的时间,以及任何其他地理位置的通过时间我必须再次手动检查。我已经包含了我的代码。请注意,seq
函数只是我从SO中检索到的函数,它使我能够迭代非整数增量。
def seq(start, end, step):
assert(step != 0)
sample_count = abs(end - start) / step
return itertools.islice(itertools.count(start, step), sample_count)
gridsize = 5 #Unit: degrees
upperleftlong = #Upper corner of geographical area
upperleftlat = #Upper corner of geographical area
lowerrightlong = #Lower corner of geographical area
lowerrightlat = #Lower corner of geographical area
passrate = 5500 #Time between passings in seconds
start = 1498902400 #Time of first passing
end = 1498905700 #Approximately passing length
numberofpassings = 600 #Number of passings that should be checked for
for p in range(0,numberofpassings+1):
start = 1398903400+passrate*p
end = 1398905400+passrate*p
for i in seq(lowerrightlat, upperleftlat+gridsize, gridsize):
for j in seq(upperleftlong, lowerrightlong+gridsize, gridsize):
positions = getPositionsFromDB(j,i,start,end,gridsize,databasepath, con)
那么,是否有人有一种聪明的方式来表示合格率,通过时间并发现哪些地理位置属于每个通过?
我正在使用Python和SQLite。
答案 0 :(得分:2)
从你的卫星期间(5500秒),我相当确定你的卫星是空间站。由于寿命较短,很少有其他卫星通常在低海拔(370公里)处活动。
Heavens-above site有很多工具可以预测空间站(和其他人)的目击。 Spot-the-station致力于提供预测。 Satellites calculations on-line是一大堆工具,也可以提供帮助。
如果对此类程序的工作感兴趣,可以使用源代码开源项目Predict。
当然,Wikipedia必须存在,包含应用列表,以及对具有预测工具的许多库的引用。
注意:整数增量很好,但是如果你使用numpy.arange,numpy可以给你浮点增量。这样更灵活,您可以使用物理的非缩放值,而不会遇到整数溢出的风险。