Dự báo

Điểm cuối dự báo cung cấp thông tin dự báo chất lượng không khí hằng giờ trong tối đa 96 giờ (4 ngày) cho một vị trí cụ thể. Mỗi thông tin dự báo bao gồm chỉ số chất lượng không khí theo giờ cũng như các thông tin bổ sung:

  • Ngày và giờ cụ thể hoặc khoảng thời gian dự đoán
  • Mã ngôn ngữ cho các trường đã dịch
  • Chỉ số chất lượng không khí (AQI) tại địa phương hoặc tuỳ chỉnh
  • Đề xuất về sức khoẻ
  • Các chất gây ô nhiễm chính
  • Nồng độ ô nhiễm
  • Thông tin bổ sung về các chất gây ô nhiễm
  • Kích thước trang phản hồi
  • Bảng màu

Giới thiệu về yêu cầu thông tin dự đoán

Bạn có thể yêu cầu thông tin dự báo chất lượng không khí hằng giờ thông qua điểm cuối dự báo bằng cách gửi yêu cầu POST qua HTTP tới:

https://airquality.googleapis.com/v1/forecast:lookup?key=YOUR_API_KEY

Đưa các thông số của bạn vào nội dung yêu cầu. Nội dung yêu cầu chứa vị trí mà bạn muốn nhận thông tin dự báo theo giờ về chất lượng không khí và nhiều lựa chọn để kiểm soát thông tin bổ sung nào cần đưa vào phản hồi.

Giới thiệu về câu trả lời dự đoán

Nội dung phản hồi sẽ cung cấp ngày và giờ UTC để hiển thị thông tin dự báo về chất lượng không khí, chỉ số chất lượng không khí và thông tin tuỳ chỉnh bổ sung. Nội dung phản hồi cũng bao gồm mã thông báo để truy xuất trang tiếp theo nếu thông tin không phù hợp với kích thước trang được yêu cầu.

Ví dụ về yêu cầu cơ bản

Đoạn mã sau đây cho biết cách tạo một yêu cầu dự báo. Trong ví dụ này, bạn chỉ định vị trí, ngày và giờ (bắt đầu từ giờ tiếp theo đến 96 giờ) để hiển thị thông tin dự báo chất lượng không khí theo giờ.

curl -X POST -d '{
  "location": {
    "latitude": 37.4125333,
    "longitude": -122.0840937
  },
  "dateTime": "2024-02-09T08:00:00Z"
}' \
-H "Content-Type: application/json" \
-H "Accept-Language: *" \
"https://airquality.googleapis.com/v1/forecast:lookup?key=YOUR_API_KEY"

Lệnh gọi tạo ra phản hồi JSON sau đây.

{
  "hourlyForecasts": [
    {
      "dateTime": "2024-02-09T08:00:00Z",
      "indexes": [
        {
          "code": "uaqi",
          "displayName": "Universal AQI",
          "aqi": 80,
          "aqiDisplay": "80",
          "color": {
            "red": 0.34509805,
            "green": 0.74509805,
            "blue": 0.20784314
          },
          "category": "Excellent air quality",
          "dominantPollutant": "pm25"
        }
      ]
    }
  ],
  "regionCode": "us"
}

Ví dụ về yêu cầu có nhiều tham số

Đoạn mã sau đây cho biết cách tạo nội dung yêu cầu có nhiều tham số. Trong ví dụ này, bạn chỉ định như sau:

  • Vị trí
  • Khoảng thời gian hiển thị thông tin dự báo về chất lượng không khí
  • Mã ngôn ngữ
  • Các phép tính bổ sung (chẳng hạn như đề xuất về sức khoẻ, nồng độ chất gây ô nhiễm chính và thông tin bổ sung về chất gây ô nhiễm)
  • Bảng màu
curl -X POST -d '{
    "pageSize": "10",
    "universalAqi": "true",
    "location": {
        "latitude": "40.741895",
        "longitude": "-73.989308"
    },
    "period": {
        "startTime": "2024-02-27T13:58:14+02:00",
        "endTime": "2024-02-28T16:58:14+02:00"
    },
    "languageCode": "en",
    "extraComputations": [
        "HEALTH_RECOMMENDATIONS",
        "DOMINANT_POLLUTANT_CONCENTRATION",
        "POLLUTANT_ADDITIONAL_INFO"
    ],
    "uaqiColorPalette": "RED_GREEN"
}' \
-H "Content-Type: application/json" \
-H "Accept-Language: *" \
"https://airquality.googleapis.com/v1/forecast:lookup?key=YOUR_API_KEY"

Lệnh gọi tạo ra phản hồi JSON sau đây.

{
  {
  "hourlyForecasts": [
    {
      "dateTime": "2024-02-27T11:00:00Z",
      "indexes": [
        {
          "code": "uaqi",
          "displayName": "Universal AQI",
          "aqi": 75,
          "aqiDisplay": "75",
          "color": {
            "red": 0.43137255,
            "green": 0.7764706,
            "blue": 0.20392157
          },
          "category": "Good air quality",
          "dominantPollutant": "pm25"
        }
      ],
      "pollutants": [
        {
          "code": "pm25",
          "displayName": "PM2.5",
          "fullName": "Fine particulate matter (\u003c2.5µm)",
          "concentration": {
            "value": 15.1,
            "units": "MICROGRAMS_PER_CUBIC_METER"
          },
          "additionalInfo": {
            "sources": "...",
            "effects": "..."
          }
        }
      ],
      "healthRecommendations": {
        "generalPopulation": "...",
        "lungDiseasePopulation": "...",
        "heartDiseasePopulation": "...",
        "athletes": "...",
        "pregnantWomen": "..."
      }
    },
    {
      "dateTime": "2024-02-27T12:00:00Z",
      "indexes": [
        {
          "code": "uaqi",
          "displayName": "Universal AQI",
          "aqi": 67,
          "aqiDisplay": "67",
          "color": {
            "red": 0.5882353,
            "green": 0.8392157,
            "blue": 0.16862746
          },
          "category": "Good air quality",
          "dominantPollutant": "pm25"
        }
      ],
      "pollutants": [
        {
          "code": "pm25",
          "displayName": "PM2.5",
          "fullName": "Fine particulate matter (\u003c2.5µm)",
          "concentration": {
            "value": 19.96,
            "units": "MICROGRAMS_PER_CUBIC_METER"
          },
          "additionalInfo": {
            "sources": "...",
            "effects": "..."
          }
        }
      ],
      "healthRecommendations": {
        "generalPopulation": "...",
        "lungDiseasePopulation": "...",
        "heartDiseasePopulation": "...",
        "athletes": "...",
        "pregnantWomen": "...",
        "children": "..."
      }
    },
    /.../
  ]
  }
  "regionCode": "us",
  "nextPageToken": "CjMKEglwCFVq9l5EQBH0aoDSUH9SwBoQCgYI1pDirgYSBgiGiOiuBiABKgMCBAMyAmVuOAEQGA=="
}

Để xem trang tiếp theo của thông tin dự báo, hãy chuyển nextPageToken được trả về ở cuối nội dung phản hồi:

curl -X POST -d '{
    "universalAqi": "true",
    "location": {
        "latitude": "40.741895",
        "longitude": "-73.989308"
    },
    "period": {
        "startTime": "2024-02-27T13:58:14+02:00",
        "endTime": "2024-02-28T16:58:14+02:00"
    },
    "languageCode": "en",
    "extraComputations": [
        "HEALTH_RECOMMENDATIONS",
        "DOMINANT_POLLUTANT_CONCENTRATION",
        "POLLUTANT_ADDITIONAL_INFO"
    ],
    "uaqiColorPalette": "RED_GREEN",
    "pageToken": "CjMKEglwCFVq9l5EQBH0aoDSUH9SwBoQCgYI1pDirgYSBgiGiOiuBiABKgMCBAMyAmVuOAEQGA=="
}' \
-H "Content-Type: application/json" \
-H "Accept-Language: *" \
"https://airquality.googleapis.com/v1/forecast:lookup?key=YOUR_API_KEY"

Thao tác này sẽ trả về trang tiếp theo của thông tin dự báo:

{
  "hourlyForecasts": [
    {
      "dateTime": "2024-02-27T21:00:00Z",
      "indexes": [
        {
          "code": "uaqi",
          "displayName": "Universal AQI",
          "aqi": 74,
          "aqiDisplay": "74",
          "color": {
            "red": 0.44705883,
            "green": 0.78431374,
            "blue": 0.2
          },
          "category": "Good air quality",
          "dominantPollutant": "o3"
        }
      ],
      "pollutants": [
        {
          "code": "o3",
          "displayName": "O3",
          "fullName": "Ozone",
          "concentration": {
            "value": 32.07,
            "units": "PARTS_PER_BILLION"
          },
          "additionalInfo": {
            "sources": "...",
            "effects": "..."
          }
        }
      ],
      "healthRecommendations": {
        "generalPopulation": "...",
        "elderly": "...",
        "lungDiseasePopulation": "...",
        "heartDiseasePopulation": "...",
        "athletes": "...",
        "pregnantWomen": "...",
        "children": "..."
      }
    },
    {
      "dateTime": "2024-02-27T22:00:00Z",
      "indexes": [
        {
          "code": "uaqi",
          "displayName": "Universal AQI",
          "aqi": 75,
          "aqiDisplay": "75",
          "color": {
            "red": 0.43137255,
            "green": 0.7764706,
            "blue": 0.20392157
          },
          "category": "Good air quality",
          "dominantPollutant": "o3"
        }
      ],
      "pollutants": [
        {
          "code": "o3",
          "displayName": "O3",
          "fullName": "Ozone",
          "concentration": {
            "value": 30.94,
            "units": "PARTS_PER_BILLION"
          },
          "additionalInfo": {
            "sources": "...",
            "effects": "..."
          }
        }
      ],
      "healthRecommendations": {
        "generalPopulation": "...",
        "lungDiseasePopulation": "...",
        "heartDiseasePopulation": "...",
        "athletes": "...",
        "pregnantWomen": "...",
        "children": "..."
      }
    },
    /.../
  ]
  "regionCode": "us"
}