एक हल्का विमानन खुफिया उपकरण जो टेल नंबर या ICAO पहचानकर्ताओं का उपयोग करके ADSB-Exchange उड़ान डेटा को क्वेरी करता है, ताकि विमान गतिविधि का त्वरित प्रोफ़ाइल तैयार किया जा सके।
SkyProfile एक PyQt5 डेस्कटॉप ऐप है जो एक या कई विमानों के लिए ADSBexchange ग्लोब इतिहास को क्वेरी करने, मल्टी-लेग उड़ानों का पता लगाने, और समृद्ध विश्लेषण (एयरपोर्ट, रूट्स, टाइम बकेट्स, कॉलसाइन्स, FAA मेटाडेटा) के साथ KML/CSV/JSON/Excel निर्यात करने के लिए है।
मुख्य विशेषताएँ
ICAO hex द्वारा दिनांक-सीमा क्वेरी; ADSBx बेसिक एयरक्राफ्ट DB के माध्यम से वैकल्पिक tail/reg लुकअप।
एयर/ग्राउंड फ्लैग्स, ऑल्टीट्यूड/ग्राउंडस्पीड ह्यूरिस्टिक्स, 90 सेकंड ग्राउंड ड्वेल, 20-मिनट गैप हैंडलिंग और लाइव कॉलसाइन इतिहास के साथ मजबूत लेग डिटेक्शन (ग्राउंड → एयर → ग्राउंड)।
निर्यात (प्रति प्रकार टॉगल): KML पॉइंट्स, KML रूट्स 2D, KML रूट्स 3D, एयरपोर्ट हीटमैप KML (गतिविधि के अनुसार आकार वाले सफेद डॉट्स), CSV, JSON, Excel सारांश।
वैकल्पिक Consolidate reports के साथ बैच मोड: सभी विमानों को ऑफलाइन निर्यात (CSV/JSON/KML/Excel) के एकल सेट में विलीन करता है। समेकित करते समय व्यक्तिगत फाइलें दबा दी जाती हैं।
एयरपोर्ट मैचिंग (250 किमी के भीतर निकटतम; कोई न मिलने पर सिंथेटिक IDs) KML और Excel में पुनः उपयोग की जाती है।
N-नंबर विमानों के लिए FAA रजिस्ट्री लुकअप (resources/faa_registry में स्थानीय DB)।
प्रति-चरण स्थिति के साथ GUI प्रगति; Run/Stop नियंत्रण; विंडो/टास्कबार पर लागू ऐप आइकन।
सेटिंग्स मेनू में "Check for Updates" (GitHub टैग जांच) और "About" (संस्करण/जानकारी + डेटा एट्रिब्यूशन) शामिल हैं।
बैच मोड
इनपुट: icao_hex (या hex/icao) और/या tail/registration कॉलम वाली CSV। प्रत्येक पंक्ति एक विमान लक्ष्य है।
व्यवहार:
चयनित दिनांक सीमा में सभी सूचीबद्ध विमानों को चलाता है।
प्रति-विमान आउटपुट output/<HEX>_<TAIL>/ में लिखता है (टेल न होने पर केवल hex)।
वैकल्पिक रूप से Consolidate reports: सक्षम होने पर, व्यक्तिगत फाइलों को दबाता है और एकल विलय सेट तैयार करता है:
KML पॉइंट्स: प्रत्येक लेग आगमन पर समय, अवधि, कॉलसाइन, मेटा के साथ एक प्लेसमार्क।
KML रूट्स 2D/3D: पूर्ण लेग ट्रैक (सीधी रेखाएँ नहीं); 3D रूट्स में ऑल्टीट्यूड शामिल होता है।
एयरपोर्ट हीटमैप KML: प्रत्येक देखे गए एयरपोर्ट पर एक मार्कर, कुल विज़िट (आगमन+प्रस्थान) के अनुसार आकार और साफ ओवरले के लिए सफेद रंग; विशेषताओं में आगमन/प्रस्थान तिथियाँ, hex, tail शामिल हैं।
CSV: प्रति हिट एक पंक्ति; कॉलम में hex और tail के साथ समतल ac_data शामिल है (कोई कच्चा ac_data_json कॉलम नहीं)।
JSON: प्रति विमान लपेटा गया पेलोड: { hex, tail, meta, data: [raw trace_full blobs] }; समेकित JSON इन पेलोड्स की सूची है।
Excel सारांश (पूर्ण मल्टी-शीट वर्कबुक):
Summary: मेटाडेटा (hex, रजिस्ट्रेशन, प्रकार, मालिक, मॉडल, फ्लैग्स, दिनांक सीमा); उपलब्ध होने पर FAA विवरण।
Flights: प्रति पहचाने गए लेग एक पंक्ति; hex, tail, segment id, डिप/आगमन UTC टाइमस्टैम्प, अवधि, डिप/आगमन एयरपोर्ट IDs और नाम, lat/lon, सप्ताह-का-दिन/माह-का-दिन/घंटा बकेट्स, कॉलसाइन और इतिहास के लिए कॉलम।
Airports: विज़िट (आगमन + प्रस्थान) द्वारा शीर्ष एयरपोर्ट IDs, ICAO/IATA, नाम, शहर/देश, गिनती, lat/lon के साथ; "Airports by Number of Visits" बार चार्ट शामिल है।
Routes: पठनीय एयरपोर्ट लेबल और गिनती के साथ शीर्ष रूट्स; "Count of Routes Traveled" बार चार्ट शामिल है।
संसाधन और कैशिंग
साझा डेटा resources/ (acdb_cache, airport_db, faa_registry) में रहता है। PyInstaller बिल्ड इसे --add-data के माध्यम से शामिल करते हैं और EXE के साथ कॉपी करते हैं।
ADSBx ट्रेस कैश output/cache/<hex>/YYYY-MM-DD.json के अंतर्गत रहता है।
प्रति-विमान निर्यात output/<HEX>_<TAIL>/ के अंतर्गत समूहीकृत होते हैं (टेल न होने पर केवल hex)। समेकित बैच निर्यात मुख्य output/ फ़ोल्डर में consolidated_<N>ACFT_<date range>* का उपयोग करते हैं।
नोट्स और सीमाएँ
कवरेज अंतराल अभी भी सटीक ग्राउंड समय से चूक सकते हैं; निकटतम-एयरपोर्ट मैचिंग सिंथेटिक LL_lat_lon IDs पर वापस जा सकती है।
दूषित ड्रॉइंग से बचने के लिए Excel में फोटो अक्षम हैं।
Onefile EXE बड़ा है क्योंकि यह Python + Qt + निर्भरताओं को बंडल करता है; यदि आपको छोटा EXE चाहिए तो one-dir का उपयोग करें।
लाइसेंस
Apache License 2.0 (LICENSE देखें)। बाहरी डेटा/APIs अपनी स्वयं की शर्तों के अधीन रहते हैं।