Method: forecast.lookup

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

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

省略可。季節性の詳細、特別な形状や色、アレルギー性交差反応に関する情報、植物の写真など、植物に関する一般的な情報が含まれています。デフォルト値は「true」です。

リクエスト本文

リクエストの本文は空にする必要があります。

レスポンスの本文

成功すると、レスポンスの本文に次の構造のデータが含まれます。

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)

このリストには、リクエストで指定された場所に影響する花粉の種類(GRASS、WEED、TREE)が最大 3 種類含まれます。

plantInfo[]

object (PlantInfo)

このリストには、リクエストで指定した地域に影響する花粉の種類が最大 15 種含まれます。

日付

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

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

関連するタイプ:

JSON 表現
{
  "year": integer,
  "month": integer,
  "day": integer
}
フィールド
year

integer

その日付の年。1~9999、または年のない日付を指定する場合は 0 にする必要があります。

month

integer

1 年の中の月。1~12、または月と日のない年を指定する場合は 0 にする必要があります。

day

integer

1 月の中の日付。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 世界的な花粉飛散量指数。

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

人が読める形式の植物名。例: 「コットンウッド」。

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

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