Python无法运行SOIT:卫星立交桥识别工具[已解决]

eblbsuwk  于 2023-05-27  发布在  Python
关注(0)|答案(1)|浏览(83)

我需要建立一个数据库,每天的Terra和Aqua卫星过街时间的兴趣点。
期间为2001年1月1日至2021年12月31日。地点是lat:-32.510 ;长度:-55.800
我是一个新来的工作与卫星图像。我花了很多时间寻找这些信息,但没有成功。令人非常沮丧的是,尽管有强大的工具来管理卫星数据,但这些基本信息并不容易获得。
我找到了这个Python程序:SOIT:卫星天桥识别工具。https://zenodo.org/record/6475619
根据程序的README文件:
要求:
1.下载最新版本的Python(Python3)。该程序是在PyCharm中开发的,可在Mac,Linux或PC上公开使用。或者,您可以从任何安装了Python 3的机器的终端运行该程序。您还需要以下软件包:requests、json、configparser、numpy、csv、math、Skyfield。您可以通过在终端中运行以下命令轻松安装它们:<pip3 install(package name)>。例如,要安装Skyfield:。
1.在Space-Track.org(开放源代码)上创建一个帐户。
1.确保有稳定的互联网连接。
在www.example.com上创建帐户Space-Track.org并下载两个程序文件后,我打开PowerShell提示符,导航到程序目录,并使用以下命令加载库:python3 -m pip install(package)
使用JSON、math和CSV,我得到以下消息(例如:json):

python3 -m pip install json
ERROR: Could not find a version that satisfies the requirement json (from versions: none)
ERROR: No matching distribution found for json

在Google上搜索时,提供的答案是:Python有一个内置的JSON模块。如果这就是你要找的。只需导入脚本或shell即可。
我正在尝试使用“import”,并收到:

The term 'import' is not recognized as the name of a cmdlet, function, script file,
or executable program. Please check if you typed the name correctly or, 
if you included a file path, make sure that the path is correct and try again.

我尝试绕过最后一部分运行程序,得到以下消息:

PS C:\Users\corre\anaconda3\envs\Overpass\overpassprg> python3 pass_time_v2.py
Traceback (most recent call last):
  File "C:\Users\corre\anaconda3\envs\Overpass\overpassprg\pass_time_v2.py", line 429, in <module>
    main()
  File "C:\Users\corre\anaconda3\envs\Overpass\overpassprg\pass_time_v2.py", line 265, in main
    aqua_closest = closest_time.split(' ')[3]
                   ~~~~~~~~~~~~~~~~~~~~~~~^^^
IndexError: list index out of range

编辑05/26/2023:
SLTrack.ini文件是这样完成的:

[configuration]
username = martinfrancia@fagro.edu.uy
password = overpassanahi8camilo3

start date = 01/01/2001
end date = 12/31/2021

latitude of interest = -32.510
longitude of interest = -55.800

我需要这些数据;怎么会这么复杂你可以建议其他的方法

2vuwiymt

2vuwiymt1#

从Nick O Dell的评论来看,在GPTChat4的帮助下,这个问题可以纠正如下:替换:

aqua_closest = closest_time.split(' ')[3]

有:

closest_time_split = closest_time.split(' ')
aqua_closest = closest_time_split[3] if len(closest_time_split) >= 4 else 'unknown'

对于Terra也是一样:
替换:

terra_closest = closest_time.split(' ')[3]

有:

closest_time_split = closest_time.split(' ')
terra_closest = closest_time_split[3] if len(closest_time_split) >= 4 else 'unknown'

当卫星每天只经过一次时,这种修正将错误替换为值“未知”。在我的情况下,我能够获得2001年至2021年的数据库。谢谢你尼克·奥·戴尔没有你的帮助我是做不到的。

相关问题