Obliczyłem wszystkie dostępne odległości od wszystkich lotnisk w OpenFlights. Surowe (CSV) dane są dostępne w nich (jest to plik airport.dat.txt
w poniższym kodzie).
Kod do robienie tego jest naprawdę szybkie i bardzo brudne (musi być uruchomione przez interpreter 64-bitowy, w przeciwnym razie możesz otrzymać tajemniczy wyjątek MemoryError
). Przechodzi przez wszystkie pary lotnisk i oblicza odległość tych w różnych krajach:
import csvimport timeimport randomimport itertoolsimport mathdef odległość (początek, cel): "" "Kredyty trafiają do Martina Thomy: https : //stackoverflow.com/a/38187562/903011 "" "lat1, lon1 = origin lat2, lon2 = destination radius = 6371 # km dlat = math.radians (lat2 - lat1) dlon = math.radians (lon2 - lon1) a = (math.sin (dlat / 2) * math.sin (dlat / 2) + math.cos (math.radians (lat1)) * math.cos (math.radians (lat2)) * math.sin (dlon / 2) * math.sin (dlon / 2)) c = 2 * math.atan2 (math.sqrt (a), math.sqrt (1 - a)) d = promień * c return dwith open ('airport.dat .txt ', encoding =' utf-8 ') as f: reader = csv.reader (f) data = list (list (rec) for rec in csv.reader (f, delimiter =', ')) all_combinations = len (dane) * len (dane) distances = [] counter = 0start = time.time () # data = [random.choice (data) for _ in range (20)] for a in itertools.combinatio ns (dane, 2): licznik + = 1 jeśli licznik% 100000 == 0: print (f "{2 * licznik / wszystkie_kombinacje * 100}%, czas od początku: {time.time () - start}") a1_name = a [0] [1] a1_code = a [0] [4] a1_coord = (float (a [0] [6]), float (a [0] [7])) a1_country = a [0] [3 ] a2_name = a [1] [1] a2_code = a [1] [4] a2_coord = (float (a [1] [6]), float (a [1] [7])) a2_country = a [1] [3] if a1_country == a2_country: # print (f "{a1_name} i {a2_name} są w tym samym kraju") continue else: dist = distance (a1_coord, a2_coord) # print (f "distance between {a1_name} and {a2_name} to {dist} km ")
distances.append ((a1_name, a1_code, a2_name, a2_code, dist)) distances = sortowane (distances, key = lambda tup: tup [4]) for pair in distances [: 100]: print (f "{pair [0] } ({pair [1]}) - {pair [2]} ({pair [3]}): {pair [4]} km ")
Po około 5 minutach na moim laptopie jest to lista 100 najlepszych lotnisk. Nie wiem, które z nich są komercyjne, a które nie:
Whiting Field Naval Air Station - North (NSE) - Whiting Field Naval Air Station South Airport (\ N): 2.204219269322024 kmGoma International Lotnisko (GOM) - Port lotniczy Gisenyi (GYI): 2,376034712933963 km Międzynarodowy port lotniczy im. Abelardo L.Rodrígueza (TIJ) - Port lotniczy Brown Field (SDM): 3,5937420212144517 km Port lotniczy Albina (ABN) - Port lotniczy Saint-Laurent-du-Maroni ( LDX): 3,727716157238799 km Lotnisko Oiapoque (OYK) - Lotnisko Saint-Georges-de-l'Oyapock (OYP): 4,750026056815431 km Lotnisko Elorza (EOZ) - Lotnisko El Fuentero (\ N): 5,820479866826561 km Lotnisko Santa Bárbara del Zulia (STB) - Lotnisko Central Bolívar (\ N): 6,527875713491793 km Port lotniczy Tabatinga (TBT) - Międzynarodowy port lotniczy Alfredo Vásquez Cobo (LET): 6,956027869556535 km Port lotniczy Teniente Coronel Luis a Mantilla (TUA) - Lotnisko San Luis (IPI): 7,0895945663591355 km Lotnisko (GJM) - Capitán de Av. Port lotniczy Emilio Beltrán (GYA): 7,652459349658333 km Port lotniczy Eilat (ETH) - Międzynarodowy port lotniczy Aqaba King Hussein (AQJ): 7,920877525295644 kmDigby (General Hospital) Heliport (\ N) - Regionalny port lotniczy Digby / Annapolis (YDG): 8,03110110285801 km Cowaneta Lotnisko (\ N) - Newnan Hospital Heliport (\ N): 8,233077390019632 km Port lotniczy Puerto Obaldia (PUE) - Port lotniczy Capurganá (CPB): 8,360403180249316 km Lotnisko Aleksander Bay (ALJ) - Lotnisko Oranjemund (OMD): 8,524733444038716 km Lotnisko Gibraltar (GIB) ) - Lotnisko dla helikopterów Algeciras (AEI): 8,57959640858818 km Lotnisko Stoelmanseiland (SMZ) - Lotnisko Grand-Santi (GSI): 8,619300251765623 km
Międzynarodowy port lotniczy Antwerpia (Deurne) (ANR) - Lotnisko dla helikopterów w Engels (\ N): 8,756765171742803 km Lotnisko L'Espérance (SFG) - Międzynarodowy port lotniczy Princess Juliana (SXM): 9,242947571038272 kmOceanside Municipal Airport (OCN) - Camp Pendleton MCAS (Munn Field) Lotnisko (\ N): 9,340802654049627 km Long Beach / Daugherty Field / Airport (LGB) - Los Alamitos Army Air Field (\ N): 9,739378362552664 kmFalls International Airport (INL) - Fort Frances Municipal Airport (YAG): 10,148485019124823 km Lotnisko (LVI) - Lotnisko Spray View (\ N): 10,602891253894743 km Lotnisko Barkarby (\ N) - Lotnisko Skå-Edeby (\ N): 11,129095987348393 kmLos Alamitos Army Air Field (\ N) - Port lotniczy Fullerton (FUL) : 11,285667993623937 km Lotnisko Bakalalan (BKM) - Lotnisko Long Bawan (LBW): 11,413010333693933 km Lotnisko Sztokholm-Bromma (BMA) - Lotnisko Skå-Edeby (\ N): 11,452182506589086 km Lotnisko L'Espédrance (SFGoy) - Międzynarodowe lotnisko Clayton J (AXA): 11,694253361399241 km Port lotniczy Maya (BZV) - Ndo Lo Lotnisko (NLO): 11,73528101416698 km Lotnisko Mc Clellan-Palomar (CLD) - Miejski port lotniczy Oceanside (OCN): 12,057037359582235 kmRAF Scampton (SQZ) - Lotnisko Sturgate (\ N): 12,086595126936034 km Międzynarodowy port lotniczy Camilo Daza (CUC) - San Port lotniczy Antonio Del Tachira (SVZ): 12,472917391519752 km Międzynarodowy port lotniczy Aqaba King Hussein (AQJ) - Ramon Airport (ETM): 12,480909327116564 km Lotnisko Flensburg-Schäferhaus (FLF) - Lotnisko Kruså-Padborg (\ N): 12,537692105079154 km Lotnisko regionalne - Haven Gilbert Field (GIF) - Orlampa Inc Airport (\ N): 12,761862096541233 kmLos Chiles Airport (LSL) - San Carlos (NCR): 12.9461506065242 kmZutendaal Air Base (\ N) - Maastricht Aachen Airport (MST): 13.200028870425097 kmAnnemasse (QNJ) - Międzynarodowy port lotniczy Geneva Cointrin (GVA): 13,29536910680905 kmBaza lotnicza Kleine Brogel (\ N) - Lotnisko Budel Kempen (\ N): 13,317101521572054 km Lotnisko Zoersel (Oostmalle) (OBL) - Lotnisko dla helikopterów Engels (\ N): 13,378693617154335 km
Międzynarodowy port lotniczy Cataratas Del Iguazú (IGR) - Helisul I Heliport (\ N): 14,941643996462945 km Lotnisko Paso De Los Libres (AOL) - Rubem Berta Airport (URG): 15.08047542096028 km Lotnisko NASA Shuttle Landing Facility (\ N) - Space Coast Regionalny port lotniczy (TIX): 15,122382163940879 km Port lotniczy St.Gallen Altenrhein (ACH) - Port lotniczy Hohenems-Dornbirn (HOH): 15,274664732089121 km Międzynarodowy port lotniczy Cataratas Del Iguazú (IGR) - Międzynarodowy port lotniczy Cataratas (IGU): 15,280461553472668 km Lotnisko San Agustin (\ N): 15.382601484369282 km Lotnisko Cooma Snowy Mountains (OOM) - Szpital Cooma Helipad (\ N): 15,433257279695518 km Międzynarodowy port lotniczy Quetzalcóatl (NLD) - Międzynarodowy port lotniczy Laredo (LRD): 15.452619796200898 km Port lotniczy Gindsor (YQ) Port lotniczy Coleman A. Younga (DET): 15,511464756627047 km Międzynarodowy port lotniczy Cataratas Del Iguazú (IGR) - Helisul IV Heliport (\ N): 15,744134592091264 km Lotnisko Comodoro Pierrestegui (COC) - Nueva Hesperides Inter National Airport (STY): 15.78166177559867 kmMiędzynarodowy port lotniczy Corumbá (CMG) - Capitán Av. Lotnisko Salvador Ogaya G. (PSZ): 16.208395127479214 km Baza lotnicza Colmar-Meyenheim (\ N) - lotnisko Bremgarten (\ N): 16,395524194505356 km Port lotniczy Ponta Porã (PMG) - Międzynarodowy port lotniczy im. Dr Augusto Roberto Fustera (PJC): 16,495662675391504 km (KJK) - Port lotniczy Lille / Marcq-en-Baroeul (\ N): 17.074059628767692 km Nowy międzynarodowy port lotniczy Ciudad Acuña (ACN) - Międzynarodowy port lotniczy Del Rio (DRT): 17,29070806991974 km Port lotniczy Birchwood (\ N) - Lotnisko Wasilla (WWA) ): 17,346129243725695 km Port lotniczy Limang (LMN) - Międzynarodowy port lotniczy Brunei (BWN): 17,632144935361755 km Port lotniczy Eilat (ETH) - Międzynarodowy port lotniczy Taba (TCP): 17,845677360521062 km Port lotniczy General Servando Canales (MAM) - Międzynarodowy port lotniczy Brownsville South Padre Island ( BRO): 18,184529218610706 kmBryant Army Heliport (FRN) - Lotnisko Birchwood (\ N): 18,41702338215028 km
Międzynarodowy port lotniczy General Lucio Blanco (REX) - Międzynarodowy port lotniczy Mc Allen Miller (MFE): 18,585865661975248 km Międzynarodowy port lotniczy Księcia Juliany (SXM) - Międzynarodowy port lotniczy Clayton J Lloyd (AXA): 19,080421428310835 km Baza lotnicza Weelde (\ N) - Gilze Rijen Baza lotnicza (GLZ): 19,292861917213006 km Port lotniczy Haguenau (\ N) - Port lotniczy Karlsruhe Baden-Baden (FKB): 19,33099328738962 km Lotnisko Santiago Perez (AUC) - Lotnisko Guasdalito (GDO): 19,56686649530782 km Lotnisko międzynarodowe Abraham González - Elżbieta González (AUC) Międzynarodowy port lotniczy Paso (ELP): 19,6273625476994 km Port lotniczy Maastricht Aachen (MST) - Baza lotnicza Geilenkirchen (GKE): 19,845306905760378 km Port lotniczy Bukavu Kavumu (BKY) - Port lotniczy Kamembe (KME): 20,288865355601136 km Port lotniczy SthrZR ClaZR Międzynarodowy port lotniczy (PHN): 20,42508511135114 kmBoeing Field King County International Airport (BFI) - Berkley Structures Heliport (\ N): 20,453439163821063 km Międzynarodowy port lotniczy Niagara Falls (IAG) - Dystrykt Niagara Lotnisko (YCM): 20,56058515457646 km Lotnisko NASA Shuttle Landing Facility (\ N) - Cape Canaveral AFS Skid Strip (\ N): 20,60921839454631 km Lotnisko Montbéliard-Courcelles (\ N) - Lotnisko Bressaucourt (\ N): 20,7530177341854 km Lotnisko NeuStrbourg \ N) - Lotnisko Lahr (LHA): 20.905381610721815 kmRetford Gamston Airport (\ N) - Sturgate Airfield (\ N): 20.907986997172568 kmFriedrichshafen Airport (FDH) - St Gallen Altenrhein Airport (ACH): 21.042656673444654 kmAlndcides AC ) - Port lotniczy Puerto Obaldia (PUE): 21,159881768303638 km Port lotniczy John Wayne-Orange County Airport (SNA) - Lotnictwo wojskowe Los Alamitos (\ N): 21.23832340707818 kmPeachtree City Falcon Field (\ N) - Newnan Hospital Heliport (\ N ): 21,44578018521332 kmBerkley Structures Heliport (\ N) - Port lotniczy Renton (RNT): 21,611699031965994 km Lotnisko Weeze (NRN) - Baza lotnicza De Peel (\ N): 21,9470037028662 km Lotnisko Libertador Gral D Jose De San Martin (PSS) - Lotnisko Encarnación (ENO): 21,990381020128478 km
Lotnisko Sandtoft (\ N) - Lotnisko Sturgate (\ N): 22,925806746136672 km Międzynarodowy port lotniczy Akaba King Hussein (AQJ) - Międzynarodowy port lotniczy Taba (TCP): 23,354696853503192 km Lotnisko Soyo (SZA) - Lotnisko Muanda (MNB): 23,4808814492647 km Lotnisko Annemasse (QNJ) - Lotnisko La Côte (\ N): 23,853111940546963 km Lotnisko Strasburg (SXB) - Lotnisko Lahr (LHA): 23,86563301419125 km Lotnisko na wyspie Orcas (ESD) - Baza hydroplanów Bedwell Harbour (YBW): 24,14239685478733 km Port lotniczy Abraham (Gonz) CJS) - Biggs Army Air Field (Fort Bliss) (BIF): 24,177211754945507 km Lotnisko El Gora (EGH) - Międzynarodowy port lotniczy Yasser Arafat (GZA): 24,193119302041364 kmRobin Hood Doncaster Sheffield Airport (DSA) - Sturgate Airfield (\ N) : 24,226409097969242 km Port lotniczy San Sebastian (EAS) - Port lotniczy Biarritz-Anglet-Bayonne (BIQ): 24,372157974813707 kmBaza Sił Powietrznych Elmendorf (EDF) - Lotnisko Birchwood (\ N): 24,38729482460421 km Lotnisko Lugano (LUG) - Como (Idroscalo - Woda) Ad) Hidroport (\ N): 24,4143 8697316744 km Międzynarodowy port lotniczy Nogales (NOG) - Międzynarodowy port lotniczy Nogales (OLS): 24,530061985790955 kmPangborn Memorial Airport (EAT) - Cascade Heliport (\ N): 24,651231744868582 km Port lotniczy Bartow (BOW) - Lotnisko Orlampa Inc (\ N): 24,90047 km Lotnisko Itaipú (\ N) - Helisul I Heliport (\ N): 25,247666101530847 km Międzynarodowy port lotniczy Cataratas (IGU) - Lotnisko Itaipú (\ N): 25,323582618508542 km