关于NASA InSight API查询指定Sol火星天气数据的技术咨询
关于NASA InSight API查询火星天气数据的解决方案
1. 正确查询指定Sol的火星天气数据
InSight Weather API不支持通过sol参数直接指定单个Sol查询,你之前使用&sol=1219的方式是无效的,这也是返回validity:false的核心原因之一。正确操作步骤如下:
- 先调用基础API接口(注意替换
DEMO_KEY为你自己的NASA API密钥,DEMO_KEY存在请求频率和数据限制,极易返回无效结果):https://api.nasa.gov/insight_weather/?api_key=YOUR_API_KEY&feedtype=json&ver=1.0 - 接口返回的JSON中,
sol_keys字段会列出当前所有有有效数据的Sol编号。 - 在返回的JSON结构里,每个Sol编号对应的对象就是该火星日的天气数据,比如要获取Sol 1219的数据,直接提取
response['1219']对应的内容即可。
另外,validity:false也可能是DEMO_KEY的限流导致,建议注册获取自己的免费API密钥,避免此类问题。
2. 获取有数据的Sol列表的其他途径
除了你提到的官方天气页面,最可靠且实时的方式就是直接调用InSight Weather API的基础接口,返回的sol_keys数组就是最新的有有效数据的Sol编号列表。此外,NASA InSight任务的官方数据门户也会同步更新可用的观测Sol记录,但通过API获取的列表最便于程序调用。
内容的提问来源于stack exchange,提问作者vbnm
相关产品推荐
相关产品推荐

