Method: forecast.lookup

Trả về thông tin phấn hoa hằng ngày trong tối đa 5 ngày tại hơn 65 quốc gia, độ phân giải lên tới 1km.

Yêu cầu HTTP

GET https://pollen.googleapis.com/v1/forecast:lookup

URL sử dụng cú pháp Chuyển mã gRPC.

Tham số truy vấn

Thông số
location

object (LatLng)

Bắt buộc. Kinh độ và vĩ độ mà API dùng để tìm dữ liệu dự báo phấn hoa.

days

integer

Bắt buộc. Một con số cho biết số ngày dự đoán cần yêu cầu (giá trị tối thiểu là 1, giá trị tối đa là 5).

pageSize

integer

Không bắt buộc. Số lượng bản ghi thông tin hằng ngày tối đa có thể trả lại trên mỗi trang. Giá trị mặc định và giá trị tối đa là 5, cho biết dữ liệu trong 5 ngày.

pageToken

string

Không bắt buộc. Mã thông báo trang đã nhận được từ một cuộc gọi hằng ngày trước đó. Hàm này được dùng để truy xuất trang tiếp theo.

Xin lưu ý rằng khi cung cấp giá trị cho mã thông báo trang, tất cả các thông số yêu cầu khác được cung cấp phải khớp với lệnh gọi trước đó đã cung cấp mã thông báo trang.

languageCode

string

Không bắt buộc. Cho phép khách hàng chọn ngôn ngữ cho câu trả lời. Nếu không thể cung cấp dữ liệu cho ngôn ngữ đó, API sẽ sử dụng kết quả phù hợp nhất. Các giá trị được phép dựa trên tiêu chuẩn BCP-47 của IETF. Giá trị mặc định là "en".

plantsDescription

boolean

Không bắt buộc. Chứa thông tin chung về thực vật, bao gồm cả thông tin chi tiết về mùa vụ, hình dạng và màu sắc đặc biệt, thông tin về các phản ứng chéo gây dị ứng và ảnh thực vật. Giá trị mặc định là "true".

Nội dung yêu cầu

Nội dung yêu cầu phải trống.

Nội dung phản hồi

Nếu thành công, phần nội dung phản hồi sẽ chứa dữ liệu có cấu trúc sau:

Biểu diễn dưới dạng JSON
{
  "regionCode": string,
  "dailyInfo": [
    {
      object (DayInfo)
    }
  ],
  "nextPageToken": string
}
Trường
regionCode

string

Mã ISO_3166-1 alpha-2 của quốc gia/khu vực tương ứng với vị trí được cung cấp trong yêu cầu. Trường này có thể bị bỏ qua trong phản hồi nếu vị trí được cung cấp trong yêu cầu nằm ở lãnh thổ tranh chấp.

dailyInfo[]

object (DayInfo)

Bắt buộc. Đối tượng này chứa thông tin dự báo hằng ngày cho mỗi ngày được yêu cầu.

nextPageToken

string

Không bắt buộc. Mã thông báo để truy xuất trang tiếp theo.

Phạm vi uỷ quyền

Yêu cầu phạm vi OAuth sau:

  • https://www.googleapis.com/auth/cloud-platform

Để biết thêm thông tin, hãy xem bài viết Tổng quan về OAuth 2.0.

LatLng

Đối tượng đại diện cho cặp vĩ độ/kinh độ. Giá trị này được biểu thị dưới dạng cặp số đại diện cho vĩ độ và độ kinh độ. Trừ phi có quy định khác, đối tượng này phải tuân thủ tiêu chuẩn WGS84. Giá trị phải nằm trong phạm vi chuẩn hoá.

Biểu diễn dưới dạng JSON
{
  "latitude": number,
  "longitude": number
}
Trường
latitude

number

Vĩ độ theo độ. Giá trị này phải nằm trong khoảng [-90.0, +90.0].

longitude

number

Kinh độ tính bằng độ. Giá trị này phải nằm trong khoảng [-180.0, +180.0].

DayInfo

Đối tượng này chứa thông tin dự báo hằng ngày cho mỗi ngày được yêu cầu.

Biểu diễn dưới dạng JSON
{
  "date": {
    object (Date)
  },
  "pollenTypeInfo": [
    {
      object (PollenTypeInfo)
    }
  ],
  "plantInfo": [
    {
      object (PlantInfo)
    }
  ]
}
Trường
date

object (Date)

Ngày theo giờ UTC mà dữ liệu dự báo phấn hoa được trình bày.

pollenTypeInfo[]

object (PollenTypeInfo)

Danh sách này sẽ bao gồm tối đa 3 loại phấn hoa (GRASS, WEED, TREE) có ảnh hưởng đến vị trí được chỉ định trong yêu cầu.

plantInfo[]

object (PlantInfo)

Danh sách này sẽ bao gồm tối đa 15 loài phấn hoa ảnh hưởng đến vị trí đã chỉ định trong yêu cầu.

Ngày

Đại diện cho toàn bộ hoặc một phần ngày theo lịch, chẳng hạn như ngày sinh nhật. Thời gian trong ngày và múi giờ được chỉ định ở nơi khác hoặc không đáng kể. Ngày này có liên quan đến Lịch Gregory. Thông tin này có thể đại diện cho một trong những trường hợp sau:

  • Ngày đầy đủ, với các giá trị năm, tháng và ngày khác 0.
  • Tháng và ngày, thể hiện giá trị năm 0 (ví dụ: ngày kỷ niệm).
  • Một năm riêng biệt, tháng 0 và ngày 0.
  • Năm và tháng, không có ngày (ví dụ: ngày hết hạn thẻ tín dụng).

Các loại có liên quan:

Biểu diễn dưới dạng JSON
{
  "year": integer,
  "month": integer,
  "day": integer
}
Trường
year

integer

Năm của ngày. Giá trị phải từ 1 đến 9999 hoặc bằng 0 để chỉ định ngày không có năm.

month

integer

Tháng trong năm. Giá trị phải từ 1 đến 12 hoặc bằng 0 để chỉ định một năm không có tháng và ngày.

day

integer

Ngày trong tháng. Giá trị phải từ 1 đến 31 và có giá trị hợp lệ trong năm và tháng, hoặc bằng 0 để chỉ định một năm độc lập hoặc là một năm và tháng mà ngày không quan trọng.

PollenTypeInfo

Đối tượng này chứa chỉ số loại phấn hoa và thông tin khuyến nghị về sức khoẻ đối với từng loại phấn hoa.

Biểu diễn dưới dạng JSON
{
  "code": enum (PollenType),
  "displayName": string,
  "indexInfo": {
    object (IndexInfo)
  },
  "healthRecommendations": [
    string
  ],
  "inSeason": boolean
}
Trường
code

enum (PollenType)

Tên mã của loại phấn hoa. Ví dụ: "GRASS"

displayName

string

Hình ảnh mô tả tên loại phấn hoa mà con người có thể đọc được. Ví dụ: "Cỏ"

indexInfo

object (IndexInfo)

Chứa dữ liệu về Chỉ số phấn hoa phổ quát (UPI) cho loại phấn hoa.

healthRecommendations[]

string

Danh sách bằng văn bản nội dung giải thích, liên quan đến thông tin chi tiết về sức khoẻ dựa trên lượng phấn hoa hiện tại.

inSeason

boolean

Cho biết cây có đang vào mùa hay không.

PollenType

Mã loại phấn hoa

Enum
POLLEN_TYPE_UNSPECIFIED Một loại thực vật chưa xác định.
GRASS Loại phấn hoa cỏ.
TREE Loại phấn hoa.
WEED Loại phấn hoa cỏ dại.

IndexInfo

Đối tượng này chứa dữ liệu đại diện cho giá trị, danh mục và nội dung mô tả cụ thể của chỉ số phấn hoa.

Biểu diễn dưới dạng JSON
{
  "code": enum (Index),
  "displayName": string,
  "category": string,
  "indexDescription": string,
  "color": {
    object (Color)
  },
  "value": integer
}
Trường
code

enum (Index)

Mã của chỉ mục. Trường này biểu thị chỉ mục cho mục đích lập trình bằng cách sử dụng trường hợp rắn thay vì dấu cách. Ví dụ: "UPI".

displayName

string

Biểu thị tên chỉ mục mà con người có thể đọc được. Ví dụ: "Universal Phấn hoa Chỉ số".

category

string

Phân loại văn bản của diễn giải điểm số của chỉ mục. Chỉ mục này bao gồm 6 danh mục:

  • 0: "Không có"
  • 1: "Rất thấp"
  • 2: "Thấp"
  • 3: "Trung bình"
  • 4: "Cao"
  • 5: "Rất cao
indexDescription

string

Nội dung giải thích bằng văn bản về cấp chỉ mục hiện tại.

color

object (Color)

Màu dùng để biểu thị điểm số của Chỉ mục phấn hoa.

value

integer

Điểm số của chỉ mục. Phạm vi số nằm trong khoảng từ 0 đến 5.

Chỉ mục

Mã chỉ mục

Enum
INDEX_UNSPECIFIED Chỉ mục không xác định.
UPI Chỉ số phấn hoa toàn cầu.

Màu

Đại diện cho một màu trong hệ màu RGBA. Cách trình bày này được thiết kế để đơn giản hoá việc chuyển đổi sang và từ các bản trình bày màu sắc bằng nhiều ngôn ngữ khác nhau sao cho gọn nhẹ. Ví dụ: các trường của biểu diễn này có thể được cung cấp một cách đơn giản cho hàm khởi tạo của java.awt.Color trong Java; nó cũng có thể được cung cấp một cách đơn giản cho phương thức +colorWithRed:green:blue:alpha của UIColor trong iOS; và chỉ cần thực hiện một chút thao tác, bạn có thể dễ dàng định dạng đoạn mã này thành chuỗi CSS rgba() trong JavaScript.

Trang tham khảo này không có thông tin về hệ màu tuyệt đối cần dùng để diễn giải giá trị RGB – ví dụ: sRGB, Adobe RGB, DCI-P3 và BT.2020. Theo mặc định, các ứng dụng sẽ giả định hệ màu sRGB.

Khi cần quyết định sự cân bằng về màu sắc, quá trình triển khai sẽ coi 2 màu là bằng nhau nếu tất cả các giá trị màu đỏ, xanh lục, xanh dương và alpha khác nhau tối đa là 1e-5.

Ví dụ (Java):

 import com.google.type.Color;

 // ...
 public static java.awt.Color fromProto(Color protocolor) {
   float alpha = protocolor.hasAlpha()
       ? protocolor.getAlpha().getValue()
       : 1.0;

   return new java.awt.Color(
       protocolor.getRed(),
       protocolor.getGreen(),
       protocolor.getBlue(),
       alpha);
 }

 public static Color toProto(java.awt.Color color) {
   float red = (float) color.getRed();
   float green = (float) color.getGreen();
   float blue = (float) color.getBlue();
   float denominator = 255.0;
   Color.Builder resultBuilder =
       Color
           .newBuilder()
           .setRed(red / denominator)
           .setGreen(green / denominator)
           .setBlue(blue / denominator);
   int alpha = color.getAlpha();
   if (alpha != 255) {
     result.setAlpha(
         FloatValue
             .newBuilder()
             .setValue(((float) alpha) / denominator)
             .build());
   }
   return resultBuilder.build();
 }
 // ...

Ví dụ (iOS / obj-C):

 // ...
 static UIColor* fromProto(Color* protocolor) {
    float red = [protocolor red];
    float green = [protocolor green];
    float blue = [protocolor blue];
    FloatValue* alpha_wrapper = [protocolor alpha];
    float alpha = 1.0;
    if (alpha_wrapper != nil) {
      alpha = [alpha_wrapper value];
    }
    return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
 }

 static Color* toProto(UIColor* color) {
     CGFloat red, green, blue, alpha;
     if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
       return nil;
     }
     Color* result = [[Color alloc] init];
     [result setRed:red];
     [result setGreen:green];
     [result setBlue:blue];
     if (alpha <= 0.9999) {
       [result setAlpha:floatWrapperWithValue(alpha)];
     }
     [result autorelease];
     return result;
}
// ...

Ví dụ (JavaScript):

// ...

var protoToCssColor = function(rgb_color) {
   var redFrac = rgb_color.red || 0.0;
   var greenFrac = rgb_color.green || 0.0;
   var blueFrac = rgb_color.blue || 0.0;
   var red = Math.floor(redFrac * 255);
   var green = Math.floor(greenFrac * 255);
   var blue = Math.floor(blueFrac * 255);

   if (!('alpha' in rgb_color)) {
      return rgbToCssColor(red, green, blue);
   }

   var alphaFrac = rgb_color.alpha.value || 0.0;
   var rgbParams = [red, green, blue].join(',');
   return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
};

var rgbToCssColor = function(red, green, blue) {
  var rgbNumber = new Number((red << 16) | (green << 8) | blue);
  var hexString = rgbNumber.toString(16);
  var missingZeros = 6 - hexString.length;
  var resultBuilder = ['#'];
  for (var i = 0; i < missingZeros; i++) {
     resultBuilder.push('0');
  }
  resultBuilder.push(hexString);
  return resultBuilder.join('');
};

// ...
Biểu diễn dưới dạng JSON
{
  "red": number,
  "green": number,
  "blue": number,
  "alpha": number
}
Trường
red

number

Lượng màu đỏ trong màu dưới dạng một giá trị trong khoảng [0, 1].

green

number

Lượng màu xanh lục trong màu dưới dạng một giá trị trong khoảng [0, 1].

blue

number

Lượng màu xanh dương trong màu dưới dạng một giá trị trong khoảng [0, 1].

alpha

number

Tỷ lệ của màu này sẽ được áp dụng cho điểm ảnh. Tức là màu pixel cuối cùng được xác định theo phương trình:

pixel color = alpha * (this color) + (1.0 - alpha) * (background color)

Tức là giá trị 1.0 tương ứng với một màu đồng nhất, trong khi giá trị 0.0 tương ứng với một màu hoàn toàn trong suốt. Tính năng này sử dụng một thông báo trình bao bọc thay vì một đại lượng vô hướng số thực đơn giản để có thể phân biệt giữa giá trị mặc định và giá trị chưa được đặt. Nếu bạn bỏ qua, đối tượng màu này sẽ hiển thị dưới dạng một màu đồng nhất (như thể giá trị alpha đã được cung cấp rõ ràng giá trị là 1.0).

PlantInfo

Đối tượng này chứa thông tin hằng ngày về một loại cây cụ thể.

Biểu diễn dưới dạng JSON
{
  "code": enum (Plant),
  "displayName": string,
  "indexInfo": {
    object (IndexInfo)
  },
  "plantDescription": {
    object (PlantDescription)
  },
  "inSeason": boolean
}
Trường
code

enum (Plant)

Tên mã cây. Ví dụ: "COTTONWOOD". Bạn có thể tìm thấy danh sách tất cả các mã hiện có tại đây.

displayName

string

Một hình minh hoạ tên cây mà con người có thể đọc được. Ví dụ: "Cottonwood".

indexInfo

object (IndexInfo)

Đối tượng này chứa dữ liệu đại diện cho giá trị, danh mục và nội dung mô tả cụ thể của chỉ số phấn hoa.

plantDescription

object (PlantDescription)

Chứa thông tin chung về thực vật, bao gồm cả thông tin chi tiết về mùa vụ, hình dạng và màu sắc đặc biệt, thông tin về các phản ứng chéo gây dị ứng và ảnh thực vật.

inSeason

boolean

Cho biết cây đang vào mùa hay chưa.

Thực vật

Liệt kê các nhà máy hiện có với phạm vi cung cấp khác nhau giữa các địa điểm.

Enum
PLANT_UNSPECIFIED Mã cây chưa xác định.
ALDER Cây dương tía được phân loại là một loại phấn hoa cây.
ASH Cây tần bì được phân loại là một loại phấn hoa cây.
BIRCH Bạch dương được phân loại là một loại phấn hoa cây.
COTTONWOOD Cây gỗ dương được phân loại là một loại phấn hoa cây.
ELM Cây du được phân loại là một loại phấn hoa cây.
MAPLE Cây phong được phân loại là một loại phấn hoa cây.
OLIVE Cây ôliu được phân loại là một loại phấn hoa cây.
JUNIPER Cây bách xù được phân loại là một loại phấn hoa cây.
OAK Cây sồi được phân loại là một loại phấn hoa cây.
PINE Thông được phân loại là một loại phấn hoa cây.
CYPRESS_PINE Thông bách được phân loại là một loại phấn hoa cây.
HAZEL Cây phỉ được phân loại là một loại phấn hoa cây.
GRAMINALES Cỏ ngũ cốc được phân loại là một loại phấn hoa cỏ.
RAGWEED Cỏ phấn hương được phân loại là một loại phấn hoa cỏ dại.
MUGWORT Ngải cứu được phân loại là một loại phấn hoa cỏ.

PlantDescription

Chứa thông tin chung về thực vật, bao gồm cả thông tin chi tiết về mùa vụ, hình dạng và màu sắc đặc biệt, thông tin về các phản ứng chéo gây dị ứng và ảnh thực vật.

Biểu diễn dưới dạng JSON
{
  "type": enum (PollenType),
  "family": string,
  "season": string,
  "specialColors": string,
  "specialShapes": string,
  "crossReaction": string,
  "picture": string,
  "pictureCloseup": string
}
Trường
type

enum (PollenType)

Loại phấn hoa của cây. Ví dụ: "GRASS". Bạn có thể tìm thấy danh sách tất cả các mã hiện có tại đây.

family

string

Một hình minh hoạ tên họ thực vật mà con người có thể đọc được. Ví dụ: "Tên khoa học (họ Bạch dương)".

season

string

Danh sách dạng văn bản giải thích các mùa có nhiều phấn hoa hoạt động. Ví dụ: "Mùa đông muộn, mùa xuân".

specialColors

string

Mô tả bằng văn bản về cây cối màu sắc của lá, vỏ cây, hoa hoặc hạt giúp xác định cây.

specialShapes

string

Mô tả bằng văn bản về cây cối hình dạng của lá, vỏ cây, hoa hoặc hạt giúp xác định cây.

crossReaction

string

Nội dung mô tả bằng văn bản về các loài thực vật phản ứng chéo phấn hoa. Ví dụ: Phấn hoa cây dương tía, cây phỉ, cây trăn, cây gỗ dẻ, cây liễu và cây sồi.

picture

string

Đường liên kết đến hình ảnh của cái cây.

pictureCloseup

string

Đường liên kết đến ảnh cận cảnh về cái cây.