اضغط هنا لتصلك اشعارات جودة الهواء في العراق عبر تطبيق تيليجرام

من بيانات الغبار إلى خرائط تفاعلية

آخر تحديث: جاري التحميل...

نافذة شفافة على التقنية: نوضح هنا خطوات معالجة بيانات الغبار الصادرة عن مركز برشلونة الإقليمي (BDRC) وتحويلها إلى مؤشرات جودة هواء (AQI) وخرائط ملونة تبين حالة الهواء في كل قضاء عراقي. نعتمد على الاستيفاء المقيّد بالوزن العكسي للمسافة (Constrained IDW)، وقواعد بيانات SQLite، ونماذج التنبؤ حتى 24 ساعة قادمة.

📊 مخطط سير عمل النظام

يوضح المخطط التالي المسار الكامل للبيانات: من تنزيل ملفات NetCDF من مركز برشلونة، مروراً بالمعالجة والاستيفاء، وصولاً إلى ملفات JSON والخرائط التفاعلية.

مخطط سير عمل منصة جودة الهواء - تفصيلي
⚙️ الشكل 1: مخطط تفصيلي لخطوات المعالجة – بيانات المصدر، قواعد البيانات، نصوص المعالجة، والمخرجات.
مخطط سير عمل منصة جودة الهواء - مبسط
🗺️ الشكل 2: نسخة مبسطة تظهر تدفق المعلومات من المصدر إلى الخريطة التفاعلية.

🔬 شرح خطوات المعالجة

📡 ١. استحواذ البيانات ومعالجة الشبكة

المكونالوصفملف البرمجة
المصدر مركز برشلونة الإقليمي للغبار (WMO) – تنبؤات الغبار المعدني الطبيعي .nc
المدخلات ملفات NetCDF من مجلد */latest تحتوي تراكيز الغبار *.nc
المعالجة • مسح أحدث ملفات .nc
• استخراج بيانات (زمن، خط العرض، خط الطول)
• تحويل القيم الى µg/m³
• إدراجها في قاعدة البيانات اللحظية
create_realtime_database_full_grid.py
دالة: process_nc_file()
السياق التاريخي • استعلام قاعدة البيانات السنوية (مثل 2024_dust.db)
• استخراج 4 ملفات تنبؤ سابقة
• إضافة استمرارية تاريخية
find_previous_nc_files_from_db()
extract_data_from_year_db()
المخرجات جدول dust_measurements_realtime – نقاط شبكية بدقة زمنية 3 ساعات SQLite

⏮️ ٢. التعبئة الراجعة (التغطية التاريخية)

المكونالوصفملف البرمجة
الغرض معالجة ساعات التنبؤ السابقة لبناء سياق تاريخي (آخر 72 ساعة) backfill_district_pm10.py
المعالجة • استرجاع الطوابع الزمنية لآخر 72 ساعة
• تحميل بيانات الشبكة لكل طابع
• تشغيل أنبوب الاستيفاء للساعات الماضية
get_past_forecast_timestamps()
load_grid_at_timestamp()
المخرجات ملء جدول district_pm10_hourly ببيانات تاريخية على مستوى الأقضية SQLite

📍 ٣. الاستيفاء المكاني على مستوى الأقضية (IDW المقيّد)

⚙️ المعايير التقنية للاستيفاء:
• المسافة القصوى: 55 كم
• عدد الجيران: 4 نقاط شبكية أقرب
• قوة الوزن: 2 (وزن = 1/المسافة²)
• هيكل البحث: KD-tree لتسريع الاستعلامات المكانية
المكونالوصفملف البرمجة
المنهجية الاستيفاء بالوزن العكسي للمسافة المقيّد (Constrained IDW) realtime_IRQ_csv_json_dust.py
المدخل 1 dust_measurements_realtime – نقاط شبكية بقيم PM10 SQLite
المدخل 2 Shapefile لأقضية العراق – حدود إدارية مع المراكز الهندسية load_iraq_districts()
المعالجة بناء KD-tree → لكل مركز قضاء:
١. إيجاد 4 نقاط شبكية أقرب
٢. تصفية النقاط التي تبعد >55 كم
٣. حساب أوزان IDW = 1/المسافة²
٤. المتوسط الموزون لـ PM10
constrained_idw()
المخرجات جدول district_pm10_hourly – PM10 على مستوى الأقضية بفواصل 3 ساعات store_hourly_results_sqlite()

⚠️ ٤. المتوسطات المتحركة، مؤشر جودة الهواء (AQI) والتنبؤات

المكونالوصفملف البرمجة
الغرض توليد تنبيهات صحية ومؤشرات امتثال للمعايير rolling_means_alerts.py
الدقة الزمنية بيانات بفواصل 3 ساعات (00:00، 03:00، ...، 21:00) DATA_RESOLUTION_HOURS = 3

📋 أ. المقاييس اللحظية والمتجددة

  • PM10 الحالي: أقرب فترة 3 ساعات للوقت الحالي
  • المتوسطات المتحركة: 6، 12، 24 ساعة
  • مؤشر AQI: وفق معادلة EPA PM10
  • فئات AQI: جيد – معتدل – غير صحي – خطير ...

🔮 ب. نوافذ التنبؤ (3h → 24h)

  • • 3، 6، 9، 12 ساعة: توصيات صحية قريبة
  • • 15، 18، 21، 24 ساعة: تخطيط موسع (مدارس، أعمال إنشائية)

🏛️ ج. الامتثال للحكومة العراقية

المعيارالحد المسموحالدالة
الحكومة العراقيةالمتوسط اليومي PM10 ≤ 100 μg/m³check_government_compliance()

📦 د. هيكل مخرجات JSON

{ "metadata": { "generated_at": "2026-02-11T14:00:00Z", "reference_time": "2026-02-11T12:00:00Z", "rolling_windows_hours": [6, 12, 24], "forecast_windows_hours": [3, 6, 9, 12, 15, 18, 21, 24] }, "districts": [ { "district_id": 123, "district_name": "...", "province_name": "...", "pm10": { "now": 85.3, "timestamp": "2026-02-11T12:00:00Z", "mean_6h": 92.1, "mean_12h": 78.4, "mean_24h": 65.2 }, "aqi": { "value": 112, "level": "unhealthy_for_sensitive_groups", "based_on": "pm10_now" }, "government_compliance": { "status": "WITHIN_LIMIT", "limit_24h_ug_m3": 100, "pm10_mean_24h": 65.2 }, "pm10_forecast_6h": { "value": 75.0, "aqi": 95, "aqi_level": "moderate", "timestamp": "2026-02-11T18:00:00Z", "data_source": "exact" } } ] }

🌐 ٥. إنتاج الخرائط والمرئيات

المكونالتقنيةالوصف
محرك الخريطةLeaflet.jsخرائط تفاعلية في المتصفح
صيغة البياناتGeoJSON + JSONحدود الأقضية + قيم AQI
التلوينألوان EPA AQIأخضر ← ماروني حسب مستوى المؤشر
الميزاتمضلعات ملونة، نوافذ منبثقة، وسيلة إيضاحعرض PM10 الحالي، المتوسطات، التنبؤات

📐 المواصفات الفنية الأساسية

المعيارالقيمةملاحظات
الدقة المكانيةمستوى الأقضية (الإداري الثاني)~١٢٠ قضاء
الدقة الزمنية٣ ساعاتتوفر البيانات
منهجية الاستيفاءConstrained IDWنصف قطر ٥٥ كم، ٤ جيران
أفق التنبؤ٢٤ ساعة٨ نوافذ (زيادات ٣ ساعات)
نافذة التعبئة الراجعة٧٢ ساعةاستمرارية تاريخية
معيار AQIEPA PM10قابلية المقارنة دولياً
معيار الامتثالالحكومة العراقيةالمتوسط اليومي ≤ ١٠٠ μg/m³
قاعدة البياناتSQLiteخفيفة الوزن، قائمة على ملفات

💡 لماذا هذا النهج؟

مُثبت علمياً

IDW مع قيود المسافة يتبع أفضل الممارسات في الاستيفاء المكاني.

كفاءة حسابية

فهرسة KD-tree تتيح معالجة ١٢٠ قضاء بشكل لحظي.

❤️

مركز على الصحة

تحويل PM10 إلى مؤشر AQI يسهل فهم الجمهور.

📋

قابل للتنفيذ

تتبع امتثال الحكومة يدعم القرارات السياسية.

🔮

تنبؤات استباقية

أفق ٢٤ ساعة يمكّن من إجراءات وقائية مسبقة.

🔍

شفافية كاملة

منهجية موثقة ومعايير معلنة.


© 2026 منصة جودة الهواء في العراق – أبحاث علمية تتحول إلى خدمة وطنية مجتمعية. أعداد و تنفيذ الدكتور المهندس: عمر فيصل الثويني