- HTTP リクエスト
- クエリ パラメータ
- リクエストの本文
- レスポンスの本文
- 認可スコープ
- LatLng
- DayInfo
- 日付
- PollenTypeInfo
- PollenType
- IndexInfo
- Index
- Color
- PlantInfo
- 植物
- PlantDescription
65 か国以上における毎日最大 5 日間の花粉情報を返します。最大解像度 1 km。
HTTP リクエスト
GET https://pollen.googleapis.com/v1/forecast:lookup
この URL は gRPC Transcoding 構文を使用します。
クエリ パラメータ
パラメータ | |
---|---|
location |
必須。API が花粉飛散量予測データを検索する場所の経度と緯度。 |
days |
必須。リクエストする予測日数を示す数値(最小値は 1、最大値は 5)。 |
pageSize |
(省略可)ページごとに返す情報レコードの最大数。デフォルト値および最大値は 5(5 日分のデータ)です。 |
pageToken |
(省略可)前回の日次呼び出しで受信したページトークン。後続のページを取得するために使用されます。 ページトークンの値を指定する場合、指定する他のすべてのリクエスト パラメータは、ページトークンを提供した前の呼び出しと一致する必要があります。 |
languageCode |
(省略可)クライアントがレスポンスの言語を選択できるようにします。その言語のデータを提供できない場合、API は最も近い言語を使用します。指定できる値は、IETF BCP-47 標準に基づきます。デフォルト値は「en」です。 |
plantsDescription |
(省略可)季節性の詳細、特別な形や色、アレルギーの交差反応に関する情報、植物の写真など、植物に関する全般的な情報が含まれます。 |
リクエスト本文
リクエストの本文は空にする必要があります。
レスポンスの本文
成功すると、レスポンスの本文に次の構造のデータが含まれます。
JSON 表現 |
---|
{
"regionCode": string,
"dailyInfo": [
{
object ( |
フィールド | |
---|---|
regionCode |
リクエストで指定されたロケーションに対応する国/地域の ISO_3166-1 alpha-2 コード。リクエストで指定された場所が係争地にある場合は、レスポンスでこのフィールドが省略されることがあります。 |
dailyInfo[] |
必須。このオブジェクトには、リクエストされた各日の日次予測情報が含まれます。 |
nextPageToken |
(省略可)次のページを取得するためのトークン。 |
認可スコープ
次の OAuth スコープが必要です。
https://www.googleapis.com/auth/cloud-platform
詳細については、OAuth 2.0 の概要をご覧ください。
LatLng
緯度と経度のペアを表すオブジェクト。これは緯度を表す倍精度値と経度を表す倍精度値のペアで表現されます。特に明記されていない場合、このオブジェクトは WGS84 規格に準拠する必要があります。値は正規化範囲内で指定する必要があります。
JSON 表現 |
---|
{ "latitude": number, "longitude": number } |
フィールド | |
---|---|
latitude |
緯度(度単位)。範囲 [-90.0, +90.0] 内になければなりません。 |
longitude |
経度(度単位)。範囲 [-180.0, +180.0] 内になければなりません。 |
DayInfo
このオブジェクトには、リクエストされた各日の日次予測情報が含まれます。
JSON 表現 |
---|
{ "date": { object ( |
フィールド | |
---|---|
date |
花粉飛散量予報データが表示される日付(UTC)。 |
pollenTypeInfo[] |
このリストには、リクエストで指定された場所に影響する花粉のタイプ(草、雑草、樹木)が(最大 3 つ)含まれます。 |
plantInfo[] |
このリストには、リクエストで指定された場所に影響を与える(最大)15 種の花粉が含まれます。 |
日付
誕生日など、カレンダーの日付の全体または一部を表します。時刻とタイムゾーンは他の場所で指定されているか、重要ではありません。日付はグレゴリオ暦を基準にしています。次のいずれかを表します。
- ゼロ以外の年、月、日の値を持つ完全な日付。
- 年を含む月と日(記念日など)。
- 0 か月がゼロの日と 0 日という単独の年。
- 年と月、日がゼロ(クレジット カードの有効期限など)。
関連するタイプ:
google.type.TimeOfDay
google.type.DateTime
google.protobuf.Timestamp
JSON 表現 |
---|
{ "year": integer, "month": integer, "day": integer } |
フィールド | |
---|---|
year |
日付の年。1 ~ 9999 の範囲で指定するか、年のない日付を指定する場合は 0 にする必要があります。 |
month |
月。1 ~ 12 にする必要があります。月と日のない年を指定するには 0 を指定します。 |
day |
日。1 ~ 31 の範囲の年と月で指定でき、0 の場合は単独で年を指定するか、日付が重要でない年と月を指定します。 |
PollenTypeInfo
このオブジェクトには、特定の花粉の種類に関する花粉の種類のインデックスと健康上の推奨事項の情報が含まれます。
JSON 表現 |
---|
{ "code": enum ( |
フィールド | |
---|---|
code |
花粉の種類のコード名。例: 「GRASS」 |
displayName |
花粉の種類名を人が読める形式の表現。例: 「草」 |
indexInfo |
花粉の種類のユニバーサル 花粉飛散量指数(UPI)データが含まれます。 |
healthRecommendations[] |
現在の花粉飛散量に基づく健康分析情報に関連する説明のテキスト リスト。 |
inSeason |
植物が繁殖期にあるかどうか。 |
PollenType
花粉の種類コード
列挙型 | |
---|---|
POLLEN_TYPE_UNSPECIFIED |
植物の種類が指定されていません。 |
GRASS |
草の花粉のタイプ。 |
TREE |
樹木の花粉のタイプ。 |
WEED |
雑草の花粉のタイプ。 |
IndexInfo
このオブジェクトには、特定の花粉飛散量指数値、カテゴリ、説明を表すデータが含まれています。
JSON 表現 |
---|
{ "code": enum ( |
フィールド | |
---|---|
code |
インデックスのコード。このフィールドは、プログラミング目的のインデックスを表すため、スペースの代わりにスネークケースを使用します。例: 「UPI」。 |
displayName |
人が読める形式のインデックス名。例: 「ユニバーサル花粉指数」。 |
category |
インデックスの数値スコア解釈のテキスト分類。このインデックスは 6 つのカテゴリで構成されています。
|
indexDescription |
現在のインデックス レベルをテキストで説明。 |
color |
花粉飛散量指数の数値スコアを表すために使用する色。 |
value |
インデックスの数値スコア。数値の範囲は 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 |
色の赤の量。区間 [0, 1] の値として示されます。 |
green |
色の緑色の量。区間 [0, 1] の値として示されます。 |
blue |
カラーの青色の量。区間 [0, 1] の値として示されます。 |
alpha |
ピクセルに適用する必要があるこのカラーの割合。つまり、最終ピクセルカラーは以下の式によって定義されます。
つまり、値 1.0 はソリッドカラーに相当し、値 0.0 は透明色に相当します。これは、単純な浮動小数点スカラーではなくラッパー メッセージを使用します。これにより、デフォルト値が設定されたのか未設定値だったのかを区別できます。省略した場合、このカラー オブジェクトは単色としてレンダリングされます(アルファ値に 1.0 の値が明示的に指定されている場合と同様です)。 |
PlantInfo
このオブジェクトには、特定の植物に関する毎日の情報が含まれています。
JSON 表現 |
---|
{ "code": enum ( |
フィールド | |
---|---|
code |
植物コード名。例: 「COTTONWOOD」。利用可能なすべてのコードの一覧は、こちらで確認できます。 |
displayName |
植物名を人間が判読できる形式で表したもの。例: 「Cottonwood」 |
indexInfo |
このオブジェクトには、特定の花粉飛散量指数値、カテゴリ、説明を表すデータが含まれています。 |
plantDescription |
季節性の詳細、特別な形や色、アレルギーの交差反応に関する情報、植物の写真など、植物に関する全般的な情報が含まれます。 |
inSeason |
植物が繁忙期にあるかどうかを示す。 |
植物
場所によって異なる、入手可能な植物を一覧表示します。
列挙型 | |
---|---|
PLANT_UNSPECIFIED |
不明なプラントコードです。 |
ALDER |
ハンノキは樹木の花粉の種類に分類されます。 |
ASH |
セイヨウトネリコは樹木の花粉の種類に分類されます。 |
BIRCH |
カバノキは樹木の花粉の種類に分類されます。 |
COTTONWOOD |
ハコヤナギは木の花粉の種類に分類されます。 |
ELM |
ニレは樹木の花粉の種類に分類されます。 |
MAPLE |
カエデは樹木の花粉の種類に分類されます。 |
OLIVE |
オリーブは木の花粉の種類に分類されます。 |
JUNIPER |
セイヨウネズは花粉の種類に分類されます。 |
OAK |
オークは樹木の花粉の種類に分類されます。 |
PINE |
マツは樹木花粉の種類に分類されます。 |
CYPRESS_PINE |
ヒノキパインは樹木の花粉の種類に分類されます。 |
HAZEL |
ハシバミは樹木の花粉の種類に分類されます。 |
GRAMINALES |
イネ科の植物は草の花粉の種類に分類されます。 |
RAGWEED |
ブタクサは雑草の花粉の種類に分類されます。 |
MUGWORT |
ヨモギは雑草の花粉の種類に分類されます。 |
PlantDescription
季節性の詳細、特別な形や色、アレルギーの交差反応に関する情報、植物の写真など、植物に関する全般的な情報が含まれます。
JSON 表現 |
---|
{
"type": enum ( |
フィールド | |
---|---|
type |
植物の花粉の種類。例: "GRASS"。利用可能なすべてのコードの一覧は、こちらで確認できます。 |
family |
植物名を人が読める形式で表したもの。例: 「カバノキ科」。 |
season |
花粉が多くなる季節に関する説明のテキストによるリスト。例: 「冬の終わり頃、春」 |
specialColors |
葉、樹皮、花、種子の色に関するテキストによる説明。植物を識別するために役立ちます。 |
specialShapes |
葉、樹皮、花、種の形状に関するテキストによる説明。植物を識別するために役立ちます。 |
crossReaction |
花粉交差反応植物のテキストによる説明。例: ハンノキ、ハシバミ、シデ、ブナ、ヤナギ、オークの花粉。 |
picture |
植物の写真へのリンク。 |
pictureCloseup |
植物のクローズアップ写真へのリンク。 |