Method: forecast.lookup

65'ten fazla ülkede 1 km'ye kadar çözünürlükte günlük polen bilgilerini 5 güne kadar döndürür.

HTTP isteği

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

URL, gRPC Kod Dönüştürme söz dizimini kullanır.

Sorgu parametreleri

Parametreler
location

object (LatLng)

Zorunlu. API'nin polen tahmini verilerini aradığı boylam ve enlemdir.

days

integer

Zorunlu. İstenecek tahmin günü sayısını belirten sayı (minimum değer 1, maksimum değer 5'tir).

pageSize

integer

İsteğe bağlı. Sayfa başına döndürülecek maksimum günlük bilgi kaydı sayısı. Varsayılan ve maksimum değer 5'tir (5 günlük veri).

pageToken

string

İsteğe bağlı. Önceki günlük bir çağrıdan alınan sayfa jetonu. Sonraki sayfayı getirmek için kullanılır.

Sayfa jetonu için bir değer sağlarken sağlanan diğer tüm istek parametrelerinin, sayfa jetonunu sağlayan önceki çağrıyla eşleşmesi gerektiğini unutmayın.

languageCode

string

İsteğe bağlı. İstemcinin yanıtın dilini seçmesine olanak tanır. Bu dil için veri sağlanamazsa API en yakın eşleşmeyi kullanır. İzin verilen değerler IETF BCP-47 standardını kullanır. Varsayılan değer "en"dir.

plantsDescription

boolean

İsteğe bağlı. Sezona ilişkin ayrıntılar, özel şekiller ve renkler, alerjik çapraz reaksiyonlarla ilgili bilgiler ve bitki fotoğrafları dahil olmak üzere bitkilerle ilgili genel bilgiler içerir.

İstek içeriği

İstek metni boş olmalıdır.

Yanıt gövdesi

Başarılı olursa yanıt metni aşağıdaki yapıyla birlikte verileri içerir:

JSON gösterimi
{
  "regionCode": string,
  "dailyInfo": [
    {
      object (DayInfo)
    }
  ],
  "nextPageToken": string
}
Alanlar
regionCode

string

İstekte sağlanan konuma karşılık gelen ülkenin/bölgenin ISO_3166-1 alfa-2 kodu. İstekte belirtilen konum ihtilaflı bir bölgede bulunuyorsa bu alan yanıttan çıkarılabilir.

dailyInfo[]

object (DayInfo)

Zorunlu. Bu nesne, istenen her gün için günlük tahmin bilgilerini içerir.

nextPageToken

string

İsteğe bağlı. Sonraki sayfayı almak için kullanılan jeton.

Yetkilendirme kapsamları

Aşağıdaki OAuth kapsamını gerektirir:

  • https://www.googleapis.com/auth/cloud-platform

Daha fazla bilgi için OAuth 2.0'a Genel Bakış başlıklı makaleye bakın.

LatLng

Enlem/boylam çiftini temsil eden bir nesne. Bu, enlem ve boylam derecelerini temsil eden bir çift çiftle ifade edilir. Aksi belirtilmedikçe bu nesne WGS84 standardına uygun olmalıdır. Değerler normalleştirilmiş aralıklar içinde olmalıdır.

JSON gösterimi
{
  "latitude": number,
  "longitude": number
}
Alanlar
latitude

number

Derece cinsinden enlem. [-90.0, +90.0] aralığında olmalıdır.

longitude

number

Derece cinsinden boylam. [-180.0, +180.0] aralığında olmalıdır.

DayInfo

Bu nesne, istenen her gün için günlük tahmin bilgilerini içerir.

JSON gösterimi
{
  "date": {
    object (Date)
  },
  "pollenTypeInfo": [
    {
      object (PollenTypeInfo)
    }
  ],
  "plantInfo": [
    {
      object (PlantInfo)
    }
  ]
}
Alanlar
date

object (Date)

Polen tahmini verilerinin UTC saat diliminde gösterildiği tarih.

pollenTypeInfo[]

object (PollenTypeInfo)

Bu liste, istekte belirtilen konumu etkileyen (en fazla) üç polen türü (çim, ot, ağaç) içerir.

plantInfo[]

object (PlantInfo)

Bu listede, istekte belirtilen konumu etkileyen 15 (en fazla) polen türü yer alacaktır.

Tarih

Takvim tarihinin tamamını veya bir kısmını (ör. doğum günü) temsil eder. Günün saati ve saat dilimi, başka bir yerde belirtilmiş veya önemsiz. Tarih, Miladi Takvim ile görecelidir. Aşağıdakilerden birini gösterebilir:

  • Sıfır olmayan yıl, ay ve gün değerleriyle tam tarih.
  • Sıfır yıllı bir ay ve gün (örneğin, yıl dönümü).
  • Tek başına bir yıl (sıfır ay ve sıfır gün).
  • Sıfır gün içeren bir yıl ve ay (örneğin, kredi kartı son kullanma tarihi).

İlgili türler:

JSON gösterimi
{
  "year": integer,
  "month": integer,
  "day": integer
}
Alanlar
year

integer

Tarihin yılı. 1 ile 9999 arasında veya yıl içermeyen bir tarih belirtmek için 0 olmalıdır.

month

integer

Yılın ayı. 1 ile 12 arasında veya ay ve gün olmadan bir yıl belirtmek için 0 olmalıdır.

day

integer

Ayın günü. 1 ile 31 arasında olup yıl ve ay için geçerli olmalıdır veya tek başına yıl ya da günün önemli olmadığı yıl ve ay belirtmek için 0 olmalıdır.

PollenTypeInfo

Bu nesne, polen türü dizinini ve belirli polen türüyle ilgili sağlık önerisi bilgilerini içerir.

JSON gösterimi
{
  "code": enum (PollenType),
  "displayName": string,
  "indexInfo": {
    object (IndexInfo)
  },
  "healthRecommendations": [
    string
  ],
  "inSeason": boolean
}
Alanlar
code

enum (PollenType)

Polen türünün kod adı. Örneğin: "GRASS"

displayName

string

Polen türü adının insanlar tarafından okunabilir temsili. Örnek: "Çimen"

indexInfo

object (IndexInfo)

Polen türü için Evrensel Polen Endeksi (UPI) verilerini içerir.

healthRecommendations[]

string

Mevcut polen seviyesine göre sağlık analizleriyle ilgili metinsel açıklama listesi.

inSeason

boolean

Bitkinin mevsimde olup olmadığını belirtir.

PollenType

Polen Türü Kodu

Sıralamalar
POLLEN_TYPE_UNSPECIFIED Bitki türü belirtilmedi.
GRASS Çim poleni türü.
TREE Ağaç poleni türü.
WEED Yabancı ot poleni türü.

IndexInfo

Bu nesne, belirli polen endeksi değerini, kategorisini ve açıklamasını temsil eden veriler içerir.

JSON gösterimi
{
  "code": enum (Index),
  "displayName": string,
  "category": string,
  "indexDescription": string,
  "color": {
    object (Color)
  },
  "value": integer
}
Alanlar
code

enum (Index)

Dizinin kodu. Bu alan, boşluklar yerine yılan kılıfları kullanılarak programlama amacıyla dizini temsil eder. Örnek: "UPI".

displayName

string

Dizin adının kullanıcılar tarafından okunabilen temsili. Örnek: "Evrensel Polen İndeksi".

category

string

Dizin sayısal puanı yorumlamanın metin sınıflandırması. Dizin altı kategoriden oluşur:

  • 0: "Yok"
  • 1: "Çok düşük"
  • 2: "Düşük"
  • 3: "Orta"
  • 4: "Yüksek"
  • 5: "Çok yüksek
indexDescription

string

Geçerli dizin düzeyinin metinsel açıklaması.

color

object (Color)

Polen Endeksi sayısal puanını göstermek için kullanılan renk.

value

integer

Dizinin sayısal puanı. Sayısal aralık 0 ile 5 arasındadır.

Dizin

Dizin Kodu

Sıralamalar
INDEX_UNSPECIFIED Belirtilmemiş dizin.
UPI Evrensel Polen İndeksi.

Renk

RGBA renk alanındaki bir rengi temsil eder. Bu temsil, kompaktlık yerine çeşitli dillerdeki renk temsillerine geçişin basit olması için tasarlanmıştır. Örneğin, bu temsilin alanları Java'daki java.awt.Color oluşturucuya basit bir şekilde sağlanabilir; ayrıca iOS'teki UIColor'ın +colorWithRed:green:blue:alpha yöntemine önemsiz bir şekilde sağlanabilir ve sadece küçük bir çalışmayla JavaScript'te bir CSS rgba() dizesine kolayca dönüştürülebilir.

Bu referans sayfasında, RGB değerini yorumlamak için kullanılması gereken mutlak renk alanı hakkında bilgi yoktur (ör. sRGB, Adobe RGB, DCI-P3 ve BT.2020). Uygulamalarda varsayılan olarak sRGB renk alanı kullanılmalıdır.

Renk eşitliğinin belirlenmesi gerektiğinde, aksi belirtilmediği sürece tüm kırmızı, yeşil, mavi ve alfa değerleri arasında en fazla 1e-5 fark olması durumunda, uygulamalarda iki renk eşit olarak ele alınır.

Örnek (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();
 }
 // ...

Örnek (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;
}
// ...

Örnek (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 gösterimi
{
  "red": number,
  "green": number,
  "blue": number,
  "alpha": number
}
Alanlar
red

number

[0, 1] aralığındaki bir değer olarak renkteki kırmızı miktarı.

green

number

[0, 1] aralığındaki bir değer olarak renkteki yeşil miktarı.

blue

number

[0, 1] aralığındaki bir değer olarak renkteki mavi miktarı.

alpha

number

Bu rengin piksele uygulanması gereken oranı. Yani, nihai piksel rengi şu denklemle tanımlanır:

pixel color = alpha * (this color) + (1.0 - alpha) * (background color)

Bu, 1,0 değerinin düz bir renge, 0,0 değerinin ise tamamen şeffaf bir renge karşılık geldiği anlamına gelir. Bu yöntemde basit bir kayan skaler yerine sarmalayıcı mesajı kullanılır, böylece varsayılan değer ile ayarlanmamış olan değer birbirinden ayırt edilebilir. Atlanırsa, bu renk nesnesi düz renk olarak oluşturulur (alfa değerine açık bir şekilde 1,0 değeri verilmiş gibi).

PlantInfo

Bu nesne, belirli bir bitkiyle ilgili günlük bilgileri içerir.

JSON gösterimi
{
  "code": enum (Plant),
  "displayName": string,
  "indexInfo": {
    object (IndexInfo)
  },
  "plantDescription": {
    object (PlantDescription)
  },
  "inSeason": boolean
}
Alanlar
code

enum (Plant)

Bitki kodu adı. Örneğin: "COTTONWOOD". Kullanılabilir tüm kodların listesini burada bulabilirsiniz.

displayName

string

Bitki adının kullanıcılar tarafından okunabilen temsili. Örnek: "Pamuk ağacı".

indexInfo

object (IndexInfo)

Bu nesne, belirli polen endeksi değerini, kategorisini ve açıklamasını temsil eden veriler içerir.

plantDescription

object (PlantDescription)

Sezona ilişkin ayrıntılar, özel şekiller ve renkler, alerjik çapraz reaksiyonlarla ilgili bilgiler ve bitki fotoğrafları dahil olmak üzere bitkilerle ilgili genel bilgiler içerir.

inSeason

boolean

Bitkinin mevsimde olup olmadığını belirtir.

Bitki

Konumlara göre değişen stok durumları gösteren mevcut bitkileri listeler.

Sıralamalar
PLANT_UNSPECIFIED Belirtilmemiş bitki kodu.
ALDER Kızılağaç, ağaç poleni türü olarak sınıflandırılır.
ASH Kül, ağaç poleni türü olarak sınıflandırılır.
BIRCH Huş ağacı, ağaç poleni türü olarak sınıflandırılır.
COTTONWOOD Kavak ağacı, ağaç poleni türü olarak sınıflandırılır.
ELM Karaağaç, ağaç poleni türü olarak sınıflandırılır.
MAPLE Akçaağaç, ağaç poleni türü olarak sınıflandırılır.
OLIVE Zeytin, ağaç poleni türü olarak sınıflandırılır.
JUNIPER Ardıç, ağaç poleni türü olarak sınıflandırılır.
OAK Meşe, ağaç poleni türü olarak sınıflandırılır.
PINE Çam, ağaç poleni türü olarak sınıflandırılır.
CYPRESS_PINE Servi çamı, ağaç poleni türü olarak sınıflandırılır.
HAZEL Fındık, ağaç poleni türü olarak sınıflandırılır.
GRAMINALES Graminale, çimen poleni türü olarak sınıflandırılır.
RAGWEED Kanarya otu ot poleni türü olarak sınıflandırılır.
MUGWORT Misk otu bir ot poleni türü olarak sınıflandırılır.

PlantDescription

Sezona ilişkin ayrıntılar, özel şekiller ve renkler, alerjik çapraz reaksiyonlarla ilgili bilgiler ve bitki fotoğrafları dahil olmak üzere bitkilerle ilgili genel bilgiler içerir.

JSON gösterimi
{
  "type": enum (PollenType),
  "family": string,
  "season": string,
  "specialColors": string,
  "specialShapes": string,
  "crossReaction": string,
  "picture": string,
  "pictureCloseup": string
}
Alanlar
type

enum (PollenType)

Bitkinin polen türü. Örneğin: "GRASS". Kullanılabilir tüm kodların listesini burada bulabilirsiniz.

family

string

Bitki soyadının kullanıcılar tarafından okunabilir bir temsili. Örnek: "Betulaceae (huş ağacı ailesi)".

season

string

Polenin etkin olduğu mevsimlerin metin halinde açıklamalarının listesi. Örnek: "Kış sonu, ilkbahar".

specialColors

string

Bitkinin yaprak, kabuk, çiçek veya tohum renklerini belirten ve bitkinin tanımlanmasına yardımcı olan metinsel bir açıklama.

specialShapes

string

Bitkinin yaprak, kabuk, çiçek veya tohum şekillerini belirten, bitkinin tanımlanmasına yardımcı olan yazılı açıklama.

crossReaction

string

Polen çapraz reaksiyonlu bitkilerin metinsel açıklaması. Örnek: Kızılağaç, fındık, gürgen, kayın, söğüt ve meşe poleni.

picture

string

Bitkinin resminin bağlantısı.

pictureCloseup

string

Bitkinin yakın çekim fotoğrafının bağlantısını verin.