Method: forecast.lookup

הפונקציה מחזירה מידע יומי על אבקנים של עד 5 ימים ביותר מ-65 מדינות, ברזולוציה של עד 1 ק"מ.

בקשת HTTP

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

בכתובת ה-URL נעשה שימוש בתחביר המרת gRPC.

פרמטרים של שאילתה

פרמטרים
location

object (LatLng)

חובה. קווי האורך והרוחב שמהם ה-API מחפש נתוני תחזיות של אבקנים.

days

integer

חובה. מספר שמציין כמה ימי תחזית לבקש (ערך מינימלי 1, הערך המקסימלי הוא 5).

pageSize

integer

אפשרות. המספר המקסימלי של רשומות מידע יומיות שיש להחזיר בכל דף. ערך ברירת המחדל והערך המקסימלי הם 5 (נתונים מ-5 ימים).

pageToken

string

אפשרות. אסימון דף שהתקבל משיחה יומית קודמת. הוא משמש לאחזור הדף הבא.

שימו לב שכאשר מזינים ערך לאסימון הדף, כל הפרמטרים האחרים של הבקשה חייבים להתאים לקריאה הקודמת שסיפקה את אסימון הדף.

languageCode

string

אפשרות. מאפשר ללקוח לבחור את השפה של התגובה. אם לא ניתן לספק את הנתונים עבור השפה הזו, ה-API משתמש בהתאמה הקרובה ביותר. הערכים המותרים מבוססים על תקן IETF BCP-47. ערך ברירת המחדל הוא 'en'.

plantsDescription

boolean

אפשרות. מכיל מידע כללי על צמחים, כולל פרטים על עונתיות, צורות וצבעים מיוחדים, מידע על תגובות אלרגיות ותמונות של צמחים.

גוף הבקשה

גוף הבקשה חייב להיות ריק.

גוף התגובה

אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכלול נתונים במבנה הבא:

ייצוג JSON
{
  "regionCode": string,
  "dailyInfo": [
    {
      object (DayInfo)
    }
  ],
  "nextPageToken": string
}
שדות
regionCode

string

קוד ISO_3166-1 alpha-2 של המדינה/האזור התואמים למיקום שצוין בבקשה. ייתכן שהשדה הזה יושמט מהתגובה אם המיקום שצוין בבקשה נמצא באזור שנוי במחלוקת.

dailyInfo[]

object (DayInfo)

חובה. האובייקט הזה מכיל את פרטי התחזית היומית לכל אחד מהימים המבוקשים.

nextPageToken

string

אפשרות. האסימון לאחזור הדף הבא.

היקפי הרשאות

נדרש היקף OAuth הבא:

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

למידע נוסף, עיין בסקירה הכללית על OAuth 2.0.

LatLng

אובייקט שמייצג צמד של קו רוחב/קו אורך. ערך זה מבוטא כצמד זוגות לייצוג מעלות קו רוחב ומעלות קו אורך. אם לא צוין אחרת, האובייקט הזה חייב לעמוד ב תקן WGS84. הערכים חייבים להיות בטווחים מנורמלים.

ייצוג JSON
{
  "latitude": number,
  "longitude": number
}
שדות
latitude

number

קו הרוחב במעלות. הערך חייב להיות בטווח של [ -90.0, +90.0].

longitude

number

קו האורך במעלות. הוא צריך להיות בטווח של [ -180.0, +180.0].

DayInfo

האובייקט הזה מכיל את פרטי התחזית היומית לכל אחד מהימים המבוקשים.

ייצוג JSON
{
  "date": {
    object (Date)
  },
  "pollenTypeInfo": [
    {
      object (PollenTypeInfo)
    }
  ],
  "plantInfo": [
    {
      object (PlantInfo)
    }
  ]
}
שדות
date

object (Date)

התאריך ב-UTC שבו מוצגים נתוני תחזית האבקנים.

pollenTypeInfo[]

object (PollenTypeInfo)

הרשימה תכלול (עד) שלושה סוגי אבקנים (דשא, עשב, עץ) שמשפיעים על המיקום שצוין בבקשה.

plantInfo[]

object (PlantInfo)

רשימה זו תכלול (עד) 15 מיני אבקנים שמשפיעים על המיקום שצוין בבקשה.

תאריך

מייצג תאריך קלנדרי מלא או חלקי, כמו יום הולדת. השעה ביום ואזור הזמן מצוינים במקום אחר או שאינם משמעותיים. התאריך הזה יחסי ללוח השנה הגרגוריאני. הנתון הזה יכול לייצג אחת מהאפשרויות הבאות:

  • תאריך מלא, עם ערכים שונים של שנה, חודש ויום.
  • חודש ויום, עם שנה של אפס (למשל יום נישואין).
  • שנה בפני עצמה, עם חודש של אפס ואפס יום.
  • שנה וחודש, עם אפס יום (לדוגמה, תאריך תפוגה של כרטיס אשראי).

סוגים קשורים:

ייצוג JSON
{
  "year": integer,
  "month": integer,
  "day": integer
}
שדות
year

integer

שנת התאריך. חייב להיות בין 1 ל-9999, או 0 כדי לציין תאריך ללא שנה.

month

integer

החודש בשנה. צריך להיות בין 1 ל-12, או 0 כדי לציין שנה בלי חודש ויום.

day

integer

היום בחודש. הערך צריך להיות בין 1 ל-31 והוא תקף לשנה ולחודש, או 0 כדי לציין שנה בלבד או שנה וחודש שבהם היום לא משמעותי.

PollenTypeInfo

האובייקט הזה מכיל את האינדקס של סוג האבקנים ומידע על המלצות לבריאות לגבי סוג מסוים של אבקנים.

ייצוג JSON
{
  "code": enum (PollenType),
  "displayName": string,
  "indexInfo": {
    object (IndexInfo)
  },
  "healthRecommendations": [
    string
  ],
  "inSeason": boolean
}
שדות
code

enum (PollenType)

שם הקוד של סוג האבקנים. לדוגמה: "GRASS"

displayName

string

ייצוג קריא לאנשים של שם סוג האבקנים. דוגמה: "דשא"

indexInfo

object (IndexInfo)

מכיל את הנתונים של מדד האבקנים האוניברסלי (UPI) לסוג האבקנים.

healthRecommendations[]

string

רשימת הסברים טקסטואליים, שקשורים לתובנות בנושאי בריאות על סמך רמות האבקנים הנוכחיות.

inSeason

boolean

אינדיקציה אם הצמח בעונה או לא.

PollenType

קוד של סוג אבקנים

טיפוסים בני מנייה (enums)
POLLEN_TYPE_UNSPECIFIED סוג הצמח לא צוין.
GRASS סוג של אבקנים של עשבים.
TREE סוג האבקנים של העצים.
WEED סוג של אבקני עשבים.

IndexInfo

האובייקט הזה מכיל נתונים שמייצגים ערך, קטגוריה ותיאור ספציפיים באינדקס של אבקנים.

ייצוג JSON
{
  "code": enum (Index),
  "displayName": string,
  "category": string,
  "indexDescription": string,
  "color": {
    object (Color)
  },
  "value": integer
}
שדות
code

enum (Index)

קוד האינדקס. השדה הזה מייצג את האינדקס למטרות תכנות באמצעות שימוש באותיות נחש במקום ברווחים. דוגמה: UPI.

displayName

string

ייצוג קריא (לבני אדם) של שם האינדקס. דוגמה: "מדד אבקנים אוניברסלי".

category

string

סיווג הטקסט של פירוש הציון המספרי של האינדקס. האינדקס מורכב משש קטגוריות:

  • 0: "ללא"
  • 1: "נמוך מאוד"
  • 2: "נמוכה"
  • 3: "בינוני"
  • 4: "גבוה"
  • 5: "גבוה מאוד
indexDescription

string

הסבר טקסטואלי של רמת האינדקס הנוכחית.

color

object (Color)

הצבע המשמש לייצוג הציון המספרי של מדד האבקנים.

value

integer

הציון המספרי של האינדקס. הטווח המספרי הוא בין 0 ל-5.

אינדקס

קוד אינדקס

טיפוסים בני מנייה (enums)
INDEX_UNSPECIFIED אינדקס לא צוין.
UPI מדד אבקנים אוניברסלי.

צבע

מייצג צבע במרחב הצבעים RGBA. הייצוג הזה מפשט את ההמרה לייצוגי צבע בשפות שונות ועד לקומפקטיות. לדוגמה, ניתן לספק באופן טריוויאלי את השדות של הייצוג הזה לבנאי של java.awt.Color ב-Java; ניתן לספק אותו באופן טריוויאלי גם לשיטת +colorWithRed:green:blue:alpha של UIColor ב-iOS. ועם מעט עבודה, ניתן לעצב אותו בקלות למחרוזת CSS rgba() ב-JavaScript.

דף העזר הזה לא מכיל מידע לגבי מרחב הצבעים המוחלט שצריך להשתמש בו כדי לפרש את ערך ה-RGB, לדוגמה: sRGB, Adobe RGB, DCI-P3 ו-BT.2020. כברירת מחדל, אפליקציות צריכות לקבל את מרחב הצבעים sRGB.

במקרים שבהם יש צורך בקביעה של שוויון צבעים, היישומים יתייחסו לשני צבעים כשוים אם כל הערכים שלהם בצבעי אדום, ירוק, כחול ואלפא, לכל היותר, ב-1e-5 לכל היותר.

דוגמה (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();
 }
 // ...

לדוגמה (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;
}
// ...

דוגמה (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('');
};

// ...
ייצוג JSON
{
  "red": number,
  "green": number,
  "blue": number,
  "alpha": number
}
שדות
red

number

כמות הצבע האדום בצבע כערך בטווח [0, 1].

green

number

כמות הירוקה בצבע כערך בטווח [0, 1].

blue

number

כמות הצבע הכחול כערך בטווח [0, 1].

alpha

number

החלק של הצבע הזה שצריך להחיל על הפיקסל. כלומר, הצבע של הפיקסל הסופי מוגדר על ידי המשוואה:

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

המשמעות היא שהערך 1.0 מייצג צבע אחיד, בעוד שהערך 0.0 מייצג צבע שקוף לחלוטין. בתכונה הזו נעשה שימוש בהודעת wrapper ולא בסקלרי צף פשוט, כדי שניתן יהיה להבחין בין ערך ברירת מחדל לבין הערך שלא מוגדר. אם לא צוין צבע, אובייקט הצבע הזה מעובד כצבע מלא (כאילו שערך האלפא קיבל במפורש את הערך 1.0).

PlantInfo

האובייקט הזה מכיל את המידע היומי על צמח מסוים.

ייצוג JSON
{
  "code": enum (Plant),
  "displayName": string,
  "indexInfo": {
    object (IndexInfo)
  },
  "plantDescription": {
    object (PlantDescription)
  },
  "inSeason": boolean
}
שדות
code

enum (Plant)

שם קוד הצמח. לדוגמה: "COTTONWOOD". כאן מופיעה רשימה של כל הקודים הזמינים.

displayName

string

ייצוג קריא (לבני אדם) של שם הצמח. לדוגמה: "צפצפה צפצפה".

indexInfo

object (IndexInfo)

האובייקט הזה מכיל נתונים שמייצגים ערך, קטגוריה ותיאור ספציפיים באינדקס של אבקנים.

plantDescription

object (PlantDescription)

מכיל מידע כללי על צמחים, כולל פרטים על עונתיות, צורות וצבעים מיוחדים, מידע על תגובות אלרגיות ותמונות של צמחים.

inSeason

boolean

לפי זה הצמח עונה או לא.

צמח

רשימת הצמחים הזמינים עם זמינות שונה במיקומים שונים.

טיפוסים בני מנייה (enums)
PLANT_UNSPECIFIED קוד הצמח לא צוין.
ALDER אלמון מסווג כסוג של אבקני עצים.
ASH אפר מסווג כסוג של אבקנים של עצים.
BIRCH ליבנה מסווג כסוג אבקנים של עצים.
COTTONWOOD עצי הצפצפה מסווגת כסוג האבקנים של העץ.
ELM בוקיצה מסווגת כסוג של אבקני עץ.
MAPLE אֶדֶר מסווג כסוג אבקנים של עצים.
OLIVE הזית מסווגת כסוג של אבקני עץ.
JUNIPER ערער מסווג כסוג אבקני עצים.
OAK אלון מסווג כסוג אבקנים של עץ.
PINE אורן מסווג כסוג של אבקנים לעצים.
CYPRESS_PINE אורן ברוש מסווג כסוג אבקנים של עצים.
HAZEL אלסר מסווג כסוג של אבקני עצים.
GRAMINALES דגניים מסווגים כאבקנים של עשבים.
RAGWEED הצמח מסווג כסוג אבקני עשב.
MUGWORT לענה מסווג כסוג אבקני עשב.

PlantDescription

מכיל מידע כללי על צמחים, כולל פרטים על עונתיות, צורות וצבעים מיוחדים, מידע על תגובות אלרגיות ותמונות של צמחים.

ייצוג JSON
{
  "type": enum (PollenType),
  "family": string,
  "season": string,
  "specialColors": string,
  "specialShapes": string,
  "crossReaction": string,
  "picture": string,
  "pictureCloseup": string
}
שדות
type

enum (PollenType)

סוג האבקנים של הצמח. לדוגמה: "GRASS". כאן מופיעה רשימה של כל הקודים הזמינים.

family

string

ייצוג קריא (לבני אדם) של שם משפחת הצמחים. דוגמה: "Betulaceae (משפחת השדריים)".

season

string

רשימה טקסטואלית של הסברים לעונות שבהן האבקנים פעילים. דוגמה: "סוף החורף, אביב".

specialColors

string

תיאור טקסטואלי של צבעי הצמחים, עלים, קליפות, פרחים או זרעים, שעוזר לזהות את הצמח.

specialShapes

string

תיאור טקסטואלי של צורות הצמחים, עלים, קליפות, פרחים או זרעים, שעוזר לזהות את הצמח.

crossReaction

string

תיאור טקסטואלי של צמחים שמגיבים לאבקנים. דוגמה: אבקני אלמון, אלסר, אלה לבנה, אשור, ערבה ואלון.

picture

string

קישור לתמונת הצמח.

pictureCloseup

string

קישור לתמונת תקריב של הצמח.