SkyProfile — أداة استخبارات طيران خفيفة الوزن تستعلم بيانات رحلات ADSB-Exchange باستخدام أرقام الذيل أو معرفات ICAO لتحليل نشاط الطائرات بسرعة. | Kitploit
SkyProfile هو تطبيق سطح مكتب يعمل بـ PyQt5 للاستعلام عن سجل ADSBexchange العالمي لطائرة واحدة أو عدة طائرات، واكتشاف الرحلات متعددة الأجزاء، وتصدير ملفات KML/CSV/JSON/Excel مع تحليلات غنية (المطارات، المسارات، فترات الوقت، إشارات النداء، بيانات FAA).
الميزات الرئيسية
استعلام حسب نطاق التاريخ باستخدام ICAO hex؛ مع إمكانية البحث حسب الذيل/التسجيل عبر قاعدة بيانات ADSBx الأساسية.
اكتشاف قوي للأجزاء (أرض → جو → أرض) مع علامات جو/أرض، قواعد إرشادية للارتفاع/السرعة الأرضية، 90 ثانية انتظار على الأرض، معالجة فجوات 20 دقيقة، وسجل حيوي لإشارات النداء.
الصادرات (تبديل لكل نوع): نقاط KML، مسارات KML ثنائية الأبعاد، مسارات KML ثلاثية الأبعاد، خريطة حرارية للمطارات KML (نقاط بيضاء بحسب النشاط)، CSV، JSON، ملخص Excel.
وضع الدُفعات مع خاصية دمج التقارير الاختيارية: دمج جميع الطائرات في مجموعة واحدة من الصادرات غير المتصلة (CSV/JSON/KML/Excel). يتم إلغاء الملفات الفردية عند التجميع.
مطابقة المطارات (الأقرب ضمن 250 كم؛ معرفات اصطناعية عند عدم وجودها) يُعاد استخدامها عبر KML وExcel.
البحث في سجل FAA للطائرات ذات أرقام N (قاعدة بيانات محلية في resources/faa_registry).
تقدم واجهة المستخدم مع حالة لكل مرحلة؛ أزرار تشغيل/إيقاف؛ أيقونة التطبيق مُطبقة على النافذة وشريط المهام.
قائمة الإعدادات مع "التحقق من وجود تحديثات" (التحقق من علامة GitHub) و"حول" (الإصدار/المعلومات + إسناد البيانات).
وضع الدُفعات
الإدخال: ملف CSV بعمود icao_hex (أو hex/icao) و/أو tail/registration. كل صف يمثل هدف طائرة واحدة.
السلوك:
تشغيل جميع الطائرات المدرجة عبر نطاق التاريخ المختار.
كتابة مخرجات كل طائرة في output/<HEX>_<TAIL>/ (hex فقط إذا كان الذيل مفقودًا).
اختياريًا دمج التقارير: عند التمكين، يتم إلغاء الملفات الفردية وإنتاج مجموعة مدمجة واحدة:
استخدم dist/SkyProfile.exe مع dist/resources/ بجانبه (يحتوي على بيانات FAA/المطار/acdb).
الصادرات والتطبيع
اكتشاف الأجزاء: علامات جو/أرض، فحوص الارتفاع/السرعة الأرضية، 90 ثانية على الأرض، هبوط بفجوة 20 دقيقة، متوسط تجمّعات الأرض، سجل إشارات النداء لكل جزء.
نقاط KML: علامة موقع واحدة لكل وصول جزء مع الأوقات، المدة، إشارة النداء، بيانات وصفية.
مسارات KML ثنائية/ثلاثية الأبعاد: مسارات كاملة للأجزاء (ليست خطوطًا مستقيمة)؛ المسارات ثلاثية الأبعاد تتضمن الارتفاع.
خريطة حرارية للمطار KML: علامة واحدة لكل مطار تم زيارته، بحجم يتناسب مع إجمالي الزيارات (وصول+مغادرة) وملونة باللون الأبيض لتراكب نظيف؛ السمات تتضمن تواريخ الوصول/المغادرة، hex، الذيل.
CSV: صف واحد لكل نتيجة؛ الأعمدة تتضمن hex والذيل بالإضافة إلى ac_data المسطحة (بدون عمود ac_data_json الخام).
JSON: حمولة ملفوفة لكل طائرة: { hex, tail, meta, data: [تتبع خام trace_full blobs] }؛ JSON المدمج هو قائمة بهذه الحمولات.
ملخص Excel (دفتر عمل كامل متعدد الأوراق):
Summary: بيانات وصفية (hex، التسجيل، النوع، المالك، الموديل، العلامات، نطاق التاريخ)؛ تفاصيل FAA عند توفرها.
Flights: صف واحد لكل جزء مكتشف؛ أعمدة لـ hex، الذيل، معرف المقطع، طوابع UTC للإقلاع/الهبوط، المدة، معرفات وأسماء مطاري الإقلاع/الهبوط، خط الطول/العرض، فترات اليوم من الأسبوع/الشهر/الساعة، إشارات النداء والتاريخ.
Airports: أفضل المطارات حسب الزيارات (وصول + مغادرة) مع المعرفات، ICAO/IATA، الاسم، المدينة/الدولة، الأعداد، خط الطول/العرض؛ يتضمن مخططًا شريطيًا "المطارات حسب عدد الزيارات".
Routes: أفضل المسارات مع تسميات مطارات قابلة للقراءة والأعداد؛ يتضمن مخططًا شريطيًا "عدد المسارات المسافرة".
الموارد والتخزين المؤقت
البيانات المشتركة موجودة في resources/ (acdb_cache, airport_db, faa_registry). تتضمنها إصدارات PyInstaller عبر --add-data وتنسخها بجانب EXE.
ذاكرة التخزين المؤقت لـ ADSBx trace تبقى تحت output/cache/<hex>/YYYY-MM-DD.json.
صادرات كل طائرة مجمعة تحت output/<HEX>_<TAIL>/ (أو hex فقط إذا لم يوجد ذيل). صادرات الدفعات المدمجة تستخدم consolidated_<N>ACFT_<date range>* في المجلد الرئيسي output/.
ملاحظات وقيود
قد تظل فجوات التغطية تفوت الأوقات الأرضية الدقيقة؛ يمكن لمطابقة أقرب مطار أن ترجع إلى معرفات LL_lat_lon الاصطناعية.
تم تعطيل الصور في Excel لتجنب الرسومات التالفة.
ملف EXE الأحادي كبير لأنه يحزم Python + Qt + التبعيات؛ استخدم الوضع أحادي الدليل إذا كنت بحاجة إلى EXE أصغر.
الترخيص
رخصة Apache 2.0 (انظر LICENSE). تظل البيانات/API الخارجية تحت شروطها الخاصة.