طلب بيانات الطقس المتوقعة وفي الوقت الفعلي باستخدام خدمات Azure Maps Weather

خدمات Azure Maps Weather هي مجموعة من واجهات برمجة التطبيقات RESTful التي تسمح للمطورين بدمج بيانات الطقس وتصورات الطقس الديناميكية للغاية في حلولهم.

توضح هذه المقالة كيفية طلب بيانات الطقس في الوقت الحقيقي والمتوقعة:

يقدم هذا الفيديو أمثلة لإجراء مكالمات REST إلى خدمات Azure Maps Weather.



المتطلبات الأساسية

هام

في أمثلة عنوان URL في هذه المقالة، ستحتاج إلى استبدال {Your-Azure-Maps-Subscription-key} بمفتاح اشتراك خرائط Azure.

يستخدم هذا البرنامج التعليمي تطبيق bruno ، ولكن يمكنك اختيار بيئة تطوير واجهة برمجة تطبيقات مختلفة.

طلب بيانات الطقس في الوقت الحقيقي

تقوم واجهة برمجة تطبيقات الحصول على الظروف الحالية بإرجاع الظروف الجوية التفصيلية مثل هطول الأمطار ودرجة الحرارة والرياح لموقع إحداثي معين. ويمكن أيضاً استرداد الملاحظات من الساعات الـ 6 أو 24 الماضية لموقع معين. تتضمن الاستجابة تفاصيل مثل تاريخ المراقبة ووقتها، ووصف الظروف الجوية، وأيقونة الطقس، وأعلام مؤشر هطول الأمطار، ودرجة الحرارة. تم إرجاع مؤشر درجة الحرارة والأشعة فوق البنفسجية RealFeel™ أيضاً.

في هذا المثال، يمكنك استخدام واجهة برمجة تطبيقات Get Current Conditions لاسترداد الظروف الجوية الحالية عند الإحداثيات الموجودة في سياتل، واشنطن.

  1. افتح تطبيق bruno، وحدد NEW REQUEST لإنشاء الطلب. في نافذة NEW REQUEST ، قم بتعيين Type إلى HTTP. أدخل اسما للطلب.

  2. حدد أسلوب GET HTTP في القائمة المنسدلة URL، ثم أدخل عنوان URL التالي:

    https://atlas.microsoft.com/weather/currentConditions/json?api-version=1.0&query=47.60357,-122.32945&subscription-key={Your-Azure-Maps-Subscription-key}
    
  3. حدد الزر الأزرق Create .

  4. حدد زر التشغيل.

    لقطة شاشة تعرض عنوان URL لطلب بيانات الطقس في الوقت الحقيقي مع تمييز زر التشغيل في تطبيق bruno.

    يحتوي نص الاستجابة على معلومات الطقس الحالية.

    {
      "results": [
        {
          "dateTime": "2024-08-08T09:22:00-07:00",
          "phrase": "Sunny",
          "iconCode": 1,
          "hasPrecipitation": false,
          "isDayTime": true,
          "temperature": {
            "value": 19.5,
            "unit": "C",
            "unitType": 17
          },
          "realFeelTemperature": {
            "value": 23.7,
            "unit": "C",
            "unitType": 17
          },
          "realFeelTemperatureShade": {
            "value": 19.4,
            "unit": "C",
            "unitType": 17
          },
          "relativeHumidity": 81,
          "dewPoint": {
            "value": 16.2,
            "unit": "C",
            "unitType": 17
          },
          "wind": {
            "direction": {
              "degrees": 0,
              "localizedDescription": "N"
            },
            "speed": {
              "value": 2,
              "unit": "km/h",
              "unitType": 7
            }
          },
          "windGust": {
            "speed": {
              "value": 3.8,
              "unit": "km/h",
              "unitType": 7
            }
          },
          "uvIndex": 4,
          "uvIndexPhrase": "Moderate",
          "visibility": {
            "value": 16.1,
            "unit": "km",
            "unitType": 6
          },
          "obstructionsToVisibility": "",
          "cloudCover": 5,
          "ceiling": {
            "value": 12192,
            "unit": "m",
            "unitType": 5
          },
          "pressure": {
            "value": 1015.9,
            "unit": "mb",
            "unitType": 14
          },
          "pressureTendency": {
            "localizedDescription": "Steady",
            "code": "S"
          },
          "past24HourTemperatureDeparture": {
            "value": 3,
            "unit": "C",
            "unitType": 17
          },
          "apparentTemperature": {
            "value": 20,
            "unit": "C",
            "unitType": 17
          },
          "windChillTemperature": {
            "value": 19.4,
            "unit": "C",
            "unitType": 17
          },
          "wetBulbTemperature": {
            "value": 17.5,
            "unit": "C",
            "unitType": 17
          },
          "precipitationSummary": {
            "pastHour": {
              "value": 0,
              "unit": "mm",
              "unitType": 3
            },
            "past3Hours": {
              "value": 0,
              "unit": "mm",
              "unitType": 3
            },
            "past6Hours": {
              "value": 0,
              "unit": "mm",
              "unitType": 3
            },
            "past9Hours": {
              "value": 0,
              "unit": "mm",
              "unitType": 3
            },
            "past12Hours": {
              "value": 0,
              "unit": "mm",
              "unitType": 3
            },
            "past18Hours": {
              "value": 0,
              "unit": "mm",
              "unitType": 3
            },
            "past24Hours": {
              "value": 0,
              "unit": "mm",
              "unitType": 3
            }
          },
          "temperatureSummary": {
            "past6Hours": {
              "minimum": {
                "value": 16,
                "unit": "C",
                "unitType": 17
              },
              "maximum": {
                "value": 19.5,
                "unit": "C",
                "unitType": 17
              }
            },
            "past12Hours": {
              "minimum": {
                "value": 16,
                "unit": "C",
                "unitType": 17
              },
              "maximum": {
                "value": 20.4,
                "unit": "C",
                "unitType": 17
              }
            },
            "past24Hours": {
              "minimum": {
                "value": 16,
                "unit": "C",
                "unitType": 17
              },
              "maximum": {
                "value": 26.4,
                "unit": "C",
                "unitType": 17
              }
            }
          }
        }
      ]
    }
    

طلب تنبيهات الطقس القاسي

خرائط Azure تقوم واجهة برمجة تطبيقات Get Severe Weather Alerts بإرجاع تنبيهات الطقس الحادة المتوفرة في جميع أنحاء العالم من كل من وكالات الأرصاد الجوية الحكومية الرسمية والرائدة عالميا إلى موفري تنبيهات الطقس الإقليمية. ترجع الخدمة تفاصيل مثل نوع التنبيه والفئة والمستوى. تقوم الخدمة أيضا بإرجاع أوصاف مفصلة حول التنبيهات الشديدة النشطة للموقع المطلوب، مثل الأعاصير أو العواصف الرعدية أو البرق أو الموجات الحرارية أو حرائق الغابات. على سبيل المثال، يمكن لمديري الخدمات اللوجستية تصور الظروف الجوية القاسية على الخريطة، جنباً إلى جنب مع مواقع الأعمال والمسارات المخطط لها، والتنسيق بشكلٍ أكبر مع السائقين والعمال المحليين.

في هذا المثال، يمكنك استخدام واجهة برمجة تطبيقات Get Severe Weather Alerts لاسترداد ظروف الطقس الحالية عند الإحداثيات الموجودة في Cheyenne، WY.

إشعار

يسترد هذا المثال تنبيهات الطقس الشديدة في وقت كتابة هذا التقرير. ومن المحتمل أنه لم تعد هناك أي تنبيهات طقس شديد في الموقع المطلوب. لاسترداد بيانات التنبيه الشديدة الفعلية عند تشغيل هذا المثال، ستحتاج إلى استرداد البيانات في موقع إحداثيات مختلف.

  1. في تطبيق bruno، حدد NEW REQUEST لإنشاء الطلب. في نافذة NEW REQUEST ، قم بتعيين Type إلى HTTP. أدخل اسما للطلب.

  2. حدد أسلوب GET HTTP في القائمة المنسدلة URL، ثم أدخل عنوان URL التالي:

    https://atlas.microsoft.com/weather/severe/alerts/json?api-version=1.0&query=41.161079,-104.805450&subscription-key={Your-Azure-Maps-Subscription-key}
    
  3. حدد الزر الأزرق Create .

  4. حدد زر التشغيل.

    لقطة شاشة تعرض عنوان URL لطلب تنبيهات الطقس القاسي مع تمييز زر التشغيل في تطبيق bruno.

    إذا لم تكن هناك تنبيهات جوية شديدة، فإن نص الاستجابة يحتوي على صفيف فارغ results[] . إذا كانت هناك تنبيهات طقسية شديدة، فإن نص الاستجابة يحتوي على شيء مثل استجابة JSON التالية:

    {
    "results": [
        {
            "countryCode": "US",
            "alertId": 2194734,
            "description": {
                "localized": "Red Flag Warning",
                "english": "Red Flag Warning"
            },
            "category": "FIRE",
            "priority": 54,
            "source": "U.S. National Weather Service",
            "sourceId": 2,
            "alertAreas": [
                {
                    "name": "Platte/Goshen/Central and Eastern Laramie",
                    "summary": "Red Flag Warning in effect until 7:00 PM MDT. Source: U.S. National Weather Service",
                    "startTime": "2020-10-05T15:00:00+00:00",
                    "endTime": "2020-10-06T01:00:00+00:00",
                    "latestStatus": {
                        "localized": "Continue",
                        "english": "Continue"
                    },
                    "alertDetails": "...RED FLAG WARNING REMAINS IN EFFECT FROM 9 AM THIS MORNING TO\n7 PM MDT THIS EVENING FOR STRONG GUSTY WINDS AND LOW HUMIDITY...\n\n* WHERE...Fire weather zones 303, 304, 305, 306, 307, 308, 309,\n  and 310 in southeast Wyoming. Fire weather zone 313 in Nebraska.\n\n* WIND...West to northwest 15 to 30 MPH with gusts around 40 MPH.\n\n* HUMIDITY...10 to 15 percent.\n\n* IMPACTS...Any fires that develop will likely spread rapidly.\n  Outdoor burning is not recommended.\n\nPRECAUTIONARY/PREPAREDNESS ACTIONS...\n\nA Red Flag Warning means that critical fire weather conditions\nare either occurring now...or will shortly. A combination of\nstrong winds...low relative humidity...and warm temperatures can\ncontribute to extreme fire behavior.\n\n&&",
                    "alertDetailsLanguageCode": "en"
                }
            ]
            },...
        ]
    }
    

طلب بيانات تنبؤات الطقس اليومية

ترجع واجهة برمجة تطبيقات الحصول على تنبؤات الطقس اليومية توقعات الطقس اليومية التفصيلية مثل درجة الحرارة والرياح. يمكن أن يحدد الطلب عدد الأيام التي يجب إرجاعها: 1 أو 5 أو 10 أو 15 أو 25 أو 45 يوماً لموقع إحداثيات معين. تتضمن الاستجابة تفاصيل مثل درجة الحرارة والرياح وهطول الأمطار وجودة الهواء ومؤشر الأشعة فوق البنفسجية. في هذا المثال، نطلب لمدة خمسة أيام عن طريق تعيين duration=5.

هام

في مستوى التسعير S0، يمكنك طلب التنبؤ اليومي للأيام الـ 1 و5 و10 و15 التالية. في مستوى تسعير Gen1 (S1) أو Gen2، يمكنك طلب التنبؤ اليومي لل 25 يوما القادمة، و45 يوما.

إيقاف مستوى تسعير خرائط Azure Gen1

تم الآن إهمال مستوى تسعير Gen1 وسيتم إيقافه في 9/15/26. يحل مستوى تسعير Gen2 محل مستوى تسعير Gen1 (كل من S0 وS1). إذا تم تحديد مستوى تسعير Gen1 لحساب خرائط Azure الخاص بك، يمكنك التبديل إلى تسعير Gen2 قبل إيقافه، وإلا تحديثه تلقائيا. لمزيد من المعلومات، راجع إدارة مستوى التسعير لحساب خرائط Azure الخاص بك.

في هذا المثال، يمكنك استخدام واجهة برمجة تطبيقات Get Daily Forecast لاسترداد توقعات الطقس لمدة خمسة أيام للإحداثيات الموجودة في سياتل، واشنطن.

  1. في تطبيق bruno، حدد NEW REQUEST لإنشاء الطلب. في نافذة NEW REQUEST ، قم بتعيين Type إلى HTTP. أدخل اسما للطلب.

  2. حدد أسلوب GET HTTP في القائمة المنسدلة URL، ثم أدخل عنوان URL التالي:

    https://atlas.microsoft.com/weather/forecast/daily/json?api-version=1.0&query=47.60357,-122.32945&duration=5&subscription-key={Your-Azure-Maps-Subscription-key}
    
  3. حدد الزر الأزرق Create .

  4. حدد زر التشغيل.

    لقطة شاشة تعرض عنوان URL لبيانات توقعات الطقس اليومية للطلب مع تمييز زر التشغيل في تطبيق bruno.

    يحتوي نص الاستجابة على بيانات التنبؤ بالطقس لمدة خمسة أيام. من أجل الإيجاز، تظهر استجابة JSON التالية التنبؤ لليوم الأول.

    {
      "summary": {
        "startDate": "2024-08-09T08:00:00-07:00",
        "endDate": "2024-08-09T20:00:00-07:00",
        "severity": 7,
        "phrase": "Very warm tomorrow",
        "category": "heat"
      },
      "forecasts": [
        {
          "date": "2024-08-08T07:00:00-07:00",
          "temperature": {
            "minimum": {
              "value": 16.2,
              "unit": "C",
              "unitType": 17
            },
            "maximum": {
              "value": 28.9,
              "unit": "C",
              "unitType": 17
            }
          },
          "realFeelTemperature": {
            "minimum": {
              "value": 16.3,
              "unit": "C",
              "unitType": 17
            },
            "maximum": {
              "value": 29.8,
              "unit": "C",
              "unitType": 17
            }
          },
          "realFeelTemperatureShade": {
            "minimum": {
              "value": 16.3,
              "unit": "C",
              "unitType": 17
            },
            "maximum": {
              "value": 27.3,
              "unit": "C",
              "unitType": 17
            }
          },
          "hoursOfSun": 12.9,
          "degreeDaySummary": {
            "heating": {
              "value": 0,
              "unit": "C",
              "unitType": 17
            },
            "cooling": {
              "value": 5,
              "unit": "C",
              "unitType": 17
            }
          },
          "airAndPollen": [
            {
              "name": "AirQuality",
              "value": 56,
              "category": "Moderate",
              "categoryValue": 2,
              "type": "Nitrogen Dioxide"
            },
            {
              "name": "Grass",
              "value": 2,
              "category": "Low",
              "categoryValue": 1
            },
            {
              "name": "Mold",
              "value": 0,
              "category": "Low",
              "categoryValue": 1
            },
            {
              "name": "Ragweed",
              "value": 5,
              "category": "Low",
              "categoryValue": 1
            },
            {
              "name": "Tree",
              "value": 0,
              "category": "Low",
              "categoryValue": 1
            },
            {
              "name": "UVIndex",
              "value": 7,
              "category": "High",
              "categoryValue": 3
            }
          ],
          "day": {
            "iconCode": 2,
            "iconPhrase": "Mostly sunny",
            "hasPrecipitation": false,
            "shortPhrase": "Mostly sunny",
            "longPhrase": "Mostly sunny; wildfire smoke will cause the sky to be hazy",
            "precipitationProbability": 0,
            "thunderstormProbability": 0,
            "rainProbability": 0,
            "snowProbability": 0,
            "iceProbability": 0,
            "wind": {
              "direction": {
                "degrees": 357,
                "localizedDescription": "N"
              },
              "speed": {
                "value": 11.1,
                "unit": "km/h",
                "unitType": 7
              }
            },
            "windGust": {
              "direction": {
                "degrees": 354,
                "localizedDescription": "N"
              },
              "speed": {
                "value": 29.6,
                "unit": "km/h",
                "unitType": 7
              }
            },
            "totalLiquid": {
              "value": 0,
              "unit": "mm",
              "unitType": 3
            },
            "rain": {
              "value": 0,
              "unit": "mm",
              "unitType": 3
            },
            "snow": {
              "value": 0,
              "unit": "cm",
              "unitType": 4
            },
            "ice": {
              "value": 0,
              "unit": "mm",
              "unitType": 3
            },
            "hoursOfPrecipitation": 0,
            "hoursOfRain": 0,
            "hoursOfSnow": 0,
            "hoursOfIce": 0,
            "cloudCover": 10
          },
          "night": {
            "iconCode": 35,
            "iconPhrase": "Partly cloudy",
            "hasPrecipitation": false,
            "shortPhrase": "Partly cloudy",
            "longPhrase": "Partly cloudy; wildfire smoke will cause the sky to be hazy",
            "precipitationProbability": 1,
            "thunderstormProbability": 0,
            "rainProbability": 1,
            "snowProbability": 0,
            "iceProbability": 0,
            "wind": {
              "direction": {
                "degrees": 7,
                "localizedDescription": "N"
              },
              "speed": {
                "value": 9.3,
                "unit": "km/h",
                "unitType": 7
              }
            },
            "windGust": {
              "direction": {
                "degrees": 3,
                "localizedDescription": "N"
              },
              "speed": {
                "value": 20.4,
                "unit": "km/h",
                "unitType": 7
              }
            },
            "totalLiquid": {
              "value": 0,
              "unit": "mm",
              "unitType": 3
            },
            "rain": {
              "value": 0,
              "unit": "mm",
              "unitType": 3
            },
            "snow": {
              "value": 0,
              "unit": "cm",
              "unitType": 4
            },
            "ice": {
              "value": 0,
              "unit": "mm",
              "unitType": 3
            },
            "hoursOfPrecipitation": 0,
            "hoursOfRain": 0,
            "hoursOfSnow": 0,
            "hoursOfIce": 0,
            "cloudCover": 26
          },
          "sources": [
            "AccuWeather"
          ]
        }
      ]
    }
    

طلب بيانات التنبؤ بالطقس كل ساعة

تقوم واجهة برمجة تطبيقات التنبؤ بالطقس كل ساعة بإرجاع توقعات الطقس التفصيلية حسب الساعة للساعات التالية 1 و12 و24 (يوم) و72 (3 أيام) و120 (5 أيام) و240 ساعة (10 أيام) لموقع الإحداثيات المحدد. ترجع واجهة برمجة التطبيقات تفاصيل مثل درجة الحرارة والرطوبة والرياح وهطول الأمطار ومؤشر الأشعة فوق البنفسجية.

هام

في مستوى تسعير Gen1 (S0)، يمكنك طلب التنبؤ بالساعة للساعات التالية 1 و12 و24 ساعة (يوم واحد) و72 ساعة (3 أيام). في مستوى تسعير Gen1 (S1) أو Gen2، يمكنك طلب التنبؤ بالساعة لل 120 (5 أيام) و240 ساعة (10 أيام) التالية.

في هذا المثال، يمكنك استخدام واجهة برمجة تطبيقات Get Hourly Forecast لاسترداد توقعات الطقس بالساعة لمدة 12 ساعة التالية في الإحداثيات الموجودة في سياتل، واشنطن.

  1. في تطبيق bruno، حدد NEW REQUEST لإنشاء الطلب. في نافذة NEW REQUEST ، قم بتعيين Type إلى HTTP. أدخل اسما للطلب.

  2. حدد أسلوب GET HTTP في القائمة المنسدلة URL، ثم أدخل عنوان URL التالي:

    https://atlas.microsoft.com/weather/forecast/hourly/json?api-version=1.0&query=47.60357,-122.32945&duration=12&subscription-key={Your-Azure-Maps-Subscription-key}
    
  3. حدد الزر الأزرق Create .

  4. حدد زر التشغيل.

    لقطة شاشة تعرض عنوان URL لبيانات التنبؤ بالطقس للطلب كل ساعة مع تمييز زر التشغيل في تطبيق bruno.

    يحتوي نص الاستجابة على بيانات التنبؤ بالطقس خلال الـ 12 ساعة القادمة. يوضح المثال التالي استجابة JSON الساعة الأولى فقط:

    {
      "forecasts": [
        {
          "date": "2024-08-07T15:00:00-07:00",
          "iconCode": 2,
          "iconPhrase": "Mostly sunny",
          "hasPrecipitation": false,
          "isDaylight": true,
          "temperature": {
            "value": 24.6,
            "unit": "C",
            "unitType": 17
          },
          "realFeelTemperature": {
            "value": 26.4,
            "unit": "C",
            "unitType": 17
          },
          "wetBulbTemperature": {
            "value": 18.1,
            "unit": "C",
            "unitType": 17
          },
          "dewPoint": {
            "value": 14.5,
            "unit": "C",
            "unitType": 17
          },
          "wind": {
            "direction": {
              "degrees": 340,
              "localizedDescription": "NNW"
            },
            "speed": {
              "value": 14.8,
              "unit": "km/h",
              "unitType": 7
            }
          },
          "windGust": {
            "speed": {
              "value": 24.1,
              "unit": "km/h",
              "unitType": 7
            }
          },
          "relativeHumidity": 53,
          "visibility": {
            "value": 16.1,
            "unit": "km",
            "unitType": 6
          },
          "cloudCover": 11,
          "ceiling": {
            "value": 10211,
            "unit": "m",
            "unitType": 5
          },
          "uvIndex": 5,
          "uvIndexPhrase": "Moderate",
          "precipitationProbability": 0,
          "rainProbability": 0,
          "snowProbability": 0,
          "iceProbability": 0,
          "totalLiquid": {
            "value": 0,
            "unit": "mm",
            "unitType": 3
          },
          "rain": {
            "value": 0,
            "unit": "mm",
            "unitType": 3
          },
          "snow": {
            "value": 0,
            "unit": "cm",
            "unitType": 4
          },
          "ice": {
            "value": 0,
            "unit": "mm",
            "unitType": 3
          }
        }
      ]
    }
    

طلب بيانات توقعات الطقس دقيقة بدقيقة

ترجع واجهة برمجة تطبيقات الحصول على تنبؤات الطقس كل دقيقة تنبؤات دقيقة تلو الأخرى لموقع معين لمدة 120 دقيقة قادمة. يمكن للمستخدمين طلب توقعات الطقس في فواصل زمنية من 1 و5 و15 دقيقة. تتضمن الاستجابة تفاصيل مثل نوع هطول الأمطار (بما في ذلك المطر أو الثلج أو مزيج من الاثنين معاً)، ووقت البدء، وقيمة كثافة هطول الأمطار (dBZ).

في هذا المثال، يمكنك استخدام واجهة برمجة تطبيقات Get Minute Forecast لاسترداد التنبؤ بالطقس دقيقة بلدقيقة عند الإحداثيات الموجودة في سياتل، واشنطن. يتم إعطاء توقعات الطقس للدقائق الـ 120 المقبلة. يطلب الاستعلام لدينا أن يتم إعطاء التنبؤ على فترات 15 دقيقة، ولكن يمكنك ضبط المعلمة لتكون إما 1 أو 5 دقائق.

  1. في تطبيق bruno، حدد NEW REQUEST لإنشاء الطلب. في نافذة NEW REQUEST ، قم بتعيين Type إلى HTTP. أدخل اسما للطلب.

  2. حدد أسلوب GET HTTP في القائمة المنسدلة URL، ثم أدخل عنوان URL التالي:

    https://atlas.microsoft.com/weather/forecast/minute/json?api-version=1.0&query=47.60357,-122.32945&interval=15&subscription-key={Your-Azure-Maps-Subscription-key}
    
  3. حدد الزر الأزرق Create .

  4. حدد زر التشغيل.

    لقطة شاشة تعرض عنوان URL لبيانات التنبؤ بالطقس للدقيقة بالطلب مع تمييز زر التشغيل في تطبيق bruno.

    يحتوي نص الاستجابة على بيانات توقعات الطقس للدقائق الـ 120 التالية، في فواصل زمنية مدتها 15 دقيقة.

    {
      "summary": {
        "briefPhrase60": "No precipitation for at least 60 min",
        "shortPhrase": "No precip for 120 min",
        "briefPhrase": "No precipitation for at least 120 min",
        "longPhrase": "No precipitation for at least 120 min",
        "iconCode": 1
      },
      "intervalSummaries": [
        {
          "startMinute": 0,
          "endMinute": 119,
          "totalMinutes": 120,
          "shortPhrase": "No precip for %MINUTE_VALUE min",
          "briefPhrase": "No precipitation for at least %MINUTE_VALUE min",
          "longPhrase": "No precipitation for at least %MINUTE_VALUE min",
          "iconCode": 1
        }
      ],
      "intervals": [
        {
          "startTime": "2024-08-08T05:58:00-07:00",
          "minute": 0,
          "dbz": 0,
          "shortPhrase": "No Precipitation",
          "iconCode": 1,
          "cloudCover": 7
        },
        {
          "startTime": "2024-08-08T06:13:00-07:00",
          "minute": 15,
          "dbz": 0,
          "shortPhrase": "No Precipitation",
          "iconCode": 1,
          "cloudCover": 3
        },
        {
          "startTime": "2024-08-08T06:28:00-07:00",
          "minute": 30,
          "dbz": 0,
          "shortPhrase": "No Precipitation",
          "iconCode": 1,
          "cloudCover": 2
        },
        {
          "startTime": "2024-08-08T06:43:00-07:00",
          "minute": 45,
          "dbz": 0,
          "shortPhrase": "No Precipitation",
          "iconCode": 1,
          "cloudCover": 2
        },
        {
          "startTime": "2024-08-08T06:58:00-07:00",
          "minute": 60,
          "dbz": 0,
          "shortPhrase": "No Precipitation",
          "iconCode": 1,
          "cloudCover": 1
        },
        {
          "startTime": "2024-08-08T07:13:00-07:00",
          "minute": 75,
          "dbz": 0,
          "shortPhrase": "No Precipitation",
          "iconCode": 1,
          "cloudCover": 1
        },
        {
          "startTime": "2024-08-08T07:28:00-07:00",
          "minute": 90,
          "dbz": 0,
          "shortPhrase": "No Precipitation",
          "iconCode": 1,
          "cloudCover": 0
        },
        {
          "startTime": "2024-08-08T07:43:00-07:00",
          "minute": 105,
          "dbz": 0,
          "shortPhrase": "No Precipitation",
          "iconCode": 1,
          "cloudCover": 0
        }
      ]
    }
    

الخطوات التالية