Documentation for this module may be created at Module:IATA and ICAO code/data/sandbox1/doc
local p = {}
--Australia/New Zeland/Oceania--
p.codetbl = {
--{'IATA','ICAO', 'airportCityName', 'WikiName'}, do not forget that ' then \'
--Australia/New Zeland/Oceania
{ 'AAA', 'NTGA', 'Anaa Airport', 'Anaa' },
--Italy
{ 'AHO', 'LIEA', 'Alghero-Fertilia Airport', 'Alghero' },
{ 'ALL', 'LIMG', 'Riviera Airport', 'Albenga, Savona' },
{ 'AOI', 'LIPY', 'Marche Airport', 'Ancona' },
--France
{'DZA','FMCZ','Dzaoudzi–Pamandzi International Airport','Dzaoudzi'},
{'RUN','FMEE','Roland Garros Airport','Saint-Denis'},
{'ZSE','FMEP','Pierrefonds Airport','Saint-Pierre'},
{'CQF','LFAC','Calais–Dunkerque Airport','Calais'},
{'XSJ','LFAG','Peronne-St Quentin Airport','Estrées-Mons'},
{ '','LFAI','Nangis - Les Loges aerodrome','Nangis'},
{ '','LFAK','Dunkerque – Les Moëres Airport','Dunkirk'},
{'BYF','LFAQ','Albert – Picardie Airport','Albert'},
{'LTQ','LFAT','Le Touquet – Côte d\'Opale Airport','Le Touquet-Paris-Plage'},
{'XVS','LFAV','Valenciennes-Denain Airport','Valenciennes-Denain'},
{'QAM','LFAY','Amiens – Glisy Aerodrome','Amiens'},
{'AGF','LFBA','Agen La Garenne Airport','Agen'},
{ '','LFBC','Cazaux Air Base','La Teste-de-Buch'},
{'BOD','LFBD','Bordeaux-Mérignac Air Base','Bordeaux'},
{'BOD','LFBD','Bordeaux–Mérignac Airport','Bordeaux'},
{'EGC','LFBE','Bergerac Dordogne Périgord Airport','Bergerac'},
{'CNG','LFBG','Cognac – Châteaubernard Air Base','Cognac'},
{'LRH','LFBH','La Rochelle – Île de Ré Airport','La Rochelle'},
{'PIS','LFBI','Poitiers–Biard Airport','Poitiers'},
{'MCU','LFBK','Montluçon – Guéret Airport','Montluçon'},
{'LIG','LFBL','Limoges – Bellegarde Airport','Limoges'},
{'XMJ','LFBM','Mont-de-Marsan Air Base','Mont-de-Marsan'},
{'TLS','LFBO','Toulouse–Blagnac Airport','Toulouse'},
{'PUF','LFBP','Pau Pyrénées Airport','Pau'},
{ '','LFBR','Muret – Lherm Aerodrome','Muret'},
{ '','LFBS','Biscarrosse – Parentis Airport','Biscarrosse'},
{'LDE','LFBT','Tarbes–Lourdes–Pyrénées Airport','Tarbes'},
{'ANG','LFBU','Angoulême – Cognac International Airport','Angoulême'},
{'BVE','LFBV','Brive–Laroche Airport','Brive-la-Gaillarde'},
{'PGX','LFBX','Périgueux Bassillac Airport','Périgueux'},
{'BIQ','LFBZ','Biarritz Pays Basque Airport','Biarritz'},
{'DCM','LFCK','Castres–Mazamet Airport','Castres'},
{ '','LFCL','Toulouse – Lasbordes Airport','Toulouse'},
{'RDZ','LFCR','Rodez–Aveyron Airport','Rodez'},
{ '','LFDM','Marmande – Virazeil Airport','Marmande – Virazeil'},
{ '','LFEC','Ushant Airport','Ushant'},
{'IDY','LFEY','Île d\'Yeu Aerodrome','Île d\'Yeu'},
{ '','LFFD','Saint-André-de-l\'Eure Airport','Saint-André-de-l\'Eure'},
{'XCY','LFFH','Château-Thierry – Belleau Aerodrome','Château-Thierry'},
{'CMR','LFGA','Colmar Airport','Colmar'},
{ '','LFGB','Mulhouse–Habsheim Airport','Mulhouse–Habsheim'},
{ '','LFGG','Belfort Chaux Airport','Belfort'},
{'DLE','LFGJ','Dole–Jura Airport','Dole'},
{ '','LFGR','Doncourt-lès-Conflans Airport','Doncourt-lès-Conflans'},
{'XVN','LFGW','Verdun-Le-Rozelier Airport','Verdun-Le-Rozelier'},
{'MVV','LFHM','Megève Altiport','Megève'},
{'OBS','LFHO','Aubenas Aerodrome','Aubenas'},
{'LPY','LFHP','Le Puy – Loudes Airport','Le Puy-en-Velay'},
{'XBK','LFHS','Bourg – Ceyzériat Airport','Bourg-en-Bresse'},
{'AHZ','LFHU','Alpe d\'Huez Airport','L\'Alpe d\'Huez'},
{'XVF','LFHV','Villefranche – Tarare Airport','Villefranche'},
{'XMU','LFHY','Moulins – Montbeugny Airport','Moulins'},
{'XSN','LFHZ','Sallanches Aerodrome','Sallanches'},
{ '','LFIS','Saint-Inglevert Airfield','Saint-Inglevert'},
{ '','LFJD','Corlier Aerodrome','Corlier'},
{'ETZ','LFJL','Metz–Nancy–Lorraine Airport','Metz'},
{'ANE','LFJR','Angers – Loire Airport','Angers'},
{ '','LFJY','Chambley-Bussières Air Base','Chambley-Bussières'},
{'BIA','LFKB','Bastia – Poretta Airport','Bastia'},
{'CLY','LFKC','Calvi – Sainte-Catherine Airport','Calvi'},
{'FSC','LFKF','Figari–Sud Corse Airport','Porto-Vecchio'},
{ '','LFKG','Ghisonaccia Alzitone Airport','Ghisonaccia'},
{'AJA','LFKJ','Ajaccio Napoleon Bonaparte Airport','Ajaccio'},
{'SOZ','LFKS','Solenzara Air Base','Solenzara'},
{'MFX','LFKX','Méribel Altiport','Méribel'},
{'AUF','LFLA','Auxerre – Branches Aerodrome','Auxerre'},
{'CMF','LFLB','Chambéry Airport','Chambéry'},
{'CFE','LFLC','Clermont-Ferrand Auvergne Airport','Clermont-Ferrand'},
{'BOU','LFLD','Bourges Airport','Bourges'},
{ '','LFLE','Chambéry Aerodrome','Chambéry'},
{ '','LFLG','Grenoble – Le Versoud Aerodrome','Grenoble'},
{'XCD','LFLH','Chalon – Champforgeuil Airport','Chalon-sur-Saône'},
{'QNJ','LFLI','Annemasse Aerodrome','Annemasse'},
{'CVF','LFLJ','Courchevel Altiport','Courchevel'},
{'LYS','LFLL','Lyon–Saint-Exupéry Airport','Lyon'},
{'SYT','LFLN','Saint-Yan Airport','Saint-Yan'},
{'NCY','LFLP','Annecy – Haute-Savoie – Mont Blanc Airport','Annecy'},
{'GNB','LFLS','Alpes–Isère Airport','Grenoble'},
{'VAF','LFLU','Valence-Chabeuil Airport','Valence'},
{'VHY','LFLV','Vichy — Charmeil Airport','Vichy'},
{'AUR','LFLW','Aurillac – Tronquières Airport','Aurillac'},
{'CHR','LFLX','Châteauroux-Centre "Marcel Dassault" Airport','Châteauroux'},
{'LYN','LFLY','Lyon–Bron Airport','Lyon'},
{'QXB','LFMA','Aix-en-Provence Aerodrome','Aix-en-Provence'},
{ '','LFMC','Le Luc – Le Cannet Airport','Le Luc'},
{'CEQ','LFMD','Cannes – Mandelieu Airport','Cannes'},
{ '','LFMF','Fayence-Tourrettes Airfield','Fayence'},
{'EBU','LFMH','Saint-Étienne–Bouthéon Airport','Saint-Étienne'},
{'QIE','LFMI','Istres-Le Tubé Air Base','Istres'},
{'CCF','LFMK','Carcassonne Airport','Carcassonne'},
{'MRS','LFML','Marseille Provence Airport','Marseille'},
{'NCE','LFMN','Nice Côte d\'Azur Airport','Nice'},
{'XOG','LFMO','Orange-Caritat Air Base','Orange'},
{'PGF','LFMP','Perpignan–Rivesaltes Airport','Perpignan'},
{'BAE','LFMR','Barcelonnette – Saint-Pons Airfield','Barcelonnette'},
{'MPL','LFMT','Montpellier–Méditerranée Airport','Montpellier'},
{'BZR','LFMU','Béziers Cap d\'Agde Airport','Béziers'},
{'AVN','LFMV','Avignon – Provence Airport','Avignon'},
{ '','LFMW','Castelnaudary – Villeneuve Airport','Castelnaudary'},
{ '','LFMX','Château-Arnoux-Saint-Auban Airport','Château-Arnoux-Saint-Auban'},
{ '','LFMY','Salon-de-Provence Air Base','Salon-de-Provence'},
{'GAT','LFNA','Gap–Tallard Airport','Gap'},
{ '','LFOA','Avord Air Base','Avord'},
{'BVA','LFOB','Beauvais–Tillé Airport','Beauvais'},
{ '','LFOC','Châteaudun Air Base','Châteaudun'},
{'EVX','LFOE','Évreux-Fauville Air Base','Évreux'},
{'LEH','LFOH','Le Havre – Octeville Airport','Le Havre'},
{'XAB','LFOI','Aerodrome Abbeville','Abbeville'},
{'XCR','LFOK','Vatry Air Base','Vatry'},
{'XCR','LFOK','Châlons Vatry Airport','Châlons-en-Champagne'},
{ '','LFOM','Lessay Airport','Lessay'},
{'XDR','LFON','Vernouillet Airport','Vernouillet'},
{'URO','LFOP','Rouen Airport','Rouen'},
{'QTJ','LFOR','Chartres – Champhol Aerodrome','Chartres'},
{'TUF','LFOT','Tours Val de Loire Airport','Tours'},
{'CET','LFOU','Cholet Le Pontreau Airport','Cholet'},
{'ORE','LFOZ','Orléans – Saint-Denis-de-l\'Hôtel Airport','Orléans'},
{'XYP','LFPA','Persan-Beaumont Airport','Persan'},
{'LBG','LFPB','Paris–Le Bourget Airport','Paris–Le Bourget'},
{'CDG','LFPG','Charles de Gaulle Airport','Paris - Charles de Gaulle'},
{ '','LFPK','Coulommiers – Voisins Aerodrome','Coulommiers'},
{'XLG','LFPL','Lognes – Émerainville aerodrome','Lognes'},
{ '','LFPM','Melun Villaroche Aerodrome','Melun'},
{'TNF','LFPN','Toussus-le-Noble Airport','Toussus-le-Noble'},
{'ORY','LFPO','Orly Airport','Paris'},
{'POX','LFPT','Pontoise – Cormeilles Aerodrome','Pontoise'},
{'VIY','LFPV','Vélizy – Villacoublay Air Base','Vélizy – Villacoublay'},
{ '','LFPY','Brétigny-sur-Orge Air Base','Brétigny-sur-Orge'},
{'RPK','LFQA','Reims – Prunay Aerodrome','Reims'},
{'QYR','LFQB','Troyes – Barberey Airport','Troyes'},
{ '','LFQC','Lunéville-Croismare Airport','Lunéville-Croismare'},
{'QRV','LFQD','Arras – Roclincourt Airport','Arras'},
{'QBQ','LFQM','Besançon – La Vèze Aerodrome','Besançon'},
{ '','LFQO','Marcq-en-Baroeul Airport','Bondues'},
{ '','LFQP','Quartier La Horie','Phalsbourg'},
{'LIL','LFQQ','Lille Airport','Lille'},
{ '','LFQS','Vitry-En-Artois Airport','Vitry-en-Artois'},
{'HZB','LFQT','Merville–Calonne Airport','Merville'},
{'BES','LFRB','Brest Bretagne Airport','Brest'},
{'CER','LFRC','Cherbourg – Maupertus Airport','Cherbourg-Octeville'},
{'DNR','LFRD','Dinard–Pleurtuit–Saint-Malo Airport','Saint-Malo'},
{'DOL','LFRG','Deauville – Normandie Airport','Deauville'},
{'LRT','LFRH','Lorient South Brittany Airport','Lorient'},
{'CFR','LFRK','Caen – Carpiquet Airport','Caen'},
{'RNS','LFRN','Rennes–Saint-Jacques Airport','Rennes'},
{'LAI','LFRO','Lannion – Côte de Granit Airport','Lannion'},
{'UIP','LFRQ','Quimper–Cornouaille Airport','Quimper'},
{'NTE','LFRS','Nantes Atlantique Airport','Nantes'},
{'SBK','LFRT','Saint-Brieuc – Armor Airport','Saint-Brieuc'},
{'MXN','LFRU','Morlaix – Ploujean Airport','Morlaix'},
{'VNE','LFRV','Meucon Airport','Monterblanc'},
{ '','LFSC','Quartier Colonel Dio','Meyenheim'},
{'DIJ','LFSD','Dijon Air Base','Dijon'},
{'MZM','LFSF','Metz-Frescaty Air Base','Metz'},
{'EPL','LFSG','Épinal – Mirecourt Airport','Épinal'},
{ '','LFSH','Haguenau Airport','Haguenau'},
{ '','LFSI','Saint-Dizier – Robinson Air Base','Saint-Dizier'},
{'BVE','LFSL','Brive–Souillac Airport','Brive-la-Gaillarde'},
{'XMF','LFSM','Montbéliard – Courcelles Aerodrome','Montbéliard'},
{'ENC','LFSN','Nancy-Essey Airport','Nancy'},
{ '','LFSO','Nancy – Ochey Air Base','Ochey'},
{ '','LFSP','Pontarlier Airport','Pontarlier'},
{'RHE','LFSR','Reims – Champagne Air Base','Reims'},
{'SXB','LFST','Strasbourg Airport','Strasbourg'},
{ '','LFSX','Luxeuil Air Base','Luxeuil'},
{'TLN','LFTH','Toulon–Hyères Airport','Toulon'},
{'FRJ','LFTU','Frejus Airport','Fréjus'},
{'FNI','LFTW','Nîmes–Alès–Camargue–Cévennes Airport','Nîmes'},
{'LTT','LFTZ','La Môle – Saint-Tropez Airport','Saint-Tropez'},
{'MQC','LFVM','Miquelon Airport','Miquelon-Langlade'},
{'FSP','LFVP','Saint-Pierre Airport','Saint-Pierre'},
{ '','LFXA','Ambérieu-en-Bugey Air Base','Ambérieu-en-Bugey'},
{ '','LFYG','Cambrai-Niergnies Airport','Cambrai'},
{ '','LFYK','RCAF Station Marville','RCAF Station Marville'},
{ '','LFYR','Romorantin - Pruniers Air Detachment','Romorantin'},
{ '','LFYT','Saint-Simon – Clastres Air Base','Saint-Quentin'},
{'EAP','LSZM, LFSB','EuroAirport Basel Mulhouse Freiburg','Basel, Freiburg im Breisgau, Mulhouse'},
{'FUT','NLWF','Pointe Vele Airport','Vele, Wallis and Futuna'},
{'WLS','NLWW','Hihifo Airport','Mala\'e'},
{'PPT','NTAA','Fa\'a\'ā International Airport','Tahiti'},
{'RMT','NTAM','Rimatara Airport','Rimatara'},
{'RUR','NTAR','Rurutu Airport','Rurutu'},
{'TUB','NTAT','Tubuai – Mataura Airport','Tubuai'},
{'RVV','NTAV','Raivavae Airport','Raivavae'},
{'AAA','NTGA','Anaa Airport','Anaa'},
{'FGU','NTGB','Fangatau Airport','Fangatau'},
{'TIH','NTGC','Tikehau Airport','Tikehau'},
{'APK','NTGD','Apataki Airport','Apataki'},
{'REA','NTGE','Reao Airport','Reao'},
{'FAV','NTGF','Fakarava Airport','Fakarava'},
{'HHZ','NTGH','Hikueru Airport','Hikueru'},
{'XMH','NTGI','Manihi Airport','Manihi'},
{'GMR','NTGJ','Totegegie Airport','Gambier Islands'},
{'KKR','NTGK','Kaukura Airport','Kaukura'},
{'NAU','NTGN','Napuka Airport','Napuka'},
{'TKV','NTGO','Tatakoto Airport','Tatakoto'},
{'PKP','NTGP','Puka-Puka Airport','Puka-Puka'},
{'PUK','NTGQ','Pukarua Airport','Pukarua'},
{'NUK','NTGW','Nukutavake Airport','Nukutavake'},
{'ZTA','NTGY','Tureia Airport','Tureia'},
{'AHE','NTHE','Ahe Airport','Ahe'},
{'FAC','NTKF','Faaite Airport','Faaite'},
{'NIU','NTKN','Niau Airport','Niau'},
{'RRR','NTKO','Raroia Airport','Raroia'},
{'TKX','NTKR','Takaroa Airport','Takaroa'},
{'AUQ','NTMN','Atuona Airport','Atuona'},
{'BOB','NTTB','Bora Bora Airport','Bora Bora'},
{'RGI','NTTG','Rangiroa Airport','Rangiroa'},
{'HUH','NTTH','Huahine – Fare Airport','Huahine – Fare'},
{'MOZ','NTTM','Moorea Airport','Moorea'},
{'HOI','NTTO','Hao Airport','Hao'},
{'MAU','NTTP','Maupiti Airport','Maupiti'},
{'RFP','NTTR','Raiatea Airport','Raiatea'},
{'VHZ','NTUV','Vahitahi Airport','Vahitahi'},
{'TGJ','NWWA','Tiga Airport','Tiga Island'},
{'BMY','NWWC','Île Art – Waala Airport','Belep'},
{'KNQ','NWWD','Koné Airport','Koné'},
{'ILP','NWWE','Île des Pins Airport','Isle of Pines'},
{'KOC','NWWK','Koumac Airport','Koumac'},
{'LIF','NWWL','Ouanaham Airport','Lifou'},
{'GEA','NWWM','Nouméa Magenta Airport','Nouméa'},
{'MEE','NWWR','Maré Airport','Maré'},
{ '','NWWT','La Foa – Oua Tom Airport','La Foa – Oua Tom'},
{'TOU','NWWU','Touho Airport','Touho'},
{'UVE','NWWV','Ouvéa Airport','Ouvéa'},
{'NOU','NWWW','La Tontouta International Airport','Nouméa'},
{ '','NWWX','Canala Airport','Canala'},
{'CAY','SOCA','Cayenne – Félix Eboué Airport','Cayenne'},
{'GSI','SOGS','Grand-Santi Airport','Grand-Santi'},
{'MPY','SOOA','Maripasoula Airport','Maripasoula'},
{'OYP','SOOG','Saint-Georges-de-l\'Oyapock Airport','Saint-Georges'},
{'LDX','SOOM','Saint-Laurent-du-Maroni Airport','Saint-Laurent-du-Maroni'},
{'REI','SOOR','Régina Airport','Régina'},
{'XAU','SOOS','Saül Airport','Saül'},
{ '','SOOY','Sinnamary Airport','Sinnamary'},
{'DSD','TFFA','La Désirade Airport','La Désirade'},
{'BBR','TFFB','Baillif Airport','Basse-Terre'},
{'SFC','TFFC','Saint-François Airport','Saint-François'},
{'FDF','TFFF','Martinique Aimé Césaire International Airport','Fort-de-France'},
{'SFG','TFFG','Grand Case-Espérance Airport','Saint Martin'},
{'SBH','TFFJ','Gustaf III Airport','Saint-Barthélemy'},
{'GBJ','TFFM','Marie-Galante Airport','Grand-Bourg'},
{'PTP','TFFR','Pointe-à-Pitre International Airport','Pointe-à-Pitre'},
{'LSS','TFFS','Les Saintes Airport','Terre-de-Haut'},
{ '','','Kourou Airport','Kourou'},
{ '','','Ouanary Airport','Ouanary'},
-- and so on
}
p.IATA = {}
p.ICAO = {}
p.WikiName = {}
for k, v in ipairs(p.codetbl) do
if '' ~= v[1] then -- if iata code is defined for this airport
p.IATA[v[1]] = v[3]
p.WikiName[v[1]] = v[4]
end
if '' ~= v[2] then -- if icao code is defined for this airport
p.ICAO[v[2]] = v[3]
p.WikiName[v[2]] = v[4]
end
end
return p