Method: forecast.lookup

65 か国以上における毎日最大 5 日間の花粉情報を返します。最大解像度 1 km。

HTTP リクエスト

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

この URL は gRPC Transcoding 構文を使用します。

クエリ パラメータ

パラメータ
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)

このリストには、リクエストで指定された場所に影響する花粉のタイプ(草、雑草、樹木)が(最大 3 つ)含まれます。

plantInfo[]

object (PlantInfo)

このリストには、リクエストで指定された場所に影響を与える(最大)15 種の花粉が含まれます。

日付

誕生日など、カレンダーの日付の全体または一部を表します。時刻とタイムゾーンは他の場所で指定されているか、重要ではありません。日付はグレゴリオ暦を基準にしています。次のいずれかを表します。

  • ゼロ以外の年、月、日の値を持つ完全な日付。
  • 年を含む月と日(記念日など)。
  • 0 か月がゼロの日と 0 日という単独の年。
  • 年と月、日がゼロ(クレジット カードの有効期限など)。

関連するタイプ:

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

花粉の種類コード

列挙型
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

インデックスの数値スコア解釈のテキスト分類。このインデックスは 6 つのカテゴリで構成されています。

  • 0: 「なし」
  • 1: 「非常に低い」
  • 2: 「低」
  • 3: 「中」
  • 4: "高"
  • 5: 非常に高い
indexDescription

string

現在のインデックス レベルをテキストで説明。

color

object (Color)

花粉飛散量指数の数値スコアを表すために使用する色。

value

integer

インデックスの数値スコア。数値の範囲は 0 ~ 5 です。

索引

インデックス コード

列挙型
INDEX_UNSPECIFIED インデックスが指定されていません。
UPI Universal Pollen Index(世界の花粉飛散量指数)。

RGBA カラースペースのカラーを表します。この表現は、コンパクトさよりも、さまざまな言語の色表現への変換が簡単になるよう設計されています。たとえば、この表現のフィールドは、Java では java.awt.Color のコンストラクタに簡単に指定できます。また、iOS では UIColor の +colorWithRed:green:blue:alpha メソッドにも簡単に指定できます。さらに、少しの作業で、JavaScript で CSS rgba() 文字列にフォーマットするのも簡単です。

このリファレンス ページには、RGB 値の解釈に使用する絶対色空間に関する情報がありません(例: sRGB、Adobe RGB、DCI-P3、BT.2020)。デフォルトでは、アプリケーションは sRGB 色空間を想定する必要があります。

色の等価性を決定する必要がある場合、実装では、特に記載のない限り、赤、緑、青、アルファの値のすべてが最大で 1e-5 だけ異なる場合、2 つの色を等しいものとして扱います。

例(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 は透明色に相当します。これは、単純な浮動小数点スカラーではなくラッパー メッセージを使用します。これにより、デフォルト値が設定されたのか未設定値だったのかを区別できます。省略した場合、このカラー オブジェクトは単色としてレンダリングされます(アルファ値に 1.0 の値が明示的に指定されている場合と同様です)。

PlantInfo

このオブジェクトには、特定の植物に関する毎日の情報が含まれています。

JSON 表現
{
  "code": enum (Plant),
  "displayName": string,
  "indexInfo": {
    object (IndexInfo)
  },
  "plantDescription": {
    object (PlantDescription)
  },
  "inSeason": boolean
}
フィールド
code

enum (Plant)

植物コード名。例: 「COTTONWOOD」。利用可能なすべてのコードの一覧は、こちらで確認できます。

displayName

string

植物名を人間が判読できる形式で表したもの。例: 「Cottonwood」

indexInfo

object (IndexInfo)

このオブジェクトには、特定の花粉飛散量指数値、カテゴリ、説明を表すデータが含まれています。

plantDescription

object (PlantDescription)

季節性の詳細、特別な形や色、アレルギーの交差反応に関する情報、植物の写真など、植物に関する全般的な情報が含まれます。

inSeason

boolean

植物が繁忙期にあるかどうかを示す。

植物

場所によって異なる、入手可能な植物を一覧表示します。

列挙型
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

植物名を人が読める形式で表したもの。例: 「カバノキ科」。

season

string

花粉が多くなる季節に関する説明のテキストによるリスト。例: 「冬の終わり頃、春」

specialColors

string

葉、樹皮、花、種子の色に関するテキストによる説明。植物を識別するために役立ちます。

specialShapes

string

葉、樹皮、花、種の形状に関するテキストによる説明。植物を識別するために役立ちます。

crossReaction

string

花粉交差反応植物のテキストによる説明。例: ハンノキ、ハシバミ、シデ、ブナ、ヤナギ、オークの花粉。

picture

string

植物の写真へのリンク。

pictureCloseup

string

植物のクローズアップ写真へのリンク。