- طلب HTTP
- معامِلات طلب البحث
- نص الطلب
- نص الاستجابة
- نطاقات التفويض
- LatLng
- DayInfo
- التاريخ
- PollenTypeInfo
- PollenType
- IndexInfo
- الفهرس
- اللون
- PlantInfo
- نبتة
- PlantDescription
يعرض التطبيق معلومات عن حبوب اللقاح يوميًا خلال مدة تصل إلى 5 أيام في أكثر من 65 بلدًا، بدقة تصل إلى 1 كلم.
طلب HTTP
GET https://pollen.googleapis.com/v1/forecast:lookup
يستخدِم عنوان URL بنية تحويل ترميز gRPC.
معلمات طلب البحث
المَعلمات | |
---|---|
location |
مطلوبة. خطوط الطول والعرض التي تبحث منها واجهة برمجة التطبيقات عن بيانات توقّعات حبوب اللقاح. |
days |
مطلوبة. رقم يشير إلى عدد أيام التوقعات المطلوب طلبها (الحد الأدنى للقيمة 1، والحد الأقصى للقيمة هو 5). |
pageSize |
اختياريّ. الحد الأقصى لعدد سجلّات المعلومات اليومية المطلوب عرضها في كل صفحة القيمة التلقائية والحد الأقصى هي 5 (5 أيام من البيانات). |
pageToken |
اختياريّ. رمز مميّز للصفحة تم تلقّيه من مكالمة يومية سابقة. ويتم استخدامه لاسترداد الصفحة التالية. تجدر الإشارة إلى أنّه عند تقديم قيمة للرمز المميّز للصفحة، يجب أن تتطابق جميع مَعلمات الطلب الأخرى المقدَّمة مع الاستدعاء السابق الذي أدّى إلى تقديم الرمز المميّز للصفحة. |
languageCode |
اختياريّ. تسمح للعميل باختيار لغة الرد. إذا تعذّر تقديم بيانات لتلك اللغة، ستستخدم واجهة برمجة التطبيقات أقرب محتوى مطابق. تعتمد القيم المسموح بها على معيار 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 |
التاريخ بالتوقيت العالمي المنسّق الذي يتم فيه عرض بيانات توقّعات حبوب اللقاح. |
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 |
الاسم الرمزي لنوع حبوب اللقاح. على سبيل المثال: "GRASS" |
displayName |
تمثيل يمكن للإنسان فهم اسم نوع حبوب اللقاح مثال: "عشب" |
indexInfo |
يحتوي على بيانات مؤشر حبوب اللقاح العام (UPI) الخاص بنوع حبوب اللقاح. |
healthRecommendations[] |
قائمة تفسيرات نصية، ذات صلة بالإحصاءات الصحية استنادًا إلى مستويات حبوب اللقاح الحالية |
inSeason |
الإشارة إلى ما إذا كان النبات في الموسم أم لا. |
PollenType
رمز نوع حبوب اللقاح
عمليات التعداد | |
---|---|
POLLEN_TYPE_UNSPECIFIED |
نوع النبات غير محدَّد. |
GRASS |
إنّه نوع حبوب لقاح الأعشاب. |
TREE |
نوع حبوب لقاح الأشجار |
WEED |
نوع حبوب لقاح الأعشاب الضارة. |
IndexInfo
يحتوي هذا الكائن على بيانات تمثّل قيمة معيّنة لمؤشر حبوب اللقاح والفئة والوصف.
تمثيل JSON |
---|
{ "code": enum ( |
الحقول | |
---|---|
code |
هو رمز الفهرس. يمثل هذا الحقل الفهرس لأغراض البرمجة باستخدام حالات الثعبان بدلاً من المسافات. مثال: "UPI". |
displayName |
تمثيل لاسم الفهرس يمكن لشخص عادي قراءته. مثال: "مؤشر حبوب اللقاح العالمي". |
category |
التصنيف النصي لتفسير النتيجة الرقمية للفهرس. يتألف الفهرس من ست فئات:
|
indexDescription |
شرح نصي لمستوى الفهرس الحالي. |
color |
اللون المستخدَم لتمثيل النتيجة الرقمية لمؤشر حبوب اللقاح. |
value |
هي النتيجة الرقمية للفهرس. يتراوح النطاق الرقمي بين 0 و5. |
الفهرس
رمز الفهرس
عمليات التعداد | |
---|---|
INDEX_UNSPECIFIED |
فهرس غير محدَّد. |
UPI |
مؤشر حبوب اللقاح العام. |
اللون
يمثل لونًا في مساحة اللون RGBA. تم تصميم هذا التمثيل لتبسيط التحويل من تمثيلات الألوان وإليها بلغات مختلفة بدلاً من المكثف. على سبيل المثال، يمكن توفير حقول هذا التمثيل بشكل متعدد في دالة إنشاء java.awt.Color
في Java، ويمكن أيضًا توفيرها بشكل غير متكلّف في طريقة +colorWithRed:green:blue:alpha
لـ UIColor في iOS. ومع بذل مجهود بسيط، يمكن تنسيقها بسهولة إلى سلسلة CSS rgba()
في JavaScript.
لا تتضمّن هذه الصفحة المرجعية معلومات عن مساحة اللون المطلقة التي يجب استخدامها لتفسير قيمة نموذج أحمر أخضر أزرق، على سبيل المثال، 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 |
مقدار اللون الأحمر في اللون كقيمة في الفاصل [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 |
الإشارة إلى إما النبات في الموسم أم لا. |
نبتة
يسرد النباتات المتاحة بتوفّر متفاوت في مواقع جغرافية مختلفة.
عمليات التعداد | |
---|---|
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 |
رابط إلى صورة مقرَّبة للنبات. |