导入
近地小行星
学习如何使用小行星 NeoWs API 获取关于靠近地球的小行星的信息。
小行星是自宇宙大爆炸以来就在太空中漂浮的巨大岩石:根据许多科学理论,大爆炸是物质从一个极高密度的奇点中膨胀出来的事件,标志着宇宙的开端。其中一些小行星正悬浮在地球附近。NASA 拥有超过 90% 靠近地球的小行星的数据。在本课程中,我们将学习用于获取这些信息的 NASA 小行星 NeoWS API。

...
所有小行星数据的接口地址
请求参数
| 查询参数 | 类型 | 必需性 | 描述 |
|---|---|---|---|
| api_key | 字符串 | 必需 | 用于验证请求的 API 密钥 |
1const API_KEY = '{{API_KEY}}'; 2 3const endpointUrl = new URL('https://api.nasa.gov/neo/rest/v1/neo/browse'); 4 5const queryParameters = new URLSearchParams({ 6 api_key: API_KEY 7}); 8 9const options = { 10 method: 'GET' 11}; 12 13async function fetchAsteroidsData() { 14 try { 15 endpointUrl.search = queryParameters; 16 const response = await fetch(endpointUrl, options); 17 18 printResponse(response); 19 } 20 catch (error) { 21 printError(error); 22 } 23} 24 25fetchAsteroidsData();
响应字段
| 响应字段 | 类型 | 描述 |
|---|---|---|
| orbital_data | 对象数组 | 包含观测时刻小行星位置的信息 |
| close_approach_data | 对象数组 | 包含小行星接近地球当天的数据,包含以下重要元素: close_approach_date:小行星接近地球的日期 relative_velocity:小行星以不同单位表示的速度 miss_distance:小行星与地球之间的距离(不同单位) |
| estimated_diameter | 对象数组 | 包含小行星直径在不同单位下的信息 |
| is_potentially_hazardous_asteroid | 布尔值 | 表示该小行星是否可能具有危险性 |
| id | 整数 | 小行星 ID |
| name | 字符串 | 小行星名称 |
...
分组小行星数据的接口地址
请求参数
| 查询参数 | 类型 | 必需性 | 描述 |
|---|---|---|---|
| api_key | 字符串 | 必需 | 用于验证请求的 API 密钥 |
| start_date | 字符串 | 可选 | 搜索的起始日期,格式为 "YYYY-MM-DD" |
| end_date | 字符串 | 可选 | 搜索的结束日期,格式为 "YYYY-MM-DD",默认值为起始日期后的第七天 |
1const date = new Date(); 2const today = (date.toISOString()).split('T')[0]; 3const API_KEY = '{{API_KEY}}'; 4 5const endpointUrl = new URL('https://api.nasa.gov/neo/rest/v1/feed'); 6 7const queryParameters = new URLSearchParams({ 8 start_date: today, 9 end_date: today, 10 api_key: API_KEY 11}); 12 13const options = { 14 method: 'GET' 15}; 16 17async function fetchGroupedData() { 18 try { 19 endpointUrl.search = queryParameters; 20 const response = await fetch(endpointUrl, options); 21 22 printResponse(response); 23 } 24 catch (error) { 25 printError(error); 26 } 27} 28 29fetchGroupedData();
...
搜索特定小行星的接口地址
请求参数
| 查询参数 | 类型 | 必需性 | 描述 |
|---|---|---|---|
| api_key | 字符串 | 必需 | 用于验证请求的 API 密钥 |
1const API_KEY = '{{API_KEY}}'; 2 3const endpointUrl = new URL('https://api.nasa.gov/neo/rest/v1/neo/2001036'); 4// 2001036 是小行星 1036 Ganymed 的 SPK ID,它是目前已知最大的近地小行星 5const queryParameters = new URLSearchParams({ 6 api_key: API_KEY 7}); 8 9const options = { 10 method: 'GET' 11}; 12 13async function fetchAsteroidInfo() { 14 try { 15 endpointUrl.search = queryParameters; 16 const response = await fetch(endpointUrl, options); 17 18 printResponse(response); 19 } 20 catch (error) { 21 printError(error); 22 } 23} 24 25fetchAsteroidInfo();