من بيانات الغبار إلى خرائط تفاعلية
آخر تحديث: جاري التحميل...
نافذة شفافة على التقنية: نوضح هنا خطوات معالجة بيانات الغبار الصادرة عن مركز برشلونة الإقليمي (BDRC) وتحويلها إلى مؤشرات جودة هواء (AQI) وخرائط ملونة تبين حالة الهواء في كل قضاء عراقي. نعتمد على الاستيفاء المقيّد بالوزن العكسي للمسافة (Constrained IDW)، وقواعد بيانات SQLite، ونماذج التنبؤ حتى 24 ساعة قادمة.
📊 مخطط سير عمل النظام
يوضح المخطط التالي المسار الكامل للبيانات: من تنزيل ملفات NetCDF من مركز برشلونة، مروراً بالمعالجة والاستيفاء، وصولاً إلى ملفات JSON والخرائط التفاعلية.
🔬 شرح خطوات المعالجة
📡 ١. استحواذ البيانات ومعالجة الشبكة
| المكون | الوصف | ملف البرمجة |
|---|---|---|
| المصدر | مركز برشلونة الإقليمي للغبار (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
🌐 ٥. إنتاج الخرائط والمرئيات
| المكون | التقنية | الوصف |
|---|---|---|
| محرك الخريطة | Leaflet.js | خرائط تفاعلية في المتصفح |
| صيغة البيانات | GeoJSON + JSON | حدود الأقضية + قيم AQI |
| التلوين | ألوان EPA AQI | أخضر ← ماروني حسب مستوى المؤشر |
| الميزات | مضلعات ملونة، نوافذ منبثقة، وسيلة إيضاح | عرض PM10 الحالي، المتوسطات، التنبؤات |
📐 المواصفات الفنية الأساسية
| المعيار | القيمة | ملاحظات |
|---|---|---|
| الدقة المكانية | مستوى الأقضية (الإداري الثاني) | ~١٢٠ قضاء |
| الدقة الزمنية | ٣ ساعات | توفر البيانات |
| منهجية الاستيفاء | Constrained IDW | نصف قطر ٥٥ كم، ٤ جيران |
| أفق التنبؤ | ٢٤ ساعة | ٨ نوافذ (زيادات ٣ ساعات) |
| نافذة التعبئة الراجعة | ٧٢ ساعة | استمرارية تاريخية |
| معيار AQI | EPA PM10 | قابلية المقارنة دولياً |
| معيار الامتثال | الحكومة العراقية | المتوسط اليومي ≤ ١٠٠ μg/m³ |
| قاعدة البيانات | SQLite | خفيفة الوزن، قائمة على ملفات |
💡 لماذا هذا النهج؟
مُثبت علمياً
IDW مع قيود المسافة يتبع أفضل الممارسات في الاستيفاء المكاني.
كفاءة حسابية
فهرسة KD-tree تتيح معالجة ١٢٠ قضاء بشكل لحظي.
مركز على الصحة
تحويل PM10 إلى مؤشر AQI يسهل فهم الجمهور.
قابل للتنفيذ
تتبع امتثال الحكومة يدعم القرارات السياسية.
تنبؤات استباقية
أفق ٢٤ ساعة يمكّن من إجراءات وقائية مسبقة.
شفافية كاملة
منهجية موثقة ومعايير معلنة.
© 2026 منصة جودة الهواء في العراق – أبحاث علمية تتحول إلى خدمة وطنية مجتمعية. أعداد و تنفيذ الدكتور المهندس: عمر فيصل الثويني