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ờ lên đến 96 giờ (4 ngày) cho một vị trí nhất định. Mỗi thông tin dự báo bao gồm các chỉ số chất lượng không khí hằng giờ cũng như thông tin bổ sung:

  • Thời gian và ngày hoặc khoảng thời gian cụ thể để dự đoán
  • Mã ngôn ngữ cho trường được 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ủ yếu
  • 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ờ qua điểm cuối dự báo bằng cách gửi yêu cầu POST qua HTTP đến:

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

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

Giới thiệu về phản hồi dự đoán

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

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

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

{
  "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ố

Mã sau đây cho biết cách tạo nội dung yêu cầu với nhiều tham số. Trong ví dụ này, bạn chỉ định những thông tin sau:

  • Vị trí
  • Khoảng thời gian trình bày thông tin dự báo chất lượng không khí
  • Mã ngôn ngữ
  • Các phép tính bổ sung (chẳng hạn như nội dung đề xuất về sức khoẻ, nồng độ chất gây ô nhiễm chủ yếu 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 như sau.

{
  {
  "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"
}