- درخواست HTTP
- پارامترهای پرس و جو
- درخواست بدن
- بدن پاسخگو
- محدوده مجوز
- LatLng
- DayInfo
- تاریخ
- PollenTypeInfo
- نوع گرده
- IndexInfo
- شاخص
- رنگ
- PlantInfo
- گیاه
- توضیحات گیاه
- آن را امتحان کنید!
تا 5 روز اطلاعات گرده روزانه را در بیش از 65 کشور با وضوح تا 1 کیلومتر برمی گرداند.
درخواست 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 | اختیاری. حاوی اطلاعات کلی در مورد گیاهان، از جمله جزئیات مربوط به فصلی بودن آنها، شکل ها و رنگ های خاص، اطلاعات مربوط به واکنش های متقابل آلرژیک، و عکس های گیاهی است. مقدار پیش فرض "true" است. |
درخواست بدن
بدنه درخواست باید خالی باشد.
بدن پاسخگو
در صورت موفقیت آمیز بودن، بدنه پاسخ حاوی داده هایی با ساختار زیر است:
نمایندگی JSON |
---|
{
"regionCode": string,
"dailyInfo": [
{
object ( |
فیلدها | |
---|---|
regionCode | کد ISO_3166-1 آلفا-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[] | این لیست شامل حداکثر سه نوع گرده (علف، علف هرز، درخت) خواهد بود که بر مکان مشخص شده در درخواست تأثیر می گذارد. |
plantInfo[] | این لیست شامل حداکثر 15 گونه گرده است که بر مکان مشخص شده در درخواست تأثیر می گذارد. |
تاریخ
نمایانگر یک تاریخ تقویم کامل یا جزئی، مانند روز تولد است. زمان روز و منطقه زمانی یا در جای دیگری مشخص شده است یا ناچیز است. تاریخ نسبت به تقویم میلادی است. این می تواند نشان دهنده یکی از موارد زیر باشد:
- تاریخ کامل، با مقادیر سال، ماه و روز غیر صفر.
- یک ماه و روز، با یک سال صفر (مثلاً یک سالگرد).
- یک سال به تنهایی، با یک ماه صفر و یک روز صفر.
- یک سال و یک ماه، با روز صفر (مثلاً تاریخ انقضای کارت اعتباری).
انواع مرتبط:
-
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 | نام رمز نوع گرده به عنوان مثال: "علف" |
displayName | نمایشی قابل خواندن توسط انسان از نام نوع گرده. مثال: "علف" |
indexInfo | حاوی داده های شاخص جهانی گرده (UPI) برای نوع گرده است. |
healthRecommendations[] | فهرست متنی توضیحات، مربوط به بینش سلامت بر اساس سطوح فعلی گرده. |
inSeason | نشان می دهد که آیا گیاه در فصل است یا خیر. |
نوع گرده
کد نوع گرده
Enums | |
---|---|
POLLEN_TYPE_UNSPECIFIED | نوع گیاه نامشخص |
GRASS | نوع گرده چمن. |
TREE | نوع گرده درخت. |
WEED | نوع گرده علف های هرز |
IndexInfo
این شی حاوی داده هایی است که نشان دهنده مقدار شاخص گرده خاص، دسته بندی و توضیحات است.
نمایندگی JSON |
---|
{ "code": enum ( |
فیلدها | |
---|---|
code | کد ایندکس این فیلد برای اهداف برنامه نویسی با استفاده از کیس های مار به جای فاصله، نمایه را نشان می دهد. مثال: "UPI". |
displayName | نمایشی قابل خواندن توسط انسان از نام شاخص. مثال: "شاخص گرده جهانی". |
category | طبقه بندی متن تفسیر نمره عددی شاخص. این شاخص از شش دسته تشکیل شده است:
|
indexDescription | توضیح متنی سطح شاخص فعلی. |
color | رنگی که برای نشان دادن امتیاز عددی شاخص گرده استفاده می شود. |
value | امتیاز عددی شاخص محدوده عددی بین 0 تا 5 است. |
شاخص
کد فهرست
Enums | |
---|---|
INDEX_UNSPECIFIED | شاخص نامشخص |
UPI | شاخص جهانی گرده |
رنگ
یک رنگ را در فضای رنگی RGBA نشان می دهد. این نمایش برای سادگی تبدیل به و از نمایش رنگ در زبان های مختلف بیش از فشرده سازی طراحی شده است. به عنوان مثال، فیلدهای این نمایش را می توان به صورت بی اهمیت در اختیار سازنده java.awt.Color
در جاوا قرار داد. همچنین میتوان آن را به روش UIColor +colorWithRed:green:blue:alpha
در iOS ارائه کرد. و فقط با کمی کار می توان آن را به راحتی در یک رشته CSS rgba()
در جاوا اسکریپت قالب بندی کرد.
این صفحه مرجع اطلاعاتی درباره فضای رنگ مطلقی که باید برای تفسیر مقدار RGB استفاده شود ندارد - برای مثال، sRGB، Adobe RGB، DCI-P3، و BT.2020. به طور پیش فرض، برنامه ها باید فضای رنگی sRGB را در نظر بگیرند.
هنگامی که نیاز به تصمیم گیری در مورد برابری رنگ است، پیاده سازی ها، مگر اینکه به گونه ای دیگر مستند شده باشد، اگر تمام مقادیر قرمز، سبز، آبی و آلفا هر کدام حداکثر 1e-5
متفاوت باشد، با دو رنگ برابر رفتار می کنند.
مثال (جاوا):
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;
}
// ...
مثال (جاوا اسکریپت):
// ...
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 | نمایشی قابل خواندن توسط انسان از نام گیاه. مثال: "چوب پنبه ای". |
indexInfo | این شی حاوی داده هایی است که نشان دهنده مقدار شاخص گرده خاص، دسته بندی و توضیحات است. |
plantDescription | حاوی اطلاعات کلی در مورد گیاهان، از جمله جزئیات مربوط به فصلی بودن آنها، شکل ها و رنگ های خاص، اطلاعات مربوط به واکنش های متقابل آلرژیک، و عکس های گیاهی است. |
inSeason | نشان می دهد که گیاه در فصل است یا نه. |
گیاه
گیاهان موجود را با در دسترس بودن متفاوت در مکانها فهرست میکند.
Enums | |
---|---|
PLANT_UNSPECIFIED | کد کارخانه نامشخص |
ALDER | توسکا به عنوان یک نوع گرده درخت طبقه بندی می شود. |
ASH | خاکستر به عنوان یک نوع گرده درخت طبقه بندی می شود. |
BIRCH | توس به عنوان یک نوع گرده درخت طبقه بندی می شود. |
COTTONWOOD | چوب پنبه به عنوان یک نوع گرده درخت طبقه بندی می شود. |
ELM | سنجد به عنوان یک نوع گرده درخت طبقه بندی می شود. |
MAPLE | افرا به عنوان یک نوع گرده درخت طبقه بندی می شود. |
OLIVE | زیتون به عنوان یک نوع گرده درخت طبقه بندی می شود. |
JUNIPER | درخت عرعر به عنوان یک نوع گرده درخت طبقه بندی می شود. |
OAK | بلوط به عنوان یک نوع گرده درخت طبقه بندی می شود. |
PINE | کاج به عنوان یک نوع گرده درخت طبقه بندی می شود. |
CYPRESS_PINE | کاج سرو به عنوان یک نوع گرده درختی طبقه بندی می شود. |
HAZEL | فندق به عنوان یک نوع گرده درخت طبقه بندی می شود. |
GRAMINALES | Graminales به عنوان یک نوع گرده چمن طبقه بندی می شود. |
RAGWEED | ابروسیا به عنوان یک نوع گرده علف های هرز طبقه بندی می شود. |
MUGWORT | ماگورت به عنوان یک نوع گرده علف های هرز طبقه بندی می شود. |
توضیحات گیاه
حاوی اطلاعات کلی در مورد گیاهان، از جمله جزئیات مربوط به فصلی بودن آنها، شکل ها و رنگ های خاص، اطلاعات مربوط به واکنش های متقابل آلرژیک، و عکس های گیاهی است.
نمایندگی JSON |
---|
{
"type": enum ( |
فیلدها | |
---|---|
type | نوع گرده گیاه. به عنوان مثال: "علف". لیستی از همه کدهای موجود را می توان در اینجا یافت. |
family | نمایشی قابل خواندن توسط انسان از نام خانوادگی گیاه. مثال: "Betulaceae (خانواده توس)". |
season | فهرست متنی توضیحات فصولی که گرده در آن فعال است. مثال: "اواخر زمستان، بهار". |
specialColors | شرح متنی رنگ برگ، پوست، گل یا دانه گیاهان که به شناسایی گیاه کمک می کند. |
specialShapes | شرح متنی شکل برگ، پوست، گل یا دانه گیاهان که به شناسایی گیاه کمک می کند. |
crossReaction | توصیف متنی گیاهان واکنش متقابل گرده به عنوان مثال: گرده توسکا، فندق، ممرز، راش، بید و بلوط. |
picture | لینک عکس گیاه |
pictureCloseup | پیوند به تصویر نزدیک از گیاه. |