From bb833561aa74f02970aee13cdc75973b29716491 Mon Sep 17 00:00:00 2001 From: leshe4ka46 Date: Mon, 27 Oct 2025 20:36:28 +0300 Subject: # This is a combination of 2 commits. # This is the 1st commit message: unmarshal all formats, merge them in the single table, users are truly unique # This is the commit message #2: i --- .gitignore | 3 +- cmd/airlines/main.go | 100 +- cmd/analytics/analytics.go | 18 + cmd/csv/main.go | 18 + cmd/fiotest/fio.go | 15 - cmd/pdf/pdf.go | 126 +- cmd/store/test.go | 117 + cmd/xlsx/main.go | 88 +- cmd/xml/xml.go | 32 + cmd/yaml/main.go | 18 + go.mod | 13 +- go.sum | 12 + pkg/adapters/csv/csv.go | 232 ++ pkg/adapters/json/json.go | 35 +- pkg/adapters/json/model.go | 40 +- pkg/adapters/xlsx/model.go | 60 +- pkg/adapters/xlsx/registry.go | 91 +- pkg/adapters/xlsx/xlsx.go | 84 + pkg/adapters/xml/registry.go | 51 + pkg/adapters/xml/xml.go | 113 + pkg/adapters/yaml/yaml.go | 180 ++ pkg/airports/iata.go | 5397 +++++++++++++++++++++++++++++++++++++++++ pkg/airports/iata_test.go | 16 + pkg/csvWriter/csv.go | 62 + pkg/localstore/export.go | 241 ++ pkg/localstore/import.go | 484 ++++ pkg/localstore/store.go | 638 +++++ pkg/model/card.go | 56 + pkg/model/store.go | 7 + pkg/model/types.go | 74 + pkg/model/user.go | 66 +- pkg/store/db.go | 442 +--- py.ipynb | 296 +++ test.pdf | Bin 11290002 -> 0 bytes 34 files changed, 8665 insertions(+), 560 deletions(-) create mode 100644 cmd/analytics/analytics.go create mode 100644 cmd/csv/main.go delete mode 100644 cmd/fiotest/fio.go create mode 100644 cmd/store/test.go create mode 100644 cmd/xml/xml.go create mode 100644 cmd/yaml/main.go create mode 100644 pkg/adapters/csv/csv.go create mode 100644 pkg/adapters/xml/registry.go create mode 100644 pkg/adapters/xml/xml.go create mode 100644 pkg/adapters/yaml/yaml.go create mode 100644 pkg/airports/iata.go create mode 100644 pkg/airports/iata_test.go create mode 100644 pkg/csvWriter/csv.go create mode 100644 pkg/localstore/export.go create mode 100644 pkg/localstore/import.go create mode 100644 pkg/localstore/store.go create mode 100644 pkg/model/card.go create mode 100644 pkg/model/store.go create mode 100644 pkg/model/types.go create mode 100644 py.ipynb delete mode 100644 test.pdf diff --git a/.gitignore b/.gitignore index a879ad8..3c3bb22 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ .env .cache *.json -*.yaml \ No newline at end of file +*.yaml +*.pdf \ No newline at end of file diff --git a/cmd/airlines/main.go b/cmd/airlines/main.go index 8eeaef5..1710d57 100644 --- a/cmd/airlines/main.go +++ b/cmd/airlines/main.go @@ -1,13 +1,15 @@ package main import ( - "context" - "encoding/json" "fmt" - "os" - ljson "airlines/pkg/adapters/json" - "airlines/pkg/store" + "airlines/pkg/adapters/csv" + "airlines/pkg/adapters/json" + "airlines/pkg/adapters/xlsx" + "airlines/pkg/adapters/xml" + "airlines/pkg/adapters/yaml" + + "airlines/pkg/localstore" "github.com/joho/godotenv" ) @@ -18,26 +20,80 @@ func main() { if err != nil { fmt.Println(err) } - store, err := store.NewStore(fmt.Sprintf("postgres://%s:%s@%s:%s/%s", os.Getenv("DB_USER"), os.Getenv("DB_PASSWORD"), os.Getenv("DB_HOST"), os.Getenv("DB_PORT"), os.Getenv("DB_NAME"))) - if err != nil { - panic(err) - } - _ = store.AutoMigrate() + //fmt.Sprintf("postgres://%s:%s@%s:%s/%s", os.Getenv("DB_USER"), os.Getenv("DB_PASSWORD"), os.Getenv("DB_HOST"), os.Getenv("DB_PORT"), os.Getenv("DB_NAME"))) + // store, err := store.NewStore("user=postgres dbname=airlines host=/home/alex/.pgsocket sslmode=disable") - // i, err := json.ImportForumProfilesJSON(context.Background(), store, "../../full.json", 16384) - // fmt.Println(i, err) - f, err := os.Open("../../full.json") + store := localstore.NewLocalStore() + fmt.Println("store created") - dec := json.NewDecoder(f) - // optional: be strict about unexpected fields - // dec.DisallowUnknownFields() + func() { + root, err := json.UnmarshalJsonRoot("/home/alex/ds-data/FrequentFlyerForum-Profiles.json") + if err != nil { + panic(err) + } + fmt.Println("\nunmarshalled json") - var root ljson.JsonRoot - if err := dec.Decode(&root); err != nil { - panic(err) - } + root.DumpToDb(store) + fmt.Println("\ndumped json") + + }() + + func() { + // xlsx + tickets, err := xlsx.UnmarshallXlsxFiles("/home/alex/ds-data/YourBoardingPassDotAero/") + if err != nil { + panic(err) + } + fmt.Println("\nunmarshalled xlsx") + + xlsx.DumpToDb(store, tickets) + fmt.Println("\ndumped xlsx to db") + }() + + func() { + xmldata, err := xml.UnmarshalXml("/home/alex/ds-data/PointzAggregator-AirlinesData.xml") + if err != nil { + panic(err) + } + fmt.Println("\nunmarshalled xml") + + xmldata.DumpToDb(store) + fmt.Println("\ndumped xml to db") + }() + + func() { + yamlData, err := yaml.UnmarshallYaml("/home/alex/ds-data/SkyTeam-Exchange.yaml") + if err != nil { + panic(err) + } + fmt.Println("\nunmarshalled yaml") + + yamlData.DumpToDb(store) + fmt.Println("\ndumped yaml to db") + }() + + func() { + csvData, err := csv.UnmarshallCsv("/home/alex/ds-data/csv.csv", false) + if err != nil { + panic(err) + } + fmt.Println("\nunmarshalled csv1") + + csvData.DumpToDb(store) + fmt.Println("\ndumped yaml to csv1") + }() + + // fuck it + func() { + csvData2, err := csv.UnmarshallCsv("/home/alex/ds-data/tab.csv", true) + if err != nil { + panic(err) + } + fmt.Println("\nunmarshalled csv2") - root.DumpToDb(context.Background(), store) - // fmt.Println(root) + csvData2.DumpToDb(store) + fmt.Println("\ndumped yaml to csv2") + }() + fmt.Println(store.ExportAllCSVs("/tmp/ds")) } diff --git a/cmd/analytics/analytics.go b/cmd/analytics/analytics.go new file mode 100644 index 0000000..e2cbdb9 --- /dev/null +++ b/cmd/analytics/analytics.go @@ -0,0 +1,18 @@ +package main + +import ( + "airlines/pkg/localstore" + "fmt" +) + + +func main() { + loc := localstore.NewLocalStore() + + loc.ImportAllCSVs("/tmp/ds") + + fmt.Println(loc.FindCard("FF", 0, "")); + + + loc.Analytics() +} diff --git a/cmd/csv/main.go b/cmd/csv/main.go new file mode 100644 index 0000000..e1e5174 --- /dev/null +++ b/cmd/csv/main.go @@ -0,0 +1,18 @@ +package main + +import ( + "airlines/pkg/adapters/csv" + "airlines/pkg/localstore" +) + +func main() { + yamlData, err := csv.UnmarshallCsv("/home/alex/ds-data/tab.csv", true) + if err != nil { + panic(err) + } + + store := localstore.NewLocalStore() + + yamlData.DumpToDb(store) + store.ExportAllCSVs("/tmp/ds") +} diff --git a/cmd/fiotest/fio.go b/cmd/fiotest/fio.go deleted file mode 100644 index 8195da7..0000000 --- a/cmd/fiotest/fio.go +++ /dev/null @@ -1,15 +0,0 @@ -package main - -import ( - "airlines/pkg/names" - "fmt" -) - -func main() { - - f, err := names.ParseLatinName("MAKAR A TIKHOMIROV") - if err != nil { - panic(err) - } - fmt.Printf("%+v\n", f) -} diff --git a/cmd/pdf/pdf.go b/cmd/pdf/pdf.go index cb6aeb7..4a185a1 100644 --- a/cmd/pdf/pdf.go +++ b/cmd/pdf/pdf.go @@ -1,55 +1,151 @@ +/* + * Extract vector lines and other paths for each page of a PDF file. + * + * Run as: go run pdf_extract_lines.go input.pdf + */ + package main import ( "fmt" - "log" "os" + "github.com/unidoc/unipdf/v4/creator" "github.com/unidoc/unipdf/v4/extractor" "github.com/unidoc/unipdf/v4/model" ) func main() { - f, err := os.Open("../../test.pdf") + // err := reconstruct("../../test.pdf") + // if err != nil { + // fmt.Printf("Error: %v\n", err) + // os.Exit(1) + // } + + err := outputPdfLines("reconstr_words.pdf") if err != nil { - log.Fatalf("Failed to open PDF: %v\n", err) + fmt.Printf("Error: %v\n", err) + os.Exit(1) } + + +} + +// outputPdfLines prints out lines of PDF file to stdout. +func outputPdfLines(inputPath string) error { + f, err := os.Open(inputPath) + if err != nil { + return err + } + defer f.Close() + pdfReader, err := model.NewPdfReader(f) if err != nil { - log.Fatalf("Failed to read PDF: %v\n", err) + return err } + numPages, err := pdfReader.GetNumPages() if err != nil { - log.Fatalf("Failed to retrieve the number of pages: %v\n", err) + return err } - fmt.Printf("Total number of pages: %d\n", numPages) + + // Iterate through pages. fmt.Printf("--------------------\n") - fmt.Printf("PDF to text extraction:\n") + fmt.Printf("PDF lines extraction:\n") fmt.Printf("--------------------\n") for i := 0; i < numPages; i++ { pageNum := i + 1 page, err := pdfReader.GetPage(pageNum) if err != nil { - panic(err) + return err } ex, err := extractor.New(page) if err != nil { - panic(err) + return err } - text, err := ex.ExtractText() + fmt.Println("------------------------------") + fmt.Printf("Page %d:\n", pageNum) + + // Extract stroke paths from the current page. + paths, err := ex.ExtractStrokePaths() if err != nil { - panic(err) + return err } - fmt.Println("------------------------------") - fmt.Printf("Page %d:\n", pageNum) - fmt.Printf("\"%s\"\n", text) - fmt.Println("------------------------------") + // Print debugging info. + for i, path := range paths { + fmt.Printf("Path %d:\n", i) + for j, point := range path.Points { + fmt.Printf("Point %d: %f %f \n", j, point.X, point.Y) + } + } + } + + return nil +} + +func reconstruct(pdfPath string) error { + f, err := os.Open(pdfPath) + if err != nil { + return err + } + defer f.Close() + + pdfr, err := model.NewPdfReaderLazy(f) + if err != nil { + return err + } + + c := creator.New() + + for pageNum := 1; pageNum <= len(pdfr.PageList); pageNum++ { + page, err := pdfr.GetPage(pageNum) + if err != nil { + return err + } + + extr, err := extractor.New(page) + if err != nil { + return err + } + pageText, _, _, err := extr.ExtractPageText() + if err != nil { + return err + } + + // Start on a new page. + c.NewPage() + fmt.Printf("Page %d\n", pageNum) + + text := pageText.Text() + textmarks := pageText.Marks() + fmt.Printf("%s\n", text) + + // Reconstruct the text, each single TextMark drawn at a time with creator.Paragraph. + for _, tm := range textmarks.Elements() { + if tm.Font == nil { + continue + } + fmt.Printf("%s\n", tm.Text) + // Reconstruct by drawing each glyph from textmarks with the creator package. + para := c.NewStyledParagraph() + para.SetText(tm.Original) + para.SetFont(tm.Font) + para.SetFontSize(tm.FontSize) + r, g, b, _ := tm.StrokeColor.RGBA() + rf, gf, bf := float64(r)/0xffff, float64(g)/0xffff, float64(b)/0xffff + para.SetFontColor(creator.ColorRGBFromArithmetic(rf, gf, bf)) + // Convert to PDF coordinate system. + yPos := c.Context().PageHeight - (tm.BBox.Lly + tm.BBox.Height()) + para.SetPos(tm.BBox.Llx, yPos) // Upper left corner. + c.Draw(para) + } } + return c.WriteToFile("reconstr_words.pdf") } diff --git a/cmd/store/test.go b/cmd/store/test.go new file mode 100644 index 0000000..d05ae06 --- /dev/null +++ b/cmd/store/test.go @@ -0,0 +1,117 @@ +package main + +import ( + "fmt" + "time" + + "airlines/pkg/localstore" + "airlines/pkg/model" +) + +func main() { + store := localstore.NewLocalStore() + fmt.Println("store created") + + u := &model.User{ + Name: "a", + Surname: "b", + Fathersname: "A", + } + + u1, err := store.SaveUser(u) + + if err != nil { + fmt.Println("error saving user:", err) + return + } + + fmt.Println("user saved:", u1) + + u = &model.User{ + Name: "c", + Surname: "d", + } + + u2, err := store.SaveUser(u) + if err != nil { + fmt.Println("error saving user:", err) + return + } + + fmt.Println("user saved:", u2) + + + u = &model.User{ + Name: "a", + Surname: "b", + Fathersname: "ABBBBB", + Birthday: time.Now(), + } + + u3, err := store.SaveUser(u) + + if err != nil { + fmt.Println("error saving user:", err) + return + } + fmt.Println("user saved:", u3) + + now := time.Now() + now = time.Date(now.Year(), now.Month(), now.Day(), 0, 0, 0, 0, time.UTC) + + f := &model.Flight{ + Number: "AB123", + From: "JFK", + To: "LAX", + Date: now, + } + + f1, err := store.SaveFlight(f) + if err != nil { + fmt.Println("error saving flight:", err) + return + } + fmt.Println("flight saved:", f1) + + f = &model.Flight{ + Number: "CD456", + From: "LAX", + To: "SFO", + Date: time.Now(), + } + f2, err := store.SaveFlight(f) + if err != nil { + fmt.Println("error saving flight:", err) + return + } + fmt.Println("flight saved:", f2) + + + f = &model.Flight{ + Number: "AB123", + From: "JFK", + To: "LAX", + Date: now.Add(10 * time.Second), + HasTime: true, + } + + f3, err := store.SaveFlight(f) + if err != nil { + fmt.Println("error saving flight:", err) + return + } + fmt.Println("flight saved:", f3) + + + + f4, err := store.SaveFlight(f) + if err != nil { + fmt.Println("error saving flight:", err) + return + } + fmt.Println("flight saved:", f4) + + + + // fmt.Println(store.ExportAllCSVs("/tmp/ds")) +} diff --git a/cmd/xlsx/main.go b/cmd/xlsx/main.go index 4ccb01e..b960448 100644 --- a/cmd/xlsx/main.go +++ b/cmd/xlsx/main.go @@ -2,46 +2,76 @@ package main import ( "airlines/pkg/adapters/xlsx" + csvwriter "airlines/pkg/csvWriter" "fmt" "os" + "sync" ) -// func readXLSX(path string) { -// tickets, err := xlsx.UnmarshallXlsxFile("/home/alex/ds-data/YourBoardingPassDotAero/YourBoardingPassDotAero-2017-11-30.xlsx") -// if err != nil { -// panic(err) -// } - -// } - func main() { tickets := make([]xlsx.Ticket, 0) baseDir := "/home/alex/ds-data/YourBoardingPassDotAero/" items, _ := os.ReadDir(baseDir) + var mu sync.Mutex + var wg sync.WaitGroup + sem := make(chan struct{}, 8) for _, item := range items { if !item.IsDir() { - fmt.Println("Processing file:", item.Name()) - parsedTickets, err := xlsx.UnmarshallXlsxFile(baseDir + item.Name()) - if err != nil { - panic(err) - } - tickets = append(tickets, parsedTickets...) + wg.Add(1) + sem <- struct{}{} + go func(name string) { + defer func() { <-sem }() + defer wg.Done() + fmt.Println("Processing file:", name) + parsedTickets, err := xlsx.UnmarshallXlsxFile(baseDir + name) + if err != nil { + panic(err) + } + mu.Lock() + defer mu.Unlock() + tickets = append(tickets, parsedTickets...) + + }(item.Name()) } } - // for _, ticket := range tickets { - // u, err := ticket.ToUser() - // if err != nil { - // panic(err) - // } - // f, err := ticket.ToFlight() - // if err != nil { - // panic(err) - // } - // c, err := ticket.ToCard() - // if err != nil { - // panic(err) - // } - // fmt.Printf("%+v %+v %+v\n", u, f, c) - // } + wg.Wait() + + fmt.Println("finished") + + file, err := csvwriter.NewCsvWriter("/tmp/output.csv") + if err != nil { + panic(err) + } + defer file.Close() + + file.Write([]string{"Number", "FromAer", "FromCoordsLat", "FromCoordsLong", "ToAer", "ToCoordsLat", "ToCoordsLong", "DateUnix"}) + + for i, ticket := range tickets { + if i%(len(tickets)/100) == 0 { + fmt.Printf("%f\n", float32(i)/float32(len(tickets))*100) + } + if i%(len(tickets)/100*5) == 0 { + file.Sync() + } + // u, err := ticket.ToUser() + // if err != nil { + // panic(err) + // } + f, err := ticket.ToFlight() + if err != nil { + panic(err) + } + file.Write([]string{f.Number, + f.From, fmt.Sprintf("%v", f.FromCoords.Lat), fmt.Sprintf("%v", f.FromCoords.Long), + f.To, fmt.Sprintf("%v", f.ToCoords.Lat), fmt.Sprintf("%v", f.ToCoords.Long), + fmt.Sprintf("%v", f.Date.Unix()), + }) + // c, err := ticket.ToCard() + // if err != nil { + // panic(err) + // } + // fmt.Printf("%+v %+v %+v\n", u, f, c) + } + file.Sync() } diff --git a/cmd/xml/xml.go b/cmd/xml/xml.go new file mode 100644 index 0000000..2679114 --- /dev/null +++ b/cmd/xml/xml.go @@ -0,0 +1,32 @@ +package main + +import ( + "airlines/pkg/adapters/xml" + "airlines/pkg/localstore" + "fmt" +) + +func main() { + pointzUsers, err := xml.UnmarshalXml("/home/alex/ds-data/PointzAggregator-AirlinesData.xml") + if err != nil { + panic(err) + } + + fmt.Println("unmarshall ok") + + // for _, user := range pointzUsers.Users { + // fmt.Printf("User UID: %s, Name: %s %s\n", user.UID, user.Name.First, user.Name.Last) + // for _, card := range user.Cards.Card { + // fmt.Printf(" Card Number: %s, Program: %s\n", card.Number, card.Program) + // for _, activity := range card.Activities.Activitys { + // fmt.Printf(" Activity Type: %s, Code: %s, Date: %s, Departure: %s, Arrival: %s, Fare: %s\n", + // activity.Type, activity.Code, activity.Date, activity.Departure, activity.Arrival, activity.Fare) + // } + // } + // } + store := localstore.NewLocalStore() + + pointzUsers.DumpToDb(store) + + store.ExportAllCSVs("/tmp/ds") +} diff --git a/cmd/yaml/main.go b/cmd/yaml/main.go new file mode 100644 index 0000000..232ba79 --- /dev/null +++ b/cmd/yaml/main.go @@ -0,0 +1,18 @@ +package main + +import ( + "airlines/pkg/adapters/yaml" + "airlines/pkg/localstore" +) + +func main() { + yamlData, err := yaml.UnmarshallYaml("/home/alex/ds-data/SkyTeam-Exchange.yaml") + if err != nil { + panic(err) + } + + store := localstore.NewLocalStore() + + yamlData.DumpToDb(store) + store.ExportAllCSVs("/tmp/ds") +} diff --git a/go.mod b/go.mod index 017cab3..fba7e04 100644 --- a/go.mod +++ b/go.mod @@ -7,6 +7,15 @@ require ( gorm.io/driver/sqlite v1.6.0 ) +require ( + github.com/gorilla/i18n v0.0.0-20150820051429-8b358169da46 // indirect + github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db // indirect + github.com/rivo/uniseg v0.4.7 // indirect + github.com/schollz/progressbar/v3 v3.18.0 // indirect + github.com/unidoc/unichart v0.5.1 // indirect + golang.org/x/term v0.36.0 // indirect +) + require ( github.com/davecgh/go-spew v1.1.1 // indirect github.com/h2non/filetype v1.1.3 // indirect @@ -32,7 +41,6 @@ require ( github.com/jinzhu/inflection v1.0.0 // indirect github.com/jinzhu/now v1.1.5 // indirect github.com/ledongthuc/pdf v0.0.0-20250511090121-5959a4027728 - github.com/leonm1/airports-go v0.0.0-20180324035101-5e1c3ff18691 github.com/mattn/go-sqlite3 v1.14.22 // indirect github.com/richardlehane/mscfb v1.0.4 // indirect github.com/richardlehane/msoleps v1.0.4 // indirect @@ -48,5 +56,4 @@ require ( gorm.io/gorm v1.31.0 // indirect ) - -replace github.com/unidoc/unipdf/v4 => ./unipdf \ No newline at end of file +replace github.com/unidoc/unipdf/v4 => ./unipdf diff --git a/go.sum b/go.sum index 20b8ee9..b017349 100644 --- a/go.sum +++ b/go.sum @@ -5,6 +5,8 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y= github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg= +github.com/gorilla/i18n v0.0.0-20150820051429-8b358169da46 h1:N+R2A3fGIr5GucoRMu2xpqyQWQlfY31orbofBCdjMz8= +github.com/gorilla/i18n v0.0.0-20150820051429-8b358169da46/go.mod h1:2Yoiy15Cf7Q3NFwfaJquh7Mk1uGI09ytcD7CUhn8j7s= github.com/h2non/filetype v1.1.3 h1:FKkx9QbD7HR/zjK1Ia5XiBsq9zdLi5Kf3zGyFTAFkGg= github.com/h2non/filetype v1.1.3/go.mod h1:319b3zT68BvV+WRj7cwy856M2ehB3HqNOt6sy1HndBY= github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= @@ -27,6 +29,8 @@ github.com/leonm1/airports-go v0.0.0-20180324035101-5e1c3ff18691 h1:p6JA+fwoJonS github.com/leonm1/airports-go v0.0.0-20180324035101-5e1c3ff18691/go.mod h1:NOvrhZvg7XCKq9koo59F4oSDTvmJIlJ/EEmtpIJBgMg= github.com/mattn/go-sqlite3 v1.14.22 h1:2gZY6PC6kBnID23Tichd1K+Z0oS6nE/XwU+Vz/5o4kU= github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= +github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db h1:62I3jR2EmQ4l5rM/4FEfDWcRD+abF5XlKShorW5LRoQ= +github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db/go.mod h1:l0dey0ia/Uv7NcFFVbCLtqEBQbrT4OCwCSKTEv6enCw= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/richardlehane/mscfb v1.0.4 h1:WULscsljNPConisD5hR0+OyZjwK46Pfyr6mPu5ZawpM= @@ -34,6 +38,10 @@ github.com/richardlehane/mscfb v1.0.4/go.mod h1:YzVpcZg9czvAuhk9T+a3avCpcFPMUWm7 github.com/richardlehane/msoleps v1.0.1/go.mod h1:BWev5JBpU9Ko2WAgmZEuiz4/u3ZYTKbjLycmwiWUfWg= github.com/richardlehane/msoleps v1.0.4 h1:WuESlvhX3gH2IHcd8UqyCuFY5yiq/GR/yqaSM/9/g00= github.com/richardlehane/msoleps v1.0.4/go.mod h1:BWev5JBpU9Ko2WAgmZEuiz4/u3ZYTKbjLycmwiWUfWg= +github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= +github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= +github.com/schollz/progressbar/v3 v3.18.0 h1:uXdoHABRFmNIjUfte/Ex7WtuyVslrw2wVPQmCN62HpA= +github.com/schollz/progressbar/v3 v3.18.0/go.mod h1:IsO3lpbaGuzh8zIMzgY3+J8l4C8GjO0Y9S69eFvNsec= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -50,6 +58,8 @@ github.com/unidoc/pkcs7 v0.3.0 h1:+RCopNCR8UoZtlf4bu4Y88O3j1MbvrLcOuQj/tbPLoU= github.com/unidoc/pkcs7 v0.3.0/go.mod h1:UEzOZUEpJfDpywVJMUT8QiugqEZC29pDq7kdIZhWCr8= github.com/unidoc/timestamp v0.0.0-20200412005513-91597fd3793a h1:RLtvUhe4DsUDl66m7MJ8OqBjq8jpWBXPK6/RKtqeTkc= github.com/unidoc/timestamp v0.0.0-20200412005513-91597fd3793a/go.mod h1:j+qMWZVpZFTvDey3zxUkSgPJZEX33tDgU/QIA0IzCUw= +github.com/unidoc/unichart v0.5.1 h1:qnYavwBV5sg9NUF59KbMOqJdh2kA454nVxdDTPPtSz8= +github.com/unidoc/unichart v0.5.1/go.mod h1:/8yJsL49OqBOyG53JFVZOwwDXDquo/ZRMkfz9fNsVgc= github.com/unidoc/unipdf/v4 v4.4.0 h1:JvfRBjQgaT1FkdUiZXmrGLp5RFhk9GB/NfHEzsiU4i0= github.com/unidoc/unipdf/v4 v4.4.0/go.mod h1:oR0EX7TmS7KaAuzFQPA9t9HjbU4f2NbWMvzXNqtXo70= github.com/unidoc/unitype v0.5.1 h1:UwTX15K6bktwKocWVvLoijIeu4JAVEAIeFqMOjvxqQs= @@ -76,6 +86,8 @@ golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.37.0 h1:fdNQudmxPjkdUTPnLn5mdQv7Zwvbvpaxqs831goi9kQ= golang.org/x/sys v0.37.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/term v0.36.0 h1:zMPR+aF8gfksFprF/Nc/rd1wRS1EI6nDBGyWAvDzx2Q= +golang.org/x/term v0.36.0/go.mod h1:Qu394IJq6V6dCBRgwqshf3mPF85AqzYEzofzRdZkWss= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= diff --git a/pkg/adapters/csv/csv.go b/pkg/adapters/csv/csv.go new file mode 100644 index 0000000..1d8154a --- /dev/null +++ b/pkg/adapters/csv/csv.go @@ -0,0 +1,232 @@ +package csv + +import ( + "encoding/csv" + "errors" + "fmt" + "log" + "os" + "regexp" + "strings" + "sync" + "time" + + "airlines/pkg/airports" + "airlines/pkg/model" + "airlines/pkg/names" + + "github.com/schollz/progressbar/v3" +) + +type csvData struct { + data [][]string + ignoreNonLatinUsers bool +} + +func UnmarshallCsv(filePath string, ignoreNonLatinUsers bool) (*csvData, error) { + d := &csvData{ignoreNonLatinUsers: ignoreNonLatinUsers} + + f, err := os.Open(filePath) + if err != nil { + return nil, err + } + defer f.Close() + + csvReader := csv.NewReader(f) + d.data, err = csvReader.ReadAll() + if err != nil { + log.Fatal("Unable to parse file as CSV for "+filePath, err) + } + + return d, nil +} + +func createUser(cols map[string]int, data []string) (*model.User, error) { + fio, err := names.ParseLatinName(data[cols["PaxName"]]) + if err != nil { + return nil, errors.New(data[cols["PaxName"]] + ":" + err.Error()) + } + + var bdayDate time.Time + bday := strings.TrimSpace(data[cols["PaxBirthDate"]]) // "YYYY-MM-DD" + if bday == "" { + bdayDate = model.SentinelBirthday() + } else { + bdayDate, err = time.Parse("2006-01-02", bday) + if err != nil { + return nil, fmt.Errorf("bad birthday %q: %w", bday, err) + } + } + + u := &model.User{ + Name: strings.ToUpper(fio.First), + Surname: strings.ToUpper(fio.Last), + Fathersname: strings.ToUpper(fio.Patronymic), + Birthday: bdayDate, + } + return u, nil +} + +func createCard(cols map[string]int, data []string) (*model.Card, error) { + prefix, number, _ := model.ParseCardLine(data[cols["CardNumber"]]) + if prefix == "" && number == 0 { + return nil, errors.New("bad card id") + } + + return &model.Card{ + Prefix: prefix, + Number: number, + }, nil +} + +var hhmm = regexp.MustCompile(`^\d{2}:\d{2}$`) + +func NormalizeTime(s string) string { + if hhmm.MatchString(s) { + h := (int(s[0]-'0')*10 + int(s[1]-'0')) + m := (int(s[3]-'0')*10 + int(s[4]-'0')) + if h < 24 && m < 60 { + return s + } + return "" + } + + digits := make([]byte, 0, 4) + for i := 0; i < len(s); i++ { + c := s[i] + if c >= '0' && c <= '9' { + digits = append(digits, c) + } else if c == ':' { + continue + } else { + return "" + } + } + + if len(digits) == 3 { + h := int(digits[0] - '0') + m := int(digits[1]-'0')*10 + int(digits[2]-'0') + if h < 24 && m < 60 { + return fmt.Sprintf("%02d:%02d", h, m) + } + return "" + } + + if len(digits) == 4 { + h := int(digits[0]-'0')*10 + int(digits[1]-'0') + m := int(digits[2]-'0')*10 + int(digits[3]-'0') + if h < 24 && m < 60 { + return fmt.Sprintf("%02d:%02d", h, m) + } + return "" + } + + return "" +} + +func createFlight(cols map[string]int, data []string) (*model.Flight, error) { + f := &model.Flight{} + + f.From = strings.TrimSpace(data[cols["From"]]) + f.To = strings.TrimSpace(data[cols["Dest"]]) + f.Number = strings.TrimSpace(data[cols["FlightCodeSh"]]) + f.Code = strings.TrimSpace(data[cols["Code"]]) + + d, err := time.Parse("2006-01-02 15:04", strings.TrimSpace(data[cols["DepartDate"]])+" "+NormalizeTime(strings.TrimSpace(data[cols["DepartTime"]]))) + if err != nil { + return nil, fmt.Errorf("invalid Date %q: %w", strings.TrimSpace(data[cols["DepartDate"]])+" "+NormalizeTime(strings.TrimSpace(data[cols["DepartTime"]])), err) + } + + ap, _ := airports.LookupIATA(f.From) + f.FromCoords.Lat = ap.Latitude + f.FromCoords.Long = ap.Longitude + + loc := model.TzFromAirportRecord(ap) + departLocal := time.Date(d.Year(), d.Month(), d.Day(), d.Hour(), d.Minute(), 0, 0, loc) + f.Date = departLocal.UTC() + f.HasTime = strings.TrimSpace(data[cols["DepartTime"]]) != "" + + ap, _ = airports.LookupIATA(f.To) + f.ToCoords.Lat = ap.Latitude + f.ToCoords.Long = ap.Longitude + + return f, nil +} + +func (dat *csvData) DumpToDb(store model.Store) { + bar := progressbar.Default(int64(len(dat.data)-1), "dumping csv data") + + cols := map[string]int{} + + for i, col := range dat.data[0] { + cols[col] = i + } + + var wg sync.WaitGroup + sem := make(chan struct{}, 8) + + for i := 1; i < len(dat.data); i++ { + sem <- struct{}{} + wg.Add(1) + go func() { + defer func() { <-sem }() + defer wg.Done() + defer bar.Add(1) + + var u *model.User + var err error + if dat.ignoreNonLatinUsers { + goto skipUser + } + u, err = createUser(cols, dat.data[i]) + if err != nil { + fmt.Println(err) + // return + } + u, err = store.SaveUser(u) + if err != nil { + fmt.Println(err) + // return + } + skipUser: + + c, err := createCard(cols, dat.data[i]) + if err != nil { + // fmt.Println(err) + // return + } + if c != nil { + if u != nil { + c.UserID = u.ID + } + c, err = store.SaveCard(c) + if err != nil { + // fmt.Println(err) + // return + } + } + + f, err := createFlight(cols, dat.data[i]) + if err != nil { + fmt.Println(err) + return + } + if f != nil { + if u != nil { + f.UserID = u.ID + } + if c != nil { + f.CardID = c.ID + } + + _, err = store.SaveFlight(f) + if err != nil { + fmt.Println(err) + // return + } + } + }() + + } + +} diff --git a/pkg/adapters/json/json.go b/pkg/adapters/json/json.go index 47a563e..73d3ae8 100644 --- a/pkg/adapters/json/json.go +++ b/pkg/adapters/json/json.go @@ -2,14 +2,15 @@ package json import ( "bytes" - "context" "encoding/json" "fmt" + "os" "strings" "time" "airlines/pkg/model" - "airlines/pkg/store" + + "github.com/schollz/progressbar/v3" ) type DateYMD struct { @@ -97,11 +98,29 @@ type JsonCard struct { Number Trimmed `json:"Number"` } -func (r *JsonRoot) DumpToDb(ctx context.Context, s *store.Store) { +func UnmarshalJsonRoot(path string) (*JsonRoot, error) { + f, err := os.Open(path) + if err != nil { + panic(err) + } + defer f.Close() + + dec := json.NewDecoder(f) + var root JsonRoot + if err := dec.Decode(&root); err != nil { + return nil, err + } + return &root, nil +} + +func (r *JsonRoot) DumpToDb(store model.Store) { var err error - for _, user := range r.ForumProfiles { + bar := progressbar.Default(int64(len(r.ForumProfiles)), "dumping json") + + for i, user := range r.ForumProfiles { + bar.Set(i) dbUser, _ := user.ToUser() - dbUser, err = s.CreateOrGetUser(ctx, dbUser) + dbUser, err = store.SaveUser(dbUser) if err != nil { panic(err) } @@ -111,7 +130,8 @@ func (r *JsonRoot) DumpToDb(ctx context.Context, s *store.Store) { if err != nil { panic(err) } - _, err = s.AddCardsToUser(ctx, dbUser.ID, dbCard) + dbCard.UserID = dbUser.ID + _, err = store.SaveCard(dbCard) // данные говно if err != nil { fmt.Println(err) @@ -121,7 +141,8 @@ func (r *JsonRoot) DumpToDb(ctx context.Context, s *store.Store) { for _, flight := range user.RegisteredFlights { dbFlight, _ := flight.ToFlight() - _, err = s.AddFlightToUser(ctx, dbUser.ID, dbFlight) + dbFlight.UserID = dbUser.ID + _, err = store.SaveFlight(dbFlight) if err != nil { fmt.Println(err) } diff --git a/pkg/adapters/json/model.go b/pkg/adapters/json/model.go index 2cc5d8e..86d7321 100644 --- a/pkg/adapters/json/model.go +++ b/pkg/adapters/json/model.go @@ -2,10 +2,13 @@ package json import ( "strconv" + "strings" "time" "unicode" "airlines/pkg/model" + + "airlines/pkg/airports" ) func sOrEmpty(p *string) string { @@ -34,9 +37,9 @@ func onlyDigits(s string) string { func (jp JsonProfile) ToUser() (*model.User, error) { return &model.User{ - Name: sOrEmpty(jp.RealName.FirstName), - Surname: sOrEmpty(jp.RealName.LastName), - Nick: sOrEmpty(&jp.NickName), + Name: strings.ToUpper(sOrEmpty(jp.RealName.FirstName)), + Surname: strings.ToUpper(sOrEmpty(jp.RealName.LastName)), + Nick: strings.ToUpper(sOrEmpty(&jp.NickName)), Fathersname: "", Sex: jp.Sex, Birthday: model.SentinelBirthday(), @@ -44,16 +47,27 @@ func (jp JsonProfile) ToUser() (*model.User, error) { } func (jf JsonFlight) ToFlight() (*model.Flight, error) { - return &model.Flight{ - Number: jf.Flight, - From: jf.Departure.Airport, - FromCity: jf.Departure.City, - FromCountry: jf.Departure.Country, - To: jf.Arrival.Airport, - ToCity: jf.Arrival.City, - ToCountry: jf.Arrival.Country, - Date: jf.Date.ToDateUTC(), - }, nil + // lookup IATA codes for lat lon + f := &model.Flight{ + Number: jf.Flight, + From: strings.ToUpper(jf.Departure.Airport), + To: strings.ToUpper(jf.Arrival.Airport), + Date: jf.Date.ToDateUTC(), + } + + ap, _ := airports.LookupIATA(f.From) + f.FromCoords.Lat = ap.Latitude + f.FromCoords.Long = ap.Longitude + + loc := model.TzFromAirportRecord(ap) + departLocal := time.Date(f.Date.Year(), f.Date.Month(), f.Date.Day(), 0, 0, 0, 0, loc) + f.Date = departLocal.UTC() + + ap, _ = airports.LookupIATA(jf.Arrival.Airport) + f.ToCoords.Lat = ap.Latitude + f.ToCoords.Long = ap.Longitude + + return f, nil } func (jc JsonCard) ToCard() (*model.Card, error) { diff --git a/pkg/adapters/xlsx/model.go b/pkg/adapters/xlsx/model.go index d8c5194..79434f0 100644 --- a/pkg/adapters/xlsx/model.go +++ b/pkg/adapters/xlsx/model.go @@ -1,13 +1,13 @@ package xlsx import ( + "airlines/pkg/model" "errors" - "regexp" "strconv" "strings" "time" - "github.com/leonm1/airports-go" + "airlines/pkg/airports" ) type Ticket struct { @@ -16,9 +16,13 @@ type Ticket struct { Title string FlightNumber string FromCity string - ToCity string + FromCountry string FromAirport string + FromCoords model.LatLong + ToCity string + ToCountry string ToAirport string + ToCoords model.LatLong FlightDate string // (raw, expected YYYY-MM-DD; Excel text may start with ') FlightTime string // (raw, expected HH-MM or HH:MM; Excel text may start with ') PNR string @@ -87,52 +91,4 @@ func two(x int) string { return "0" + strconv.Itoa(x) } return strconv.Itoa(x) -} - -func parseCardLine(s string) (prefix string, number uint64, bonus string) { - raw := strings.TrimSpace(s) - if raw == "" { - return "", 0, "" - } - // number = last run of digits - if m := regexp.MustCompile(`(\d{3,})\D*$`).FindStringSubmatch(raw); len(m) == 2 { - if n, err := strconv.ParseUint(m[1], 10, 64); err == nil { - number = n - } - } - - // tokens (letters with '-', '/', apostrophes) - tokRe := regexp.MustCompile(`[A-Za-z][A-Za-z'/-]*`) - toks := tokRe.FindAllString(s, -1) - - // prefix = first 2–3 letter all-caps-ish token - for _, t := range toks { - u := strings.ToUpper(t) - if len(u) >= 2 && len(u) <= 3 && regexp.MustCompile(`^[A-Z]{2,3}$`).MatchString(u) { - prefix = u - break - } - } - // bonus = all tokens except prefix - words := []string{} - for _, t := range toks { - if strings.ToUpper(t) == prefix { - continue - } - words = append(words, t) - } - if len(words) > 0 { - bonus = strings.Join(words, " ") - } - if bonus == "" && prefix != "" { - bonus = prefix - } - return -} - -func firstNonEmpty(a, b string) string { - if strings.TrimSpace(a) != "" { - return a - } - return b -} +} \ No newline at end of file diff --git a/pkg/adapters/xlsx/registry.go b/pkg/adapters/xlsx/registry.go index 46c395e..6b98c0b 100644 --- a/pkg/adapters/xlsx/registry.go +++ b/pkg/adapters/xlsx/registry.go @@ -1,69 +1,102 @@ package xlsx import ( + "errors" "fmt" + "strconv" "strings" + "time" "airlines/pkg/model" "airlines/pkg/names" - "github.com/leonm1/airports-go" + "airlines/pkg/airports" ) -func (t Ticket) ToUser() (model.User, error) { +func (t Ticket) ToUser() (*model.User, error) { fio, err := names.ParseLatinName(t.Passenger) if err != nil { - return model.User{}, fmt.Errorf("%v %s", t.Sheet, err.Error()) + return nil, fmt.Errorf("%v %s", t.Sheet, err.Error()) } sex := names.GenderFromTitle(t.Title) - u := model.User{ + u := &model.User{ Nick: "", - Name: fio.First, - Surname: fio.Last, - Fathersname: fio.Patronymic, + Name: strings.ToUpper(fio.First), + Surname: strings.ToUpper(fio.Last), + Fathersname: strings.ToUpper(fio.Patronymic), Sex: sex, } return u, nil } -func (t Ticket) ToCard() (model.Card, error) { - prefix, number, bonus := parseCardLine(t.Card) +func (t Ticket) ToCard() (*model.Card, error) { + prefix, number, bonus := model.ParseCardLine(t.Card) if number == 0 && prefix == "" && bonus == "" { - return model.Card{}, nil + return nil, errors.New("do not have card") } - return model.Card{ + return &model.Card{ Prefix: prefix, Number: number, Bonusprogramm: "", }, nil } -func (t Ticket) ToFlight() (model.Flight, error) { - // Resolve IATA records +func (t Ticket) ToFlight() (*model.Flight, error) { fromIATA := strings.ToUpper(strings.TrimSpace(t.FromAirport)) toIATA := strings.ToUpper(strings.TrimSpace(t.ToAirport)) fromRec, _ := airports.LookupIATA(fromIATA) - toRec, _ := airports.LookupIATA(toIATA) - fromCity := firstNonEmpty(strings.TrimSpace(t.FromCity), fromRec.City) - toCity := firstNonEmpty(strings.TrimSpace(t.ToCity), toRec.City) + dateStr := strings.TrimLeft(strings.TrimSpace(t.FlightDate), "'") + timeStr := strings.TrimLeft(strings.TrimSpace(t.FlightTime), "'") + timeStr = strings.ReplaceAll(timeStr, "-", ":") - fromCountry := fromRec.Country - toCountry := toRec.Country - departUTC, _, err := t.DateTime() + if dateStr == "" || timeStr == "" { + return nil, errors.New("missing FlightDate or FlightTime") + } + + hh, mm, err := parseHHMM(timeStr) + if err != nil { + return nil, err + } + + day, err := time.Parse("2006-01-02", dateStr) if err != nil { - return model.Flight{}, err + return nil, err } - return model.Flight{ - Number: strings.TrimSpace(t.FlightNumber), - From: fromIATA, - FromCity: fromCity, - FromCountry: fromCountry, - To: toIATA, - ToCity: toCity, - ToCountry: toCountry, - Date: departUTC, + + loc := model.TzFromAirportRecord(fromRec) + departLocal := time.Date(day.Year(), day.Month(), day.Day(), hh, mm, 0, 0, loc) + departUTC := departLocal.UTC() + + return &model.Flight{ + Number: strings.TrimSpace(t.FlightNumber), + From: fromIATA, + FromCoords: t.FromCoords, + To: toIATA, + ToCoords: t.ToCoords, + Date: departUTC, + HasTime: true, }, nil } + +func parseHHMM(s string) (int, int, error) { + // Accept "H:MM", "HH:MM" + parts := strings.Split(s, ":") + if len(parts) != 2 { + return 0, 0, errors.New("invalid FlightTime, expected HH:MM") + } + hh, err := strconv.Atoi(parts[0]) + if err != nil { + return 0, 0, err + } + mm, err := strconv.Atoi(parts[1]) + if err != nil { + return 0, 0, err + } + if hh < 0 || hh > 23 || mm < 0 || mm > 59 { + return 0, 0, errors.New("invalid FlightTime range") + } + return hh, mm, nil +} diff --git a/pkg/adapters/xlsx/xlsx.go b/pkg/adapters/xlsx/xlsx.go index 6ef9baa..5a8427b 100644 --- a/pkg/adapters/xlsx/xlsx.go +++ b/pkg/adapters/xlsx/xlsx.go @@ -2,8 +2,14 @@ package xlsx import ( "fmt" + "os" "strings" + "sync" + "airlines/pkg/airports" + "airlines/pkg/model" + + "github.com/schollz/progressbar/v3" "github.com/xuri/excelize/v2" ) @@ -84,7 +90,85 @@ func UnmarshallXlsxFile(fname string) ([]Ticket, error) { return nil, err } + ap, _ := airports.LookupIATA(t.FromAirport) + t.FromCountry = ap.Country + t.FromCoords.Lat = ap.Latitude + t.FromCoords.Long = ap.Longitude + + ap, _ = airports.LookupIATA(t.ToAirport) + t.ToCountry = ap.Country + t.ToCoords.Lat = ap.Latitude + t.ToCoords.Long = ap.Longitude + tickets = append(tickets, t) } return tickets, nil } + +func UnmarshallXlsxFiles(baseDir string) ([]Ticket, error) { + + tickets := make([]Ticket, 0) + items, err := os.ReadDir(baseDir) + if err != nil { + panic(err) + } + + bar := progressbar.Default(int64(len(items)), "unmarshalling xlsx") + + var mu sync.Mutex + var wg sync.WaitGroup + sem := make(chan struct{}, 8) + for _, item := range items { + if !item.IsDir() { + wg.Add(1) + sem <- struct{}{} + go func(name string) { + defer func() { <-sem }() + defer wg.Done() + // fmt.Println("Processing file:", name) + parsedTickets, err := UnmarshallXlsxFile(baseDir + name) + if err != nil { + panic(err) + } + mu.Lock() + defer mu.Unlock() + tickets = append(tickets, parsedTickets...) + bar.Add(1) + }(item.Name()) + } + } + wg.Wait() + + return tickets, nil +} + +func DumpToDb(store model.Store, tickets []Ticket) { + var err error + bar := progressbar.Default(int64(len(tickets)), "dumping xlsx") + for _, ticket := range tickets { + bar.Add(1) + dbUser, _ := ticket.ToUser() + dbUser, err = store.SaveUser(dbUser) + if err != nil { + panic(err) + } + + dbCard, err := ticket.ToCard() + if err != nil { + goto processflight + } + dbCard.UserID = dbUser.ID + _, err = store.SaveCard(dbCard) + // данные говно + if err != nil { + fmt.Println(err) + } + processflight: + dbFlight, _ := ticket.ToFlight() + dbFlight.UserID = dbUser.ID + _, err = store.SaveFlight(dbFlight) + if err != nil { + fmt.Println(err) + } + } +} diff --git a/pkg/adapters/xml/registry.go b/pkg/adapters/xml/registry.go new file mode 100644 index 0000000..f7b0507 --- /dev/null +++ b/pkg/adapters/xml/registry.go @@ -0,0 +1,51 @@ +package xml + +import ( + "errors" + "fmt" + "strings" + "time" + + "airlines/pkg/model" +) + +func (u XMLUser) ToUser() (*model.User, error) { + return &model.User{ + Nick: "", + Name: strings.ToUpper(strings.TrimSpace(u.Name.First)), + Surname: strings.ToUpper(strings.TrimSpace(u.Name.Last)), + Fathersname: "", + Sex: model.SexUnknown, + Birthday: model.SentinelBirthday(), + }, nil +} + +func (c XMLCard) ToCard() (*model.Card, error) { + prefix, number, _ := model.ParseCardLine(c.Number) + if prefix == "" && number == 0 && strings.TrimSpace(c.Program) == "" { + return nil, errors.New("bad card") + } + return &model.Card{ + Prefix: prefix, + Number: number, + Bonusprogramm: strings.TrimSpace(c.Program), + }, nil +} + +func (a XMLActivity) ToFlight() (*model.Flight, error) { + fromIATA := strings.ToUpper(strings.TrimSpace(a.Departure)) + toIATA := strings.ToUpper(strings.TrimSpace(a.Arrival)) + + d, err := time.Parse("2006-01-02", strings.TrimSpace(a.Date)) + if err != nil { + return nil, fmt.Errorf("invalid Date %q for flight %q: %w", a.Date, a.Code, err) + } + departUTC := time.Date(d.Year(), d.Month(), d.Day(), 0, 0, 0, 0, time.UTC) + + return &model.Flight{ + Number: strings.TrimSpace(a.Code), + From: fromIATA, + To: toIATA, + Date: departUTC, + }, nil +} diff --git a/pkg/adapters/xml/xml.go b/pkg/adapters/xml/xml.go new file mode 100644 index 0000000..3350c01 --- /dev/null +++ b/pkg/adapters/xml/xml.go @@ -0,0 +1,113 @@ +package xml + +import ( + "airlines/pkg/model" + "encoding/xml" + "fmt" + "os" + + "github.com/schollz/progressbar/v3" +) + +type PointzAggregatorUsers struct { + XMLName xml.Name `xml:"PointzAggregatorUsers"` + Users []XMLUser `xml:"user"` +} + +type XMLUser struct { + UID string `xml:"uid,attr"` + Name Name `xml:"name"` + Cards Cards `xml:"cards"` +} + +type Name struct { + First string `xml:"first,attr"` + Last string `xml:"last,attr"` +} + +type Cards struct { + Type string `xml:"type,attr"` + Card []XMLCard `xml:"card"` +} + +type XMLCard struct { + Number string `xml:"number,attr"` + Program string `xml:"bonusprogramm"` + Activities Activities `xml:"activities"` +} + +type Activities struct { + Type string `xml:"type,attr"` + Activitys []XMLActivity `xml:"activity"` +} + +type XMLActivity struct { + Type string `xml:"type,attr"` + Code string `xml:"Code"` + Date string `xml:"Date"` + Departure string `xml:"Departure"` + Arrival string `xml:"Arrival"` + Fare string `xml:"Fare"` +} + +func UnmarshalXml(path string) (*PointzAggregatorUsers, error) { + + data, err := os.ReadFile(path) + if err != nil { + return nil, err + } + + var p PointzAggregatorUsers + if err := xml.Unmarshal(data, &p); err != nil { + return nil, err + } + return &p, nil +} + +func (u *PointzAggregatorUsers) DumpToDb(store model.Store) error { + // var err error + bar := progressbar.Default(int64(len(u.Users)), "dumping xml") + + for _, u := range u.Users { + dbUser, err := u.ToUser() + if err != nil { + panic(err) + } + dbUser, err = store.SaveUser(dbUser) + if err != nil { + panic(err) + } + // fmt.Println(dbUser) + + + for _, card := range u.Cards.Card { + dbCard, err := card.ToCard() + if err != nil { + fmt.Println(err) + continue + } + dbCard.UserID = dbUser.ID + _, err = store.SaveCard(dbCard) + // данные говно + if err != nil { + fmt.Println(err) + } + + for _, activity := range card.Activities.Activitys { + + dbFlight, err := activity.ToFlight() + if err != nil { + fmt.Println(err) + } + dbFlight.UserID = dbUser.ID + _, err = store.SaveFlight(dbFlight) + if err != nil { + fmt.Println(err) + } + } + } + bar.Add(1) + } + + return nil +} diff --git a/pkg/adapters/yaml/yaml.go b/pkg/adapters/yaml/yaml.go new file mode 100644 index 0000000..9a79a72 --- /dev/null +++ b/pkg/adapters/yaml/yaml.go @@ -0,0 +1,180 @@ +package yaml + +import ( + "errors" + "fmt" + "io" + "os" + "strings" + "sync" + "time" + + "airlines/pkg/airports" + "airlines/pkg/model" + + "github.com/schollz/progressbar/v3" + "gopkg.in/yaml.v3" +) + +// ---------- Data model ---------- + +type FareInfo struct { + Class string `yaml:"CLASS" json:"class"` + Fare string `yaml:"FARE" json:"fare"` +} + +type Flight struct { + FF map[string]FareInfo `yaml:"FF" json:"ff"` + From string `yaml:"FROM" json:"from"` + Status string `yaml:"STATUS" json:"status"` + To string `yaml:"TO" json:"to"` +} + +type Schedule struct { + data map[string]map[string]Flight +} + +// ParseSchedule reads YAML from r into a Schedule. +func ParseSchedule(r io.Reader) (*Schedule, error) { + s := &Schedule{ + data: make(map[string]map[string]Flight), + } + dec := yaml.NewDecoder(r) + // dec.KnownFields(true) // enable if you want strict field checking + if err := dec.Decode(&s.data); err != nil { + return nil, err + } + + for date, flights := range s.data { + if flights == nil { + s.data[date] = map[string]Flight{} + } + } + return s, nil +} + +func UnmarshallYaml(path string) (*Schedule, error) { + f, err := os.Open(path) + if err != nil { + return nil, err + } + + sched, err := ParseSchedule(f) + if err != nil { + return nil, err + } + + // for date, flights := range sched.data { + // fmt.Printf("Date: %s (flights: %d)\n", date, len(flights)) + // for flightNo, fl := range flights { + // fmt.Printf(" %s: %s -> %s, %s\n", flightNo, fl.From, fl.To, fl.Status) + // for ffKey, fi := range fl.FF { + // fmt.Printf(" FF %s: class=%s fare=%s\n", ffKey, fi.Class, fi.Fare) + // } + // } + // } + + // if b, err := json.MarshalIndent(sched, "", " "); err == nil { + // fmt.Println("\nAs JSON:") + // fmt.Println(string(b)) + // } + return sched, nil +} + +func createFlight(num, from, to, date string, cardID uint64) (*model.Flight, error) { + f := &model.Flight{ + Number: num, + From: from, + To: to, + } + + ap, _ := airports.LookupIATA(f.From) + f.FromCoords.Lat = ap.Latitude + f.FromCoords.Long = ap.Longitude + + d, err := time.Parse("2006-01-02", strings.TrimSpace(date)) + if err != nil { + return nil, fmt.Errorf("invalid Date %q: %w", date, err) + } + + loc := model.TzFromAirportRecord(ap) + departLocal := time.Date(d.Year(), d.Month(), d.Day(), 0, 0, 0, 0, loc) + f.Date = departLocal.UTC() + + ap, _ = airports.LookupIATA(f.To) + f.ToCoords.Lat = ap.Latitude + f.ToCoords.Long = ap.Longitude + + return f, nil +} + +func createCard(info string) (*model.Card, error) { + prefix, number, _ := model.ParseCardLine(info) + if prefix == "" && number == 0 { + return nil, errors.New("bad card id") + } + + return &model.Card{ + Prefix: prefix, + Number: number, + }, nil +} + +func (s *Schedule) DumpToDb(store model.Store) error { + // var err error + count := int64(0) + for i := range s.data { + count += int64(len(s.data[i])) + } + + bar := progressbar.Default(count, "dumping yaml flights") + + for date := range s.data { + for flightID, flightInfo := range s.data[date] { + + // fmt.Printf("%+v %+v %+v\n", date, flightID, flightInfo) + var wg sync.WaitGroup + sem := make(chan struct{}, 8) + for cardID := range flightInfo.FF { + wg.Add(1) + sem <- struct{}{} + go func() { + defer func() { <-sem }() + defer wg.Done() + defer bar.Add(1) + + card, err := createCard(cardID) + if err != nil { + fmt.Println(err) + // return + } + if card != nil { + card, err = store.SaveCard(card) + if err != nil { + fmt.Println(err) + // return + } + } + + f, err := createFlight(flightID, flightInfo.From, flightInfo.To, date, card.ID) + if err != nil { + fmt.Println(err) + return + } + if card != nil { + f.UserID = card.UserID + } + if f != nil { + _, err = store.SaveFlight(f) + if err != nil { + fmt.Println(err) + return + } + } + }() + } + wg.Wait() + } + } + return nil +} diff --git a/pkg/airports/iata.go b/pkg/airports/iata.go new file mode 100644 index 0000000..1dea031 --- /dev/null +++ b/pkg/airports/iata.go @@ -0,0 +1,5397 @@ +package airports + +import ( + "fmt" + "strings" +) + +// Airport holds information about an airport +type Airport struct { + // Airport name. + Name string + // Main city served by airport. + City string + // Country or territory where airport is located. + Country string + // 3-letter IATA code. Empty if not assigned/unknown. + IATA string + // 4-letter ICAO code. + ICAO string + // Latitude in decimal degrees. + Latitude float64 + // Longitude in decimal degrees. + Longitude float64 + // Altitude in feet. + Altitude float64 + // Hours offset from UTC. Fractional hours are expressed as decimals + Timezone float64 + // Daylight savings time. One of E (Europe), A (US/Canada), S (South America), O (Australia), Z (New Zealand), N (None) or U (Unknown). + DST string + // Timezone in Olsen format + Tz string +} + +// LookupIATA returns information on an airport through its IATA code +func LookupIATA(c string) (Airport, error) { + airports := map[string]Airport{ + "GKA": {"Goroka Airport", "Goroka", "Papua New Guinea", "GKA", "AYGA", -6.081689834590001, 145.391998291, 5282, 10, "U", "Pacific/Port_Moresby"}, + "MAG": {"Madang Airport", "Madang", "Papua New Guinea", "MAG", "AYMD", -5.20707988739, 145.789001465, 20, 10, "U", "Pacific/Port_Moresby"}, + "HGU": {"Mount Hagen Kagamuga Airport", "Mount Hagen", "Papua New Guinea", "HGU", "AYMH", -5.826789855957031, 144.29600524902344, 5388, 10, "U", "Pacific/Port_Moresby"}, + "LAE": {"Nadzab Airport", "Nadzab", "Papua New Guinea", "LAE", "AYNZ", -6.569803, 146.725977, 239, 10, "U", "Pacific/Port_Moresby"}, + "POM": {"Port Moresby Jacksons International Airport", "Port Moresby", "Papua New Guinea", "POM", "AYPY", -9.443380355834961, 147.22000122070312, 146, 10, "U", "Pacific/Port_Moresby"}, + "WWK": {"Wewak International Airport", "Wewak", "Papua New Guinea", "WWK", "AYWK", -3.58383011818, 143.669006348, 19, 10, "U", "Pacific/Port_Moresby"}, + "UAK": {"Narsarsuaq Airport", "Narssarssuaq", "Greenland", "UAK", "BGBW", 61.1604995728, -45.4259986877, 112, -3, "E", "America/Godthab"}, + "GOH": {"Godthaab / Nuuk Airport", "Godthaab", "Greenland", "GOH", "BGGH", 64.19090271, -51.6781005859, 283, -3, "E", "America/Godthab"}, + "SFJ": {"Kangerlussuaq Airport", "Sondrestrom", "Greenland", "SFJ", "BGSF", 67.0122218992, -50.7116031647, 165, -3, "E", "America/Godthab"}, + "THU": {"Thule Air Base", "Thule", "Greenland", "THU", "BGTL", 76.5311965942, -68.7032012939, 251, -4, "E", "America/Thule"}, + "AEY": {"Akureyri Airport", "Akureyri", "Iceland", "AEY", "BIAR", 65.66000366210938, -18.07270050048828, 6, 0, "N", "Atlantic/Reykjavik"}, + "EGS": {"Egilsstaðir Airport", "Egilsstadir", "Iceland", "EGS", "BIEG", 65.2833023071289, -14.401399612426758, 76, 0, "N", "Atlantic/Reykjavik"}, + "HFN": {"Hornafjörður Airport", "Hofn", "Iceland", "HFN", "BIHN", 64.295601, -15.2272, 24, 0, "N", "Atlantic/Reykjavik"}, + "HZK": {"Húsavík Airport", "Husavik", "Iceland", "HZK", "BIHU", 65.952301, -17.426001, 48, 0, "N", "Atlantic/Reykjavik"}, + "IFJ": {"Ísafjörður Airport", "Isafjordur", "Iceland", "IFJ", "BIIS", 66.05809783935547, -23.135299682617188, 8, 0, "N", "Atlantic/Reykjavik"}, + "KEF": {"Keflavik International Airport", "Keflavik", "Iceland", "KEF", "BIKF", 63.985000610352, -22.605600357056, 171, 0, "N", "Atlantic/Reykjavik"}, + "PFJ": {"Patreksfjörður Airport", "Patreksfjordur", "Iceland", "PFJ", "BIPA", 65.555801, -23.965, 11, 0, "N", "Atlantic/Reykjavik"}, + "RKV": {"Reykjavik Airport", "Reykjavik", "Iceland", "RKV", "BIRK", 64.1299972534, -21.9405994415, 48, 0, "N", "Atlantic/Reykjavik"}, + "SIJ": {"Siglufjörður Airport", "Siglufjordur", "Iceland", "SIJ", "BISI", 66.133301, -18.9167, 10, 0, "N", "Atlantic/Reykjavik"}, + "VEY": {"Vestmannaeyjar Airport", "Vestmannaeyjar", "Iceland", "VEY", "BIVM", 63.42430114746094, -20.278900146484375, 326, 0, "N", "Atlantic/Reykjavik"}, + "YAM": {"Sault Ste Marie Airport", "Sault Sainte Marie", "Canada", "YAM", "CYAM", 46.48500061035156, -84.5093994140625, 630, -5, "A", "America/Toronto"}, + "YAV": {"Winnipeg / St. Andrews Airport", "Winnipeg", "Canada", "YAV", "CYAV", 50.0564002991, -97.03250122070001, 760, -6, "A", "America/Winnipeg"}, + "YAW": {"Halifax / CFB Shearwater Heliport", "Halifax", "Canada", "YAW", "CYAW", 44.6397018433, -63.499401092499994, 144, -4, "A", "America/Halifax"}, + "YAY": {"St. Anthony Airport", "St. Anthony", "Canada", "YAY", "CYAY", 51.3918991089, -56.083099365200006, 108, -3.5, "A", "America/St_Johns"}, + "YAZ": {"Tofino / Long Beach Airport", "Tofino", "Canada", "YAZ", "CYAZ", 49.079833, -125.775583, 80, -8, "A", "America/Vancouver"}, + "YBB": {"Kugaaruk Airport", "Pelly Bay", "Canada", "YBB", "CYBB", 68.534401, -89.808098, 56, -7, "A", "America/Edmonton"}, + "YBC": {"Baie Comeau Airport", "Baie Comeau", "Canada", "YBC", "CYBC", 49.13249969482422, -68.20439910888672, 71, -5, "A", "America/Toronto"}, + "YBG": {"CFB Bagotville", "Bagotville", "Canada", "YBG", "CYBG", 48.33060073852539, -70.99639892578125, 522, -5, "A", "America/Toronto"}, + "YBK": {"Baker Lake Airport", "Baker Lake", "Canada", "YBK", "CYBK", 64.29889678960001, -96.077796936, 59, -6, "A", "America/Winnipeg"}, + "YBL": {"Campbell River Airport", "Campbell River", "Canada", "YBL", "CYBL", 49.950801849365234, -125.27100372314453, 346, -8, "A", "America/Vancouver"}, + "YBR": {"Brandon Municipal Airport", "Brandon", "Canada", "YBR", "CYBR", 49.91, -99.951897, 1343, -6, "A", "America/Winnipeg"}, + "YCB": {"Cambridge Bay Airport", "Cambridge Bay", "Canada", "YCB", "CYCB", 69.1081008911, -105.138000488, 90, -7, "A", "America/Edmonton"}, + "YCD": {"Nanaimo Airport", "Nanaimo", "Canada", "YCD", "CYCD", 49.054970224899996, -123.869862556, 92, -8, "A", "America/Vancouver"}, + "YCG": {"Castlegar/West Kootenay Regional Airport", "Castlegar", "Canada", "YCG", "CYCG", 49.2963981628, -117.632003784, 1624, -8, "A", "America/Vancouver"}, + "YCH": {"Miramichi Airport", "Chatham", "Canada", "YCH", "CYCH", 47.007801, -65.449203, 108, -4, "A", "America/Halifax"}, + "YCL": {"Charlo Airport", "Charlo", "Canada", "YCL", "CYCL", 47.990799, -66.330299, 132, -4, "A", "America/Halifax"}, + "YCO": {"Kugluktuk Airport", "Coppermine", "Canada", "YCO", "CYCO", 67.81670379639999, -115.143997192, 74, -7, "A", "America/Edmonton"}, + "YCT": {"Coronation Airport", "Coronation", "Canada", "YCT", "CYCT", 52.0750007629, -111.444999695, 2595, -7, "A", "America/Edmonton"}, + "YCW": {"Chilliwack Airport", "Chilliwack", "Canada", "YCW", "CYCW", 49.1528015137, -121.939002991, 32, -8, "A", "America/Vancouver"}, + "YCY": {"Clyde River Airport", "Clyde River", "Canada", "YCY", "CYCY", 70.4860992432, -68.5167007446, 87, -5, "A", "America/Toronto"}, + "YZS": {"Coral Harbour Airport", "Coral Harbour", "Canada", "YZS", "CYZS", 64.1932983398, -83.3593978882, 210, -5, "A", "America/Coral_Harbour"}, + "YDA": {"Dawson City Airport", "Dawson", "Canada", "YDA", "CYDA", 64.04309844970703, -139.1280059814453, 1215, -8, "A", "America/Vancouver"}, + "YDB": {"Burwash Airport", "Burwash", "Canada", "YDB", "CYDB", 61.37110137939453, -139.04100036621094, 2647, -8, "A", "America/Vancouver"}, + "YDC": {"Princeton Airport", "Princeton", "Canada", "YDC", "CYDC", 49.4681015015, -120.511001587, 2298, -8, "A", "America/Vancouver"}, + "YDF": {"Deer Lake Airport", "Deer Lake", "Canada", "YDF", "CYDF", 49.21080017089844, -57.39139938354492, 72, -3.5, "A", "America/St_Johns"}, + "YDL": {"Dease Lake Airport", "Dease Lake", "Canada", "YDL", "CYDL", 58.4221992493, -130.031997681, 2600, -8, "A", "America/Vancouver"}, + "YDN": {"Dauphin Barker Airport", "Dauphin", "Canada", "YDN", "CYDN", 51.100799560546875, -100.052001953125, 999, -6, "A", "America/Winnipeg"}, + "YDQ": {"Dawson Creek Airport", "Dawson Creek", "Canada", "YDQ", "CYDQ", 55.7422981262207, -120.18299865722656, 2148, -7, "A", "America/Dawson_Creek"}, + "YEG": {"Edmonton International Airport", "Edmonton", "Canada", "YEG", "CYEG", 53.309700012200004, -113.580001831, 2373, -7, "A", "America/Edmonton"}, + "YEK": {"Arviat Airport", "Eskimo Point", "Canada", "YEK", "CYEK", 61.0942001343, -94.07080078119999, 32, -6, "A", "America/Winnipeg"}, + "YEN": {"Estevan Airport", "Estevan", "Canada", "YEN", "CYEN", 49.2103004456, -102.966003418, 1905, -6, "N", "America/Regina"}, + "YET": {"Edson Airport", "Edson", "Canada", "YET", "CYET", 53.578899383499994, -116.464996338, 3043, -7, "A", "America/Edmonton"}, + "YEU": {"Eureka Airport", "Eureka", "Canada", "YEU", "CYEU", 79.9946975708, -85.814201355, 256, -6, "A", "America/Winnipeg"}, + "YEV": {"Inuvik Mike Zubko Airport", "Inuvik", "Canada", "YEV", "CYEV", 68.30419921880001, -133.483001709, 224, -7, "A", "America/Edmonton"}, + "YFB": {"Iqaluit Airport", "Iqaluit", "Canada", "YFB", "CYFB", 63.756401062, -68.5558013916, 110, -5, "A", "America/Toronto"}, + "YFC": {"Fredericton Airport", "Fredericton", "Canada", "YFC", "CYFC", 45.868900299072266, -66.53720092773438, 68, -4, "A", "America/Halifax"}, + "YFO": {"Flin Flon Airport", "Flin Flon", "Canada", "YFO", "CYFO", 54.6781005859375, -101.68199920654297, 997, -6, "A", "America/Winnipeg"}, + "YFR": {"Fort Resolution Airport", "Fort Resolution", "Canada", "YFR", "CYFR", 61.1808013916, -113.690002441, 526, -7, "A", "America/Edmonton"}, + "YFS": {"Fort Simpson Airport", "Fort Simpson", "Canada", "YFS", "CYFS", 61.76020050048828, -121.23699951171875, 555, -7, "A", "America/Edmonton"}, + "YGK": {"Kingston Norman Rogers Airport", "Kingston", "Canada", "YGK", "CYGK", 44.22529983520508, -76.5969009399414, 305, -5, "A", "America/Toronto"}, + "YGL": {"La Grande Rivière Airport", "La Grande Riviere", "Canada", "YGL", "CYGL", 53.625301361083984, -77.7042007446289, 639, -5, "A", "America/Toronto"}, + "YGP": {"Gaspé (Michel-Pouliot) Airport", "Gaspe", "Canada", "YGP", "CYGP", 48.7752990723, -64.4785995483, 112, -5, "A", "America/Toronto"}, + "YGQ": {"Geraldton Greenstone Regional Airport", "Geraldton", "Canada", "YGQ", "CYGQ", 49.77830123901367, -86.93939971923828, 1144, -5, "A", "America/Toronto"}, + "YGR": {"Îles-de-la-Madeleine Airport", "Iles De La Madeleine", "Canada", "YGR", "CYGR", 47.42470169067383, -61.778099060058594, 35, -5, "A", "America/Toronto"}, + "YHB": {"Hudson Bay Airport", "Hudson Bay", "Canada", "YHB", "CYHB", 52.8166999817, -102.310997009, 1175, -6, "N", "America/Regina"}, + "YHD": {"Dryden Regional Airport", "Dryden", "Canada", "YHD", "CYHD", 49.83169937133789, -92.74420166015625, 1354, -6, "A", "America/Winnipeg"}, + "YHI": {"Ulukhaktok Holman Airport", "Holman Island", "Canada", "YHI", "CYHI", 70.76280212402344, -117.80599975585938, 117, -7, "A", "America/Edmonton"}, + "YHK": {"Gjoa Haven Airport", "Gjoa Haven", "Canada", "YHK", "CYHK", 68.635597229, -95.84970092770001, 152, -7, "A", "America/Edmonton"}, + "YHM": {"John C. Munro Hamilton International Airport", "Hamilton", "Canada", "YHM", "CYHM", 43.173599243199995, -79.93499755859999, 780, -5, "A", "America/Toronto"}, + "YHU": {"Montréal / Saint-Hubert Airport", "Montreal", "Canada", "YHU", "CYHU", 45.5175018311, -73.4169006348, 90, -5, "A", "America/Toronto"}, + "YHY": {"Hay River / Merlyn Carter Airport", "Hay River", "Canada", "YHY", "CYHY", 60.8396987915, -115.782997131, 541, -7, "A", "America/Edmonton"}, + "YHZ": {"Halifax / Stanfield International Airport", "Halifax", "Canada", "YHZ", "CYHZ", 44.8807983398, -63.5085983276, 477, -4, "A", "America/Halifax"}, + "YIB": {"Atikokan Municipal Airport", "Atikokan", "Canada", "YIB", "CYIB", 48.7738990784, -91.6386032104, 1408, -5, "A", "America/Coral_Harbour"}, + "YIO": {"Pond Inlet Airport", "Pond Inlet", "Canada", "YIO", "CYIO", 72.6832962036, -77.9666976929, 181, -5, "A", "America/Toronto"}, + "YJN": {"St Jean Airport", "St. Jean", "Canada", "YJN", "CYJN", 45.29439926147461, -73.28109741210938, 136, -5, "A", "America/Toronto"}, + "YJT": {"Stephenville Airport", "Stephenville", "Canada", "YJT", "CYJT", 48.5442008972168, -58.54999923706055, 84, -3.5, "A", "America/St_Johns"}, + "YKA": {"Kamloops Airport", "Kamloops", "Canada", "YKA", "CYKA", 50.7022018433, -120.444000244, 1133, -8, "A", "America/Vancouver"}, + "YKF": {"Waterloo Airport", "Waterloo", "Canada", "YKF", "CYKF", 43.460800170899994, -80.3786010742, 1055, -5, "A", "America/Toronto"}, + "YKL": {"Schefferville Airport", "Schefferville", "Canada", "YKL", "CYKL", 54.805301666259766, -66.8052978515625, 1709, -5, "A", "America/Toronto"}, + "YKY": {"Kindersley Airport", "Kindersley", "Canada", "YKY", "CYKY", 51.5175018311, -109.180999756, 2277, -6, "N", "America/Regina"}, + "YKZ": {"Buttonville Municipal Airport", "Toronto", "Canada", "YKZ", "CYKZ", 43.86220169067383, -79.37000274658203, 650, -5, "A", "America/Toronto"}, + "YLD": {"Chapleau Airport", "Chapleau", "Canada", "YLD", "CYLD", 47.81999969482422, -83.3467025756836, 1470, -5, "A", "America/Toronto"}, + "YLJ": {"Meadow Lake Airport", "Meadow Lake", "Canada", "YLJ", "CYLJ", 54.125301361083984, -108.52300262451172, 1576, -6, "N", "America/Regina"}, + "YLL": {"Lloydminster Airport", "Lloydminster", "Canada", "YLL", "CYLL", 53.309200286865234, -110.072998046875, 2193, -7, "A", "America/Edmonton"}, + "YLT": {"Alert Airport", "Alert", "Canada", "YLT", "CYLT", 82.51779937740001, -62.2806015015, 100, -5, "A", "America/Toronto"}, + "YLW": {"Kelowna International Airport", "Kelowna", "Canada", "YLW", "CYLW", 49.9561004639, -119.377998352, 1421, -8, "A", "America/Vancouver"}, + "YMA": {"Mayo Airport", "Mayo", "Canada", "YMA", "CYMA", 63.61640167236328, -135.8679962158203, 1653, -8, "A", "America/Vancouver"}, + "YMJ": {"Moose Jaw Air Vice Marshal C. M. McEwen Airport", "Moose Jaw", "Canada", "YMJ", "CYMJ", 50.330299377441406, -105.55899810791016, 1892, -6, "N", "America/Regina"}, + "YMM": {"Fort McMurray Airport", "Fort Mcmurray", "Canada", "YMM", "CYMM", 56.653301239, -111.222000122, 1211, -7, "A", "America/Edmonton"}, + "YMO": {"Moosonee Airport", "Moosonee", "Canada", "YMO", "CYMO", 51.291099548339844, -80.60780334472656, 30, -5, "A", "America/Toronto"}, + "YMW": {"Maniwaki Airport", "Maniwaki", "Canada", "YMW", "CYMW", 46.2728004456, -75.9906005859, 656, -5, "A", "America/Toronto"}, + "YMX": {"Montreal International (Mirabel) Airport", "Montreal", "Canada", "YMX", "CYMX", 45.6795005798, -74.0386962891, 270, -5, "A", "America/Toronto"}, + "YNA": {"Natashquan Airport", "Natashquan", "Canada", "YNA", "CYNA", 50.189998626708984, -61.78919982910156, 39, -5, "A", "America/Toronto"}, + "YND": {"Ottawa / Gatineau Airport", "Gatineau", "Canada", "YND", "CYND", 45.521701812699995, -75.5635986328, 211, -5, "A", "America/Toronto"}, + "YNM": {"Matagami Airport", "Matagami", "Canada", "YNM", "CYNM", 49.76169967651367, -77.80280303955078, 918, -5, "A", "America/Toronto"}, + "YOC": {"Old Crow Airport", "Old Crow", "Canada", "YOC", "CYOC", 67.57060241699219, -139.83900451660156, 824, -8, "A", "America/Vancouver"}, + "YOD": {"CFB Cold Lake", "Cold Lake", "Canada", "YOD", "CYOD", 54.404998779296875, -110.27899932861328, 1775, -7, "A", "America/Edmonton"}, + "YOJ": {"High Level Airport", "High Level", "Canada", "YOJ", "CYOJ", 58.62139892578125, -117.16500091552734, 1110, -7, "A", "America/Edmonton"}, + "YOW": {"Ottawa Macdonald-Cartier International Airport", "Ottawa", "Canada", "YOW", "CYOW", 45.3224983215332, -75.66919708251953, 374, -5, "A", "America/Toronto"}, + "YPA": {"Prince Albert Glass Field", "Prince Albert", "Canada", "YPA", "CYPA", 53.214199066199996, -105.672996521, 1405, -6, "N", "America/Regina"}, + "YPE": {"Peace River Airport", "Peace River", "Canada", "YPE", "CYPE", 56.226898193359375, -117.4469985961914, 1873, -7, "A", "America/Edmonton"}, + "YPG": {"Southport Airport", "Portage-la-prairie", "Canada", "YPG", "CYPG", 49.903099, -98.273817, 885, -6, "A", "America/Winnipeg"}, + "YPL": {"Pickle Lake Airport", "Pickle Lake", "Canada", "YPL", "CYPL", 51.4463996887207, -90.21420288085938, 1267, -5, "A", "America/Coral_Harbour"}, + "YPN": {"Port Menier Airport", "Port Menier", "Canada", "YPN", "CYPN", 49.83639907836914, -64.2885971069336, 167, -5, "A", "America/Toronto"}, + "YPQ": {"Peterborough Airport", "Peterborough", "Canada", "YPQ", "CYPQ", 44.22999954223633, -78.36329650878906, 628, -5, "A", "America/Toronto"}, + "YPR": {"Prince Rupert Airport", "Prince Pupert", "Canada", "YPR", "CYPR", 54.286098480199996, -130.445007324, 116, -8, "A", "America/Vancouver"}, + "YPY": {"Fort Chipewyan Airport", "Fort Chipewyan", "Canada", "YPY", "CYPY", 58.7672004699707, -111.11699676513672, 761, -7, "A", "America/Edmonton"}, + "YQA": {"Muskoka Airport", "Muskoka", "Canada", "YQA", "CYQA", 44.974700927734375, -79.30329895019531, 925, -5, "A", "America/Toronto"}, + "YQB": {"Quebec Jean Lesage International Airport", "Quebec", "Canada", "YQB", "CYQB", 46.7911, -71.393303, 244, -5, "A", "America/Toronto"}, + "YQF": {"Red Deer Regional Airport", "Red Deer Industrial", "Canada", "YQF", "CYQF", 52.18220138549805, -113.89399719238281, 2968, -7, "A", "America/Edmonton"}, + "YQG": {"Windsor Airport", "Windsor", "Canada", "YQG", "CYQG", 42.27560043334961, -82.95559692382812, 622, -5, "A", "America/Toronto"}, + "YQH": {"Watson Lake Airport", "Watson Lake", "Canada", "YQH", "CYQH", 60.11640167236328, -128.82200622558594, 2255, -8, "A", "America/Vancouver"}, + "YQK": {"Kenora Airport", "Kenora", "Canada", "YQK", "CYQK", 49.788299560546875, -94.36309814453125, 1332, -6, "A", "America/Winnipeg"}, + "YQL": {"Lethbridge County Airport", "Lethbridge", "Canada", "YQL", "CYQL", 49.6302986145, -112.800003052, 3048, -7, "A", "America/Edmonton"}, + "YQM": {"Greater Moncton International Airport", "Moncton", "Canada", "YQM", "CYQM", 46.11220169067383, -64.67859649658203, 232, -4, "A", "America/Halifax"}, + "YQQ": {"Comox Airport", "Comox", "Canada", "YQQ", "CYQQ", 49.71080017089844, -124.88700103759766, 84, -8, "A", "America/Vancouver"}, + "YQR": {"Regina International Airport", "Regina", "Canada", "YQR", "CYQR", 50.43190002441406, -104.66600036621094, 1894, -6, "N", "America/Regina"}, + "YQT": {"Thunder Bay Airport", "Thunder Bay", "Canada", "YQT", "CYQT", 48.37189865112305, -89.32389831542969, 653, -5, "A", "America/Toronto"}, + "YQU": {"Grande Prairie Airport", "Grande Prairie", "Canada", "YQU", "CYQU", 55.1796989441, -118.885002136, 2195, -7, "A", "America/Edmonton"}, + "YQV": {"Yorkton Municipal Airport", "Yorkton", "Canada", "YQV", "CYQV", 51.26470184326172, -102.46199798583984, 1635, -6, "N", "America/Regina"}, + "YQW": {"North Battleford Airport", "North Battleford", "Canada", "YQW", "CYQW", 52.76919937133789, -108.24400329589844, 1799, -6, "N", "America/Regina"}, + "YQX": {"Gander International Airport", "Gander", "Canada", "YQX", "CYQX", 48.9369010925293, -54.56809997558594, 496, -3.5, "A", "America/St_Johns"}, + "YQY": {"Sydney / J.A. Douglas McCurdy Airport", "Sydney", "Canada", "YQY", "CYQY", 46.161399841299996, -60.0477981567, 203, -4, "A", "America/Halifax"}, + "YQZ": {"Quesnel Airport", "Quesnel", "Canada", "YQZ", "CYQZ", 53.026100158691406, -122.51000213623047, 1789, -8, "A", "America/Vancouver"}, + "YRB": {"Resolute Bay Airport", "Resolute", "Canada", "YRB", "CYRB", 74.7169036865, -94.9693984985, 215, -6, "A", "America/Winnipeg"}, + "YRI": {"Rivière-du-Loup Airport", "Riviere Du Loup", "Canada", "YRI", "CYRI", 47.764400482177734, -69.58470153808594, 427, -5, "A", "America/Toronto"}, + "YRJ": {"Roberval Airport", "Roberval", "Canada", "YRJ", "CYRJ", 48.52000045776367, -72.2656021118164, 586, -5, "A", "America/Toronto"}, + "YRM": {"Rocky Mountain House Airport", "Rocky Mountain House", "Canada", "YRM", "CYRM", 52.4296989441, -114.903999329, 3244, -7, "A", "America/Edmonton"}, + "YRT": {"Rankin Inlet Airport", "Rankin Inlet", "Canada", "YRT", "CYRT", 62.8114013672, -92.1157989502, 94, -6, "A", "America/Winnipeg"}, + "YSB": {"Sudbury Airport", "Sudbury", "Canada", "YSB", "CYSB", 46.625, -80.79889678955078, 1141, -5, "A", "America/Toronto"}, + "YSC": {"Sherbrooke Airport", "Sherbrooke", "Canada", "YSC", "CYSC", 45.4385986328125, -71.69139862060547, 792, -5, "A", "America/Toronto"}, + "YSJ": {"Saint John Airport", "St. John", "Canada", "YSJ", "CYSJ", 45.31610107421875, -65.89029693603516, 357, -4, "A", "America/Halifax"}, + "YSM": {"Fort Smith Airport", "Fort Smith", "Canada", "YSM", "CYSM", 60.020301818847656, -111.96199798583984, 671, -7, "A", "America/Edmonton"}, + "YSR": {"Nanisivik Airport", "Nanisivik", "Canada", "YSR", "CYSR", 72.982201, -84.613602, 2106, -5, "A", "America/Toronto"}, + "YSU": {"Summerside Airport", "Summerside", "Canada", "YSU", "CYSU", 46.44060134887695, -63.83359909057617, 56, -4, "A", "America/Halifax"}, + "YSY": {"Sachs Harbour (David Nasogaluak Jr. Saaryuaq) Airport", "Sachs Harbour", "Canada", "YSY", "CYSY", 71.9938964844, -125.242996216, 282, -7, "A", "America/Edmonton"}, + "YTE": {"Cape Dorset Airport", "Cape Dorset", "Canada", "YTE", "CYTE", 64.2300033569, -76.5267028809, 164, -5, "A", "America/Toronto"}, + "YTH": {"Thompson Airport", "Thompson", "Canada", "YTH", "CYTH", 55.80110168457031, -97.86419677734375, 729, -6, "A", "America/Winnipeg"}, + "YTR": {"CFB Trenton", "Trenton", "Canada", "YTR", "CYTR", 44.118900299072266, -77.5280990600586, 283, -5, "A", "America/Toronto"}, + "YTS": {"Timmins/Victor M. Power", "Timmins", "Canada", "YTS", "CYTS", 48.569698333699996, -81.376701355, 967, -5, "A", "America/Toronto"}, + "YTZ": {"Billy Bishop Toronto City Centre Airport", "Toronto", "Canada", "YTZ", "CYTZ", 43.627499, -79.396202, 252, -5, "A", "America/Toronto"}, + "YUB": {"Tuktoyaktuk Airport", "Tuktoyaktuk", "Canada", "YUB", "CYUB", 69.43329620361328, -133.0260009765625, 15, -7, "A", "America/Edmonton"}, + "YUL": {"Montreal / Pierre Elliott Trudeau International Airport", "Montreal", "Canada", "YUL", "CYUL", 45.4706001282, -73.7407989502, 118, -5, "A", "America/Toronto"}, + "YUT": {"Repulse Bay Airport", "Repulse Bay", "Canada", "YUT", "CYUT", 66.5214004517, -86.22470092770001, 80, -6, "A", "America/Winnipeg"}, + "YUX": {"Hall Beach Airport", "Hall Beach", "Canada", "YUX", "CYUX", 68.77610015869999, -81.2425, 30, -5, "A", "America/Toronto"}, + "YUY": {"Rouyn Noranda Airport", "Rouyn", "Canada", "YUY", "CYUY", 48.20610046386719, -78.83560180664062, 988, -5, "A", "America/Toronto"}, + "YVC": {"La Ronge Airport", "La Ronge", "Canada", "YVC", "CYVC", 55.151401519800004, -105.262001038, 1242, -6, "N", "America/Regina"}, + "YVG": {"Vermilion Airport", "Vermillion", "Canada", "YVG", "CYVG", 53.355800628699996, -110.823997498, 2025, -7, "A", "America/Edmonton"}, + "YVM": {"Qikiqtarjuaq Airport", "Broughton Island", "Canada", "YVM", "CYVM", 67.5457992554, -64.03140258789999, 21, -5, "A", "America/Toronto"}, + "YVO": {"Val-d'Or Airport", "Val D'or", "Canada", "YVO", "CYVO", 48.0532989502, -77.7827987671, 1107, -5, "A", "America/Toronto"}, + "YVP": {"Kuujjuaq Airport", "Quujjuaq", "Canada", "YVP", "CYVP", 58.096099853515625, -68.4269027709961, 129, -5, "A", "America/Toronto"}, + "YVQ": {"Norman Wells Airport", "Norman Wells", "Canada", "YVQ", "CYVQ", 65.28160095214844, -126.7979965209961, 238, -7, "A", "America/Edmonton"}, + "YVR": {"Vancouver International Airport", "Vancouver", "Canada", "YVR", "CYVR", 49.193901062, -123.183998108, 14, -8, "A", "America/Vancouver"}, + "YVT": {"Buffalo Narrows Airport", "Buffalo Narrows", "Canada", "YVT", "CYVT", 55.8418998718, -108.417999268, 1423, -6, "N", "America/Regina"}, + "YVV": {"Wiarton Airport", "Wiarton", "Canada", "YVV", "CYVV", 44.7458, -81.107201, 729, -5, "A", "America/Toronto"}, + "YWA": {"Petawawa Airport", "Petawawa", "Canada", "YWA", "CYWA", 45.95220184326172, -77.31919860839844, 427, -5, "A", "America/Toronto"}, + "YWG": {"Winnipeg / James Armstrong Richardson International Airport", "Winnipeg", "Canada", "YWG", "CYWG", 49.909999847399995, -97.2398986816, 783, -6, "A", "America/Winnipeg"}, + "YWK": {"Wabush Airport", "Wabush", "Canada", "YWK", "CYWK", 52.92190170288086, -66.8644027709961, 1808, -4, "A", "America/Halifax"}, + "YWL": {"Williams Lake Airport", "Williams Lake", "Canada", "YWL", "CYWL", 52.1831016541, -122.054000854, 3085, -8, "A", "America/Vancouver"}, + "YWY": {"Wrigley Airport", "Wrigley", "Canada", "YWY", "CYWY", 63.20940017700195, -123.43699645996094, 489, -7, "A", "America/Edmonton"}, + "YXC": {"Cranbrook/Canadian Rockies International Airport", "Cranbrook", "Canada", "YXC", "CYXC", 49.610801696777, -115.78199768066, 3082, -7, "A", "America/Edmonton"}, + "YXD": {"Edmonton City Centre (Blatchford Field) Airport", "Edmonton", "Canada", "YXD", "CYXD", 53.5724983215, -113.521003723, 2202, -7, "A", "America/Edmonton"}, + "YXE": {"Saskatoon John G. Diefenbaker International Airport", "Saskatoon", "Canada", "YXE", "CYXE", 52.170799255371094, -106.69999694824219, 1653, -6, "N", "America/Regina"}, + "YXH": {"Medicine Hat Airport", "Medicine Hat", "Canada", "YXH", "CYXH", 50.01890182495117, -110.72100067138672, 2352, -7, "A", "America/Edmonton"}, + "YXJ": {"Fort St John Airport", "Fort Saint John", "Canada", "YXJ", "CYXJ", 56.23809814453125, -120.73999786376953, 2280, -7, "A", "America/Dawson_Creek"}, + "YXL": {"Sioux Lookout Airport", "Sioux Lookout", "Canada", "YXL", "CYXL", 50.11389923095703, -91.9052963256836, 1258, -6, "A", "America/Winnipeg"}, + "YXP": {"Pangnirtung Airport", "Pangnirtung", "Canada", "YXP", "CYXP", 66.1449966431, -65.71360015869999, 75, -5, "A", "America/Toronto"}, + "YXR": {"Earlton (Timiskaming Regional) Airport", "Earlton", "Canada", "YXR", "CYXR", 47.697400654599996, -79.8473453522, 800, -5, "A", "America/Toronto"}, + "YXS": {"Prince George Airport", "Prince George", "Canada", "YXS", "CYXS", 53.8894004822, -122.679000854, 2267, -8, "A", "America/Vancouver"}, + "YXT": {"Northwest Regional Airport Terrace-Kitimat", "Terrace", "Canada", "YXT", "CYXT", 54.468498, -128.576009, 713, -8, "A", "America/Vancouver"}, + "YXU": {"London Airport", "London", "Canada", "YXU", "CYXU", 43.035599, -81.1539, 912, -5, "A", "America/Toronto"}, + "YXX": {"Abbotsford Airport", "Abbotsford", "Canada", "YXX", "CYXX", 49.025299072265625, -122.36100006103516, 195, -8, "A", "America/Vancouver"}, + "YXY": {"Whitehorse / Erik Nielsen International Airport", "Whitehorse", "Canada", "YXY", "CYXY", 60.7095985413, -135.067001343, 2317, -8, "A", "America/Vancouver"}, + "YYB": {"North Bay Airport", "North Bay", "Canada", "YYB", "CYYB", 46.36360168457031, -79.42279815673828, 1215, -5, "A", "America/Toronto"}, + "YYC": {"Calgary International Airport", "Calgary", "Canada", "YYC", "CYYC", 51.113899231, -114.019996643, 3557, -7, "A", "America/Edmonton"}, + "YYD": {"Smithers Airport", "Smithers", "Canada", "YYD", "CYYD", 54.82469940185547, -127.18299865722656, 1712, -8, "A", "America/Vancouver"}, + "YYE": {"Fort Nelson Airport", "Fort Nelson", "Canada", "YYE", "CYYE", 58.8363990784, -122.597000122, 1253, -8, "A", "America/Vancouver"}, + "YYF": {"Penticton Airport", "Penticton", "Canada", "YYF", "CYYF", 49.46310043334961, -119.60199737548828, 1129, -8, "A", "America/Vancouver"}, + "YYG": {"Charlottetown Airport", "Charlottetown", "Canada", "YYG", "CYYG", 46.290000915527344, -63.12110137939453, 160, -4, "A", "America/Halifax"}, + "YYH": {"Taloyoak Airport", "Spence Bay", "Canada", "YYH", "CYYH", 69.5466995239, -93.5766983032, 92, -7, "A", "America/Edmonton"}, + "YYJ": {"Victoria International Airport", "Victoria", "Canada", "YYJ", "CYYJ", 48.646900177, -123.426002502, 63, -8, "A", "America/Vancouver"}, + "YYL": {"Lynn Lake Airport", "Lynn Lake", "Canada", "YYL", "CYYL", 56.86389923095703, -101.07599639892578, 1170, -6, "A", "America/Winnipeg"}, + "YYN": {"Swift Current Airport", "Swift Current", "Canada", "YYN", "CYYN", 50.291900634799994, -107.691001892, 2680, -6, "N", "America/Regina"}, + "YYQ": {"Churchill Airport", "Churchill", "Canada", "YYQ", "CYYQ", 58.739200592041016, -94.06500244140625, 94, -6, "A", "America/Winnipeg"}, + "YYR": {"Goose Bay Airport", "Goose Bay", "Canada", "YYR", "CYYR", 53.3191986084, -60.4258003235, 160, -4, "A", "America/Halifax"}, + "YYT": {"St. John's International Airport", "St. John's", "Canada", "YYT", "CYYT", 47.618598938, -52.7518997192, 461, -3.5, "A", "America/St_Johns"}, + "YYU": {"Kapuskasing Airport", "Kapuskasing", "Canada", "YYU", "CYYU", 49.41389846801758, -82.46749877929688, 743, -5, "A", "America/Toronto"}, + "YYW": {"Armstrong Airport", "Armstrong", "Canada", "YYW", "CYYW", 50.29029846191406, -88.90969848632812, 1058, -5, "A", "America/Toronto"}, + "YYY": {"Mont Joli Airport", "Mont Joli", "Canada", "YYY", "CYYY", 48.60860061645508, -68.20809936523438, 172, -5, "A", "America/Toronto"}, + "YYZ": {"Lester B. Pearson International Airport", "Toronto", "Canada", "YYZ", "CYYZ", 43.6772003174, -79.63059997559999, 569, -5, "A", "America/Toronto"}, + "YZD": {"Downsview Airport", "Toronto", "Canada", "YZD", "CYZD", 43.74250030517578, -79.4655990600586, 652, -5, "A", "America/Toronto"}, + "YZE": {"Gore Bay Manitoulin Airport", "Gore Bay", "Canada", "YZE", "CYZE", 45.88529968261719, -82.56780242919922, 635, -5, "A", "America/Toronto"}, + "YZF": {"Yellowknife Airport", "Yellowknife", "Canada", "YZF", "CYZF", 62.462799072265625, -114.44000244140625, 675, -7, "A", "America/Edmonton"}, + "YZH": {"Slave Lake Airport", "Slave Lake", "Canada", "YZH", "CYZH", 55.2930984497, -114.777000427, 1912, -7, "A", "America/Edmonton"}, + "YZP": {"Sandspit Airport", "Sandspit", "Canada", "YZP", "CYZP", 53.25429916379999, -131.813995361, 21, -8, "A", "America/Vancouver"}, + "YZR": {"Chris Hadfield Airport", "Sarnia", "Canada", "YZR", "CYZR", 42.9994010925293, -82.30889892578125, 594, -5, "A", "America/Toronto"}, + "YZT": {"Port Hardy Airport", "Port Hardy", "Canada", "YZT", "CYZT", 50.680599212646484, -127.36699676513672, 71, -8, "A", "America/Vancouver"}, + "YZU": {"Whitecourt Airport", "Whitecourt", "Canada", "YZU", "CYZU", 54.14390182495117, -115.78700256347656, 2567, -7, "A", "America/Edmonton"}, + "YZV": {"Sept-Îles Airport", "Sept-iles", "Canada", "YZV", "CYZV", 50.22330093383789, -66.2656021118164, 180, -5, "A", "America/Toronto"}, + "YZW": {"Teslin Airport", "Teslin", "Canada", "YZW", "CYZW", 60.17279815673828, -132.7429962158203, 2313, -8, "A", "America/Vancouver"}, + "YZX": {"CFB Greenwood", "Greenwood", "Canada", "YZX", "CYZX", 44.98440170288086, -64.91690063476562, 92, -4, "A", "America/Halifax"}, + "ZFA": {"Faro Airport", "Faro", "Canada", "ZFA", "CZFA", 62.20750045776367, -133.37600708007812, 2351, -8, "A", "America/Vancouver"}, + "ZFM": {"Fort Mcpherson Airport", "Fort Mcpherson", "Canada", "ZFM", "CZFM", 67.40750122070312, -134.86099243164062, 116, -7, "A", "America/Edmonton"}, + "BJA": {"Soummam Airport", "Bejaja", "Algeria", "BJA", "DAAE", 36.7120018005, 5.0699200630200005, 20, 1, "N", "Africa/Algiers"}, + "ALG": {"Houari Boumediene Airport", "Algier", "Algeria", "ALG", "DAAG", 36.691001892089844, 3.215409994125366, 82, 1, "N", "Africa/Algiers"}, + "DJG": {"Djanet Inedbirene Airport", "Djanet", "Algeria", "DJG", "DAAJ", 24.292800903299998, 9.45244026184, 3176, 1, "N", "Africa/Algiers"}, + "QFD": {"Boufarik Airport", "Boufarik", "Algeria", "QFD", "DAAK", 36.545799, 2.87611, 335, 1, "N", "Africa/Algiers"}, + "VVZ": {"Illizi Takhamalt Airport", "Illizi", "Algeria", "VVZ", "DAAP", 26.7234992981, 8.62265014648, 1778, 1, "N", "Africa/Algiers"}, + "TMR": {"Aguenar – Hadj Bey Akhamok Airport", "Tamanrasset", "Algeria", "TMR", "DAAT", 22.8115005493, 5.45107984543, 4518, 1, "N", "Africa/Algiers"}, + "GJL": {"Jijel Ferhat Abbas Airport", "Jijel", "Algeria", "GJL", "DAAV", 36.7951011658, 5.87361001968, 36, 1, "N", "Africa/Algiers"}, + "AAE": {"Annaba Airport", "Annaba", "Algeria", "AAE", "DABB", 36.822200775146484, 7.809169769287109, 16, 1, "N", "Africa/Algiers"}, + "CZL": {"Mohamed Boudiaf International Airport", "Constantine", "Algeria", "CZL", "DABC", 36.2760009765625, 6.620389938354492, 2265, 1, "N", "Africa/Algiers"}, + "TEE": {"Cheikh Larbi Tébessi Airport", "Tebessa", "Algeria", "TEE", "DABS", 35.4315986633, 8.12071990967, 2661, 1, "N", "Africa/Algiers"}, + "HRM": {"Hassi R'Mel Airport", "Tilrempt", "Algeria", "HRM", "DAFH", 32.93040084838867, 3.311539888381958, 2540, 1, "N", "Africa/Algiers"}, + "TID": {"Bou Chekif Airport", "Tiaret", "Algeria", "TID", "DAOB", 35.3410987854, 1.46315002441, 3245, 1, "N", "Africa/Algiers"}, + "TIN": {"Tindouf Airport", "Tindouf", "Algeria", "TIN", "DAOF", 27.7003993988, -8.167099952700001, 1453, 1, "N", "Africa/Algiers"}, + "QAS": {"Ech Cheliff Airport", "Ech-cheliff", "Algeria", "QAS", "DAOI", 36.2126998901, 1.33176994324, 463, 1, "N", "Africa/Algiers"}, + "TAF": {"Tafaraoui Airport", "Oran", "Algeria", "TAF", "DAOL", 35.54240036010742, -0.5322780013084412, 367, 1, "N", "Africa/Algiers"}, + "TLM": {"Zenata – Messali El Hadj Airport", "Tlemcen", "Algeria", "TLM", "DAON", 35.0167007446, -1.45000004768, 814, 1, "N", "Africa/Algiers"}, + "ORN": {"Es Senia Airport", "Oran", "Algeria", "ORN", "DAOO", 35.6239013672, -0.6211829781529999, 295, 1, "N", "Africa/Algiers"}, + "MUW": {"Ghriss Airport", "Ghriss", "Algeria", "MUW", "DAOV", 35.207698822021484, 0.14714199304580688, 1686, 1, "N", "Africa/Algiers"}, + "AZR": {"Touat Cheikh Sidi Mohamed Belkebir Airport", "Adrar", "Algeria", "AZR", "DAUA", 27.837600708007812, -0.18641400337219238, 919, 1, "N", "Africa/Algiers"}, + "BSK": {"Biskra Airport", "Biskra", "Algeria", "BSK", "DAUB", 34.793300628699996, 5.73823022842, 289, 1, "N", "Africa/Algiers"}, + "ELG": {"El Golea Airport", "El Golea", "Algeria", "ELG", "DAUE", 30.571300506591797, 2.8595900535583496, 1306, 1, "N", "Africa/Algiers"}, + "GHA": {"Noumérat - Moufdi Zakaria Airport", "Ghardaia", "Algeria", "GHA", "DAUG", 32.38410186767578, 3.794110059738159, 1512, 1, "N", "Africa/Algiers"}, + "HME": {"Oued Irara Airport", "Hassi Messaoud", "Algeria", "HME", "DAUH", 31.673000335699996, 6.140439987180001, 463, 1, "N", "Africa/Algiers"}, + "INZ": {"In Salah Airport", "In Salah", "Algeria", "INZ", "DAUI", 27.250999450699997, 2.51202011108, 896, 1, "N", "Africa/Algiers"}, + "TGR": {"Touggourt Sidi Madhi Airport", "Touggourt", "Algeria", "TGR", "DAUK", 33.06779861450195, 6.088669776916504, 279, 1, "N", "Africa/Algiers"}, + "LOO": {"Laghouat Airport", "Laghouat", "Algeria", "LOO", "DAUL", 33.764400482199996, 2.92833995819, 2510, 1, "N", "Africa/Algiers"}, + "TMX": {"Timimoun Airport", "Timimoun", "Algeria", "TMX", "DAUT", 29.2371006012, 0.276033014059, 1027, 1, "N", "Africa/Algiers"}, + "OGX": {"Ain el Beida Airport", "Ouargla", "Algeria", "OGX", "DAUU", 31.917200088500977, 5.412779808044434, 492, 1, "N", "Africa/Algiers"}, + "IAM": {"In Aménas Airport", "Zarzaitine", "Algeria", "IAM", "DAUZ", 28.0515003204, 9.64291000366, 1847, 1, "N", "Africa/Algiers"}, + "COO": {"Cadjehoun Airport", "Cotonou", "Benin", "COO", "DBBB", 6.357230186462402, 2.384350061416626, 19, 1, "N", "Africa/Porto-Novo"}, + "OUA": {"Ouagadougou Airport", "Ouagadougou", "Burkina Faso", "OUA", "DFFD", 12.35319995880127, -1.5124200582504272, 1037, 0, "N", "Africa/Ouagadougou"}, + "BOY": {"Bobo Dioulasso Airport", "Bobo-dioulasso", "Burkina Faso", "BOY", "DFOO", 11.160099983215332, -4.33096981048584, 1511, 0, "N", "Africa/Ouagadougou"}, + "ACC": {"Kotoka International Airport", "Accra", "Ghana", "ACC", "DGAA", 5.605189800262451, -0.16678600013256073, 205, 0, "N", "Africa/Accra"}, + "TML": {"Tamale Airport", "Tamale", "Ghana", "TML", "DGLE", 9.55718994140625, -0.8632140159606934, 553, 0, "N", "Africa/Accra"}, + "NYI": {"Sunyani Airport", "Sunyani", "Ghana", "NYI", "DGSN", 7.361830234527588, -2.3287599086761475, 1014, 0, "N", "Africa/Accra"}, + "TKD": {"Takoradi Airport", "Takoradi", "Ghana", "TKD", "DGTK", 4.896059989929199, -1.7747600078582764, 21, 0, "N", "Africa/Accra"}, + "ABJ": {"Port Bouet Airport", "Abidjan", "Cote d'Ivoire", "ABJ", "DIAP", 5.261390209197998, -3.9262900352478027, 21, 0, "N", "Africa/Abidjan"}, + "BYK": {"Bouaké Airport", "Bouake", "Cote d'Ivoire", "BYK", "DIBK", 7.738800048828125, -5.073669910430908, 1230, 0, "N", "Africa/Abidjan"}, + "DJO": {"Daloa Airport", "Daloa", "Cote d'Ivoire", "DJO", "DIDL", 6.792809963226318, -6.473189830780029, 823, 0, "N", "Africa/Abidjan"}, + "HGO": {"Korhogo Airport", "Korhogo", "Cote d'Ivoire", "HGO", "DIKO", 9.38718032837, -5.55666017532, 1214, 0, "N", "Africa/Abidjan"}, + "MJC": {"Man Airport", "Man", "Cote d'Ivoire", "MJC", "DIMN", 7.272069931030273, -7.58735990524292, 1089, 0, "N", "Africa/Abidjan"}, + "SPY": {"San Pedro Airport", "San Pedro", "Cote d'Ivoire", "SPY", "DISP", 4.746719837188721, -6.660820007324219, 26, 0, "N", "Africa/Abidjan"}, + "ASK": {"Yamoussoukro Airport", "Yamoussoukro", "Cote d'Ivoire", "ASK", "DIYO", 6.9031701088, -5.36558008194, 699, 0, "N", "Africa/Abidjan"}, + "ABV": {"Nnamdi Azikiwe International Airport", "Abuja", "Nigeria", "ABV", "DNAA", 9.006790161132812, 7.263169765472412, 1123, 1, "N", "Africa/Lagos"}, + "AKR": {"Akure Airport", "Akure", "Nigeria", "AKR", "DNAK", 7.246739864349365, 5.3010101318359375, 1100, 1, "N", "Africa/Lagos"}, + "BNI": {"Benin Airport", "Benin", "Nigeria", "BNI", "DNBE", 6.316979885101318, 5.5995001792907715, 258, 1, "N", "Africa/Lagos"}, + "CBQ": {"Margaret Ekpo International Airport", "Calabar", "Nigeria", "CBQ", "DNCA", 4.976019859313965, 8.347200393676758, 210, 1, "N", "Africa/Lagos"}, + "ENU": {"Akanu Ibiam International Airport", "Enugu", "Nigeria", "ENU", "DNEN", 6.474269866943359, 7.561960220336914, 466, 1, "N", "Africa/Lagos"}, + "QUS": {"Gusau Airport", "Gusau", "Nigeria", "QUS", "DNGU", 12.171699523925781, 6.696109771728516, 1520, 1, "N", "Africa/Lagos"}, + "IBA": {"Ibadan Airport", "Ibadan", "Nigeria", "IBA", "DNIB", 7.362460136413574, 3.97832989692688, 725, 1, "N", "Africa/Lagos"}, + "ILR": {"Ilorin International Airport", "Ilorin", "Nigeria", "ILR", "DNIL", 8.440210342407227, 4.493919849395752, 1126, 1, "N", "Africa/Lagos"}, + "JOS": {"Yakubu Gowon Airport", "Jos", "Nigeria", "JOS", "DNJO", 9.639829635620117, 8.869050025939941, 4232, 1, "N", "Africa/Lagos"}, + "KAD": {"Kaduna Airport", "Kaduna", "Nigeria", "KAD", "DNKA", 10.696000099182129, 7.320109844207764, 2073, 1, "N", "Africa/Lagos"}, + "KAN": {"Mallam Aminu International Airport", "Kano", "Nigeria", "KAN", "DNKN", 12.047599792480469, 8.524620056152344, 1562, 1, "N", "Africa/Lagos"}, + "MIU": {"Maiduguri International Airport", "Maiduguri", "Nigeria", "MIU", "DNMA", 11.855299949645996, 13.080900192260742, 1099, 1, "N", "Africa/Lagos"}, + "MDI": {"Makurdi Airport", "Makurdi", "Nigeria", "MDI", "DNMK", 7.7038798332214355, 8.613940238952637, 371, 1, "N", "Africa/Lagos"}, + "LOS": {"Murtala Muhammed International Airport", "Lagos", "Nigeria", "LOS", "DNMM", 6.5773701667785645, 3.321160078048706, 135, 1, "N", "Africa/Lagos"}, + "MXJ": {"Minna Airport", "Minna", "Nigeria", "MXJ", "DNMN", 9.652170181274414, 6.462259769439697, 834, 1, "N", "Africa/Lagos"}, + "PHC": {"Port Harcourt International Airport", "Port Hartcourt", "Nigeria", "PHC", "DNPO", 5.0154900550842285, 6.94959020614624, 87, 1, "N", "Africa/Lagos"}, + "SKO": {"Sadiq Abubakar III International Airport", "Sokoto", "Nigeria", "SKO", "DNSO", 12.916299819946289, 5.207190036773682, 1010, 1, "N", "Africa/Lagos"}, + "YOL": {"Yola Airport", "Yola", "Nigeria", "YOL", "DNYO", 9.257550239562988, 12.430399894714355, 599, 1, "N", "Africa/Lagos"}, + "ZAR": {"Zaria Airport", "Zaria", "Nigeria", "ZAR", "DNZA", 11.130200386047363, 7.685810089111328, 2170, 1, "N", "Africa/Lagos"}, + "MFQ": {"Maradi Airport", "Maradi", "Niger", "MFQ", "DRRM", 13.5024995803833, 7.1267499923706055, 1240, 1, "N", "Africa/Niamey"}, + "NIM": {"Diori Hamani International Airport", "Niamey", "Niger", "NIM", "DRRN", 13.481499671936035, 2.183609962463379, 732, 1, "N", "Africa/Niamey"}, + "THZ": {"Tahoua Airport", "Tahoua", "Niger", "THZ", "DRRT", 14.875699996948242, 5.265359878540039, 1266, 1, "N", "Africa/Niamey"}, + "AJY": {"Mano Dayak International Airport", "Agadez", "Niger", "AJY", "DRZA", 16.965999603271484, 8.000109672546387, 1657, 1, "N", "Africa/Niamey"}, + "ZND": {"Zinder Airport", "Zinder", "Niger", "ZND", "DRZR", 13.779000282287598, 8.983759880065918, 1516, 1, "N", "Africa/Niamey"}, + "MIR": {"Monastir Habib Bourguiba International Airport", "Monastir", "Tunisia", "MIR", "DTMB", 35.75809860229492, 10.75469970703125, 9, 1, "E", "Africa/Tunis"}, + "TUN": {"Tunis Carthage International Airport", "Tunis", "Tunisia", "TUN", "DTTA", 36.85100173950195, 10.22719955444336, 22, 1, "E", "Africa/Tunis"}, + "GAF": {"Gafsa Ksar International Airport", "Gafsa", "Tunisia", "GAF", "DTTF", 34.422000885009766, 8.822500228881836, 1060, 1, "E", "Africa/Tunis"}, + "GAE": {"Gabès Matmata International Airport", "Gabes", "Tunisia", "GAE", "DTTG", 33.87689971923828, 10.103300094604492, 26, 1, "E", "Africa/Tunis"}, + "DJE": {"Djerba Zarzis International Airport", "Djerba", "Tunisia", "DJE", "DTTJ", 33.875, 10.775500297546387, 19, 1, "E", "Africa/Tunis"}, + "EBM": {"El Borma Airport", "El Borma", "Tunisia", "EBM", "DTTR", 31.704299926757812, 9.254619598388672, 827, 1, "E", "Africa/Tunis"}, + "SFA": {"Sfax Thyna International Airport", "Sfax", "Tunisia", "SFA", "DTTX", 34.71799850463867, 10.690999984741211, 85, 1, "E", "Africa/Tunis"}, + "TOE": {"Tozeur Nefta International Airport", "Tozeur", "Tunisia", "TOE", "DTTZ", 33.939701080322266, 8.110560417175293, 287, 1, "E", "Africa/Tunis"}, + "LRL": {"Niamtougou International Airport", "Niatougou", "Togo", "LRL", "DXNG", 9.767330169677734, 1.091249942779541, 1515, 0, "N", "Africa/Lome"}, + "LFW": {"Lomé-Tokoin Airport", "Lome", "Togo", "LFW", "DXXX", 6.165609836578369, 1.2545100450515747, 72, 0, "N", "Africa/Lome"}, + "ANR": {"Antwerp International Airport (Deurne)", "Antwerp", "Belgium", "ANR", "EBAW", 51.1893997192, 4.46027994156, 39, 1, "E", "Europe/Brussels"}, + "BRU": {"Brussels Airport", "Brussels", "Belgium", "BRU", "EBBR", 50.901401519800004, 4.48443984985, 184, 1, "E", "Europe/Brussels"}, + "CRL": {"Brussels South Charleroi Airport", "Charleroi", "Belgium", "CRL", "EBCI", 50.459201812699995, 4.45382022858, 614, 1, "E", "Europe/Brussels"}, + "QKT": {"Wevelgem Airport", "Kortrijk-vevelgem", "Belgium", "QKT", "EBKT", 50.817199707, 3.20472002029, 64, 1, "E", "Europe/Brussels"}, + "LGG": {"Liège Airport", "Liege", "Belgium", "LGG", "EBLG", 50.63740158081055, 5.443220138549805, 659, 1, "E", "Europe/Brussels"}, + "OST": {"Ostend-Bruges International Airport", "Ostend", "Belgium", "OST", "EBOS", 51.198898315399994, 2.8622200489, 13, 1, "E", "Europe/Brussels"}, + "AOC": {"Altenburg-Nobitz Airport", "Altenburg", "Germany", "AOC", "EDAC", 50.9819450378418, 12.506388664245605, 640, 1, "E", "Europe/Berlin"}, + "BBH": {"Barth Airport", "Barth", "Germany", "BBH", "EDBH", 54.338253, 12.710515, 23, 1, "E", "Europe/Berlin"}, + "SXF": {"Berlin-Schönefeld International Airport", "Berlin", "Germany", "SXF", "EDDB", 52.380001068115, 13.522500038147, 157, 1, "E", "Europe/Berlin"}, + "DRS": {"Dresden Airport", "Dresden", "Germany", "DRS", "EDDC", 51.1328010559082, 13.767200469970703, 755, 1, "E", "Europe/Berlin"}, + "ERF": {"Erfurt Airport", "Erfurt", "Germany", "ERF", "EDDE", 50.979801177978516, 10.958100318908691, 1036, 1, "E", "Europe/Berlin"}, + "FRA": {"Frankfurt am Main International Airport", "Frankfurt", "Germany", "FRA", "EDDF", 50.0333333, 8.5705556, 364, 1, "E", "Europe/Berlin"}, + "FMO": {"Münster Osnabrück Airport", "Munster", "Germany", "FMO", "EDDG", 52.134601593, 7.68483018875, 160, 1, "E", "Europe/Berlin"}, + "HAM": {"Hamburg Airport", "Hamburg", "Germany", "HAM", "EDDH", 53.630401611328, 9.9882297515869, 53, 1, "E", "Europe/Berlin"}, + "THF": {"Berlin-Tempelhof International Airport", "Berlin", "Germany", "THF", "EDDI", 52.472999572753906, 13.403900146484375, 167, 1, "E", "Europe/Berlin"}, + "CGN": {"Cologne Bonn Airport", "Cologne", "Germany", "CGN", "EDDK", 50.8658981323, 7.1427397728, 302, 1, "E", "Europe/Berlin"}, + "DUS": {"Düsseldorf International Airport", "Duesseldorf", "Germany", "DUS", "EDDL", 51.28950119018555, 6.766779899597168, 147, 1, "E", "Europe/Berlin"}, + "MUC": {"Munich International Airport", "Munich", "Germany", "MUC", "EDDM", 48.353801727295, 11.786100387573, 1487, 1, "E", "Europe/Berlin"}, + "NUE": {"Nuremberg Airport", "Nuernberg", "Germany", "NUE", "EDDN", 49.498699, 11.0780556, 1046, 1, "E", "Europe/Berlin"}, + "LEJ": {"Leipzig Halle Airport", "Leipzig", "Germany", "LEJ", "EDDP", 51.4238889, 12.2363889, 465, 1, "E", "Europe/Berlin"}, + "SCN": {"Saarbrücken Airport", "Saarbruecken", "Germany", "SCN", "EDDR", 49.214599609400004, 7.10950994492, 1058, 1, "E", "Europe/Berlin"}, + "STR": {"Stuttgart Airport", "Stuttgart", "Germany", "STR", "EDDS", 48.689899444599995, 9.22196006775, 1276, 1, "E", "Europe/Berlin"}, + "TXL": {"Berlin-Tegel International Airport", "Berlin", "Germany", "TXL", "EDDT", 52.5597000122, 13.2876996994, 122, 1, "E", "Europe/Berlin"}, + "HAJ": {"Hannover Airport", "Hannover", "Germany", "HAJ", "EDDV", 52.461101532, 9.685079574580001, 183, 1, "E", "Europe/Berlin"}, + "BRE": {"Bremen Airport", "Bremen", "Germany", "BRE", "EDDW", 53.0475006104, 8.78666973114, 14, 1, "E", "Europe/Berlin"}, + "QEF": {"Frankfurt-Egelsbach Airport", "Egelsbach", "Germany", "QEF", "EDFE", 49.959999084472656, 8.645833015441895, 384, 1, "E", "Europe/Berlin"}, + "HHN": {"Frankfurt-Hahn Airport", "Hahn", "Germany", "HHN", "EDFH", 49.948699951200005, 7.263889789579999, 1649, 1, "E", "Europe/Berlin"}, + "MHG": {"Mannheim-City Airport", "Mannheim", "Germany", "MHG", "EDFM", 49.47305679321289, 8.514166831970215, 308, 1, "E", "Europe/Berlin"}, + "XFW": {"Hamburg-Finkenwerder Airport", "Hamburg", "Germany", "XFW", "EDHI", 53.5352783203125, 9.835556030273438, 23, 1, "E", "Europe/Berlin"}, + "KEL": {"Kiel-Holtenau Airport", "Kiel", "Germany", "KEL", "EDHK", 54.37944412231445, 10.145277976989746, 102, 1, "E", "Europe/Berlin"}, + "LBC": {"Lübeck Blankensee Airport", "Luebeck", "Germany", "LBC", "EDHL", 53.8054008484, 10.7192001343, 53, 1, "E", "Europe/Berlin"}, + "ZCA": {"Arnsberg-Menden Airport", "Arnsberg", "Germany", "ZCA", "EDLA", 51.483890533447266, 7.8983330726623535, 794, 1, "E", "Europe/Berlin"}, + "ESS": {"Essen Mulheim Airport", "Essen", "Germany", "ESS", "EDLE", 51.40230178833008, 6.9373297691345215, 424, 1, "E", "Europe/Berlin"}, + "MGL": {"Mönchengladbach Airport", "Moenchengladbach", "Germany", "MGL", "EDLN", 51.23027801513672, 6.504444122314453, 125, 1, "E", "Europe/Berlin"}, + "PAD": {"Paderborn Lippstadt Airport", "Paderborn", "Germany", "PAD", "EDLP", 51.614101409899995, 8.616319656369999, 699, 1, "E", "Europe/Berlin"}, + "DTM": {"Dortmund Airport", "Dortmund", "Germany", "DTM", "EDLW", 51.51829910279999, 7.61223983765, 425, 1, "E", "Europe/Berlin"}, + "AGB": {"Augsburg Airport", "Augsburg", "Germany", "AGB", "EDMA", 48.425278, 10.931667, 1516, 1, "E", "Europe/Berlin"}, + "OBF": {"Oberpfaffenhofen Airport", "Oberpfaffenhofen", "Germany", "OBF", "EDMO", 48.08140182495117, 11.283100128173828, 1947, 1, "E", "Europe/Berlin"}, + "RBM": {"Straubing Airport", "Straubing", "Germany", "RBM", "EDMS", 48.90083312988281, 12.516667366027832, 1047, 1, "E", "Europe/Berlin"}, + "FDH": {"Friedrichshafen Airport", "Friedrichshafen", "Germany", "FDH", "EDNY", 47.671298980699994, 9.51148986816, 1367, 1, "E", "Europe/Berlin"}, + "SZW": {"Schwerin Parchim Airport", "Parchim", "Germany", "SZW", "EDOP", 53.426998, 11.7834, 166, 1, "E", "Europe/Berlin"}, + "ZSN": {"Stendal-Borstel Airport", "Stendal", "Germany", "ZSN", "EDOV", 52.62888717651367, 11.818611145019531, 184, 1, "E", "Europe/Berlin"}, + "BYU": {"Bayreuth Airport", "Bayreuth", "Germany", "BYU", "EDQD", 49.98500061035156, 11.640000343322754, 1601, 1, "E", "Europe/Berlin"}, + "HOQ": {"Hof-Plauen Airport", "Hof", "Germany", "HOQ", "EDQM", 50.288612365722656, 11.856389045715332, 1959, 1, "E", "Europe/Berlin"}, + "ZNV": {"Koblenz-Winningen Airport", "Koblenz", "Germany", "ZNV", "EDRK", 50.325557708740234, 7.528611183166504, 640, 1, "E", "Europe/Berlin"}, + "ZQF": {"Trier-Föhren Airport", "Trier", "Germany", "ZQF", "EDRT", 49.863887786865234, 6.787499904632568, 666, 1, "E", "Europe/Berlin"}, + "ZQC": {"Speyer Airport", "Speyer", "Germany", "ZQC", "EDRY", 49.30472183227539, 8.45138931274414, 312, 1, "E", "Europe/Berlin"}, + "ZQW": {"Zweibrücken Airport", "Zweibruecken", "Germany", "ZQW", "EDRZ", 49.20940017700195, 7.400559902191162, 1132, 1, "E", "Europe/Berlin"}, + "ZQL": {"Donaueschingen-Villingen Airport", "Donaueschingen", "Germany", "ZQL", "EDTD", 47.97333145139999, 8.52222156525, 2231, 1, "E", "Europe/Berlin"}, + "BWE": {"Braunschweig Wolfsburg Airport", "Braunschweig", "Germany", "BWE", "EDVE", 52.319199, 10.5561, 295, 1, "E", "Europe/Berlin"}, + "KSF": {"Kassel-Calden Airport", "Kassel", "Germany", "KSF", "EDVK", 51.417273, 9.384967, 820, 1, "E", "Europe/Berlin"}, + "BRV": {"Bremerhaven Airport", "Bremerhaven", "Germany", "BRV", "EDWB", 53.506943, 8.572778, 10, 1, "E", "Europe/Berlin"}, + "EME": {"Emden Airport", "Emden", "Germany", "EME", "EDWE", 53.391109466552734, 7.227499961853027, 3, 1, "E", "Europe/Berlin"}, + "WVN": {"Wilhelmshaven-Mariensiel Airport", "Wilhelmshaven", "Germany", "WVN", "EDWI", 53.502220153808594, 8.05222225189209, 16, 1, "E", "Europe/Berlin"}, + "BMK": {"Borkum Airport", "Borkum", "Germany", "BMK", "EDWR", 53.5963897705, 6.70916700363, 3, 1, "E", "Europe/Berlin"}, + "NRD": {"Norderney Airport", "Norderney", "Germany", "NRD", "EDWY", 53.70694351196289, 7.230000019073486, 7, 1, "E", "Europe/Berlin"}, + "FLF": {"Flensburg-Schäferhaus Airport", "Flensburg", "Germany", "FLF", "EDXF", 54.77333450317383, 9.378889083862305, 131, 1, "E", "Europe/Berlin"}, + "GWT": {"Westerland Sylt Airport", "Westerland", "Germany", "GWT", "EDXW", 54.9132003784, 8.34047031403, 51, 1, "E", "Europe/Berlin"}, + "KDL": {"Kärdla Airport", "Kardla", "Estonia", "KDL", "EEKA", 58.99079895019531, 22.830699920654297, 18, 2, "E", "Europe/Tallinn"}, + "URE": {"Kuressaare Airport", "Kuressaare", "Estonia", "URE", "EEKE", 58.22990036010742, 22.50950050354004, 14, 2, "E", "Europe/Tallinn"}, + "EPU": {"Pärnu Airport", "Parnu", "Estonia", "EPU", "EEPU", 58.41899871826172, 24.47279930114746, 47, 2, "E", "Europe/Tallinn"}, + "TLL": {"Lennart Meri Tallinn Airport", "Tallinn-ulemiste International", "Estonia", "TLL", "EETN", 59.41329956049999, 24.832799911499997, 131, 2, "E", "Europe/Tallinn"}, + "TAY": {"Tartu Airport", "Tartu", "Estonia", "TAY", "EETU", 58.3074989319, 26.690399169900004, 219, 2, "E", "Europe/Tallinn"}, + "ENF": {"Enontekio Airport", "Enontekio", "Finland", "ENF", "EFET", 68.362602233887, 23.424299240112, 1005, 2, "E", "Europe/Helsinki"}, + "KEV": {"Halli Airport", "Halli", "Finland", "KEV", "EFHA", 61.856039, 24.786686, 479, 2, "E", "Europe/Helsinki"}, + "HEM": {"Helsinki Malmi Airport", "Helsinki", "Finland", "HEM", "EFHF", 60.254600524902344, 25.042800903320312, 57, 2, "E", "Europe/Helsinki"}, + "HEL": {"Helsinki Vantaa Airport", "Helsinki", "Finland", "HEL", "EFHK", 60.317199707031, 24.963300704956, 179, 2, "E", "Europe/Helsinki"}, + "HYV": {"Hyvinkää Airfield", "Hyvinkaa", "Finland", "HYV", "EFHV", 60.6543998718, 24.8810997009, 430, 2, "E", "Europe/Helsinki"}, + "IVL": {"Ivalo Airport", "Ivalo", "Finland", "IVL", "EFIV", 68.607299804688, 27.405300140381, 481, 2, "E", "Europe/Helsinki"}, + "JOE": {"Joensuu Airport", "Joensuu", "Finland", "JOE", "EFJO", 62.662899017334, 29.607500076294, 398, 2, "E", "Europe/Helsinki"}, + "JYV": {"Jyvaskyla Airport", "Jyvaskyla", "Finland", "JYV", "EFJY", 62.399501800537, 25.678300857544, 459, 2, "E", "Europe/Helsinki"}, + "KAU": {"Kauhava Airport", "Kauhava", "Finland", "KAU", "EFKA", 63.127102, 23.051399, 151, 2, "E", "Europe/Helsinki"}, + "KEM": {"Kemi-Tornio Airport", "Kemi", "Finland", "KEM", "EFKE", 65.778701782227, 24.582099914551, 61, 2, "E", "Europe/Helsinki"}, + "KAJ": {"Kajaani Airport", "Kajaani", "Finland", "KAJ", "EFKI", 64.285499572754, 27.692399978638, 483, 2, "E", "Europe/Helsinki"}, + "KOK": {"Kokkola-Pietarsaari Airport", "Kruunupyy", "Finland", "KOK", "EFKK", 63.721199035645, 23.143100738525, 84, 2, "E", "Europe/Helsinki"}, + "KAO": {"Kuusamo Airport", "Kuusamo", "Finland", "KAO", "EFKS", 65.987602233887, 29.239400863647, 866, 2, "E", "Europe/Helsinki"}, + "KTT": {"Kittilä Airport", "Kittila", "Finland", "KTT", "EFKT", 67.700996398926, 24.846799850464, 644, 2, "E", "Europe/Helsinki"}, + "KUO": {"Kuopio Airport", "Kuopio", "Finland", "KUO", "EFKU", 63.007099151611, 27.797800064087, 323, 2, "E", "Europe/Helsinki"}, + "LPP": {"Lappeenranta Airport", "Lappeenranta", "Finland", "LPP", "EFLP", 61.044601, 28.144743, 349, 2, "E", "Europe/Helsinki"}, + "MHQ": {"Mariehamn Airport", "Mariehamn", "Finland", "MHQ", "EFMA", 60.122200012207, 19.898199081421, 17, 2, "E", "Europe/Mariehamn"}, + "MIK": {"Mikkeli Airport", "Mikkeli", "Finland", "MIK", "EFMI", 61.6866, 27.201799, 329, 2, "E", "Europe/Helsinki"}, + "OUL": {"Oulu Airport", "Oulu", "Finland", "OUL", "EFOU", 64.930099487305, 25.354600906372, 47, 2, "E", "Europe/Helsinki"}, + "POR": {"Pori Airport", "Pori", "Finland", "POR", "EFPO", 61.461700439453, 21.799999237061, 44, 2, "E", "Europe/Helsinki"}, + "RVN": {"Rovaniemi Airport", "Rovaniemi", "Finland", "RVN", "EFRO", 66.564796447754, 25.830400466919, 642, 2, "E", "Europe/Helsinki"}, + "SVL": {"Savonlinna Airport", "Savonlinna", "Finland", "SVL", "EFSA", 61.943099975586, 28.945100784302, 311, 2, "E", "Europe/Helsinki"}, + "SOT": {"Sodankyla Airport", "Sodankyla", "Finland", "SOT", "EFSO", 67.3949966431, 26.6191005707, 602, 2, "E", "Europe/Helsinki"}, + "TMP": {"Tampere-Pirkkala Airport", "Tampere", "Finland", "TMP", "EFTP", 61.414100646973, 23.604400634766, 390, 2, "E", "Europe/Helsinki"}, + "TKU": {"Turku Airport", "Turku", "Finland", "TKU", "EFTU", 60.514099121094, 22.262800216675, 161, 2, "E", "Europe/Helsinki"}, + "QVY": {"Utti Air Base", "Utti", "Finland", "QVY", "EFUT", 60.89640045166, 26.938400268555, 339, 2, "E", "Europe/Helsinki"}, + "VAA": {"Vaasa Airport", "Vaasa", "Finland", "VAA", "EFVA", 63.050701141357, 21.762199401855, 19, 2, "E", "Europe/Helsinki"}, + "VRK": {"Varkaus Airport", "Varkaus", "Finland", "VRK", "EFVR", 62.171100616455, 27.868600845337, 286, 2, "E", "Europe/Helsinki"}, + "BFS": {"Belfast International Airport", "Belfast", "United Kingdom", "BFS", "EGAA", 54.6575012207, -6.2158298492399995, 268, 0, "E", "Europe/London"}, + "ENK": {"St Angelo Airport", "Enniskillen", "United Kingdom", "ENK", "EGAB", 54.39889907836914, -7.651669979095459, 155, 0, "E", "Europe/London"}, + "BHD": {"George Best Belfast City Airport", "Belfast", "United Kingdom", "BHD", "EGAC", 54.618099212646484, -5.872499942779541, 15, 0, "E", "Europe/London"}, + "LDY": {"City of Derry Airport", "Londonderry", "United Kingdom", "LDY", "EGAE", 55.04280090332031, -7.161109924316406, 22, 0, "E", "Europe/London"}, + "BHX": {"Birmingham International Airport", "Birmingham", "United Kingdom", "BHX", "EGBB", 52.453899383499994, -1.74802994728, 327, 0, "E", "Europe/London"}, + "CVT": {"Coventry Airport", "Coventry", "United Kingdom", "CVT", "EGBE", 52.3697013855, -1.4797199964499999, 267, 0, "E", "Europe/London"}, + "GLO": {"Gloucestershire Airport", "Golouchestershire", "United Kingdom", "GLO", "EGBJ", 51.89419937133789, -2.167220115661621, 101, 0, "E", "Europe/London"}, + "MAN": {"Manchester Airport", "Manchester", "United Kingdom", "MAN", "EGCC", 53.35369873046875, -2.2749500274658203, 257, 0, "E", "Europe/London"}, + "NQY": {"Newquay Cornwall Airport", "Newquai", "United Kingdom", "NQY", "EGHQ", 50.44060134887695, -4.995409965515137, 390, 0, "E", "Europe/London"}, + "LYE": {"RAF Lyneham", "Lyneham", "United Kingdom", "LYE", "EGDL", 51.5051, -1.99343, 513, 0, "E", "Europe/London"}, + "YEO": {"RNAS Yeovilton", "Yeovilton", "United Kingdom", "YEO", "EGDY", 51.0093994140625, -2.638819932937622, 75, 0, "E", "Europe/London"}, + "CWL": {"Cardiff International Airport", "Cardiff", "United Kingdom", "CWL", "EGFF", 51.39670181274414, -3.343329906463623, 220, 0, "E", "Europe/London"}, + "SWS": {"Swansea Airport", "Swansea", "United Kingdom", "SWS", "EGFH", 51.60530090332031, -4.0678300857543945, 299, 0, "E", "Europe/London"}, + "BRS": {"Bristol Airport", "Bristol", "United Kingdom", "BRS", "EGGD", 51.382702, -2.71909, 622, 0, "E", "Europe/London"}, + "LPL": {"Liverpool John Lennon Airport", "Liverpool", "United Kingdom", "LPL", "EGGP", 53.33359909057617, -2.849720001220703, 80, 0, "E", "Europe/London"}, + "LTN": {"London Luton Airport", "London", "United Kingdom", "LTN", "EGGW", 51.874698638916016, -0.36833301186561584, 526, 0, "E", "Europe/London"}, + "PLH": {"Plymouth City Airport", "Plymouth", "United Kingdom", "PLH", "EGHD", 50.422798, -4.10583, 476, 0, "E", "Europe/London"}, + "BOH": {"Bournemouth Airport", "Bournemouth", "United Kingdom", "BOH", "EGHH", 50.779998779296875, -1.8424999713897705, 38, 0, "E", "Europe/London"}, + "SOU": {"Southampton Airport", "Southampton", "United Kingdom", "SOU", "EGHI", 50.95029830932617, -1.3567999601364136, 44, 0, "E", "Europe/London"}, + "QLA": {"Lasham Airport", "Lasham", "United Kingdom", "QLA", "EGHL", 51.187198638916016, -1.0334999561309814, 618, 0, "E", "Europe/London"}, + "ACI": {"Alderney Airport", "Alderney", "Guernsey", "ACI", "EGJA", 49.70610046386719, -2.2147200107574463, 290, 0, "E", "Europe/Guernsey"}, + "GCI": {"Guernsey Airport", "Guernsey", "Guernsey", "GCI", "EGJB", 49.435001373291016, -2.6019699573516846, 336, 0, "E", "Europe/Guernsey"}, + "JER": {"Jersey Airport", "Jersey", "Jersey", "JER", "EGJJ", 49.20790100097656, -2.195509910583496, 277, 0, "E", "Europe/Jersey"}, + "ESH": {"Shoreham Airport", "Shoreham By Sea", "United Kingdom", "ESH", "EGKA", 50.835601806640625, -0.29722198843955994, 7, 0, "E", "Europe/London"}, + "BQH": {"London Biggin Hill Airport", "Biggin Hill", "United Kingdom", "BQH", "EGKB", 51.33079910279999, 0.0324999988079, 598, 0, "E", "Europe/London"}, + "LGW": {"London Gatwick Airport", "London", "United Kingdom", "LGW", "EGKK", 51.148101806640625, -0.19027799367904663, 202, 0, "E", "Europe/London"}, + "LCY": {"London City Airport", "London", "United Kingdom", "LCY", "EGLC", 51.505299, 0.055278, 19, 0, "E", "Europe/London"}, + "FAB": {"Farnborough Airport", "Farnborough", "United Kingdom", "FAB", "EGLF", 51.2757987976, -0.776332974434, 238, 0, "E", "Europe/London"}, + "BBS": {"Blackbushe Airport", "Blackbushe", "United Kingdom", "BBS", "EGLK", 51.32389831542969, -0.8475000262260437, 325, 0, "E", "Europe/London"}, + "LHR": {"London Heathrow Airport", "London", "United Kingdom", "LHR", "EGLL", 51.4706, -0.461941, 83, 0, "E", "Europe/London"}, + "SEN": {"Southend Airport", "Southend", "United Kingdom", "SEN", "EGMC", 51.5713996887207, 0.6955559849739075, 49, 0, "E", "Europe/London"}, + "LYX": {"Lydd Airport", "Lydd", "United Kingdom", "LYX", "EGMD", 50.95610046386719, 0.9391670227050781, 13, 0, "E", "Europe/London"}, + "MSE": {"Kent International Airport", "Manston", "United Kingdom", "MSE", "EGMH", 51.342201, 1.34611, 178, 0, "E", "Europe/London"}, + "CAX": {"Carlisle Airport", "Carlisle", "United Kingdom", "CAX", "EGNC", 54.9375, -2.8091700077056885, 190, 0, "E", "Europe/London"}, + "BLK": {"Blackpool International Airport", "Blackpool", "United Kingdom", "BLK", "EGNH", 53.77170181274414, -3.0286099910736084, 34, 0, "E", "Europe/London"}, + "HUY": {"Humberside Airport", "Humberside", "United Kingdom", "HUY", "EGNJ", 53.57440185546875, -0.350832998752594, 121, 0, "E", "Europe/London"}, + "BWF": {"Barrow Walney Island Airport", "Barrow Island", "United Kingdom", "BWF", "EGNL", 54.1286111, -3.2675, 173, 0, "E", "Europe/London"}, + "LBA": {"Leeds Bradford Airport", "Leeds", "United Kingdom", "LBA", "EGNM", 53.86589813232422, -1.6605700254440308, 681, 0, "E", "Europe/London"}, + "CEG": {"Hawarden Airport", "Hawarden", "United Kingdom", "CEG", "EGNR", 53.1781005859375, -2.9777801036834717, 45, 0, "E", "Europe/London"}, + "IOM": {"Isle of Man Airport", "Isle Of Man", "Isle of Man", "IOM", "EGNS", 54.08330154418945, -4.623889923095703, 52, 0, "E", "Europe/Isle_of_Man"}, + "NCL": {"Newcastle Airport", "Newcastle", "United Kingdom", "NCL", "EGNT", 55.037498474121094, -1.6916699409484863, 266, 0, "E", "Europe/London"}, + "MME": {"Durham Tees Valley Airport", "Teesside", "United Kingdom", "MME", "EGNV", 54.50920104980469, -1.4294099807739258, 120, 0, "E", "Europe/London"}, + "EMA": {"East Midlands Airport", "East Midlands", "United Kingdom", "EMA", "EGNX", 52.8311004639, -1.32806003094, 306, 0, "E", "Europe/London"}, + "KOI": {"Kirkwall Airport", "Kirkwall", "United Kingdom", "KOI", "EGPA", 58.957801818847656, -2.9049999713897705, 50, 0, "E", "Europe/London"}, + "LSI": {"Sumburgh Airport", "Sumburgh", "United Kingdom", "LSI", "EGPB", 59.87889862060547, -1.2955600023269653, 20, 0, "E", "Europe/London"}, + "WIC": {"Wick Airport", "Wick", "United Kingdom", "WIC", "EGPC", 58.458900451660156, -3.09306001663208, 126, 0, "E", "Europe/London"}, + "ABZ": {"Aberdeen Dyce Airport", "Aberdeen", "United Kingdom", "ABZ", "EGPD", 57.201900482177734, -2.197779893875122, 215, 0, "E", "Europe/London"}, + "INV": {"Inverness Airport", "Inverness", "United Kingdom", "INV", "EGPE", 57.54249954223633, -4.047500133514404, 31, 0, "E", "Europe/London"}, + "GLA": {"Glasgow International Airport", "Glasgow", "United Kingdom", "GLA", "EGPF", 55.8718986511, -4.43306016922, 26, 0, "E", "Europe/London"}, + "EDI": {"Edinburgh Airport", "Edinburgh", "United Kingdom", "EDI", "EGPH", 55.95000076293945, -3.372499942779541, 135, 0, "E", "Europe/London"}, + "ILY": {"Islay Airport", "Islay", "United Kingdom", "ILY", "EGPI", 55.68190002441406, -6.256669998168945, 56, 0, "E", "Europe/London"}, + "PIK": {"Glasgow Prestwick Airport", "Prestwick", "United Kingdom", "PIK", "EGPK", 55.5093994140625, -4.586669921875, 65, 0, "E", "Europe/London"}, + "BEB": {"Benbecula Airport", "Benbecula", "United Kingdom", "BEB", "EGPL", 57.48109817504883, -7.3627800941467285, 19, 0, "E", "Europe/London"}, + "SCS": {"Scatsta Airport", "Scatsta", "United Kingdom", "SCS", "EGPM", 60.43280029296875, -1.2961100339889526, 81, 0, "E", "Europe/London"}, + "DND": {"Dundee Airport", "Dundee", "United Kingdom", "DND", "EGPN", 56.45249938964844, -3.025830030441284, 17, 0, "E", "Europe/London"}, + "SYY": {"Stornoway Airport", "Stornoway", "United Kingdom", "SYY", "EGPO", 58.215599060058594, -6.331110000610352, 26, 0, "E", "Europe/London"}, + "TRE": {"Tiree Airport", "Tiree", "United Kingdom", "TRE", "EGPU", 56.49919891357422, -6.869170188903809, 38, 0, "E", "Europe/London"}, + "ADX": {"RAF Leuchars", "Leuchars", "United Kingdom", "ADX", "EGQL", 56.37289810180664, -2.8684399127960205, 38, 0, "E", "Europe/London"}, + "LMO": {"RAF Lossiemouth", "Lossiemouth", "United Kingdom", "LMO", "EGQS", 57.7052001953125, -3.339169979095459, 42, 0, "E", "Europe/London"}, + "CBG": {"Cambridge Airport", "Cambridge", "United Kingdom", "CBG", "EGSC", 52.2050018311, 0.17499999702, 47, 0, "E", "Europe/London"}, + "NWI": {"Norwich International Airport", "Norwich", "United Kingdom", "NWI", "EGSH", 52.6758003235, 1.28278005123, 117, 0, "E", "Europe/London"}, + "STN": {"London Stansted Airport", "London", "United Kingdom", "STN", "EGSS", 51.8849983215, 0.234999999404, 348, 0, "E", "Europe/London"}, + "EXT": {"Exeter International Airport", "Exeter", "United Kingdom", "EXT", "EGTE", 50.73440170288086, -3.4138898849487305, 102, 0, "E", "Europe/London"}, + "FZO": {"Bristol Filton Airport", "Bristol", "United Kingdom", "FZO", "EGTG", 51.5194015503, -2.59083008766, 226, 0, "E", "Europe/London"}, + "OXF": {"Oxford (Kidlington) Airport", "Oxford", "United Kingdom", "OXF", "EGTK", 51.8368988037, -1.32000005245, 270, 0, "E", "Europe/London"}, + "MHZ": {"RAF Mildenhall", "Mildenhall", "United Kingdom", "MHZ", "EGUN", 52.361900329589844, 0.48640599846839905, 33, 0, "E", "Europe/London"}, + "FFD": {"RAF Fairford", "Fairford", "United Kingdom", "FFD", "EGVA", 51.6822013855, -1.7900300025900002, 286, 0, "E", "Europe/London"}, + "BZZ": {"RAF Brize Norton", "Brize Norton", "United Kingdom", "BZZ", "EGVN", 51.75, -1.58362, 288, 0, "E", "Europe/London"}, + "ODH": {"RAF Odiham", "Odiham", "United Kingdom", "ODH", "EGVO", 51.2341003418, -0.94282501936, 405, 0, "E", "Europe/London"}, + "NHT": {"RAF Northolt", "Northolt", "United Kingdom", "NHT", "EGWU", 51.553001403799996, -0.418166995049, 124, 0, "E", "Europe/London"}, + "QCY": {"RAF Coningsby", "Coningsby", "United Kingdom", "QCY", "EGXC", 53.0929985046, -0.166014000773, 25, 0, "E", "Europe/London"}, + "BEQ": {"RAF Honington", "Honington", "United Kingdom", "BEQ", "EGXH", 52.34260177612305, 0.7729390263557434, 174, 0, "E", "Europe/London"}, + "HRT": {"RAF Linton-On-Ouse", "Linton-on-ouse", "United Kingdom", "HRT", "EGXU", 54.0489006042, -1.2527500391, 53, 0, "E", "Europe/London"}, + "WTN": {"RAF Waddington", "Waddington", "United Kingdom", "WTN", "EGXW", 53.1661987305, -0.523810982704, 231, 0, "E", "Europe/London"}, + "KNF": {"RAF Marham", "Marham", "United Kingdom", "KNF", "EGYM", 52.648395, 0.550692, 75, 0, "E", "Europe/London"}, + "MPN": {"Mount Pleasant Airport", "Mount Pleasant", "Falkland Islands", "MPN", "EGYP", -51.82279968261719, -58.447200775146484, 244, -3, "U", "Atlantic/Stanley"}, + "AMS": {"Amsterdam Airport Schiphol", "Amsterdam", "Netherlands", "AMS", "EHAM", 52.3086013794, 4.763889789579999, -11, 1, "E", "Europe/Amsterdam"}, + "MST": {"Maastricht Aachen Airport", "Maastricht", "Netherlands", "MST", "EHBK", 50.9117012024, 5.77014017105, 375, 1, "E", "Europe/Amsterdam"}, + "EIN": {"Eindhoven Airport", "Eindhoven", "Netherlands", "EIN", "EHEH", 51.4500999451, 5.37452983856, 74, 1, "E", "Europe/Amsterdam"}, + "GRQ": {"Eelde Airport", "Groningen", "Netherlands", "GRQ", "EHGG", 53.1197013855, 6.57944011688, 17, 1, "E", "Europe/Amsterdam"}, + "DHR": {"De Kooy Airport", "De Kooy", "Netherlands", "DHR", "EHKD", 52.92340087890625, 4.780620098114014, 3, 1, "E", "Europe/Amsterdam"}, + "LEY": {"Lelystad Airport", "Lelystad", "Netherlands", "LEY", "EHLE", 52.46030044555664, 5.527219772338867, -13, 1, "E", "Europe/Amsterdam"}, + "LWR": {"Leeuwarden Air Base", "Leeuwarden", "Netherlands", "LWR", "EHLW", 53.228599548339844, 5.760560035705566, 3, 1, "E", "Europe/Amsterdam"}, + "RTM": {"Rotterdam The Hague Airport", "Rotterdam", "Netherlands", "RTM", "EHRD", 51.956902, 4.43722, -15, 1, "E", "Europe/Amsterdam"}, + "UTC": {"Soesterberg Air Base", "Soesterberg", "Netherlands", "UTC", "EHSB", 52.1273002625, 5.27618980408, 66, 1, "E", "Europe/Amsterdam"}, + "ENS": {"Twente Airfield", "Enschede", "Netherlands", "ENS", "EHTW", 52.2758333, 6.8891667, 114, 1, "E", "Europe/Amsterdam"}, + "LID": {"Valkenburg Naval Air Base", "Valkenburg", "Netherlands", "LID", "EHVB", 52.166099548300004, 4.41794013977, 1, 1, "E", "Europe/Amsterdam"}, + "WOE": {"Woensdrecht Air Base", "Woensdrecht", "Netherlands", "WOE", "EHWO", 51.4491, 4.34203, 63, 1, "E", "Europe/Amsterdam"}, + "ORK": {"Cork Airport", "Cork", "Ireland", "ORK", "EICK", 51.84130096435547, -8.491109848022461, 502, 0, "E", "Europe/Dublin"}, + "GWY": {"Galway Airport", "Galway", "Ireland", "GWY", "EICM", 53.300201416015625, -8.941590309143066, 81, 0, "E", "Europe/Dublin"}, + "DUB": {"Dublin Airport", "Dublin", "Ireland", "DUB", "EIDW", 53.42129898071289, -6.2700700759887695, 242, 0, "E", "Europe/Dublin"}, + "NOC": {"Ireland West Knock Airport", "Connaught", "Ireland", "NOC", "EIKN", 53.910301208496094, -8.818490028381348, 665, 0, "E", "Europe/Dublin"}, + "KIR": {"Kerry Airport", "Kerry", "Ireland", "KIR", "EIKY", 52.18090057373047, -9.52377986907959, 112, 0, "E", "Europe/Dublin"}, + "SNN": {"Shannon Airport", "Shannon", "Ireland", "SNN", "EINN", 52.701999664307, -8.9248199462891, 46, 0, "E", "Europe/Dublin"}, + "SXL": {"Sligo Airport", "Sligo", "Ireland", "SXL", "EISG", 54.280200958252, -8.5992097854614, 11, 0, "E", "Europe/Dublin"}, + "WAT": {"Waterford Airport", "Waterford", "Ireland", "WAT", "EIWF", 52.187198638916016, -7.0869598388671875, 119, 0, "E", "Europe/Dublin"}, + "AAR": {"Aarhus Airport", "Aarhus", "Denmark", "AAR", "EKAH", 56.2999992371, 10.619000434899998, 82, 1, "E", "Europe/Copenhagen"}, + "BLL": {"Billund Airport", "Billund", "Denmark", "BLL", "EKBI", 55.7402992249, 9.15178012848, 247, 1, "E", "Europe/Copenhagen"}, + "CPH": {"Copenhagen Kastrup Airport", "Copenhagen", "Denmark", "CPH", "EKCH", 55.617900848389, 12.656000137329, 17, 1, "E", "Europe/Copenhagen"}, + "EBJ": {"Esbjerg Airport", "Esbjerg", "Denmark", "EBJ", "EKEB", 55.525901794433594, 8.553400039672852, 97, 1, "E", "Europe/Copenhagen"}, + "KRP": {"Karup Airport", "Karup", "Denmark", "KRP", "EKKA", 56.29750061035156, 9.124629974365234, 170, 1, "E", "Europe/Copenhagen"}, + "ODE": {"Odense Airport", "Odense", "Denmark", "ODE", "EKOD", 55.47669982910156, 10.330900192260742, 56, 1, "E", "Europe/Copenhagen"}, + "RKE": {"Copenhagen Roskilde Airport", "Copenhagen", "Denmark", "RKE", "EKRK", 55.585601806640625, 12.131400108337402, 146, 1, "E", "Europe/Copenhagen"}, + "RNN": {"Bornholm Airport", "Ronne", "Denmark", "RNN", "EKRN", 55.06330108642578, 14.759599685668945, 52, 1, "E", "Europe/Copenhagen"}, + "SGD": {"Sønderborg Airport", "Soenderborg", "Denmark", "SGD", "EKSB", 54.96440124511719, 9.791729927062988, 24, 1, "E", "Europe/Copenhagen"}, + "SKS": {"Skrydstrup Air Base", "Skrydstrup", "Denmark", "SKS", "EKSP", 55.221048, 9.26702, 141, 1, "E", "Europe/Copenhagen"}, + "TED": {"Thisted Airport", "Thisted", "Denmark", "TED", "EKTS", 57.06880187988281, 8.705220222473145, 23, 1, "E", "Europe/Copenhagen"}, + "FAE": {"Vagar Airport", "Vagar", "Faroe Islands", "FAE", "EKVG", 62.0635986328125, -7.277219772338867, 280, 0, "E", "Atlantic/Faeroe"}, + "STA": {"Stauning Airport", "Stauning", "Denmark", "STA", "EKVJ", 55.9901008605957, 8.353910446166992, 17, 1, "E", "Europe/Copenhagen"}, + "AAL": {"Aalborg Airport", "Aalborg", "Denmark", "AAL", "EKYT", 57.0927589138, 9.84924316406, 10, 1, "E", "Europe/Copenhagen"}, + "LUX": {"Luxembourg-Findel International Airport", "Luxemburg", "Luxembourg", "LUX", "ELLX", 49.6233333, 6.2044444, 1234, 1, "E", "Europe/Luxembourg"}, + "AES": {"Ålesund Airport", "Alesund", "Norway", "AES", "ENAL", 62.5625, 6.119699954986572, 69, 1, "E", "Europe/Oslo"}, + "ANX": {"Andøya Airport", "Andoya", "Norway", "ANX", "ENAN", 69.292503356934, 16.144199371338, 43, 1, "E", "Europe/Oslo"}, + "ALF": {"Alta Airport", "Alta", "Norway", "ALF", "ENAT", 69.976097106934, 23.371700286865, 9, 1, "E", "Europe/Oslo"}, + "BNN": {"Brønnøysund Airport", "Bronnoysund", "Norway", "BNN", "ENBN", 65.461097717285, 12.217499732971, 25, 1, "E", "Europe/Oslo"}, + "BOO": {"Bodø Airport", "Bodo", "Norway", "BOO", "ENBO", 67.26920318603516, 14.365300178527832, 42, 1, "E", "Europe/Oslo"}, + "BGO": {"Bergen Airport Flesland", "Bergen", "Norway", "BGO", "ENBR", 60.29339981, 5.218140125, 170, 1, "E", "Europe/Oslo"}, + "BJF": {"Båtsfjord Airport", "Batsfjord", "Norway", "BJF", "ENBS", 70.60050201416, 29.691400527954, 490, 1, "E", "Europe/Oslo"}, + "KRS": {"Kristiansand Airport", "Kristiansand", "Norway", "KRS", "ENCN", 58.204200744628906, 8.085370063781738, 57, 1, "E", "Europe/Oslo"}, + "BDU": {"Bardufoss Airport", "Bardufoss", "Norway", "BDU", "ENDU", 69.055801391602, 18.540399551392, 252, 1, "E", "Europe/Oslo"}, + "EVE": {"Harstad/Narvik Airport, Evenes", "Harstad/Narvik", "Norway", "EVE", "ENEV", 68.491302490234, 16.678100585938, 84, 1, "E", "Europe/Oslo"}, + "VDB": {"Leirin Airport", "Fagernes", "Norway", "VDB", "ENFG", 61.015598297119, 9.2880601882935, 2697, 1, "E", "Europe/Oslo"}, + "FRO": {"Florø Airport", "Floro", "Norway", "FRO", "ENFL", 61.583599090576, 5.0247201919556, 37, 1, "E", "Europe/Oslo"}, + "OSL": {"Oslo Gardermoen Airport", "Oslo", "Norway", "OSL", "ENGM", 60.193901062012, 11.100399971008, 681, 1, "E", "Europe/Oslo"}, + "HAU": {"Haugesund Airport", "Haugesund", "Norway", "HAU", "ENHD", 59.34529876709, 5.2083601951599, 86, 1, "E", "Europe/Oslo"}, + "HAA": {"Hasvik Airport", "Hasvik", "Norway", "HAA", "ENHK", 70.486701965332, 22.139699935913, 21, 1, "E", "Europe/Oslo"}, + "KSU": {"Kristiansund Airport (Kvernberget)", "Kristiansund", "Norway", "KSU", "ENKB", 63.111801147461, 7.824520111084, 204, 1, "E", "Europe/Oslo"}, + "KKN": {"Kirkenes Airport (Høybuktmoen)", "Kirkenes", "Norway", "KKN", "ENKR", 69.725799560547, 29.891300201416, 283, 1, "E", "Europe/Oslo"}, + "FAN": {"Lista Airport", "Farsund", "Norway", "FAN", "ENLI", 58.0994987487793, 6.626049995422363, 29, 1, "E", "Europe/Oslo"}, + "MOL": {"Molde Airport", "Molde", "Norway", "MOL", "ENML", 62.744701385498, 7.2624998092651, 10, 1, "E", "Europe/Oslo"}, + "MJF": {"Mosjøen Airport (Kjærstad)", "Mosjoen", "Norway", "MJF", "ENMS", 65.783996582031, 13.214900016785, 237, 1, "E", "Europe/Oslo"}, + "LKL": {"Banak Airport", "Lakselv", "Norway", "LKL", "ENNA", 70.068801879883, 24.973499298096, 25, 1, "E", "Europe/Oslo"}, + "NTB": {"Notodden Airport", "Notodden", "Norway", "NTB", "ENNO", 59.565701, 9.21222, 63, 1, "E", "Europe/Oslo"}, + "OLA": {"Ørland Airport", "Orland", "Norway", "OLA", "ENOL", 63.69889831542969, 9.604000091552734, 28, 1, "E", "Europe/Oslo"}, + "RRS": {"Røros Airport", "Roros", "Norway", "RRS", "ENRO", 62.578399658203, 11.342300415039, 2054, 1, "E", "Europe/Oslo"}, + "RYG": {"Moss-Rygge Airport", "Rygge", "Norway", "RYG", "ENRY", 59.378817, 10.785439, 174, 1, "E", "Europe/Oslo"}, + "LYR": {"Svalbard Airport, Longyear", "Svalbard", "Norway", "LYR", "ENSB", 78.246101379395, 15.465600013733, 88, 1, "E", "Arctic/Longyearbyen"}, + "SKE": {"Skien Airport", "Skien", "Norway", "SKE", "ENSN", 59.185001373291016, 9.566940307617188, 463, 1, "E", "Europe/Oslo"}, + "SRP": {"Stord Airport", "Stord", "Norway", "SRP", "ENSO", 59.791900634765625, 5.340849876403809, 160, 1, "E", "Europe/Oslo"}, + "SSJ": {"Sandnessjøen Airport (Stokka)", "Sandnessjoen", "Norway", "SSJ", "ENST", 65.956802368164, 12.468899726868, 56, 1, "E", "Europe/Oslo"}, + "TOS": {"Tromsø Airport", "Tromso", "Norway", "TOS", "ENTC", 69.68329620361328, 18.918899536132812, 31, 1, "E", "Europe/Oslo"}, + "TRF": {"Sandefjord Airport, Torp", "Sandefjord", "Norway", "TRF", "ENTO", 59.1866989136, 10.258600235, 286, 1, "E", "Europe/Oslo"}, + "TRD": {"Trondheim Airport Værnes", "Trondheim", "Norway", "TRD", "ENVA", 63.4578018, 10.9239998, 56, 1, "E", "Europe/Oslo"}, + "SVG": {"Stavanger Airport Sola", "Stavanger", "Norway", "SVG", "ENZV", 58.876701354, 5.6377801895, 29, 1, "E", "Europe/Oslo"}, + "GDN": {"Gdańsk Lech Wałęsa Airport", "Gdansk", "Poland", "GDN", "EPGD", 54.377601623535156, 18.46619987487793, 489, 1, "E", "Europe/Warsaw"}, + "KRK": {"John Paul II International Airport Kraków-Balice Airport", "Krakow", "Poland", "KRK", "EPKK", 50.077701568603516, 19.784799575805664, 791, 1, "E", "Europe/Warsaw"}, + "KTW": {"Katowice International Airport", "Katowice", "Poland", "KTW", "EPKT", 50.4743, 19.08, 995, 1, "E", "Europe/Warsaw"}, + "POZ": {"Poznań-Ławica Airport", "Poznan", "Poland", "POZ", "EPPO", 52.421001434299995, 16.8262996674, 308, 1, "E", "Europe/Warsaw"}, + "RZE": {"Rzeszów-Jasionka Airport", "Rzeszow", "Poland", "RZE", "EPRZ", 50.1100006104, 22.0189990997, 675, 1, "E", "Europe/Warsaw"}, + "SZZ": {"Szczecin-Goleniów \"Solidarność\" Airport", "Szczecin", "Poland", "SZZ", "EPSC", 53.584701538100006, 14.902199745199999, 154, 1, "E", "Europe/Warsaw"}, + "OSP": {"Redzikowo Air Base", "Slupsk", "Poland", "OSP", "EPSK", 54.47890090942383, 17.107500076293945, 217, 1, "E", "Europe/Warsaw"}, + "WAW": {"Warsaw Chopin Airport", "Warsaw", "Poland", "WAW", "EPWA", 52.1656990051, 20.967100143399996, 362, 1, "E", "Europe/Warsaw"}, + "WRO": {"Copernicus Wrocław Airport", "Wroclaw", "Poland", "WRO", "EPWR", 51.1026992798, 16.885799408, 404, 1, "E", "Europe/Warsaw"}, + "IEG": {"Zielona Góra-Babimost Airport", "Zielona Gora", "Poland", "IEG", "EPZG", 52.138500213600004, 15.7986001968, 194, 1, "E", "Europe/Warsaw"}, + "RNB": {"Ronneby Airport", "Ronneby", "Sweden", "RNB", "ESDF", 56.266700744629, 15.265000343323, 191, 1, "E", "Europe/Stockholm"}, + "GOT": {"Gothenburg-Landvetter Airport", "Gothenborg", "Sweden", "GOT", "ESGG", 57.662799835205, 12.279800415039, 506, 1, "E", "Europe/Stockholm"}, + "JKG": {"Jönköping Airport", "Joenkoeping", "Sweden", "JKG", "ESGJ", 57.757598876953125, 14.068699836730957, 741, 1, "E", "Europe/Stockholm"}, + "LDK": {"Lidköping-Hovby Airport", "Lidkoping", "Sweden", "LDK", "ESGL", 58.46549987793, 13.17440032959, 200, 1, "E", "Europe/Stockholm"}, + "GSE": {"Gothenburg City Airport", "Gothenborg", "Sweden", "GSE", "ESGP", 57.77470016479492, 11.870400428771973, 59, 1, "E", "Europe/Stockholm"}, + "KVB": {"Skövde Airport", "Skovde", "Sweden", "KVB", "ESGR", 58.45640182495117, 13.972700119018555, 324, 1, "E", "Europe/Stockholm"}, + "THN": {"Trollhättan-Vänersborg Airport", "Trollhattan", "Sweden", "THN", "ESGT", 58.31809997558594, 12.345000267028809, 137, 1, "E", "Europe/Stockholm"}, + "KSK": {"Karlskoga Airport", "Karlskoga", "Sweden", "KSK", "ESKK", 59.34590148925781, 14.49590015411377, 400, 1, "E", "Europe/Stockholm"}, + "MXX": {"Mora Airport", "Mora", "Sweden", "MXX", "ESKM", 60.95790100097656, 14.51140022277832, 634, 1, "E", "Europe/Stockholm"}, + "NYO": {"Stockholm Skavsta Airport", "Stockholm", "Sweden", "NYO", "ESKN", 58.78860092163086, 16.912200927734375, 140, 1, "E", "Europe/Stockholm"}, + "KID": {"Kristianstad Airport", "Kristianstad", "Sweden", "KID", "ESMK", 55.92169952392578, 14.08549976348877, 76, 1, "E", "Europe/Stockholm"}, + "JLD": {"Landskrona Airport", "Landskrona", "Sweden", "JLD", "ESML", 55.94599914550781, 12.869999885559082, 194, 1, "E", "Europe/Stockholm"}, + "OSK": {"Oskarshamn Airport", "Oskarshamn", "Sweden", "OSK", "ESMO", 57.350498199463, 16.497999191284, 96, 1, "E", "Europe/Stockholm"}, + "KLR": {"Kalmar Airport", "Kalkmar", "Sweden", "KLR", "ESMQ", 56.68550109863281, 16.287599563598633, 17, 1, "E", "Europe/Stockholm"}, + "MMX": {"Malmö Sturup Airport", "Malmoe", "Sweden", "MMX", "ESMS", 55.536305364, 13.376197814900001, 236, 1, "E", "Europe/Stockholm"}, + "HAD": {"Halmstad Airport", "Halmstad", "Sweden", "HAD", "ESMT", 56.69110107421875, 12.820199966430664, 101, 1, "E", "Europe/Stockholm"}, + "VXO": {"Växjö Kronoberg Airport", "Vaxjo", "Sweden", "VXO", "ESMX", 56.929100036621094, 14.727999687194824, 610, 1, "E", "Europe/Stockholm"}, + "EVG": {"Sveg Airport", "Sveg", "Sweden", "EVG", "ESND", 62.04779815673828, 14.422900199890137, 1178, 1, "E", "Europe/Stockholm"}, + "GEV": {"Gällivare Airport", "Gallivare", "Sweden", "GEV", "ESNG", 67.13240051269531, 20.814599990844727, 1027, 1, "E", "Europe/Stockholm"}, + "HUV": {"Hudiksvall Airport", "Hudiksvall", "Sweden", "HUV", "ESNH", 61.7681007385, 17.0806999207, 95, 1, "E", "Europe/Stockholm"}, + "KRF": {"Kramfors Sollefteå Airport", "Kramfors", "Sweden", "KRF", "ESNK", 63.04859924316406, 17.76889991760254, 34, 1, "E", "Europe/Stockholm"}, + "LYC": {"Lycksele Airport", "Lycksele", "Sweden", "LYC", "ESNL", 64.54830169677734, 18.71619987487793, 705, 1, "E", "Europe/Stockholm"}, + "SDL": {"Sundsvall-Härnösand Airport", "Sundsvall", "Sweden", "SDL", "ESNN", 62.528099060058594, 17.443899154663086, 16, 1, "E", "Europe/Stockholm"}, + "OER": {"Örnsköldsvik Airport", "Ornskoldsvik", "Sweden", "OER", "ESNO", 63.40829849243164, 18.989999771118164, 354, 1, "E", "Europe/Stockholm"}, + "KRN": {"Kiruna Airport", "Kiruna", "Sweden", "KRN", "ESNQ", 67.821998596191, 20.336799621582, 1508, 1, "E", "Europe/Stockholm"}, + "SFT": {"Skellefteå Airport", "Skelleftea", "Sweden", "SFT", "ESNS", 64.62480163574219, 21.076900482177734, 157, 1, "E", "Europe/Stockholm"}, + "UME": {"Umeå Airport", "Umea", "Sweden", "UME", "ESNU", 63.791801452637, 20.282800674438, 24, 1, "E", "Europe/Stockholm"}, + "VHM": {"Vilhelmina Airport", "Vilhelmina", "Sweden", "VHM", "ESNV", 64.5791015625, 16.833599090576172, 1140, 1, "E", "Europe/Stockholm"}, + "AJR": {"Arvidsjaur Airport", "Arvidsjaur", "Sweden", "AJR", "ESNX", 65.59030151367188, 19.28190040588379, 1245, 1, "E", "Europe/Stockholm"}, + "ORB": {"Örebro Airport", "Orebro", "Sweden", "ORB", "ESOE", 59.22370147705078, 15.038000106811523, 188, 1, "E", "Europe/Stockholm"}, + "VST": {"Stockholm Västerås Airport", "Vasteras", "Sweden", "VST", "ESOW", 59.58940124511719, 16.63360023498535, 21, 1, "E", "Europe/Stockholm"}, + "LLA": {"Luleå Airport", "Lulea", "Sweden", "LLA", "ESPA", 65.543800354004, 22.121999740601, 65, 1, "E", "Europe/Stockholm"}, + "ARN": {"Stockholm-Arlanda Airport", "Stockholm", "Sweden", "ARN", "ESSA", 59.651901245117, 17.918600082397, 137, 1, "E", "Europe/Stockholm"}, + "BMA": {"Stockholm-Bromma Airport", "Stockholm", "Sweden", "BMA", "ESSB", 59.354400634765625, 17.941699981689453, 47, 1, "E", "Europe/Stockholm"}, + "BLE": {"Borlange Airport", "Borlange", "Sweden", "BLE", "ESSD", 60.422000885009766, 15.515199661254883, 503, 1, "E", "Europe/Stockholm"}, + "HLF": {"Hultsfred Airport", "Hultsfred", "Sweden", "HLF", "ESSF", 57.525798797607, 15.823300361633, 366, 1, "E", "Europe/Stockholm"}, + "GVX": {"Gävle Sandviken Airport", "Gavle", "Sweden", "GVX", "ESSK", 60.593299865722656, 16.951400756835938, 224, 1, "E", "Europe/Stockholm"}, + "LPI": {"Linköping City Airport", "Linkoeping", "Sweden", "LPI", "ESSL", 58.4062004089, 15.680500030500001, 172, 1, "E", "Europe/Stockholm"}, + "NRK": {"Norrköping Airport", "Norrkoeping", "Sweden", "NRK", "ESSP", 58.586299896240234, 16.250600814819336, 32, 1, "E", "Europe/Stockholm"}, + "VBY": {"Visby Airport", "Visby", "Sweden", "VBY", "ESSV", 57.662799835205, 18.346200942993, 164, 1, "E", "Europe/Stockholm"}, + "SPM": {"Spangdahlem Air Base", "Spangdahlem", "Germany", "SPM", "ETAD", 49.9726982117, 6.69250011444, 1197, 1, "E", "Europe/Berlin"}, + "RMS": {"Ramstein Air Base", "Ramstein", "Germany", "RMS", "ETAR", 49.4369010925293, 7.600279808044434, 776, 1, "E", "Europe/Berlin"}, + "GHF": {"[Duplicate] Giebelstadt Army Air Field", "Giebelstadt", "Germany", "GHF", "ETEU", 49.648101806599996, 9.966489791870002, 980, 1, "E", "Europe/Berlin"}, + "ZCN": {"Celle Airport", "Celle", "Germany", "ZCN", "ETHC", 52.59120178222656, 10.022100448608398, 129, 1, "E", "Europe/Berlin"}, + "ZNF": {"Hanau Army Air Field", "Hanau", "Germany", "ZNF", "ETID", 50.169201, 8.96159, 368, 1, "E", "Europe/Berlin"}, + "GKE": {"Geilenkirchen Air Base", "Geilenkirchen", "Germany", "GKE", "ETNG", 50.9608, 6.04242, 296, 1, "E", "Europe/Berlin"}, + "RLG": {"Rostock-Laage Airport", "Laage", "Germany", "RLG", "ETNL", 53.9182014465, 12.278300285299999, 138, 1, "E", "Europe/Berlin"}, + "FEL": {"Fürstenfeldbruck Airport", "Fuerstenfeldbruck", "Germany", "FEL", "ETSF", 48.2055549621582, 11.26694393157959, 1703, 1, "E", "Europe/Berlin"}, + "IGS": {"Ingolstadt Manching Airport", "Ingolstadt", "Germany", "IGS", "ETSI", 48.7156982421875, 11.534000396728516, 1202, 1, "E", "Europe/Berlin"}, + "GUT": {"Gütersloh Air Base", "Guetersloh", "Germany", "GUT", "ETUO", 51.922798, 8.30633, 236, 1, "E", "Europe/Berlin"}, + "ALJ": {"Alexander Bay Airport", "Alexander Bay", "South Africa", "ALJ", "FAAB", -28.5750007629, 16.5333003998, 98, 2, "U", "Africa/Johannesburg"}, + "AGZ": {"Aggeneys Airport", "Aggeneys", "South Africa", "AGZ", "FAAG", -29.28179931640625, 18.813899993896484, 2648, 2, "U", "Africa/Johannesburg"}, + "BIY": {"Bisho Airport", "Bisho", "South Africa", "BIY", "FABE", -32.8970985413, 27.279100418099997, 1950, 2, "U", "Africa/Johannesburg"}, + "BFN": {"Bram Fischer International Airport", "Bloemfontein", "South Africa", "BFN", "FABL", -29.092699050900002, 26.302400589, 4458, 2, "U", "Africa/Johannesburg"}, + "CPT": {"Cape Town International Airport", "Cape Town", "South Africa", "CPT", "FACT", -33.9648017883, 18.6016998291, 151, 2, "U", "Africa/Johannesburg"}, + "DUR": {"King Shaka International Airport", "Durban", "South Africa", "DUR", "FALE", -29.6144444444, 31.1197222222, 295, 2, "U", "Africa/Johannesburg"}, + "ELS": {"Ben Schoeman Airport", "East London", "South Africa", "ELS", "FAEL", -33.0355987549, 27.825899124099998, 435, 2, "U", "Africa/Johannesburg"}, + "GCJ": {"Grand Central Airport", "Johannesburg", "South Africa", "GCJ", "FAGC", -25.986299514799995, 28.1401004791, 5325, 2, "U", "Africa/Johannesburg"}, + "GRJ": {"George Airport", "George", "South Africa", "GRJ", "FAGG", -34.0055999756, 22.378900528, 648, 2, "U", "Africa/Johannesburg"}, + "HDS": {"Hoedspruit Air Force Base Airport", "Hoedspruit", "South Africa", "HDS", "FAHS", -24.368600845299998, 31.0487003326, 1743, 2, "U", "Africa/Johannesburg"}, + "JNB": {"OR Tambo International Airport", "Johannesburg", "South Africa", "JNB", "FAJS", -26.1392, 28.246, 5558, 2, "U", "Africa/Johannesburg"}, + "KIM": {"Kimberley Airport", "Kimberley", "South Africa", "KIM", "FAKM", -28.802799224900003, 24.7651996613, 3950, 2, "U", "Africa/Johannesburg"}, + "KMH": {"Johan Pienaar Airport", "Kuruman", "South Africa", "KMH", "FAKU", -27.45669937133789, 23.411399841308594, 4382, 2, "U", "Africa/Johannesburg"}, + "KLZ": {"Kleinsee Airport", "Kleinsee", "South Africa", "KLZ", "FAKZ", -29.6884002686, 17.093999862700002, 270, 2, "U", "Africa/Johannesburg"}, + "HLA": {"Lanseria Airport", "Johannesburg", "South Africa", "HLA", "FALA", -25.938499450699997, 27.9260997772, 4517, 2, "U", "Africa/Johannesburg"}, + "LAY": {"Ladysmith Airport", "Ladysmith", "South Africa", "LAY", "FALY", -28.5816993713, 29.749700546299998, 3548, 2, "U", "Africa/Johannesburg"}, + "MGH": {"Margate Airport", "Margate", "South Africa", "MGH", "FAMG", -30.8574008942, 30.343000412, 495, 2, "U", "Africa/Johannesburg"}, + "MEZ": {"Morningside Farm Airport", "Musina", "South Africa", "MEZ", "FAMS", -25.7045001984, 26.9090003967, 4251, 2, "U", "Africa/Johannesburg"}, + "NCS": {"Newcastle Airport", "Newcastle", "South Africa", "NCS", "FANC", -27.7705993652, 29.976900100699996, 4074, 2, "U", "Africa/Johannesburg"}, + "DUH": {"Oudtshoorn Airport", "Oudtshoorn", "South Africa", "DUH", "FAOH", -33.6069984436, 22.188999176, 1063, 2, "U", "Africa/Johannesburg"}, + "PLZ": {"Port Elizabeth Airport", "Port Elizabeth", "South Africa", "PLZ", "FAPE", -33.9849014282, 25.6173000336, 226, 2, "U", "Africa/Johannesburg"}, + "PHW": {"Hendrik Van Eck Airport", "Phalaborwa", "South Africa", "PHW", "FAPH", -23.937200546299998, 31.1553993225, 1432, 2, "U", "Africa/Johannesburg"}, + "PZB": {"Pietermaritzburg Airport", "Pietermaritzburg", "South Africa", "PZB", "FAPM", -29.649000167799997, 30.3987007141, 2423, 2, "U", "Africa/Johannesburg"}, + "NTY": {"Pilanesberg International Airport", "Pilanesberg", "South Africa", "NTY", "FAPN", -25.333799362199997, 27.173400878900004, 3412, 2, "U", "Africa/Johannesburg"}, + "PTG": {"Polokwane International Airport", "Potgietersrus", "South Africa", "PTG", "FAPP", -23.845269, 29.458615, 4076, 2, "U", "Africa/Johannesburg"}, + "UTW": {"Queenstown Airport", "Queenstown", "South Africa", "UTW", "FAQT", -31.92020034790039, 26.882200241088867, 3637, 2, "U", "Africa/Johannesburg"}, + "RCB": {"Richards Bay Airport", "Richard's Bay", "South Africa", "RCB", "FARB", -28.740999221800003, 32.0920982361, 109, 2, "U", "Africa/Johannesburg"}, + "ROD": {"Robertson Airport", "Robertson", "South Africa", "ROD", "FARS", -33.812198638916016, 19.902799606323242, 640, 2, "U", "Africa/Johannesburg"}, + "SBU": {"Springbok Airport", "Springbok", "South Africa", "SBU", "FASB", -29.689300537109375, 17.939599990844727, 2690, 2, "U", "Africa/Johannesburg"}, + "SIS": {"Sishen Airport", "Sishen", "South Africa", "SIS", "FASS", -27.6485996246, 22.9993000031, 3848, 2, "U", "Africa/Johannesburg"}, + "SZK": {"Skukuza Airport", "Skukuza", "South Africa", "SZK", "FASZ", -24.960899353, 31.5886993408, 1020, 2, "U", "Africa/Johannesburg"}, + "LTA": {"Tzaneen Airport", "Tzaneen", "South Africa", "LTA", "FATZ", -23.8243999481, 30.329299926799997, 1914, 2, "U", "Africa/Johannesburg"}, + "ULD": {"Prince Mangosuthu Buthelezi Airport", "Ulundi", "South Africa", "ULD", "FAUL", -28.3206005096, 31.4165000916, 1720, 2, "U", "Africa/Johannesburg"}, + "UTN": {"Pierre Van Ryneveld Airport", "Upington", "South Africa", "UTN", "FAUP", -28.39909935, 21.260200500499998, 2782, 2, "U", "Africa/Johannesburg"}, + "UTT": {"K. D. Matanzima Airport", "Umtata", "South Africa", "UTT", "FAUT", -31.546363184900002, 28.6733551025, 2400, 2, "U", "Africa/Johannesburg"}, + "VRU": {"Vryburg Airport", "Vryburg", "South Africa", "VRU", "FAVB", -26.9824008942, 24.7287998199, 3920, 2, "U", "Africa/Johannesburg"}, + "VIR": {"Virginia Airport", "Durban", "South Africa", "VIR", "FAVG", -29.770599365234375, 31.058399200439453, 20, 2, "U", "Africa/Johannesburg"}, + "PRY": {"Wonderboom Airport", "Pretoria", "South Africa", "PRY", "FAWB", -25.6539, 28.224199, 4095, 2, "U", "Africa/Johannesburg"}, + "WEL": {"Welkom Airport", "Welkom", "South Africa", "WEL", "FAWM", -27.996824511099998, 26.663333892799997, 4421, 2, "U", "Africa/Johannesburg"}, + "FRW": {"Francistown Airport", "Francistown", "Botswana", "FRW", "FBFT", -21.15959930419922, 27.47450065612793, 3283, 2, "U", "Africa/Gaborone"}, + "JWA": {"Jwaneng Airport", "Jwaneng", "Botswana", "JWA", "FBJW", -24.6023006439209, 24.69099998474121, 3900, 2, "U", "Africa/Gaborone"}, + "BBK": {"Kasane Airport", "Kasane", "Botswana", "BBK", "FBKE", -17.83289909362793, 25.162399291992188, 3289, 2, "U", "Africa/Gaborone"}, + "MUB": {"Maun Airport", "Maun", "Botswana", "MUB", "FBMN", -19.97260093688965, 23.431100845336914, 3093, 2, "U", "Africa/Gaborone"}, + "GBE": {"Sir Seretse Khama International Airport", "Gaberone", "Botswana", "GBE", "FBSK", -24.555200576782227, 25.91819953918457, 3299, 2, "U", "Africa/Gaborone"}, + "PKW": {"Selebi Phikwe Airport", "Selebi-phikwe", "Botswana", "PKW", "FBSP", -22.0583, 27.8288, 2925, 2, "U", "Africa/Gaborone"}, + "BZV": {"Maya-Maya Airport", "Brazzaville", "Congo (Brazzaville)", "BZV", "FCBB", -4.251699924468994, 15.253000259399414, 1048, 1, "N", "Africa/Brazzaville"}, + "FTX": {"Owando Airport", "Owando", "Congo (Kinshasa)", "FTX", "FCOO", -0.5313500165939331, 15.95009994506836, 1214, 1, "N", "Africa/Brazzaville"}, + "OUE": {"Ouesso Airport", "Ouesso", "Congo (Kinshasa)", "OUE", "FCOU", 1.6159900426899998, 16.0379009247, 1158, 1, "N", "Africa/Brazzaville"}, + "PNR": {"Pointe Noire Airport", "Pointe-noire", "Congo (Brazzaville)", "PNR", "FCPP", -4.816030025482178, 11.88659954071045, 55, 1, "N", "Africa/Brazzaville"}, + "MTS": {"Matsapha Airport", "Manzini", "Swaziland", "MTS", "FDMS", -26.52899932861328, 31.3075008392334, 2075, 2, "U", "Africa/Mbabane"}, + "BGF": {"Bangui M'Poko International Airport", "Bangui", "Central African Republic", "BGF", "FEFF", 4.39847993850708, 18.518800735473633, 1208, 1, "N", "Africa/Bangui"}, + "BBT": {"Berbérati Airport", "Berberati", "Central African Republic", "BBT", "FEFT", 4.2215800285339355, 15.786399841308594, 1929, 1, "N", "Africa/Bangui"}, + "BSG": {"Bata Airport", "Bata", "Equatorial Guinea", "BSG", "FGBT", 1.9054700136184692, 9.805680274963379, 13, 1, "N", "Africa/Malabo"}, + "SSG": {"Malabo Airport", "Malabo", "Equatorial Guinea", "SSG", "FGSL", 3.755270004272461, 8.708720207214355, 76, 1, "N", "Africa/Malabo"}, + "ASI": {"RAF Ascension Island", "Wide Awake", "Saint Helena", "ASI", "FHAW", -7.969600200653076, -14.393699645996094, 278, 0, "N", "Atlantic/St_Helena"}, + "MRU": {"Sir Seewoosagur Ramgoolam International Airport", "Plaisance", "Mauritius", "MRU", "FIMP", -20.430200576782227, 57.68360137939453, 186, 4, "N", "Indian/Mauritius"}, + "RRG": {"Sir Charles Gaetan Duval Airport", "Rodriguez Island", "Mauritius", "RRG", "FIMR", -19.757699966430664, 63.361000061035156, 95, 4, "N", "Indian/Mauritius"}, + "TKC": {"Tiko Airport", "Tiko", "Cameroon", "TKC", "FKKC", 4.08919000626, 9.360529899600001, 151, 1, "N", "Africa/Douala"}, + "DLA": {"Douala International Airport", "Douala", "Cameroon", "DLA", "FKKD", 4.0060801506, 9.719479560849999, 33, 1, "N", "Africa/Douala"}, + "MVR": {"Salak Airport", "Maroua", "Cameroon", "MVR", "FKKL", 10.451399803161621, 14.257399559020996, 1390, 1, "N", "Africa/Douala"}, + "FOM": {"Foumban Nkounja Airport", "Foumban", "Cameroon", "FOM", "FKKM", 5.636919975280762, 10.750800132751465, 3963, 1, "N", "Africa/Douala"}, + "NGE": {"N'Gaoundéré Airport", "N'gaoundere", "Cameroon", "NGE", "FKKN", 7.3570098876953125, 13.559200286865234, 3655, 1, "N", "Africa/Douala"}, + "GOU": {"Garoua International Airport", "Garoua", "Cameroon", "GOU", "FKKR", 9.33588981628418, 13.370100021362305, 794, 1, "N", "Africa/Douala"}, + "BFX": {"Bafoussam Airport", "Bafoussam", "Cameroon", "BFX", "FKKU", 5.536920070650001, 10.354599952700001, 4347, 1, "N", "Africa/Douala"}, + "BPC": {"Bamenda Airport", "Bamenda", "Cameroon", "BPC", "FKKV", 6.039239883422852, 10.122599601745605, 4065, 1, "N", "Africa/Douala"}, + "YAO": {"Yaoundé Airport", "Yaounde", "Cameroon", "YAO", "FKKY", 3.8360400199890137, 11.523500442504883, 2464, 1, "N", "Africa/Douala"}, + "LVI": {"Livingstone Airport", "Livingstone", "Zambia", "LVI", "FLLI", -17.821800231933594, 25.82270050048828, 3302, 2, "U", "Africa/Lusaka"}, + "LUN": {"Kenneth Kaunda International Airport Lusaka", "Lusaka", "Zambia", "LUN", "FLLS", -15.3308000565, 28.4526004791, 3779, 2, "U", "Africa/Lusaka"}, + "MFU": {"Mfuwe Airport", "Mfuwe", "Zambia", "MFU", "FLMF", -13.258899688720703, 31.936599731445312, 1853, 2, "U", "Africa/Lusaka"}, + "NLA": {"Simon Mwansa Kapwepwe International Airport", "Ndola", "Zambia", "NLA", "FLND", -12.998100280762, 28.66489982605, 4167, 2, "U", "Africa/Lusaka"}, + "KIW": {"Southdowns Airport", "Southdowns", "Zambia", "KIW", "FLSO", -12.900500297546387, 28.149900436401367, 4145, 2, "U", "Africa/Lusaka"}, + "HAH": {"Prince Said Ibrahim International Airport", "Moroni", "Comoros", "HAH", "FMCH", -11.5337, 43.2719, 93, 3, "U", "Indian/Comoro"}, + "NWA": {"Mohéli Bandar Es Eslam Airport", "Moheli", "Comoros", "NWA", "FMCI", -12.298100471496582, 43.76639938354492, 46, 3, "U", "Indian/Comoro"}, + "AJN": {"Ouani Airport", "Anjouan", "Comoros", "AJN", "FMCV", -12.131699562072754, 44.430301666259766, 62, 3, "U", "Indian/Comoro"}, + "DZA": {"Dzaoudzi Pamandzi International Airport", "Dzaoudzi", "Mayotte", "DZA", "FMCZ", -12.804699897766113, 45.28110122680664, 23, 3, "U", "Indian/Mayotte"}, + "RUN": {"Roland Garros Airport", "St.-denis", "Reunion", "RUN", "FMEE", -20.887100219726562, 55.51029968261719, 66, 4, "U", "Indian/Reunion"}, + "ZSE": {"Pierrefonds Airport", "St.-pierre", "Reunion", "ZSE", "FMEP", -21.320899963378906, 55.42499923706055, 59, 4, "U", "Indian/Reunion"}, + "TNR": {"Ivato Airport", "Antananarivo", "Madagascar", "TNR", "FMMI", -18.7968997955, 47.4788017273, 4198, 3, "U", "Indian/Antananarivo"}, + "ZVA": {"Miandrivazo Airport", "Miandrivazo", "Madagascar", "ZVA", "FMMN", -19.56279945373535, 45.450801849365234, 203, 3, "U", "Indian/Antananarivo"}, + "SMS": {"Sainte Marie Airport", "Sainte Marie", "Madagascar", "SMS", "FMMS", -17.093900680541992, 49.815799713134766, 7, 3, "U", "Indian/Antananarivo"}, + "TMM": {"Toamasina Airport", "Toamasina", "Madagascar", "TMM", "FMMT", -18.109500885009766, 49.39250183105469, 22, 3, "U", "Indian/Antananarivo"}, + "MOQ": {"Morondava Airport", "Morondava", "Madagascar", "MOQ", "FMMV", -20.284700393676758, 44.31760025024414, 30, 3, "U", "Indian/Antananarivo"}, + "DIE": {"Arrachart Airport", "Antsiranana", "Madagascar", "DIE", "FMNA", -12.34939956665039, 49.29169845581055, 374, 3, "U", "Indian/Antananarivo"}, + "WMR": {"Mananara Nord Airport", "Mananara", "Madagascar", "WMR", "FMNC", -16.16390037536621, 49.773799896240234, 9, 3, "U", "Indian/Antananarivo"}, + "ZWA": {"Andapa Airport", "Andapa", "Madagascar", "ZWA", "FMND", -14.651700019836426, 49.620601654052734, 1552, 3, "U", "Indian/Antananarivo"}, + "AMB": {"Ambilobe Airport", "Ambilobe", "Madagascar", "AMB", "FMNE", -13.188400268554688, 48.987998962402344, 72, 3, "U", "Indian/Antananarivo"}, + "ANM": {"Antsirabato Airport", "Antalaha", "Madagascar", "ANM", "FMNH", -14.99940013885498, 50.3202018737793, 20, 3, "U", "Indian/Antananarivo"}, + "HVA": {"Analalava Airport", "Analalava", "Madagascar", "HVA", "FMNL", -14.62969970703125, 47.76380157470703, 345, 3, "U", "Indian/Antananarivo"}, + "MJN": {"Amborovy Airport", "Mahajanga", "Madagascar", "MJN", "FMNM", -15.6668417421, 46.351232528699995, 87, 3, "U", "Indian/Antananarivo"}, + "NOS": {"Fascene Airport", "Nosy-be", "Madagascar", "NOS", "FMNN", -13.3121004105, 48.3148002625, 36, 3, "U", "Indian/Antananarivo"}, + "BPY": {"Besalampy Airport", "Besalampy", "Madagascar", "BPY", "FMNQ", -16.744530296500002, 44.4824838638, 125, 3, "U", "Indian/Antananarivo"}, + "WMN": {"Maroantsetra Airport", "Maroantsetra", "Madagascar", "WMN", "FMNR", -15.436699867248535, 49.68830108642578, 13, 3, "U", "Indian/Antananarivo"}, + "SVB": {"Sambava Airport", "Sambava", "Madagascar", "SVB", "FMNS", -14.278599739074707, 50.17470169067383, 20, 3, "U", "Indian/Antananarivo"}, + "VOH": {"Vohimarina Airport", "Vohemar", "Madagascar", "VOH", "FMNV", -13.375800132751465, 50.00279998779297, 19, 3, "U", "Indian/Antananarivo"}, + "WAI": {"Ambalabe Airport", "Antsohihy", "Madagascar", "WAI", "FMNW", -14.898799896240234, 47.993900299072266, 92, 3, "U", "Indian/Antananarivo"}, + "IVA": {"Ampampamena Airport", "Ampampamena", "Madagascar", "IVA", "FMNZ", -13.484816, 48.632702, 49, 3, "U", "Indian/Antananarivo"}, + "FTU": {"Tôlanaro Airport", "Tolagnaro", "Madagascar", "FTU", "FMSD", -25.03809928894043, 46.95610046386719, 29, 3, "U", "Indian/Antananarivo"}, + "WFI": {"Fianarantsoa Airport", "Fianarantsoa", "Madagascar", "WFI", "FMSF", -21.441600799560547, 47.111698150634766, 3658, 3, "U", "Indian/Antananarivo"}, + "RVA": {"Farafangana Airport", "Farafangana", "Madagascar", "RVA", "FMSG", -22.805299758911133, 47.82059860229492, 26, 3, "U", "Indian/Antananarivo"}, + "WVK": {"Manakara Airport", "Manakara", "Madagascar", "WVK", "FMSK", -22.119699478149414, 48.02170181274414, 33, 3, "U", "Indian/Antananarivo"}, + "MNJ": {"Mananjary Airport", "Mananjary", "Madagascar", "MNJ", "FMSM", -21.201799392700195, 48.358299255371094, 20, 3, "U", "Indian/Antananarivo"}, + "MXM": {"Morombe Airport", "Morombe", "Madagascar", "MXM", "FMSR", -21.7539005279541, 43.3754997253418, 16, 3, "U", "Indian/Antananarivo"}, + "TLE": {"Toliara Airport", "Toliara", "Madagascar", "TLE", "FMST", -23.383399963378906, 43.72850036621094, 29, 3, "U", "Indian/Antananarivo"}, + "SSY": {"Mbanza Congo Airport", "M'banza-congo", "Angola", "SSY", "FNBC", -6.269899845123291, 14.246999740600586, 1860, 1, "N", "Africa/Luanda"}, + "BUG": {"Benguela Airport", "Benguela", "Angola", "BUG", "FNBG", -12.609000206, 13.4036998749, 118, 1, "N", "Africa/Luanda"}, + "CAB": {"Cabinda Airport", "Cabinda", "Angola", "CAB", "FNCA", -5.59699010848999, 12.188400268554688, 66, 1, "N", "Africa/Luanda"}, + "NOV": {"Nova Lisboa Airport", "Huambo", "Angola", "NOV", "FNHU", -12.808899879455566, 15.760499954223633, 5587, 1, "N", "Africa/Luanda"}, + "SVP": {"Kuito Airport", "Kuito", "Angola", "SVP", "FNKU", -12.404600143433, 16.947399139404, 5618, 1, "N", "Africa/Luanda"}, + "LAD": {"Quatro de Fevereiro Airport", "Luanda", "Angola", "LAD", "FNLU", -8.85836982727, 13.231200218199998, 243, 1, "N", "Africa/Luanda"}, + "MEG": {"Malanje Airport", "Malanje", "Angola", "MEG", "FNMA", -9.525090217590332, 16.312400817871094, 3868, 1, "N", "Africa/Luanda"}, + "SPP": {"Menongue Airport", "Menongue", "Angola", "SPP", "FNME", -14.657600402832031, 17.71980094909668, 4469, 1, "N", "Africa/Luanda"}, + "GXG": {"Negage Airport", "Negage", "Angola", "GXG", "FNNG", -7.754509925842285, 15.287699699401855, 4105, 1, "N", "Africa/Luanda"}, + "PBN": {"Porto Amboim Airport", "Porto Amboim", "Angola", "PBN", "FNPA", -10.722000122070312, 13.76550006866455, 16, 1, "N", "Africa/Luanda"}, + "VHC": {"Saurimo Airport", "Saurimo", "Angola", "VHC", "FNSA", -9.689069747924805, 20.431900024414062, 3584, 1, "N", "Africa/Luanda"}, + "SZA": {"Soyo Airport", "Soyo", "Angola", "SZA", "FNSO", -6.141089916229248, 12.371800422668457, 15, 1, "N", "Africa/Luanda"}, + "SDD": {"Lubango Airport", "Lubango", "Angola", "SDD", "FNUB", -14.924699783325195, 13.574999809265137, 5778, 1, "N", "Africa/Luanda"}, + "LUO": {"Luena Airport", "Luena", "Angola", "LUO", "FNUE", -11.768099784851074, 19.8976993560791, 4360, 1, "N", "Africa/Luanda"}, + "UGO": {"Uige Airport", "Uige", "Angola", "UGO", "FNUG", -7.60306978225708, 15.027799606323242, 2720, 1, "N", "Africa/Luanda"}, + "XGN": {"Xangongo Airport", "Xangongo", "Angola", "XGN", "FNXA", -16.755399703979492, 14.965299606323242, 3635, 1, "N", "Africa/Luanda"}, + "OYE": {"Oyem Airport", "Oyem", "Gabon", "OYE", "FOGO", 1.5431100130081177, 11.581399917602539, 2158, 1, "N", "Africa/Libreville"}, + "OKN": {"Okondja Airport", "Okondja", "Gabon", "OKN", "FOGQ", -0.6652140021324158, 13.673100471496582, 1325, 1, "N", "Africa/Libreville"}, + "LBQ": {"Lambarene Airport", "Lambarene", "Gabon", "LBQ", "FOGR", -0.7043889760971069, 10.245699882507324, 82, 1, "N", "Africa/Libreville"}, + "BMM": {"Bitam Airport", "Bitam", "Gabon", "BMM", "FOOB", 2.0756399631500244, 11.493200302124023, 1969, 1, "N", "Africa/Libreville"}, + "POG": {"Port Gentil Airport", "Port Gentil", "Gabon", "POG", "FOOG", -0.7117390036582947, 8.754380226135254, 13, 1, "N", "Africa/Libreville"}, + "OMB": {"Omboue Hopital Airport", "Omboue Hospial", "Gabon", "OMB", "FOOH", -1.5747300386428833, 9.262689590454102, 33, 1, "N", "Africa/Libreville"}, + "MKU": {"Makokou Airport", "Makokou", "Gabon", "MKU", "FOOK", 0.5792109966278076, 12.890899658203125, 1726, 1, "N", "Africa/Libreville"}, + "LBV": {"Libreville Leon M'ba International Airport", "Libreville", "Gabon", "LBV", "FOOL", 0.458600014448, 9.412280082699999, 39, 1, "N", "Africa/Libreville"}, + "MVB": {"M'Vengue El Hadj Omar Bongo Ondimba International Airport", "Franceville", "Gabon", "MVB", "FOON", -1.6561599969863892, 13.437999725341797, 1450, 1, "N", "Africa/Libreville"}, + "PCP": {"Principe Airport", "Principe", "Sao Tome and Principe", "PCP", "FPPR", 1.6629400253295898, 7.411739826202393, 591, 0, "N", "Africa/Sao_Tome"}, + "TMS": {"São Tomé International Airport", "Sao Tome", "Sao Tome and Principe", "TMS", "FPST", 0.3781749904155731, 6.7121500968933105, 33, 0, "N", "Africa/Sao_Tome"}, + "BEW": {"Beira Airport", "Beira", "Mozambique", "BEW", "FQBR", -19.79640007019043, 34.90760040283203, 33, 2, "U", "Africa/Maputo"}, + "INH": {"Inhambane Airport", "Inhambane", "Mozambique", "INH", "FQIN", -23.876399993896484, 35.40850067138672, 30, 2, "U", "Africa/Maputo"}, + "VXC": {"Lichinga Airport", "Lichinga", "Mozambique", "VXC", "FQLC", -13.27400016784668, 35.266300201416016, 4505, 2, "U", "Africa/Maputo"}, + "MPM": {"Maputo Airport", "Maputo", "Mozambique", "MPM", "FQMA", -25.920799255371094, 32.572601318359375, 145, 2, "U", "Africa/Maputo"}, + "MZB": {"Mocímboa da Praia Airport", "Mocimboa Da Praia", "Mozambique", "MZB", "FQMP", -11.361800193786621, 40.35490036010742, 89, 2, "U", "Africa/Maputo"}, + "MNC": {"Nacala Airport", "Nacala", "Mozambique", "MNC", "FQNC", -14.488200187683105, 40.71220016479492, 410, 2, "U", "Africa/Maputo"}, + "APL": {"Nampula Airport", "Nampula", "Mozambique", "APL", "FQNP", -15.105600357055664, 39.28179931640625, 1444, 2, "U", "Africa/Maputo"}, + "POL": {"Pemba Airport", "Pemba", "Mozambique", "POL", "FQPB", -12.991762161254883, 40.52401351928711, 331, 2, "U", "Africa/Maputo"}, + "UEL": {"Quelimane Airport", "Quelimane", "Mozambique", "UEL", "FQQL", -17.855499267578125, 36.86909866333008, 36, 2, "U", "Africa/Maputo"}, + "TET": {"Chingozi Airport", "Tete", "Mozambique", "TET", "FQTT", -16.104799270629883, 33.640201568603516, 525, 2, "U", "Africa/Maputo"}, + "VNX": {"Vilankulo Airport", "Vilankulu", "Mozambique", "VNX", "FQVL", -22.018400192260742, 35.31330108642578, 46, 2, "U", "Africa/Maputo"}, + "DES": {"Desroches Airport", "Desroches", "Seychelles", "DES", "FSDR", -5.6967, 53.6558, 10, 4, "U", "Indian/Mahe"}, + "SEZ": {"Seychelles International Airport", "Mahe", "Seychelles", "SEZ", "FSIA", -4.674339771270752, 55.52180099487305, 10, 4, "U", "Indian/Mahe"}, + "PRI": {"Praslin Airport", "Praslin", "Seychelles", "PRI", "FSPP", -4.3192901611328125, 55.69139862060547, 10, 4, "U", "Indian/Mahe"}, + "AEH": {"Abeche Airport", "Abeche", "Chad", "AEH", "FTTC", 13.847000122070312, 20.84429931640625, 1788, 1, "N", "Africa/Ndjamena"}, + "MQQ": {"Moundou Airport", "Moundou", "Chad", "MQQ", "FTTD", 8.624409675598145, 16.071399688720703, 1407, 1, "N", "Africa/Ndjamena"}, + "NDJ": {"N'Djamena International Airport", "N'djamena", "Chad", "NDJ", "FTTJ", 12.133700370788574, 15.034000396728516, 968, 1, "N", "Africa/Ndjamena"}, + "FYT": {"Faya Largeau Airport", "Faya-largeau", "Chad", "FYT", "FTTY", 17.91710090637207, 19.111099243164062, 771, 1, "N", "Africa/Ndjamena"}, + "BUQ": {"Joshua Mqabuko Nkomo International Airport", "Bulawayo", "Zimbabwe", "BUQ", "FVBU", -20.01740074157715, 28.617900848388672, 4359, 2, "U", "Africa/Harare"}, + "BFO": {"Buffalo Range Airport", "Chiredzi", "Zimbabwe", "BFO", "FVCZ", -21.008100509643555, 31.57859992980957, 1421, 2, "U", "Africa/Harare"}, + "VFA": {"Victoria Falls International Airport", "Victoria Falls", "Zimbabwe", "VFA", "FVFA", -18.09589958190918, 25.839000701904297, 3490, 2, "U", "Africa/Harare"}, + "HRE": {"Harare International Airport", "Harare", "Zimbabwe", "HRE", "FVHA", -17.931800842285156, 31.09280014038086, 4887, 2, "U", "Africa/Harare"}, + "KAB": {"Kariba International Airport", "Kariba", "Zimbabwe", "KAB", "FVKB", -16.519800186157227, 28.885000228881836, 1706, 2, "U", "Africa/Harare"}, + "MVZ": {"Masvingo International Airport", "Masvingo", "Zimbabwe", "MVZ", "FVMV", -20.055299758911133, 30.859100341796875, 3595, 2, "U", "Africa/Harare"}, + "GWE": {"Thornhill Air Base", "Gwert", "Zimbabwe", "GWE", "FVTL", -19.436399459838867, 29.861900329589844, 4680, 2, "U", "Africa/Harare"}, + "WKM": {"Hwange National Park Airport", "Hwange National Park", "Zimbabwe", "WKM", "FVWN", -18.629899978637695, 27.020999908447266, 3543, 2, "U", "Africa/Harare"}, + "BLZ": {"Chileka International Airport", "Blantyre", "Malawi", "BLZ", "FWCL", -15.679100036621094, 34.9739990234375, 2555, 2, "U", "Africa/Blantyre"}, + "KGJ": {"Karonga Airport", "Karonga", "Malawi", "KGJ", "FWKA", -9.953570365905762, 33.893001556396484, 1765, 2, "U", "Africa/Blantyre"}, + "LLW": {"Lilongwe International Airport", "Lilongwe", "Malawi", "LLW", "FWKI", -13.7894001007, 33.78099823, 4035, 2, "U", "Africa/Blantyre"}, + "ZZU": {"Mzuzu Airport", "Mzuzu", "Malawi", "ZZU", "FWUU", -11.444700241088867, 34.01179885864258, 4115, 2, "U", "Africa/Blantyre"}, + "MSU": {"Moshoeshoe I International Airport", "Maseru", "Lesotho", "MSU", "FXMM", -29.462299346923828, 27.552499771118164, 5348, 2, "U", "Africa/Maseru"}, + "FIH": {"Ndjili International Airport", "Kinshasa", "Congo (Kinshasa)", "FIH", "FZAA", -4.38574981689, 15.4446001053, 1027, 1, "N", "Africa/Kinshasa"}, + "NLO": {"Ndolo Airport", "Kinshasa", "Congo (Kinshasa)", "NLO", "FZAB", -4.32666015625, 15.327500343323, 915, 1, "N", "Africa/Kinshasa"}, + "MNB": {"Muanda Airport", "Muanda", "Congo (Kinshasa)", "MNB", "FZAG", -5.9308600425720215, 12.351799964904785, 89, 1, "N", "Africa/Kinshasa"}, + "FDU": {"Bandundu Airport", "Bandoundu", "Congo (Kinshasa)", "FDU", "FZBO", -3.3113200664520264, 17.38170051574707, 1063, 1, "N", "Africa/Kinshasa"}, + "KKW": {"Kikwit Airport", "Kikwit", "Congo (Kinshasa)", "KKW", "FZCA", -5.035769939422607, 18.785600662231445, 1572, 1, "N", "Africa/Kinshasa"}, + "MDK": {"Mbandaka Airport", "Mbandaka", "Congo (Kinshasa)", "MDK", "FZEA", 0.0226000007242, 18.2887001038, 1040, 1, "N", "Africa/Kinshasa"}, + "BDT": {"Gbadolite Airport", "Gbadolite", "Congo (Kinshasa)", "BDT", "FZFD", 4.253210067749023, 20.975299835205078, 1509, 1, "N", "Africa/Kinshasa"}, + "GMA": {"Gemena Airport", "Gemena", "Congo (Kinshasa)", "GMA", "FZFK", 3.2353699207299997, 19.771299362199997, 1378, 1, "N", "Africa/Kinshasa"}, + "LIQ": {"Lisala Airport", "Lisala", "Congo (Kinshasa)", "LIQ", "FZGA", 2.1706600189208984, 21.49690055847168, 1509, 1, "N", "Africa/Kinshasa"}, + "FKI": {"Bangoka International Airport", "Kisangani", "Congo (Kinshasa)", "FKI", "FZIC", 0.481638997793, 25.3379993439, 1417, 2, "U", "Africa/Lubumbashi"}, + "IRP": {"Matari Airport", "Isiro", "Congo (Kinshasa)", "IRP", "FZJH", 2.8276100158691406, 27.588300704956055, 2438, 2, "U", "Africa/Lubumbashi"}, + "BUX": {"Bunia Airport", "Bunia", "Congo (Kinshasa)", "BUX", "FZKA", 1.5657199621200562, 30.220800399780273, 4045, 2, "U", "Africa/Lubumbashi"}, + "BKY": {"Bukavu Kavumu Airport", "Bukavu/kavumu", "Congo (Kinshasa)", "BKY", "FZMA", -2.3089799880981445, 28.808799743652344, 5643, 2, "U", "Africa/Lubumbashi"}, + "GOM": {"Goma International Airport", "Goma", "Congo (Kinshasa)", "GOM", "FZNA", -1.6708099842071533, 29.238500595092773, 5089, 2, "U", "Africa/Kigali"}, + "KND": {"Kindu Airport", "Kindu", "Congo (Kinshasa)", "KND", "FZOA", -2.91917991638, 25.915399551399997, 1630, 2, "U", "Africa/Lubumbashi"}, + "FBM": {"Lubumbashi International Airport", "Lubumashi", "Congo (Kinshasa)", "FBM", "FZQA", -11.5913000107, 27.5308990479, 4295, 2, "U", "Africa/Lubumbashi"}, + "KWZ": {"Kolwezi Airport", "Kolwezi", "Congo (Kinshasa)", "KWZ", "FZQM", -10.765899658203125, 25.505699157714844, 5007, 2, "U", "Africa/Lubumbashi"}, + "FMI": {"Kalemie Airport", "Kalemie", "Congo (Kinshasa)", "FMI", "FZRF", -5.8755598068237305, 29.25, 2569, 2, "U", "Africa/Lubumbashi"}, + "KMN": {"Kamina Base Airport", "Kamina Base", "Congo (Kinshasa)", "KMN", "FZSA", -8.642020225524902, 25.252899169921875, 3543, 2, "U", "Africa/Lubumbashi"}, + "KGA": {"Kananga Airport", "Kananga", "Congo (Kinshasa)", "KGA", "FZUA", -5.90005016327, 22.4692001343, 2139, 2, "U", "Africa/Lubumbashi"}, + "MJM": {"Mbuji Mayi Airport", "Mbuji-mayi", "Congo (Kinshasa)", "MJM", "FZWA", -6.121240139010001, 23.569000244099996, 2221, 2, "U", "Africa/Lubumbashi"}, + "BKO": {"Senou Airport", "Bamako", "Mali", "BKO", "GABS", 12.533499717712402, -7.949940204620361, 1247, 0, "N", "Africa/Bamako"}, + "GAQ": {"Gao Airport", "Gao", "Mali", "GAQ", "GAGO", 16.24839973449707, -0.005456000100821257, 870, 0, "N", "Africa/Bamako"}, + "KYS": {"Kayes Dag Dag Airport", "Kayes", "Mali", "KYS", "GAKY", 14.481200218200684, -11.404399871826172, 164, 0, "N", "Africa/Bamako"}, + "MZI": {"Mopti Airport", "Mopti", "Mali", "MZI", "GAMB", 14.5128002167, -4.0795598030099995, 906, 0, "N", "Africa/Bamako"}, + "TOM": {"Timbuktu Airport", "Tombouctou", "Mali", "TOM", "GATB", 16.730499267578125, -3.007580041885376, 863, 0, "N", "Africa/Bamako"}, + "BJL": {"Banjul International Airport", "Banjul", "Gambia", "BJL", "GBYD", 13.338000297546387, -16.65220069885254, 95, 0, "N", "Africa/Banjul"}, + "FUE": {"Fuerteventura Airport", "Fuerteventura", "Spain", "FUE", "GCFV", 28.452699661254883, -13.863800048828125, 85, 0, "E", "Atlantic/Canary"}, + "VDE": {"Hierro Airport", "Hierro", "Spain", "VDE", "GCHI", 27.814800262451172, -17.887100219726562, 103, 0, "E", "Atlantic/Canary"}, + "SPC": {"La Palma Airport", "Santa Cruz De La Palma", "Spain", "SPC", "GCLA", 28.62649917602539, -17.755599975585938, 107, 0, "E", "Atlantic/Canary"}, + "LPA": {"Gran Canaria Airport", "Gran Canaria", "Spain", "LPA", "GCLP", 27.931900024414062, -15.38659954071045, 78, 0, "E", "Atlantic/Canary"}, + "ACE": {"Lanzarote Airport", "Arrecife", "Spain", "ACE", "GCRR", 28.945499420166016, -13.605199813842773, 46, 0, "E", "Atlantic/Canary"}, + "TFS": {"Tenerife South Airport", "Tenerife", "Spain", "TFS", "GCTS", 28.044500351, -16.5725002289, 209, 0, "E", "Atlantic/Canary"}, + "TFN": {"Tenerife Norte Airport", "Tenerife", "Spain", "TFN", "GCXO", 28.4827003479, -16.3414993286, 2076, 0, "E", "Atlantic/Canary"}, + "MLN": {"Melilla Airport", "Melilla", "Spain", "MLN", "GEML", 35.279800415, -2.9562599659, 156, 1, "E", "Europe/Madrid"}, + "FNA": {"Lungi International Airport", "Freetown", "Sierra Leone", "FNA", "GFLL", 8.616439819335938, -13.195500373840332, 84, 0, "N", "Africa/Freetown"}, + "MLW": {"Spriggs Payne Airport", "Monrovia", "Liberia", "MLW", "GLMR", 6.289060115814209, -10.758700370788574, 25, 0, "N", "Africa/Monrovia"}, + "ROB": {"Roberts International Airport", "Monrovia", "Liberia", "ROB", "GLRB", 6.233789920806885, -10.362299919128418, 31, 0, "N", "Africa/Monrovia"}, + "AGA": {"Al Massira Airport", "Agadir", "Morocco", "AGA", "GMAD", 30.325000762939453, -9.413069725036621, 250, 0, "N", "Africa/Casablanca"}, + "TTA": {"Tan Tan Airport", "Tan Tan", "Morocco", "TTA", "GMAT", 28.448200225830078, -11.161299705505371, 653, 0, "N", "Africa/Casablanca"}, + "FEZ": {"Saïss Airport", "Fes", "Morocco", "FEZ", "GMFF", 33.9272994995, -4.977960109709999, 1900, 0, "N", "Africa/Casablanca"}, + "ERH": {"Moulay Ali Cherif Airport", "Er-rachidia", "Morocco", "ERH", "GMFK", 31.9475002289, -4.39833021164, 3428, 0, "N", "Africa/Casablanca"}, + "MEK": {"Bassatine Airport", "Meknes", "Morocco", "MEK", "GMFM", 33.87910079956055, -5.515120029449463, 1890, 0, "N", "Africa/Casablanca"}, + "OUD": {"Angads Airport", "Oujda", "Morocco", "OUD", "GMFO", 34.787200927734375, -1.92399001121521, 1535, 0, "N", "Africa/Casablanca"}, + "RBA": {"Rabat-Salé Airport", "Rabat", "Morocco", "RBA", "GMME", 34.05149841308594, -6.751520156860352, 276, 0, "N", "Africa/Casablanca"}, + "CMN": {"Mohammed V International Airport", "Casablanca", "Morocco", "CMN", "GMMN", 33.36750030517578, -7.589970111846924, 656, 0, "N", "Africa/Casablanca"}, + "RAK": {"Menara Airport", "Marrakech", "Morocco", "RAK", "GMMX", 31.606899261499997, -8.03629970551, 1545, 0, "N", "Africa/Casablanca"}, + "NNA": {"Kenitra Airport", "Kentira", "Morocco", "NNA", "GMMY", 34.29890060424805, -6.595880031585693, 16, 0, "N", "Africa/Casablanca"}, + "OZZ": {"Ouarzazate Airport", "Ouarzazate", "Morocco", "OZZ", "GMMZ", 30.9391002655, -6.909430027010001, 3782, 0, "N", "Africa/Casablanca"}, + "AHU": {"Cherif Al Idrissi Airport", "Al Hociema", "Morocco", "AHU", "GMTA", 35.177101135253906, -3.83951997756958, 95, 0, "N", "Africa/Casablanca"}, + "TTU": {"Saniat R'mel Airport", "Tetouan", "Morocco", "TTU", "GMTN", 35.594299316406, -5.320020198822, 10, 0, "N", "Africa/Casablanca"}, + "TNG": {"Ibn Batouta Airport", "Tanger", "Morocco", "TNG", "GMTT", 35.726898193400004, -5.91689014435, 62, 0, "N", "Africa/Casablanca"}, + "ZIG": {"Ziguinchor Airport", "Ziguinchor", "Senegal", "ZIG", "GOGG", 12.5556, -16.281799, 75, 0, "N", "Africa/Dakar"}, + "CSK": {"Cap Skirring Airport", "Cap Skiring", "Senegal", "CSK", "GOGS", 12.410200119018555, -16.7460994720459, 52, 0, "N", "Africa/Dakar"}, + "KLC": {"Kaolack Airport", "Kaolack", "Senegal", "KLC", "GOOK", 14.146900177001953, -16.051300048828125, 26, 0, "N", "Africa/Dakar"}, + "DKR": {"Léopold Sédar Senghor International Airport", "Dakar", "Senegal", "DKR", "GOOY", 14.739700317382812, -17.49020004272461, 85, 0, "N", "Africa/Dakar"}, + "XLS": {"Saint Louis Airport", "St. Louis", "Senegal", "XLS", "GOSS", 16.050800323486328, -16.463199615478516, 9, 0, "N", "Africa/Dakar"}, + "BXE": {"Bakel Airport", "Bakel", "Senegal", "BXE", "GOTB", 14.847299575805664, -12.468299865722656, 98, 0, "N", "Africa/Dakar"}, + "KGG": {"Kédougou Airport", "Kedougou", "Senegal", "KGG", "GOTK", 12.57229995727539, -12.22029972076416, 584, 0, "N", "Africa/Dakar"}, + "TUD": {"Tambacounda Airport", "Tambacounda", "Senegal", "TUD", "GOTT", 13.736800193786621, -13.65310001373291, 161, 0, "N", "Africa/Dakar"}, + "IEO": {"Aioun el Atrouss Airport", "Aioun El Atrouss", "Mauritania", "IEO", "GQNA", 16.711299896240234, -9.637880325317383, 951, 0, "N", "Africa/Nouakchott"}, + "TIY": {"Tidjikja Airport", "Tidjikja", "Mauritania", "TIY", "GQND", 18.570100784301758, -11.423500061035156, 1363, 0, "N", "Africa/Nouakchott"}, + "KFA": {"Kiffa Airport", "Kiffa", "Mauritania", "KFA", "GQNF", 16.59000015258789, -11.406200408935547, 424, 0, "N", "Africa/Nouakchott"}, + "EMN": {"Néma Airport", "Nema", "Mauritania", "EMN", "GQNI", 16.621999740600586, -7.3165998458862305, 751, 0, "N", "Africa/Nouakchott"}, + "KED": {"Kaédi Airport", "Kaedi", "Mauritania", "KED", "GQNK", 16.159500122070312, -13.507599830627441, 66, 0, "N", "Africa/Nouakchott"}, + "NKC": {"Nouakchott International Airport", "Nouakschott", "Mauritania", "NKC", "GQNN", 18.09819984436035, -15.94849967956543, 13, 0, "N", "Africa/Nouakchott"}, + "SEY": {"Sélibaby Airport", "Selibabi", "Mauritania", "SEY", "GQNS", 15.179699897766113, -12.207300186157227, 219, 0, "N", "Africa/Nouakchott"}, + "ATR": {"Atar International Airport", "Atar", "Mauritania", "ATR", "GQPA", 20.506799697875977, -13.04319953918457, 734, 0, "N", "Africa/Nouakchott"}, + "NDB": {"Nouadhibou International Airport", "Nouadhibou", "Mauritania", "NDB", "GQPP", 20.9330997467041, -17.030000686645508, 24, 0, "N", "Africa/Nouakchott"}, + "FIG": {"Fria Airport", "Fira", "Guinea", "FIG", "GUFA", 10.350600242615, -13.569199562073, 499, 0, "N", "Africa/Conakry"}, + "FAA": {"Faranah Airport", "Faranah", "Guinea", "FAA", "GUFH", 10.0354995728, -10.7698001862, 1476, 0, "N", "Africa/Conakry"}, + "LEK": {"Tata Airport", "Labe", "Guinea", "LEK", "GULB", 11.326100349426, -12.286800384521, 3396, 0, "N", "Africa/Conakry"}, + "SID": {"Amílcar Cabral International Airport", "Amilcar Cabral", "Cape Verde", "SID", "GVAC", 16.74139976501465, -22.949399948120117, 177, -1, "U", "Atlantic/Cape_Verde"}, + "BVC": {"Rabil Airport", "Boa Vista", "Cape Verde", "BVC", "GVBA", 16.136499404907227, -22.888900756835938, 69, -1, "U", "Atlantic/Cape_Verde"}, + "MMO": {"Maio Airport", "Maio", "Cape Verde", "MMO", "GVMA", 15.155900001525879, -23.213699340820312, 36, -1, "U", "Atlantic/Cape_Verde"}, + "SNE": {"Preguiça Airport", "Sao Nocolau Island", "Cape Verde", "SNE", "GVSN", 16.58839988708496, -24.284700393676758, 669, -1, "U", "Atlantic/Cape_Verde"}, + "VXE": {"São Pedro Airport", "Sao Vicente Island", "Cape Verde", "VXE", "GVSV", 16.833200454711914, -25.055299758911133, 66, -1, "U", "Atlantic/Cape_Verde"}, + "ADD": {"Addis Ababa Bole International Airport", "Addis Ababa", "Ethiopia", "ADD", "HAAB", 8.97789001465, 38.799301147499996, 7630, 3, "U", "Africa/Addis_Ababa"}, + "AMH": {"Arba Minch Airport", "Arba Minch", "Ethiopia", "AMH", "HAAM", 6.0393900871276855, 37.59049987792969, 3901, 3, "U", "Africa/Addis_Ababa"}, + "AXU": {"Axum Airport", "Axum", "Ethiopia", "AXU", "HAAX", 14.14680004119873, 38.77280044555664, 6959, 3, "U", "Africa/Addis_Ababa"}, + "BJR": {"Bahir Dar Airport", "Bahar Dar", "Ethiopia", "BJR", "HABD", 11.608099937438965, 37.32160186767578, 5978, 3, "U", "Africa/Addis_Ababa"}, + "DIR": {"Aba Tenna Dejazmach Yilma International Airport", "Dire Dawa", "Ethiopia", "DIR", "HADR", 9.624699592590332, 41.85419845581055, 3827, 3, "U", "Africa/Addis_Ababa"}, + "GMB": {"Gambella Airport", "Gambella", "Ethiopia", "GMB", "HAGM", 8.12876033782959, 34.5630989074707, 1614, 3, "U", "Africa/Addis_Ababa"}, + "GDQ": {"Gonder Airport", "Gondar", "Ethiopia", "GDQ", "HAGN", 12.51990032196045, 37.433998107910156, 6449, 3, "U", "Africa/Addis_Ababa"}, + "JIM": {"Jimma Airport", "Jimma", "Ethiopia", "JIM", "HAJM", 7.66609001159668, 36.81660079956055, 5500, 3, "U", "Africa/Addis_Ababa"}, + "LLI": {"Lalibella Airport", "Lalibella", "Ethiopia", "LLI", "HALL", 11.975000381469727, 38.97999954223633, 6506, 3, "U", "Africa/Addis_Ababa"}, + "MQX": {"Mekele Airport", "Makale", "Ethiopia", "MQX", "HAMK", 13.467399597167969, 39.53350067138672, 7396, 3, "U", "Africa/Addis_Ababa"}, + "ASO": {"Asosa Airport", "Asosa", "Ethiopia", "ASO", "HASO", 10.018500328063965, 34.586299896240234, 5100, 3, "U", "Africa/Addis_Ababa"}, + "BJM": {"Bujumbura International Airport", "Bujumbura", "Burundi", "BJM", "HBBA", -3.3240199089050293, 29.318500518798828, 2582, 2, "U", "Africa/Bujumbura"}, + "HGA": {"Egal International Airport", "Hargeisa", "Somalia", "HGA", "HCMH", 9.518170356750488, 44.08879852294922, 4423, 3, "U", "Africa/Mogadishu"}, + "BBO": {"Berbera Airport", "Berbera", "Somalia", "BBO", "HCMI", 10.389200210571289, 44.94110107421875, 30, 3, "U", "Africa/Mogadishu"}, + "KMU": {"Kisimayu Airport", "Kismayu", "Somalia", "KMU", "HCMK", -0.3773530125617981, 42.45920181274414, 49, 3, "U", "Africa/Mogadishu"}, + "ALY": {"El Nouzha Airport", "Alexandria", "Egypt", "ALY", "HEAX", 31.183900833129883, 29.94890022277832, -6, 2, "U", "Africa/Cairo"}, + "ABS": {"Abu Simbel Airport", "Abu Simbel", "Egypt", "ABS", "HEBL", 22.375999450699997, 31.611700058, 616, 2, "U", "Africa/Cairo"}, + "CAI": {"Cairo International Airport", "Cairo", "Egypt", "CAI", "HECA", 30.12190055847168, 31.40559959411621, 382, 2, "U", "Africa/Cairo"}, + "HRG": {"Hurghada International Airport", "Hurghada", "Egypt", "HRG", "HEGN", 27.178300857543945, 33.799400329589844, 52, 2, "U", "Africa/Cairo"}, + "EGR": {"El Gora Airport", "El Gorah", "Egypt", "EGR", "HEGR", 31.068559, 34.129629, 324, 2, "U", "Africa/Cairo"}, + "LXR": {"Luxor International Airport", "Luxor", "Egypt", "LXR", "HELX", 25.670999527, 32.706600189199996, 294, 2, "U", "Africa/Cairo"}, + "MUH": {"Mersa Matruh Airport", "Mersa-matruh", "Egypt", "MUH", "HEMM", 31.3253993988, 27.221700668300002, 94, 2, "U", "Africa/Cairo"}, + "PSD": {"Port Said Airport", "Port Said", "Egypt", "PSD", "HEPS", 31.279399871826172, 32.2400016784668, 8, 2, "U", "Africa/Cairo"}, + "SKV": {"St Catherine International Airport", "St. Catherine", "Egypt", "SKV", "HESC", 28.685300827, 34.0625, 4368, 2, "U", "Africa/Cairo"}, + "ASW": {"Aswan International Airport", "Aswan", "Egypt", "ASW", "HESN", 23.9643993378, 32.8199996948, 662, 2, "U", "Africa/Cairo"}, + "ELT": {"El Tor Airport", "El-tor", "Egypt", "ELT", "HETR", 28.208999633789062, 33.64550018310547, 115, 2, "U", "Africa/Cairo"}, + "EDL": {"Eldoret International Airport", "Eldoret", "Kenya", "EDL", "HKEL", 0.4044579863548279, 35.23889923095703, 6941, 3, "U", "Africa/Nairobi"}, + "KIS": {"Kisumu Airport", "Kisumu", "Kenya", "KIS", "HKKI", -0.0861390009522438, 34.72890090942383, 3734, 3, "U", "Africa/Nairobi"}, + "KTL": {"Kitale Airport", "Kitale", "Kenya", "KTL", "HKKT", 0.9719889760017395, 34.95859909057617, 6070, 3, "U", "Africa/Nairobi"}, + "LOK": {"Lodwar Airport", "Lodwar", "Kenya", "LOK", "HKLO", 3.1219699382781982, 35.608699798583984, 1715, 3, "U", "Africa/Nairobi"}, + "LAU": {"Manda Airstrip", "Lamu", "Kenya", "LAU", "HKLU", -2.252419948577881, 40.91310119628906, 20, 3, "U", "Africa/Nairobi"}, + "MBA": {"Mombasa Moi International Airport", "Mombasa", "Kenya", "MBA", "HKMO", -4.034830093383789, 39.594200134277344, 200, 3, "U", "Africa/Nairobi"}, + "WIL": {"Nairobi Wilson Airport", "Nairobi", "Kenya", "WIL", "HKNW", -1.321720004081726, 36.81480026245117, 5536, 3, "U", "Africa/Nairobi"}, + "WJR": {"Wajir Airport", "Wajir", "Kenya", "WJR", "HKWJ", 1.733240008354187, 40.09159851074219, 770, 3, "U", "Africa/Nairobi"}, + "GHT": {"Ghat Airport", "Ghat", "Libya", "GHT", "HLGT", 25.1455993652, 10.142600059500001, 2296, 2, "N", "Africa/Tripoli"}, + "AKF": {"Kufra Airport", "Kufra", "Libya", "AKF", "HLKF", 24.178699493408203, 23.31399917602539, 1367, 2, "N", "Africa/Tripoli"}, + "BEN": {"Benina International Airport", "Benghazi", "Libya", "BEN", "HLLB", 32.096801757799994, 20.2695007324, 433, 2, "N", "Africa/Tripoli"}, + "SEB": {"Sabha Airport", "Sebha", "Libya", "SEB", "HLLS", 26.98699951171875, 14.47249984741211, 1427, 2, "N", "Africa/Tripoli"}, + "TIP": {"Tripoli International Airport", "Tripoli", "Libya", "TIP", "HLLT", 32.6635017395, 13.1590003967, 263, 2, "N", "Africa/Tripoli"}, + "LTD": {"Ghadames East Airport", "Ghadames", "Libya", "LTD", "HLTD", 30.15169906616211, 9.715310096740723, 1122, 2, "N", "Africa/Tripoli"}, + "GYI": {"Gisenyi Airport", "Gisenyi", "Rwanda", "GYI", "HRYG", -1.6771999597549438, 29.258899688720703, 5082, 2, "U", "Africa/Kigali"}, + "KGL": {"Kigali International Airport", "Kigali", "Rwanda", "KGL", "HRYR", -1.9686299562499998, 30.1394996643, 4859, 2, "U", "Africa/Kigali"}, + "KME": {"Kamembe Airport", "Kamembe", "Rwanda", "KME", "HRZA", -2.462239980697632, 28.907899856567383, 5192, 2, "U", "Africa/Kigali"}, + "DOG": {"Dongola Airport", "Dongola", "Sudan", "DOG", "HSDN", 19.153900146499996, 30.430099487299998, 772, 3, "U", "Africa/Khartoum"}, + "ELF": {"El Fasher Airport", "El Fasher", "Sudan", "ELF", "HSFS", 13.614899635314941, 25.324600219726562, 2393, 3, "U", "Africa/Khartoum"}, + "KSL": {"Kassala Airport", "Kassala", "Sudan", "KSL", "HSKA", 15.387499809265137, 36.328800201416016, 1671, 3, "U", "Africa/Khartoum"}, + "EBD": {"El Obeid Airport", "El Obeid", "Sudan", "EBD", "HSOB", 13.153200149536133, 30.23270034790039, 1927, 3, "U", "Africa/Khartoum"}, + "JUB": {"Juba International Airport", "Juba", "South Sudan", "JUB", "HSSJ", 4.87201023102, 31.6011009216, 1513, 3, "U", "Africa/Juba"}, + "MAK": {"Malakal Airport", "Malakal", "Sudan", "MAK", "HSSM", 9.55897045135498, 31.65220069885254, 1291, 3, "U", "Africa/Juba"}, + "KRT": {"Khartoum International Airport", "Khartoum", "Sudan", "KRT", "HSSS", 15.589500427246094, 32.553199768066406, 1265, 3, "U", "Africa/Khartoum"}, + "ARK": {"Arusha Airport", "Arusha", "Tanzania", "ARK", "HTAR", -3.3677899837493896, 36.63330078125, 4550, 3, "U", "Africa/Dar_es_Salaam"}, + "DAR": {"Julius Nyerere International Airport", "Dar Es Salaam", "Tanzania", "DAR", "HTDA", -6.87810993195, 39.202598571799996, 182, 3, "U", "Africa/Dar_es_Salaam"}, + "DOD": {"Dodoma Airport", "Dodoma", "Tanzania", "DOD", "HTDO", -6.170440196990967, 35.752601623535156, 3673, 3, "U", "Africa/Dar_es_Salaam"}, + "IRI": {"Iringa Airport", "Iringa", "Tanzania", "IRI", "HTIR", -7.668630123138428, 35.75210189819336, 4678, 3, "U", "Africa/Dar_es_Salaam"}, + "JRO": {"Kilimanjaro International Airport", "Kilimanjaro", "Tanzania", "JRO", "HTKJ", -3.42940998077, 37.0745010376, 2932, 3, "U", "Africa/Dar_es_Salaam"}, + "LKY": {"Lake Manyara Airport", "Lake Manyara", "Tanzania", "LKY", "HTLM", -3.376310110092163, 35.81829833984375, 4150, 3, "N", "Africa/Dar_es_Salaam"}, + "MYW": {"Mtwara Airport", "Mtwara", "Tanzania", "MYW", "HTMT", -10.339099884033203, 40.181800842285156, 371, 3, "U", "Africa/Dar_es_Salaam"}, + "MWZ": {"Mwanza Airport", "Mwanza", "Tanzania", "MWZ", "HTMW", -2.4444899559020996, 32.932701110839844, 3763, 3, "U", "Africa/Dar_es_Salaam"}, + "PMA": {"Pemba Airport", "Pemba", "Tanzania", "PMA", "HTPE", -5.257259845733643, 39.8114013671875, 80, 3, "U", "Africa/Dar_es_Salaam"}, + "TGT": {"Tanga Airport", "Tanga", "Tanzania", "TGT", "HTTG", -5.092360019683838, 39.07120132446289, 129, 3, "U", "Africa/Dar_es_Salaam"}, + "ZNZ": {"Abeid Amani Karume International Airport", "Zanzibar", "Tanzania", "ZNZ", "HTZA", -6.222020149229999, 39.224899292, 54, 3, "U", "Africa/Dar_es_Salaam"}, + "EBB": {"Entebbe International Airport", "Entebbe", "Uganda", "EBB", "HUEN", 0.042385999113321304, 32.44350051879883, 3782, 3, "U", "Africa/Kampala"}, + "SRT": {"Soroti Airport", "Soroti", "Uganda", "SRT", "HUSO", 1.7276899814605713, 33.622798919677734, 3697, 3, "U", "Africa/Kampala"}, + "TIA": {"Tirana International Airport Mother Teresa", "Tirana", "Albania", "TIA", "LATI", 41.4146995544, 19.7206001282, 126, 1, "E", "Europe/Tirane"}, + "BOJ": {"Burgas Airport", "Bourgas", "Bulgaria", "BOJ", "LBBG", 42.56959915161133, 27.515199661254883, 135, 2, "E", "Europe/Sofia"}, + "GOZ": {"Gorna Oryahovitsa Airport", "Gorna Orechovica", "Bulgaria", "GOZ", "LBGO", 43.15140151977539, 25.712900161743164, 285, 2, "E", "Europe/Sofia"}, + "PDV": {"Plovdiv International Airport", "Plovdiv", "Bulgaria", "PDV", "LBPD", 42.067799, 24.8508, 597, 2, "E", "Europe/Sofia"}, + "SOF": {"Sofia Airport", "Sofia", "Bulgaria", "SOF", "LBSF", 42.696693420410156, 23.411436080932617, 1742, 2, "E", "Europe/Sofia"}, + "VAR": {"Varna Airport", "Varna", "Bulgaria", "VAR", "LBWN", 43.232101, 27.8251, 230, 2, "E", "Europe/Sofia"}, + "LCA": {"Larnaca International Airport", "Larnaca", "Cyprus", "LCA", "LCLK", 34.875099182128906, 33.624900817871094, 8, 2, "E", "Asia/Nicosia"}, + "PFO": {"Paphos International Airport", "Paphos", "Cyprus", "PFO", "LCPH", 34.71799850463867, 32.48569869995117, 41, 2, "E", "Asia/Nicosia"}, + "AKT": {"RAF Akrotiri", "Akrotiri", "Cyprus", "AKT", "LCRA", 34.590401, 32.9879, 76, 0, "E", "Europe/London"}, + "DBV": {"Dubrovnik Airport", "Dubrovnik", "Croatia", "DBV", "LDDU", 42.5614013671875, 18.268199920654297, 527, 1, "E", "Europe/Zagreb"}, + "OSI": {"Osijek Airport", "Osijek", "Croatia", "OSI", "LDOS", 45.46269989013672, 18.810199737548828, 290, 1, "E", "Europe/Zagreb"}, + "PUY": {"Pula Airport", "Pula", "Croatia", "PUY", "LDPL", 44.89350128173828, 13.922200202941895, 274, 1, "E", "Europe/Zagreb"}, + "RJK": {"Rijeka Airport", "Rijeka", "Croatia", "RJK", "LDRI", 45.21689987182617, 14.570300102233887, 278, 1, "E", "Europe/Zagreb"}, + "SPU": {"Split Airport", "Split", "Croatia", "SPU", "LDSP", 43.53889846801758, 16.29800033569336, 79, 1, "E", "Europe/Zagreb"}, + "ZAG": {"Zagreb Airport", "Zagreb", "Croatia", "ZAG", "LDZA", 45.7429008484, 16.0687999725, 353, 1, "E", "Europe/Zagreb"}, + "ZAD": {"Zemunik Airport", "Zadar", "Croatia", "ZAD", "LDZD", 44.108299255371094, 15.346699714660645, 289, 1, "E", "Europe/Zagreb"}, + "ALC": {"Alicante International Airport", "Alicante", "Spain", "ALC", "LEAL", 38.28219985961914, -0.5581560134887695, 142, 1, "E", "Europe/Madrid"}, + "LEI": {"Almería International Airport", "Almeria", "Spain", "LEI", "LEAM", 36.84389877319336, -2.3701000213623047, 70, 1, "E", "Europe/Madrid"}, + "OVD": {"Asturias Airport", "Aviles", "Spain", "OVD", "LEAS", 43.5635986328125, -6.0346198081970215, 416, 1, "E", "Europe/Madrid"}, + "ODB": {"Córdoba Airport", "Cordoba", "Spain", "ODB", "LEBA", 37.84199905395508, -4.848879814147949, 297, 1, "E", "Europe/Madrid"}, + "BIO": {"Bilbao Airport", "Bilbao", "Spain", "BIO", "LEBB", 43.30110168457031, -2.9106099605560303, 138, 1, "E", "Europe/Madrid"}, + "BCN": {"Barcelona International Airport", "Barcelona", "Spain", "BCN", "LEBL", 41.297100067139, 2.0784599781036, 12, 1, "E", "Europe/Madrid"}, + "BJZ": {"Badajoz Airport", "Badajoz", "Spain", "BJZ", "LEBZ", 38.891300201416016, -6.8213300704956055, 609, 1, "E", "Europe/Madrid"}, + "LCG": {"A Coruña Airport", "La Coruna", "Spain", "LCG", "LECO", 43.302101135253906, -8.377260208129883, 326, 1, "E", "Europe/Madrid"}, + "GRO": {"Girona Airport", "Gerona", "Spain", "GRO", "LEGE", 41.901000977, 2.7605500221, 468, 1, "E", "Europe/Madrid"}, + "GRX": {"Federico Garcia Lorca Airport", "Granada", "Spain", "GRX", "LEGR", 37.18870162963867, -3.777359962463379, 1860, 1, "E", "Europe/Madrid"}, + "IBZ": {"Ibiza Airport", "Ibiza", "Spain", "IBZ", "LEIB", 38.872898101800004, 1.3731199502899998, 24, 1, "E", "Europe/Madrid"}, + "XRY": {"Jerez Airport", "Jerez", "Spain", "XRY", "LEJR", 36.744598388671875, -6.060110092163086, 93, 1, "E", "Europe/Madrid"}, + "MJV": {"San Javier Airport", "Murcia", "Spain", "MJV", "LELC", 37.775001525878906, -0.8123890161514282, 11, 1, "E", "Europe/Madrid"}, + "MAD": {"Adolfo Suárez Madrid–Barajas Airport", "Madrid", "Spain", "MAD", "LEMD", 40.471926, -3.56264, 1998, 1, "E", "Europe/Madrid"}, + "AGP": {"Málaga Airport", "Malaga", "Spain", "AGP", "LEMG", 36.67490005493164, -4.499110221862793, 53, 1, "E", "Europe/Madrid"}, + "MAH": {"Menorca Airport", "Menorca", "Spain", "MAH", "LEMH", 39.86259841918945, 4.218649864196777, 302, 1, "E", "Europe/Madrid"}, + "OZP": {"Moron Air Base", "Sevilla", "Spain", "OZP", "LEMO", 37.17490005493164, -5.615940093994141, 285, 1, "E", "Europe/Madrid"}, + "PNA": {"Pamplona Airport", "Pamplona", "Spain", "PNA", "LEPP", 42.77000045776367, -1.6463299989700317, 1504, 1, "E", "Europe/Madrid"}, + "REU": {"Reus Air Base", "Reus", "Spain", "REU", "LERS", 41.14739990234375, 1.1671700477600098, 233, 1, "E", "Europe/Madrid"}, + "SLM": {"Salamanca Airport", "Salamanca", "Spain", "SLM", "LESA", 40.95209884643555, -5.501989841461182, 2595, 1, "E", "Europe/Madrid"}, + "EAS": {"San Sebastian Airport", "San Sebastian", "Spain", "EAS", "LESO", 43.35649871826172, -1.7906099557876587, 16, 1, "E", "Europe/Madrid"}, + "SCQ": {"Santiago de Compostela Airport", "Santiago", "Spain", "SCQ", "LEST", 42.89630126953125, -8.415140151977539, 1213, 1, "E", "Europe/Madrid"}, + "LEU": {"Pirineus - la Seu d'Urgel Airport", "Seo De Urgel", "Spain", "LEU", "LESU", 42.3386, 1.40917, 2625, 1, "E", "Europe/Madrid"}, + "TOJ": {"Torrejón Airport", "Madrid", "Spain", "TOJ", "LETO", 40.496700286865234, -3.4458699226379395, 2026, 1, "E", "Europe/Madrid"}, + "VLC": {"Valencia Airport", "Valencia", "Spain", "VLC", "LEVC", 39.48929977416992, -0.4816249907016754, 240, 1, "E", "Europe/Madrid"}, + "VLL": {"Valladolid Airport", "Valladolid", "Spain", "VLL", "LEVD", 41.7061004639, -4.85194015503, 2776, 1, "E", "Europe/Madrid"}, + "VIT": {"Vitoria/Foronda Airport", "Vitoria", "Spain", "VIT", "LEVT", 42.8828010559082, -2.7244699001312256, 1682, 1, "E", "Europe/Madrid"}, + "VGO": {"Vigo Airport", "Vigo", "Spain", "VGO", "LEVX", 42.2318000793457, -8.62677001953125, 856, 1, "E", "Europe/Madrid"}, + "SDR": {"Santander Airport", "Santander", "Spain", "SDR", "LEXJ", 43.427101135253906, -3.82000994682312, 16, 1, "E", "Europe/Madrid"}, + "ZAZ": {"Zaragoza Air Base", "Zaragoza", "Spain", "ZAZ", "LEZG", 41.66619873046875, -1.0415500402450562, 863, 1, "E", "Europe/Madrid"}, + "SVQ": {"Sevilla Airport", "Sevilla", "Spain", "SVQ", "LEZL", 37.417999267578125, -5.8931097984313965, 112, 1, "E", "Europe/Madrid"}, + "CQF": {"Calais-Dunkerque Airport", "Calais", "France", "CQF", "LFAC", 50.962100982666016, 1.954759955406189, 12, 1, "E", "Europe/Paris"}, + "LTQ": {"Le Touquet-Côte d'Opale Airport", "Le Tourquet", "France", "LTQ", "LFAT", 50.517398834228516, 1.6205899715423584, 36, 1, "E", "Europe/Paris"}, + "AGF": {"Agen-La Garenne Airport", "Agen", "France", "AGF", "LFBA", 44.17470169067383, 0.5905560255050659, 204, 1, "E", "Europe/Paris"}, + "BOD": {"Bordeaux-Mérignac Airport", "Bordeaux", "France", "BOD", "LFBD", 44.828300476100004, -0.715556025505, 162, 1, "E", "Europe/Paris"}, + "EGC": {"Bergerac-Roumanière Airport", "Bergerac", "France", "EGC", "LFBE", 44.82529830932617, 0.5186110138893127, 171, 1, "E", "Europe/Paris"}, + "CNG": {"Cognac-Châteaubernard (BA 709) Air Base", "Cognac", "France", "CNG", "LFBG", 45.65829849243164, -0.3174999952316284, 102, 1, "E", "Europe/Paris"}, + "PIS": {"Poitiers-Biard Airport", "Poitiers", "France", "PIS", "LFBI", 46.58769989013672, 0.30666598677635193, 423, 1, "E", "Europe/Paris"}, + "MCU": {"Montluçon-Guéret Airport", "Montlucon-gueret", "France", "MCU", "LFBK", 46.222599029541016, 2.363960027694702, 1497, 1, "E", "Europe/Paris"}, + "LIG": {"Limoges Airport", "Limoges", "France", "LIG", "LFBL", 45.86280059814453, 1.1794400215148926, 1300, 1, "E", "Europe/Paris"}, + "NIT": {"Niort-Souché Airport", "Niort", "France", "NIT", "LFBN", 46.313477, -0.394529, 203, 1, "E", "Europe/Paris"}, + "TLS": {"Toulouse-Blagnac Airport", "Toulouse", "France", "TLS", "LFBO", 43.629101, 1.36382, 499, 1, "E", "Europe/Paris"}, + "PUF": {"Pau Pyrénées Airport", "Pau", "France", "PUF", "LFBP", 43.380001068115234, -0.41861099004745483, 616, 1, "E", "Europe/Paris"}, + "LDE": {"Tarbes-Lourdes-Pyrénées Airport", "Tarbes", "France", "LDE", "LFBT", 43.1786994934082, -0.006438999902456999, 1260, 1, "E", "Europe/Paris"}, + "ANG": {"Angoulême-Brie-Champniers Airport", "Angouleme", "France", "ANG", "LFBU", 45.72919845581055, 0.22145600616931915, 436, 1, "E", "Europe/Paris"}, + "BVE": {"Toul Rosières Air Base", "Brive", "France", "BVE", "LFSL", 48.780001, 5.980003, 936, 1, "E", "Europe/Paris"}, + "PGX": {"Périgueux-Bassillac Airport", "Perigueux", "France", "PGX", "LFBX", 45.19810104370117, 0.815555989742279, 328, 1, "E", "Europe/Paris"}, + "BIQ": {"Biarritz-Anglet-Bayonne Airport", "Biarritz-bayonne", "France", "BIQ", "LFBZ", 43.4683333, -1.5311111, 245, 1, "E", "Europe/Paris"}, + "XAC": {"Arcachon-La Teste-de-Buch Airport", "Arcachon", "France", "XAC", "LFCH", 44.596401, -1.11083, 49, 1, "E", "Europe/Paris"}, + "LBI": {"Albi-Le Séquestre Airport", "Albi", "France", "LBI", "LFCI", 43.91389846801758, 2.1130599975585938, 564, 1, "E", "Europe/Paris"}, + "DCM": {"Castres-Mazamet Airport", "Castres", "France", "DCM", "LFCK", 43.55630111694336, 2.289180040359497, 788, 1, "E", "Europe/Paris"}, + "RDZ": {"Rodez-Marcillac Airport", "Rodez", "France", "RDZ", "LFCR", 44.407901763916016, 2.4826700687408447, 1910, 1, "E", "Europe/Paris"}, + "RYN": {"Royan-Médis Airport", "Royan", "France", "RYN", "LFCY", 45.62810134887695, -0.9725000262260437, 72, 1, "E", "Europe/Paris"}, + "RCO": {"Rochefort-Saint-Agnant (BA 721) Airport", "Rochefort", "France", "RCO", "LFDN", 45.88779830932617, -0.9830560088157654, 60, 1, "E", "Europe/Paris"}, + "CMR": {"Colmar-Houssen Airport", "Colmar", "France", "CMR", "LFGA", 48.109901428222656, 7.359010219573975, 628, 1, "E", "Europe/Paris"}, + "DLE": {"Dole-Tavaux Airport", "Dole", "France", "DLE", "LFGJ", 47.042686, 5.435061, 645, 1, "E", "Europe/Paris"}, + "OBS": {"Aubenas-Ardèche Méridional Airport", "Aubenas-vals-lanas", "France", "OBS", "LFHO", 44.5442008972, 4.37218999863, 923, 1, "E", "Europe/Paris"}, + "LPY": {"Le Puy-Loudes Airport", "Le Puy", "France", "LPY", "LFHP", 45.0806999206543, 3.762890100479126, 2731, 1, "E", "Europe/Paris"}, + "XBK": {"Bourg-Ceyzériat Airport", "Bourg", "France", "XBK", "LFHS", 46.20090103149414, 5.292029857635498, 857, 1, "E", "Europe/Paris"}, + "XVF": {"Villefranche-Tarare Airport", "Vilefrance", "France", "XVF", "LFHV", 45.919983, 4.634931, 1076, 1, "E", "Europe/Paris"}, + "XMU": {"Moulins-Montbeugny Airport", "Moulins", "France", "XMU", "LFHY", 46.53459930419922, 3.423719882965088, 915, 1, "E", "Europe/Paris"}, + "ETZ": {"Metz-Nancy-Lorraine Airport", "Metz", "France", "ETZ", "LFJL", 48.9821014404, 6.25131988525, 870, 1, "E", "Europe/Paris"}, + "BIA": {"Bastia-Poretta Airport", "Bastia", "France", "BIA", "LFKB", 42.55270004272461, 9.48373031616211, 26, 1, "E", "Europe/Paris"}, + "CLY": {"Calvi-Sainte-Catherine Airport", "Calvi", "France", "CLY", "LFKC", 42.5244444, 8.7930556, 209, 1, "E", "Europe/Paris"}, + "FSC": {"Figari Sud-Corse Airport", "Figari", "France", "FSC", "LFKF", 41.5005989074707, 9.097780227661133, 87, 1, "E", "Europe/Paris"}, + "AJA": {"Ajaccio-Napoléon Bonaparte Airport", "Ajaccio", "France", "AJA", "LFKJ", 41.92359924316406, 8.8029203414917, 18, 1, "E", "Europe/Paris"}, + "SOZ": {"Solenzara (BA 126) Air Base", "Solenzara", "France", "SOZ", "LFKS", 41.924400329589844, 9.406000137329102, 28, 1, "E", "Europe/Paris"}, + "AUF": {"Auxerre-Branches Airport", "Auxerre", "France", "AUF", "LFLA", 47.85020065307617, 3.497109889984131, 523, 1, "E", "Europe/Paris"}, + "CMF": {"Chambéry-Savoie Airport", "Chambery", "France", "CMF", "LFLB", 45.638099670410156, 5.880229949951172, 779, 1, "E", "Europe/Paris"}, + "CFE": {"Clermont-Ferrand Auvergne Airport", "Clermont-Ferrand", "France", "CFE", "LFLC", 45.7867012024, 3.1691699028, 1090, 1, "E", "Europe/Paris"}, + "BOU": {"Bourges Airport", "Bourges", "France", "BOU", "LFLD", 47.058101654052734, 2.3702800273895264, 529, 1, "E", "Europe/Paris"}, + "XCD": {"Chalon-Champforgeuil Airport", "Chalon", "France", "XCD", "LFLH", 46.82609939575195, 4.817629814147949, 623, 1, "E", "Europe/Paris"}, + "QNJ": {"Annemasse Airport", "Annemasse", "France", "QNJ", "LFLI", 46.1920013428, 6.268390178680001, 1620, 1, "E", "Europe/Paris"}, + "LYS": {"Lyon Saint-Exupéry Airport", "Lyon", "France", "LYS", "LFLL", 45.7255556, 5.0811111, 821, 1, "E", "Europe/Paris"}, + "QNX": {"Mâcon-Charnay Airport", "Macon", "France", "QNX", "LFLM", 46.295101, 4.79577, 728, 1, "E", "Europe/Paris"}, + "RNE": {"Roanne-Renaison Airport", "Roanne", "France", "RNE", "LFLO", 46.05830001831055, 4.001389980316162, 1106, 1, "E", "Europe/Paris"}, + "NCY": {"Annecy-Haute-Savoie-Mont Blanc Airport", "Annecy", "France", "NCY", "LFLP", 45.9308333, 6.1063889, 1521, 1, "E", "Europe/Paris"}, + "GNB": {"Grenoble-Isère Airport", "Grenoble", "France", "GNB", "LFLS", 45.36289978027344, 5.329370021820068, 1302, 1, "E", "Europe/Paris"}, + "VAF": {"Valence-Chabeuil Airport", "Valence", "France", "VAF", "LFLU", 44.9216, 4.9699, 525, 1, "E", "Europe/Paris"}, + "VHY": {"Vichy-Charmeil Airport", "Vichy", "France", "VHY", "LFLV", 46.169700622558594, 3.4037399291992188, 817, 1, "E", "Europe/Paris"}, + "AUR": {"Aurillac Airport", "Aurillac", "France", "AUR", "LFLW", 44.89139938354492, 2.4219400882720947, 2096, 1, "E", "Europe/Paris"}, + "CHR": {"Châteauroux-Déols \"Marcel Dassault\" Airport", "Chateauroux", "France", "CHR", "LFLX", 46.86027778, 1.7211111, 529, 1, "E", "Europe/Paris"}, + "LYN": {"Lyon-Bron Airport", "Lyon", "France", "LYN", "LFLY", 45.72719955444336, 4.944270133972168, 659, 1, "E", "Europe/Paris"}, + "QXB": {"Aix-en-Provence (BA 114) Airport", "Aix-les-milles", "France", "QXB", "LFMA", 43.5056, 5.36778, 367, 1, "E", "Europe/Paris"}, + "CEQ": {"Cannes-Mandelieu Airport", "Cannes", "France", "CEQ", "LFMD", 43.54199981689453, 6.953479766845703, 13, 1, "E", "Europe/Paris"}, + "EBU": {"Saint-Étienne-Bouthéon Airport", "St-Etienne", "France", "EBU", "LFMH", 45.54059982299805, 4.296390056610107, 1325, 1, "E", "Europe/Paris"}, + "CCF": {"Carcassonne Airport", "Carcassonne", "France", "CCF", "LFMK", 43.215999603271484, 2.3063199520111084, 433, 1, "E", "Europe/Paris"}, + "MRS": {"Marseille Provence Airport", "Marseille", "France", "MRS", "LFML", 43.439271922, 5.22142410278, 74, 1, "E", "Europe/Paris"}, + "NCE": {"Nice-Côte d'Azur Airport", "Nice", "France", "NCE", "LFMN", 43.6584014893, 7.215869903560001, 12, 1, "E", "Europe/Paris"}, + "PGF": {"Perpignan-Rivesaltes (Llabanère) Airport", "Perpignan", "France", "PGF", "LFMP", 42.74039840698242, 2.8706700801849365, 144, 1, "E", "Europe/Paris"}, + "CTT": {"Le Castellet Airport", "Le Castellet", "France", "CTT", "LFMQ", 43.252498626708984, 5.785190105438232, 1391, 1, "E", "Europe/Paris"}, + "MPL": {"Montpellier-Méditerranée Airport", "Montpellier", "France", "MPL", "LFMT", 43.57619857788086, 3.96301007270813, 17, 1, "E", "Europe/Paris"}, + "BZR": {"Béziers-Vias Airport", "Beziers", "France", "BZR", "LFMU", 43.32350158691406, 3.3538999557495117, 56, 1, "E", "Europe/Paris"}, + "AVN": {"Avignon-Caumont Airport", "Avignon", "France", "AVN", "LFMV", 43.90729904174805, 4.901830196380615, 124, 1, "E", "Europe/Paris"}, + "MEN": {"Mende-Brenoux Airport", "Mende", "France", "MEN", "LFNB", 44.50210189819336, 3.532819986343384, 3362, 1, "E", "Europe/Paris"}, + "BVA": {"Paris Beauvais Tillé Airport", "Beauvais", "France", "BVA", "LFOB", 49.45439910888672, 2.1127800941467285, 359, 1, "E", "Europe/Paris"}, + "LEH": {"Le Havre Octeville Airport", "Le Havre", "France", "LEH", "LFOH", 49.53390121459961, 0.08805599808692932, 313, 1, "E", "Europe/Paris"}, + "ORE": {"Orléans-Bricy (BA 123) Air Base", "Orleans", "France", "ORE", "LFOJ", 47.9878005981, 1.7605600357100002, 412, 1, "E", "Europe/Paris"}, + "XCR": {"Châlons-Vatry Air Base", "Chalons", "France", "XCR", "LFOK", 48.776100158691406, 4.184490203857422, 587, 1, "E", "Europe/Paris"}, + "URO": {"Rouen Airport", "Rouen", "France", "URO", "LFOP", 49.38420104980469, 1.1748000383377075, 512, 1, "E", "Europe/Paris"}, + "TUF": {"Tours-Val-de-Loire Airport", "Tours", "France", "TUF", "LFOT", 47.4322013855, 0.727605998516, 357, 1, "E", "Europe/Paris"}, + "CET": {"Cholet Le Pontreau Airport", "Cholet", "France", "CET", "LFOU", 47.08209991455078, -0.8770639896392822, 443, 1, "E", "Europe/Paris"}, + "LVA": {"Laval-Entrammes Airport", "Laval", "France", "LVA", "LFOV", 48.03139877319336, -0.7429860234260559, 330, 1, "E", "Europe/Paris"}, + "LBG": {"Paris-Le Bourget Airport", "Paris", "France", "LBG", "LFPB", 48.969398498535156, 2.441390037536621, 218, 1, "E", "Europe/Paris"}, + "CSF": {"Creil Air Base", "Creil", "France", "CSF", "LFPC", 49.253501892089844, 2.5191400051116943, 291, 1, "E", "Europe/Paris"}, + "CDG": {"Charles de Gaulle International Airport", "Paris", "France", "CDG", "LFPG", 49.0127983093, 2.54999995232, 392, 1, "E", "Europe/Paris"}, + "TNF": {"Toussus-le-Noble Airport", "Toussous-le-noble", "France", "TNF", "LFPN", 48.75189971923828, 2.1061899662017822, 538, 1, "E", "Europe/Paris"}, + "ORY": {"Paris-Orly Airport", "Paris", "France", "ORY", "LFPO", 48.7233333, 2.3794444, 291, 1, "E", "Europe/Paris"}, + "POX": {"Pontoise - Cormeilles-en-Vexin Airport", "Pontoise", "France", "POX", "LFPT", 49.0966667, 2.0408333, 325, 1, "E", "Europe/Paris"}, + "QYR": {"Troyes-Barberey Airport", "Troyes", "France", "QYR", "LFQB", 48.32210159301758, 4.01669979095459, 388, 1, "E", "Europe/Paris"}, + "NVS": {"Nevers-Fourchambault Airport", "Nevers", "France", "NVS", "LFQG", 47.002601623535156, 3.1133298873901367, 602, 1, "E", "Europe/Paris"}, + "LIL": {"Lille-Lesquin Airport", "Lille", "France", "LIL", "LFQQ", 50.563332, 3.086886, 157, 1, "E", "Europe/Paris"}, + "BES": {"Brest Bretagne Airport", "Brest", "France", "BES", "LFRB", 48.447898864746094, -4.418540000915527, 325, 1, "E", "Europe/Paris"}, + "CER": {"Cherbourg-Maupertus Airport", "Cherbourg", "France", "CER", "LFRC", 49.65010070800781, -1.4702800512313843, 459, 1, "E", "Europe/Paris"}, + "DNR": {"Dinard-Pleurtuit-Saint-Malo Airport", "Dinard", "France", "DNR", "LFRD", 48.58769989013672, -2.0799601078033447, 219, 1, "E", "Europe/Paris"}, + "GFR": {"Granville Airport", "Granville", "France", "GFR", "LFRF", 48.88309860229492, -1.564170002937317, 45, 1, "E", "Europe/Paris"}, + "DOL": {"Deauville-Saint-Gatien Airport", "Deauville", "France", "DOL", "LFRG", 49.3652992249, 0.154305994511, 479, 1, "E", "Europe/Paris"}, + "LRT": {"Lorient South Brittany (Bretagne Sud) Airport", "Lorient", "France", "LRT", "LFRH", 47.76060104370117, -3.440000057220459, 160, 1, "E", "Europe/Paris"}, + "EDM": {"La Roche-sur-Yon Airport", "La Roche-sur-yon", "France", "EDM", "LFRI", 46.701900482177734, -1.3786300420761108, 299, 1, "E", "Europe/Paris"}, + "CFR": {"Caen-Carpiquet Airport", "Caen", "France", "CFR", "LFRK", 49.173301696777344, -0.44999998807907104, 256, 1, "E", "Europe/Paris"}, + "LME": {"Le Mans-Arnage Airport", "Le Mans", "France", "LME", "LFRM", 47.94860076904297, 0.20166699588298798, 194, 1, "E", "Europe/Paris"}, + "RNS": {"Rennes-Saint-Jacques Airport", "Rennes", "France", "RNS", "LFRN", 48.069499969499994, -1.73478996754, 124, 1, "E", "Europe/Paris"}, + "LAI": {"Lannion-Côte de Granit Airport", "Lannion", "France", "LAI", "LFRO", 48.754398345947266, -3.4716598987579346, 290, 1, "E", "Europe/Paris"}, + "UIP": {"Quimper-Cornouaille Airport", "Quimper", "France", "UIP", "LFRQ", 47.974998474121094, -4.167789936065674, 297, 1, "E", "Europe/Paris"}, + "NTE": {"Nantes Atlantique Airport", "Nantes", "France", "NTE", "LFRS", 47.153198242200006, -1.61073005199, 90, 1, "E", "Europe/Paris"}, + "SBK": {"Saint-Brieuc-Armor Airport", "St.-brieuc Armor", "France", "SBK", "LFRT", 48.5378, -2.85444, 453, 1, "E", "Europe/Paris"}, + "MXN": {"Morlaix-Ploujean Airport", "Morlaix", "France", "MXN", "LFRU", 48.6031990051, -3.81577992439, 272, 1, "E", "Europe/Paris"}, + "VNE": {"Vannes-Meucon Airport", "Vannes", "France", "VNE", "LFRV", 47.72330093383789, -2.718559980392456, 446, 1, "E", "Europe/Paris"}, + "SNR": {"Saint-Nazaire-Montoir Airport", "St.-nazaire", "France", "SNR", "LFRZ", 47.3105556, -2.1566667, 13, 1, "E", "Europe/Paris"}, + "BSL": {"EuroAirport Basel-Mulhouse-Freiburg Airport", "Mulhouse", "France", "BSL", "LFSB", 47.59, 7.5291667, 885, 1, "E", "Europe/Paris"}, + "DIJ": {"Dijon-Bourgogne Airport", "Dijon", "France", "DIJ", "LFSD", 47.268901825, 5.09000015259, 726, 1, "E", "Europe/Paris"}, + "MZM": {"Metz-Frescaty (BA 128) Air Base", "Metz", "France", "MZM", "LFSF", 49.07170104980469, 6.131669998168945, 629, 1, "E", "Europe/Paris"}, + "EPL": {"Épinal-Mirecourt Airport", "Epinal", "France", "EPL", "LFSG", 48.32500076293945, 6.069980144500732, 1084, 1, "E", "Europe/Paris"}, + "ENC": {"Nancy-Essey Airport", "Nancy", "France", "ENC", "LFSN", 48.692100524902344, 6.230460166931152, 751, 1, "E", "Europe/Paris"}, + "RHE": {"Reims-Champagne (BA 112) Air Base", "Reims", "France", "RHE", "LFSR", 49.310001, 4.05, 312, 1, "E", "Europe/Paris"}, + "SXB": {"Strasbourg Airport", "Strasbourg", "France", "SXB", "LFST", 48.538299560546875, 7.628230094909668, 505, 1, "E", "Europe/Paris"}, + "TLN": {"Toulon-Hyères Airport", "Hyeres", "France", "TLN", "LFTH", 43.0973014832, 6.14602994919, 7, 1, "E", "Europe/Paris"}, + "FNI": {"Nîmes-Arles-Camargue Airport", "Nimes", "France", "FNI", "LFTW", 43.75740051269531, 4.4163498878479, 309, 1, "E", "Europe/Paris"}, + "MQC": {"Miquelon Airport", "Miquelon", "Saint Pierre and Miquelon", "MQC", "LFVM", 47.095500946, -56.3802986145, 10, -3, "U", "America/Miquelon"}, + "FSP": {"St Pierre Airport", "St.-pierre", "Saint Pierre and Miquelon", "FSP", "LFVP", 46.762901306152344, -56.173099517822266, 27, -3, "U", "America/Miquelon"}, + "PYR": {"Andravida Air Base", "Andravida", "Greece", "PYR", "LGAD", 37.9207, 21.292601, 55, 2, "E", "Europe/Athens"}, + "AGQ": {"Agrinion Air Base", "Agrinion", "Greece", "AGQ", "LGAG", 38.602001, 21.3512001, 154, 2, "E", "Europe/Athens"}, + "AXD": {"Dimokritos Airport", "Alexandroupolis", "Greece", "AXD", "LGAL", 40.855899810791016, 25.956300735473633, 24, 2, "E", "Europe/Athens"}, + "VOL": {"Nea Anchialos Airport", "Nea Anghialos", "Greece", "VOL", "LGBL", 39.219600677490234, 22.794300079345703, 83, 2, "E", "Europe/Athens"}, + "JKH": {"Chios Island National Airport", "Chios", "Greece", "JKH", "LGHI", 38.34320068359375, 26.140600204467773, 15, 2, "E", "Europe/Athens"}, + "IOA": {"Ioannina Airport", "Ioannina", "Greece", "IOA", "LGIO", 39.6963996887207, 20.822500228881836, 1558, 2, "E", "Europe/Athens"}, + "HER": {"Heraklion International Nikos Kazantzakis Airport", "Heraklion", "Greece", "HER", "LGIR", 35.3396987915, 25.180299758900002, 115, 2, "E", "Europe/Athens"}, + "KSO": {"Kastoria National Airport", "Kastoria", "Greece", "KSO", "LGKA", 40.4463005066, 21.2821998596, 2167, 2, "E", "Europe/Athens"}, + "KIT": {"Kithira Airport", "Kithira", "Greece", "KIT", "LGKC", 36.2742996216, 23.0170001984, 1045, 2, "E", "Europe/Athens"}, + "EFL": {"Kefallinia Airport", "Keffallinia", "Greece", "EFL", "LGKF", 38.12009811401367, 20.500499725341797, 59, 2, "E", "Europe/Athens"}, + "KLX": {"Kalamata Airport", "Kalamata", "Greece", "KLX", "LGKL", 37.06829833984375, 22.02549934387207, 26, 2, "E", "Europe/Athens"}, + "KGS": {"Kos Airport", "Kos", "Greece", "KGS", "LGKO", 36.79330062866211, 27.091699600219727, 412, 2, "E", "Europe/Athens"}, + "AOK": {"Karpathos Airport", "Karpathos", "Greece", "AOK", "LGKP", 35.4213981628418, 27.145999908447266, 66, 2, "E", "Europe/Athens"}, + "CFU": {"Ioannis Kapodistrias International Airport", "Kerkyra/corfu", "Greece", "CFU", "LGKR", 39.601898193359375, 19.911699295043945, 6, 2, "E", "Europe/Athens"}, + "KSJ": {"Kasos Airport", "Kasos", "Greece", "KSJ", "LGKS", 35.4213981628, 26.909999847399998, 35, 2, "E", "Europe/Athens"}, + "KVA": {"Alexander the Great International Airport", "Kavala", "Greece", "KVA", "LGKV", 40.913299560546875, 24.619199752807617, 18, 2, "E", "Europe/Athens"}, + "KZI": {"Filippos Airport", "Kozani", "Greece", "KZI", "LGKZ", 40.28609848022461, 21.84079933166504, 2059, 2, "E", "Europe/Athens"}, + "LRS": {"Leros Airport", "Leros", "Greece", "LRS", "LGLE", 37.184898376499994, 26.8003005981, 39, 2, "E", "Europe/Athens"}, + "LXS": {"Limnos Airport", "Limnos", "Greece", "LXS", "LGLM", 39.917098999, 25.236299514799995, 14, 2, "E", "Europe/Athens"}, + "LRA": {"Larisa Airport", "Larissa", "Greece", "LRA", "LGLR", 39.650253, 22.4655, 241, 2, "E", "Europe/Athens"}, + "JMK": {"Mikonos Airport", "Mykonos", "Greece", "JMK", "LGMK", 37.43510055541992, 25.348100662231445, 405, 2, "E", "Europe/Athens"}, + "MJT": {"Mytilene International Airport", "Mytilini", "Greece", "MJT", "LGMT", 39.0567016602, 26.5983009338, 60, 2, "E", "Europe/Athens"}, + "PVK": {"Aktion National Airport", "Preveza", "Greece", "PVK", "LGPZ", 38.925498962402344, 20.765300750732422, 11, 2, "E", "Europe/Athens"}, + "RHO": {"Diagoras Airport", "Rhodos", "Greece", "RHO", "LGRP", 36.405399322509766, 28.086200714111328, 17, 2, "E", "Europe/Athens"}, + "GPA": {"Araxos Airport", "Patras", "Greece", "GPA", "LGRX", 38.1511, 21.4256, 46, 2, "E", "Europe/Athens"}, + "CHQ": {"Chania International Airport", "Chania", "Greece", "CHQ", "LGSA", 35.531700134277344, 24.149700164794922, 490, 2, "E", "Europe/Athens"}, + "JSI": {"Skiathos Island National Airport", "Skiathos", "Greece", "JSI", "LGSK", 39.177101135253906, 23.503700256347656, 54, 2, "E", "Europe/Athens"}, + "SMI": {"Samos Airport", "Samos", "Greece", "SMI", "LGSM", 37.689998626708984, 26.911699295043945, 19, 2, "E", "Europe/Athens"}, + "JTR": {"Santorini Airport", "Thira", "Greece", "JTR", "LGSR", 36.399200439453125, 25.479299545288086, 127, 2, "E", "Europe/Athens"}, + "JSH": {"Sitia Airport", "Sitia", "Greece", "JSH", "LGST", 35.21609878540039, 26.101299285888672, 376, 2, "E", "Europe/Athens"}, + "SKU": {"Skiros Airport", "Skiros", "Greece", "SKU", "LGSY", 38.9676017761, 24.4871997833, 44, 2, "E", "Europe/Athens"}, + "SKG": {"Thessaloniki Macedonia International Airport", "Thessaloniki", "Greece", "SKG", "LGTS", 40.51969909667969, 22.97089958190918, 22, 2, "E", "Europe/Athens"}, + "ZTH": {"Dionysios Solomos Airport", "Zakynthos", "Greece", "ZTH", "LGZA", 37.75090026855469, 20.884300231933594, 15, 2, "E", "Europe/Athens"}, + "BUD": {"Budapest Ferenc Liszt International Airport", "Budapest", "Hungary", "BUD", "LHBP", 47.436901092499994, 19.255599975599996, 495, 1, "E", "Europe/Budapest"}, + "DEB": {"Debrecen International Airport", "Debrecen", "Hungary", "DEB", "LHDC", 47.48889923095703, 21.615299224853516, 359, 1, "E", "Europe/Budapest"}, + "CRV": {"Crotone Airport", "Crotone", "Italy", "CRV", "LIBC", 38.9972, 17.0802, 522, 1, "E", "Europe/Rome"}, + "BRI": {"Bari Karol Wojtyła Airport", "Bari", "Italy", "BRI", "LIBD", 41.138901, 16.760599, 177, 1, "E", "Europe/Rome"}, + "FOG": {"Foggia \"Gino Lisa\" Airport", "Foggia", "Italy", "FOG", "LIBF", 41.432899, 15.535, 265, 1, "E", "Europe/Rome"}, + "TAR": {"Taranto-Grottaglie \"Marcello Arlotta\" Airport", "Grottaglie", "Italy", "TAR", "LIBG", 40.517502, 17.4032, 215, 1, "E", "Europe/Rome"}, + "LCC": {"Lecce Galatina Air Base", "Lecce", "Italy", "LCC", "LIBN", 40.239201, 18.133301, 156, 1, "E", "Europe/Rome"}, + "PSR": {"Pescara International Airport", "Pescara", "Italy", "PSR", "LIBP", 42.431702, 14.1811, 48, 1, "E", "Europe/Rome"}, + "BDS": {"Brindisi – Salento Airport", "Brindisi", "Italy", "BDS", "LIBR", 40.6576, 17.947001, 47, 1, "E", "Europe/Rome"}, + "SUF": {"Lamezia Terme Airport", "Lamezia", "Italy", "SUF", "LICA", 38.905399, 16.2423, 39, 1, "E", "Europe/Rome"}, + "CTA": {"Catania-Fontanarossa Airport", "Catania", "Italy", "CTA", "LICC", 37.466801, 15.0664, 39, 1, "E", "Europe/Rome"}, + "LMP": {"Lampedusa Airport", "Lampedusa", "Italy", "LMP", "LICD", 35.497898, 12.6181, 70, 1, "E", "Europe/Rome"}, + "PNL": {"Pantelleria Airport", "Pantelleria", "Italy", "PNL", "LICG", 36.816502, 11.9689, 628, 1, "E", "Europe/Rome"}, + "PMO": {"Falcone–Borsellino Airport", "Palermo", "Italy", "PMO", "LICJ", 38.175999, 13.091, 65, 1, "E", "Europe/Rome"}, + "REG": {"Reggio Calabria Airport", "Reggio Calabria", "Italy", "REG", "LICR", 38.071201, 15.6516, 96, 1, "E", "Europe/Rome"}, + "TPS": {"Vincenzo Florio Airport Trapani-Birgi", "Trapani", "Italy", "TPS", "LICT", 37.9114, 12.488, 25, 1, "E", "Europe/Rome"}, + "NSY": {"Sigonella Navy Air Base", "Sigonella", "Italy", "NSY", "LICZ", 37.401699, 14.9224, 79, 1, "E", "Europe/Rome"}, + "AHO": {"Alghero-Fertilia Airport", "Alghero", "Italy", "AHO", "LIEA", 40.632099, 8.29077, 87, 1, "E", "Europe/Rome"}, + "DCI": {"Decimomannu Air Base", "Decimomannu", "Italy", "DCI", "LIED", 39.354198, 8.97248, 100, 1, "E", "Europe/Rome"}, + "CAG": {"Cagliari Elmas Airport", "Cagliari", "Italy", "CAG", "LIEE", 39.251499, 9.05428, 13, 1, "E", "Europe/Rome"}, + "OLB": {"Olbia Costa Smeralda Airport", "Olbia", "Italy", "OLB", "LIEO", 40.898701, 9.51763, 37, 1, "E", "Europe/Rome"}, + "TTB": {"Tortolì Airport", "Tortoli", "Italy", "TTB", "LIET", 39.9188, 9.68298, 23, 1, "E", "Europe/Rome"}, + "MXP": {"Malpensa International Airport", "Milano", "Italy", "MXP", "LIMC", 45.6306, 8.72811, 768, 1, "E", "Europe/Rome"}, + "BGY": {"Il Caravaggio International Airport", "Bergamo", "Italy", "BGY", "LIME", 45.673901, 9.70417, 782, 1, "E", "Europe/Rome"}, + "TRN": {"Turin Airport", "Torino", "Italy", "TRN", "LIMF", 45.200802, 7.64963, 989, 1, "E", "Europe/Rome"}, + "ALL": {"Villanova D'Albenga International Airport", "Albenga", "Italy", "ALL", "LIMG", 44.050598, 8.12743, 148, 1, "E", "Europe/Rome"}, + "GOA": {"Genoa Cristoforo Colombo Airport", "Genoa", "Italy", "GOA", "LIMJ", 44.4133, 8.8375, 13, 1, "E", "Europe/Rome"}, + "LIN": {"Milano Linate Airport", "Milan", "Italy", "LIN", "LIML", 45.445099, 9.27674, 353, 1, "E", "Europe/Rome"}, + "PMF": {"Parma Airport", "Parma", "Italy", "PMF", "LIMP", 44.824501, 10.2964, 161, 1, "E", "Europe/Rome"}, + "QPZ": {"Piacenza San Damiano Air Base", "Piacenza", "Italy", "QPZ", "LIMS", 44.913101, 9.723323, 456, 1, "E", "Europe/Rome"}, + "CUF": {"Cuneo International Airport", "Cuneo", "Italy", "CUF", "LIMZ", 44.547001, 7.62322, 1267, 1, "E", "Europe/Rome"}, + "AVB": {"Aviano Air Base", "Aviano", "Italy", "AVB", "LIPA", 46.031898, 12.596503, 410, 1, "E", "Europe/Rome"}, + "BZO": {"Bolzano Airport", "Bolzano", "Italy", "BZO", "LIPB", 46.460201, 11.3264, 789, 1, "E", "Europe/Rome"}, + "BLQ": {"Bologna Guglielmo Marconi Airport", "Bologna", "Italy", "BLQ", "LIPE", 44.5354, 11.2887, 123, 1, "E", "Europe/Rome"}, + "TSF": {"Treviso-Sant'Angelo Airport", "Treviso", "Italy", "TSF", "LIPH", 45.648399, 12.1944, 59, 1, "E", "Europe/Rome"}, + "FRL": {"Forlì Airport", "Forli", "Italy", "FRL", "LIPK", 44.194801, 12.0701, 97, 1, "E", "Europe/Rome"}, + "VBS": {"Brescia Airport", "Brescia", "Italy", "VBS", "LIPO", 45.428902, 10.3306, 355, 1, "E", "Europe/Rome"}, + "TRS": {"Trieste–Friuli Venezia Giulia Airport", "Ronchi De Legionari", "Italy", "TRS", "LIPQ", 45.827499, 13.4722, 39, 1, "E", "Europe/Rome"}, + "RMI": {"Federico Fellini International Airport", "Rimini", "Italy", "RMI", "LIPR", 44.020302, 12.6117, 40, 1, "E", "Europe/Rome"}, + "VIC": {"Vicenza Airport", "Vicenza", "Italy", "VIC", "LIPT", 45.573399, 11.5295, 128, 1, "E", "Europe/Rome"}, + "QPA": {"Padova Airport", "Padova", "Italy", "QPA", "LIPU", 45.395802, 11.8479, 44, 1, "E", "Europe/Rome"}, + "VRN": {"Verona Villafranca Airport", "Villafranca", "Italy", "VRN", "LIPX", 45.395699, 10.8885, 239, 1, "E", "Europe/Rome"}, + "VCE": {"Venice Marco Polo Airport", "Venice", "Italy", "VCE", "LIPZ", 45.505299, 12.3519, 7, 1, "E", "Europe/Rome"}, + "SAY": {"Siena-Ampugnano Airport", "Siena", "Italy", "SAY", "LIQS", 43.256302, 11.255, 634, 1, "E", "Europe/Rome"}, + "CIA": {"Ciampino–G. B. Pastine International Airport", "Rome", "Italy", "CIA", "LIRA", 41.7994, 12.5949, 427, 1, "E", "Europe/Rome"}, + "FCO": {"Leonardo da Vinci–Fiumicino Airport", "Rome", "Italy", "FCO", "LIRF", 41.8002778, 12.2388889, 13, 1, "E", "Europe/Rome"}, + "EBA": {"Marina Di Campo Airport", "Marina Di Campo", "Italy", "EBA", "LIRJ", 42.7603, 10.2394, 31, 1, "E", "Europe/Rome"}, + "QLT": {"Latina Air Base", "Latina", "Italy", "QLT", "LIRL", 41.5424, 12.909, 94, 1, "E", "Europe/Rome"}, + "NAP": {"Naples International Airport", "Naples", "Italy", "NAP", "LIRN", 40.886002, 14.2908, 294, 1, "E", "Europe/Rome"}, + "PSA": {"Pisa International Airport", "Pisa", "Italy", "PSA", "LIRP", 43.683899, 10.3927, 6, 1, "E", "Europe/Rome"}, + "FLR": {"Peretola Airport", "Florence", "Italy", "FLR", "LIRQ", 43.810001, 11.2051, 142, 1, "E", "Europe/Rome"}, + "GRS": {"Grosseto Air Base", "Grosseto", "Italy", "GRS", "LIRS", 42.759701, 11.0719, 17, 1, "E", "Europe/Rome"}, + "PEG": {"Perugia San Francesco d'Assisi – Umbria International Airport", "Perugia", "Italy", "PEG", "LIRZ", 43.095901, 12.5132, 697, 1, "E", "Europe/Rome"}, + "LJU": {"Ljubljana Jože Pučnik Airport", "Ljubljana", "Slovenia", "LJU", "LJLJ", 46.223701, 14.4576, 1273, 1, "E", "Europe/Ljubljana"}, + "MBX": {"Maribor Airport", "Maribor", "Slovenia", "MBX", "LJMB", 46.47990036010742, 15.686100006103516, 876, 1, "E", "Europe/Ljubljana"}, + "POW": {"Portoroz Airport", "Portoroz", "Slovenia", "POW", "LJPZ", 45.4734001159668, 13.614999771118164, 7, 1, "E", "Europe/Ljubljana"}, + "KLV": {"Karlovy Vary International Airport", "Karlovy Vary", "Czech Republic", "KLV", "LKKV", 50.202999114990234, 12.914999961853027, 1989, 1, "E", "Europe/Prague"}, + "OSR": {"Ostrava Leos Janáček Airport", "Ostrava", "Czech Republic", "OSR", "LKMT", 49.6963005065918, 18.111099243164062, 844, 1, "E", "Europe/Prague"}, + "PED": {"Pardubice Airport", "Pardubice", "Czech Republic", "PED", "LKPD", 50.01340103149414, 15.73859977722168, 741, 1, "E", "Europe/Prague"}, + "PRV": {"Přerov Air Base", "Prerov", "Czech Republic", "PRV", "LKPO", 49.42580032348633, 17.404699325561523, 676, 1, "E", "Europe/Prague"}, + "PRG": {"Václav Havel Airport Prague", "Prague", "Czech Republic", "PRG", "LKPR", 50.1008, 14.26, 1247, 1, "E", "Europe/Prague"}, + "BRQ": {"Brno-Tuřany Airport", "Brno", "Czech Republic", "BRQ", "LKTB", 49.15129852294922, 16.694400787353516, 778, 1, "E", "Europe/Prague"}, + "TLV": {"Ben Gurion International Airport", "Tel-aviv", "Israel", "TLV", "LLBG", 32.01139831542969, 34.88669967651367, 135, 2, "E", "Asia/Jerusalem"}, + "BEV": {"Beersheba (Teyman) Airport", "Beer-sheba", "Israel", "BEV", "LLBS", 31.287000656128, 34.722999572754, 656, 2, "E", "Asia/Jerusalem"}, + "ETH": {"Eilat Airport", "Elat", "Israel", "ETH", "LLET", 29.56130027770996, 34.96009826660156, 42, 2, "E", "Asia/Jerusalem"}, + "HFA": {"Haifa International Airport", "Haifa", "Israel", "HFA", "LLHA", 32.80939865112305, 35.04309844970703, 28, 2, "E", "Asia/Jerusalem"}, + "RPN": {"Ben Ya'akov Airport", "Rosh Pina", "Israel", "RPN", "LLIB", 32.98099899291992, 35.5718994140625, 922, 2, "E", "Asia/Jerusalem"}, + "VDA": {"Ovda International Airport", "Ovda", "Israel", "VDA", "LLOV", 29.94029998779297, 34.93579864501953, 1492, 2, "E", "Asia/Jerusalem"}, + "SDV": {"Sde Dov Airport", "Tel-aviv", "Israel", "SDV", "LLSD", 32.11470031738281, 34.78219985961914, 43, 2, "E", "Asia/Jerusalem"}, + "MLA": {"Malta International Airport", "Malta", "Malta", "MLA", "LMML", 35.857498, 14.4775, 300, 1, "E", "Europe/Malta"}, + "GRZ": {"Graz Airport", "Graz", "Austria", "GRZ", "LOWG", 46.9911003112793, 15.439599990844727, 1115, 1, "E", "Europe/Vienna"}, + "INN": {"Innsbruck Airport", "Innsbruck", "Austria", "INN", "LOWI", 47.260201, 11.344, 1907, 1, "E", "Europe/Vienna"}, + "LNZ": {"Linz Hörsching Airport", "Linz", "Austria", "LNZ", "LOWL", 48.2332, 14.1875, 980, 1, "E", "Europe/Vienna"}, + "SZG": {"Salzburg Airport", "Salzburg", "Austria", "SZG", "LOWS", 47.793300628699996, 13.0043001175, 1411, 1, "E", "Europe/Vienna"}, + "VIE": {"Vienna International Airport", "Vienna", "Austria", "VIE", "LOWW", 48.110298156738, 16.569700241089, 600, 1, "E", "Europe/Vienna"}, + "SMA": {"Santa Maria Airport", "Santa Maria (island)", "Portugal", "SMA", "LPAZ", 36.97140121459961, -25.17060089111328, 308, -1, "E", "Atlantic/Azores"}, + "BGC": {"Bragança Airport", "Braganca", "Portugal", "BGC", "LPBG", 41.85779953, -6.70712995529, 2241, 0, "E", "Europe/Lisbon"}, + "FLW": {"Flores Airport", "Flores", "Portugal", "FLW", "LPFL", 39.455299377441406, -31.131399154663086, 112, -1, "E", "Atlantic/Azores"}, + "FAO": {"Faro Airport", "Faro", "Portugal", "FAO", "LPFR", 37.0144004822, -7.96590995789, 24, 0, "E", "Europe/Lisbon"}, + "GRW": {"Graciosa Airport", "Graciosa Island", "Portugal", "GRW", "LPGR", 39.092201232910156, -28.029800415039062, 86, -1, "E", "Atlantic/Azores"}, + "HOR": {"Horta Airport", "Horta", "Portugal", "HOR", "LPHR", 38.519901275634766, -28.715900421142578, 118, -1, "E", "Atlantic/Azores"}, + "TER": {"Lajes Field", "Lajes (terceira Island)", "Portugal", "TER", "LPLA", 38.761798858599995, -27.090799331699998, 180, -1, "E", "Atlantic/Azores"}, + "PDL": {"João Paulo II Airport", "Ponta Delgada", "Portugal", "PDL", "LPPD", 37.7411994934, -25.6979007721, 259, -1, "E", "Atlantic/Azores"}, + "PIX": {"Pico Airport", "Pico", "Portugal", "PIX", "LPPI", 38.554298400878906, -28.441299438476562, 109, -1, "E", "Atlantic/Azores"}, + "OPO": {"Francisco de Sá Carneiro Airport", "Porto", "Portugal", "OPO", "LPPR", 41.2481002808, -8.68138980865, 228, 0, "E", "Europe/Lisbon"}, + "PXO": {"Porto Santo Airport", "Porto Santo", "Portugal", "PXO", "LPPS", 33.0733985901, -16.3500003815, 341, 0, "E", "Europe/Lisbon"}, + "LIS": {"Lisbon Portela Airport", "Lisbon", "Portugal", "LIS", "LPPT", 38.7812995911, -9.13591957092, 374, 0, "E", "Europe/Lisbon"}, + "SJZ": {"São Jorge Airport", "Sao Jorge Island", "Portugal", "SJZ", "LPSJ", 38.66550064086914, -28.175800323486328, 311, -1, "E", "Atlantic/Azores"}, + "VRL": {"Vila Real Airport", "Vila Real", "Portugal", "VRL", "LPVR", 41.27429962158203, -7.720469951629639, 1805, 0, "E", "Europe/Lisbon"}, + "OMO": {"Mostar International Airport", "Mostar", "Bosnia and Herzegovina", "OMO", "LQMO", 43.282901763916016, 17.84589958190918, 156, 1, "E", "Europe/Sarajevo"}, + "SJJ": {"Sarajevo International Airport", "Sarajevo", "Bosnia and Herzegovina", "SJJ", "LQSA", 43.82460021972656, 18.331499099731445, 1708, 1, "E", "Europe/Sarajevo"}, + "ARW": {"Arad International Airport", "Arad", "Romania", "ARW", "LRAR", 46.17660140991211, 21.261999130249023, 352, 2, "E", "Europe/Bucharest"}, + "BCM": {"Bacău Airport", "Bacau", "Romania", "BCM", "LRBC", 46.52190017700195, 26.91029930114746, 607, 2, "E", "Europe/Bucharest"}, + "BAY": {"Tautii Magheraus Airport", "Baia Mare", "Romania", "BAY", "LRBM", 47.65840148925781, 23.469999313354492, 605, 2, "E", "Europe/Bucharest"}, + "BBU": {"Băneasa International Airport", "Bucharest", "Romania", "BBU", "LRBS", 44.50320053100586, 26.102100372314453, 297, 2, "E", "Europe/Bucharest"}, + "CND": {"Mihail Kogălniceanu International Airport", "Constanta", "Romania", "CND", "LRCK", 44.36220169067383, 28.488300323486328, 353, 2, "E", "Europe/Bucharest"}, + "CLJ": {"Cluj-Napoca International Airport", "Cluj-napoca", "Romania", "CLJ", "LRCL", 46.78519821166992, 23.686199188232422, 1036, 2, "E", "Europe/Bucharest"}, + "CSB": {"Caransebeş Airport", "Caransebes", "Romania", "CSB", "LRCS", 45.41999816894531, 22.253299713134766, 866, 2, "E", "Europe/Bucharest"}, + "CRA": {"Craiova Airport", "Craiova", "Romania", "CRA", "LRCV", 44.31809997558594, 23.888599395751953, 626, 2, "E", "Europe/Bucharest"}, + "IAS": {"Iaşi Airport", "Iasi", "Romania", "IAS", "LRIA", 47.17850112915039, 27.6205997467041, 397, 2, "E", "Europe/Bucharest"}, + "OMR": {"Oradea International Airport", "Oradea", "Romania", "OMR", "LROD", 47.025299072265625, 21.90250015258789, 465, 2, "E", "Europe/Bucharest"}, + "OTP": {"Henri Coandă International Airport", "Bucharest", "Romania", "OTP", "LROP", 44.5711111, 26.085, 314, 2, "E", "Europe/Bucharest"}, + "SBZ": {"Sibiu International Airport", "Sibiu", "Romania", "SBZ", "LRSB", 45.78559875488281, 24.091299057006836, 1496, 2, "E", "Europe/Bucharest"}, + "SUJ": {"Satu Mare Airport", "Satu Mare", "Romania", "SUJ", "LRSM", 47.70330047607422, 22.885700225830078, 405, 2, "E", "Europe/Bucharest"}, + "SCV": {"Suceava Stefan cel Mare Airport", "Suceava", "Romania", "SCV", "LRSV", 47.6875, 26.35409927368164, 1375, 2, "E", "Europe/Bucharest"}, + "TCE": {"Tulcea Airport", "Tulcea", "Romania", "TCE", "LRTC", 45.0625, 28.71430015563965, 200, 2, "E", "Europe/Bucharest"}, + "TGM": {"Transilvania Târgu Mureş International Airport", "Tirgu Mures", "Romania", "TGM", "LRTM", 46.46770095825195, 24.412500381469727, 963, 2, "E", "Europe/Bucharest"}, + "TSR": {"Timişoara Traian Vuia Airport", "Timisoara", "Romania", "TSR", "LRTR", 45.809898376464844, 21.337900161743164, 348, 2, "E", "Europe/Bucharest"}, + "GVA": {"Geneva Cointrin International Airport", "Geneva", "Switzerland", "GVA", "LSGG", 46.23809814453125, 6.108950138092041, 1411, 1, "E", "Europe/Paris"}, + "SIR": {"Sion Airport", "Sion", "Switzerland", "SIR", "LSGS", 46.219600677500004, 7.326759815220001, 1585, 1, "E", "Europe/Zurich"}, + "EML": {"Emmen Air Base", "Emmen", "Switzerland", "EML", "LSME", 47.092444, 8.305184, 1400, 1, "E", "Europe/Zurich"}, + "LUG": {"Lugano Airport", "Lugano", "Switzerland", "LUG", "LSZA", 46.00429916379999, 8.9105796814, 915, 1, "E", "Europe/Zurich"}, + "BRN": {"Bern Belp Airport", "Bern", "Switzerland", "BRN", "LSZB", 46.914100647, 7.497149944309999, 1674, 1, "E", "Europe/Zurich"}, + "ZRH": {"Zürich Airport", "Zurich", "Switzerland", "ZRH", "LSZH", 47.464698791504, 8.5491695404053, 1416, 1, "E", "Europe/Zurich"}, + "ACH": {"St Gallen Altenrhein Airport", "Altenrhein", "Switzerland", "ACH", "LSZR", 47.4850006104, 9.560770034789998, 1306, 1, "E", "Europe/Zurich"}, + "SMV": {"Samedan Airport", "Samedan", "Switzerland", "SMV", "LSZS", 46.53409957885742, 9.884110450744629, 5600, 1, "E", "Europe/Zurich"}, + "ESB": {"Esenboğa International Airport", "Ankara", "Turkey", "ESB", "LTAC", 40.128101348899996, 32.995098114, 3125, 3, "E", "Europe/Istanbul"}, + "ANK": {"Etimesgut Air Base", "Ankara", "Turkey", "ANK", "LTAD", 39.949798584, 32.6885986328, 2653, 3, "E", "Europe/Istanbul"}, + "ADA": {"Adana Airport", "Adana", "Turkey", "ADA", "LTAF", 36.9822006226, 35.280399322499996, 65, 3, "E", "Europe/Istanbul"}, + "UAB": {"İncirlik Air Base", "Adana", "Turkey", "UAB", "LTAG", 37.002101898199996, 35.4258995056, 238, 3, "E", "Europe/Istanbul"}, + "AFY": {"Afyon Airport", "Afyon", "Turkey", "AFY", "LTAH", 38.726398468, 30.6011009216, 3310, 3, "E", "Europe/Istanbul"}, + "AYT": {"Antalya International Airport", "Antalya", "Turkey", "AYT", "LTAI", 36.898701, 30.800501, 177, 3, "E", "Europe/Istanbul"}, + "GZT": {"Gaziantep International Airport", "Gaziantep", "Turkey", "GZT", "LTAJ", 36.9472007751, 37.4786987305, 2315, 3, "E", "Europe/Istanbul"}, + "KYA": {"Konya Airport", "Konya", "Turkey", "KYA", "LTAN", 37.979, 32.561901, 3392, 3, "E", "Europe/Istanbul"}, + "MLX": {"Malatya Tulga Airport", "Malatya", "Turkey", "MLX", "LTAO", 38.353699, 38.253899, 3016, 3, "E", "Europe/Istanbul"}, + "MZH": {"Amasya Merzifon Airport", "Merzifon", "Turkey", "MZH", "LTAP", 40.829399, 35.521999, 1758, 3, "E", "Europe/Istanbul"}, + "VAS": {"Sivas Nuri Demirağ Airport", "Sivas", "Turkey", "VAS", "LTAR", 39.813801, 36.9035, 5239, 3, "E", "Europe/Istanbul"}, + "ASR": {"Kayseri Erkilet Airport", "Kayseri", "Turkey", "ASR", "LTAU", 38.770401001, 35.4953994751, 3463, 3, "E", "Europe/Istanbul"}, + "DNZ": {"Çardak Airport", "Denizli", "Turkey", "DNZ", "LTAY", 37.7855987549, 29.7012996674, 2795, 3, "E", "Europe/Istanbul"}, + "IST": {"Atatürk International Airport", "Istanbul", "Turkey", "IST", "LTBA", 40.9768981934, 28.814599990799998, 163, 3, "E", "Europe/Istanbul"}, + "BZI": {"Balıkesir Merkez Airport", "Balikesir", "Turkey", "BZI", "LTBF", 39.619300842285156, 27.926000595092773, 340, 3, "E", "Europe/Istanbul"}, + "BDM": {"Bandırma Airport", "Bandirma", "Turkey", "BDM", "LTBG", 40.31800079345703, 27.977699279785156, 170, 3, "E", "Europe/Istanbul"}, + "ESK": {"Eskişehir Air Base", "Eskisehir", "Turkey", "ESK", "LTBI", 39.7840995789, 30.582099914599997, 2581, 3, "E", "Europe/Istanbul"}, + "ADB": {"Adnan Menderes International Airport", "Izmir", "Turkey", "ADB", "LTBJ", 38.2924003601, 27.156999588, 412, 3, "E", "Europe/Istanbul"}, + "IGL": {"Çiğli Airport", "Izmir", "Turkey", "IGL", "LTBL", 38.513000488299994, 27.010099411, 16, 3, "E", "Europe/Istanbul"}, + "DLM": {"Dalaman International Airport", "Dalaman", "Turkey", "DLM", "LTBS", 36.7131004333, 28.7924995422, 20, 3, "E", "Europe/Istanbul"}, + "BXN": {"Imsık Airport", "Bodrum", "Turkey", "BXN", "LTBV", 37.140098571777344, 27.669700622558594, 202, 3, "E", "Europe/Istanbul"}, + "EZS": {"Elazığ Airport", "Elazig", "Turkey", "EZS", "LTCA", 38.6068992615, 39.2914009094, 2927, 3, "E", "Europe/Istanbul"}, + "DIY": {"Diyarbakir Airport", "Diyabakir", "Turkey", "DIY", "LTCC", 37.893901825, 40.201000213600004, 2251, 3, "E", "Europe/Istanbul"}, + "ERC": {"Erzincan Airport", "Erzincan", "Turkey", "ERC", "LTCD", 39.7102012634, 39.527000427199994, 3783, 3, "E", "Europe/Istanbul"}, + "ERZ": {"Erzurum International Airport", "Erzurum", "Turkey", "ERZ", "LTCE", 39.9565010071, 41.17020034789999, 5763, 3, "E", "Europe/Istanbul"}, + "TZX": {"Trabzon International Airport", "Trabzon", "Turkey", "TZX", "LTCG", 40.99509811401367, 39.78969955444336, 104, 3, "E", "Europe/Istanbul"}, + "VAN": {"Van Ferit Melen Airport", "Van", "Turkey", "VAN", "LTCI", 38.46820068359375, 43.332298278808594, 5480, 3, "E", "Europe/Istanbul"}, + "BAL": {"Batman Airport", "Batman", "Turkey", "BAL", "LTCJ", 37.929000854499996, 41.1166000366, 1822, 3, "E", "Europe/Istanbul"}, + "BZY": {"Balti International Airport", "Saltsy", "Moldova", "BZY", "LUBL", 47.83810043334961, 27.7814998626709, 758, 2, "E", "Europe/Chisinau"}, + "KIV": {"Chişinău International Airport", "Chisinau", "Moldova", "KIV", "LUKK", 46.92770004272461, 28.930999755859375, 399, 2, "E", "Europe/Chisinau"}, + "OHD": {"Ohrid St. Paul the Apostle Airport", "Ohrid", "Macedonia", "OHD", "LWOH", 41.18, 20.7423, 2313, 1, "E", "Europe/Skopje"}, + "SKP": {"Skopje Alexander the Great Airport", "Skopje", "Macedonia", "SKP", "LWSK", 41.961601, 21.621401, 781, 1, "E", "Europe/Skopje"}, + "GIB": {"Gibraltar Airport", "Gibraltar", "Gibraltar", "GIB", "LXGB", 36.1511993408, -5.3496599197400005, 15, 1, "N", "Europe/Gibraltar"}, + "BEG": {"Belgrade Nikola Tesla Airport", "Belgrade", "Serbia", "BEG", "LYBE", 44.8184013367, 20.3090991974, 335, 1, "E", "Europe/Belgrade"}, + "INI": {"Nis Airport", "Nis", "Serbia", "INI", "LYNI", 43.337299, 21.853701, 648, 1, "E", "Europe/Belgrade"}, + "TGD": {"Podgorica Airport", "Podgorica", "Montenegro", "TGD", "LYPG", 42.35940170288086, 19.25189971923828, 141, 1, "E", "Europe/Podgorica"}, + "PRN": {"Priština International Airport", "Pristina", "Serbia", "PRN", "BKPR", 42.5728, 21.035801, 1789, 1, "E", "Europe/Belgrade"}, + "TIV": {"Tivat Airport", "Tivat", "Montenegro", "TIV", "LYTV", 42.404701232910156, 18.72330093383789, 20, 1, "E", "Europe/Podgorica"}, + "BTS": {"M. R. Štefánik Airport", "Bratislava", "Slovakia", "BTS", "LZIB", 48.17020034790039, 17.21269989013672, 436, 1, "E", "Europe/Bratislava"}, + "KSC": {"Košice Airport", "Kosice", "Slovakia", "KSC", "LZKZ", 48.66310119628906, 21.241100311279297, 755, 1, "E", "Europe/Bratislava"}, + "PZY": {"Piešťany Airport", "Piestany", "Slovakia", "PZY", "LZPP", 48.62519836425781, 17.828399658203125, 545, 1, "E", "Europe/Bratislava"}, + "SLD": {"Sliač Airport", "Sliac", "Slovakia", "SLD", "LZSL", 48.63779830932617, 19.13409996032715, 1043, 1, "E", "Europe/Bratislava"}, + "TAT": {"Poprad-Tatry Airport", "Poprad", "Slovakia", "TAT", "LZTT", 49.073600769, 20.2411003113, 2356, 1, "E", "Europe/Bratislava"}, + "NCA": {"North Caicos Airport", "North Caicos", "Turks and Caicos Islands", "NCA", "MBNC", 21.917499542236328, -71.9395980834961, 10, -4, "U", "America/Grand_Turk"}, + "PLS": {"Providenciales Airport", "Providenciales", "Turks and Caicos Islands", "PLS", "MBPV", 21.77359962463379, -72.26589965820312, 15, -4, "U", "America/Grand_Turk"}, + "XSC": {"South Caicos Airport", "South Caicos", "Turks and Caicos Islands", "XSC", "MBSC", 21.515699386599998, -71.528503418, 6, -4, "U", "America/Grand_Turk"}, + "EPS": {"Arroyo Barril Airport", "Samana", "Dominican Republic", "EPS", "MDAB", 19.198600769, -69.42980194089999, 57, -4, "U", "America/Santo_Domingo"}, + "BRX": {"Maria Montez International Airport", "Barahona", "Dominican Republic", "BRX", "MDBH", 18.25149917602539, -71.12039947509766, 10, -4, "U", "America/Santo_Domingo"}, + "LRM": {"Casa De Campo International Airport", "La Romana", "Dominican Republic", "LRM", "MDLR", 18.450700759887695, -68.91179656982422, 240, -4, "U", "America/Santo_Domingo"}, + "PUJ": {"Punta Cana International Airport", "Punta Cana", "Dominican Republic", "PUJ", "MDPC", 18.567399978599997, -68.36340332030001, 47, -4, "U", "America/Santo_Domingo"}, + "POP": {"Gregorio Luperon International Airport", "Puerto Plata", "Dominican Republic", "POP", "MDPP", 19.75790023803711, -70.56999969482422, 15, -4, "U", "America/Santo_Domingo"}, + "SDQ": {"Las Américas International Airport", "Santo Domingo", "Dominican Republic", "SDQ", "MDSD", 18.42970085144, -69.668899536133, 59, -4, "U", "America/Santo_Domingo"}, + "STI": {"Cibao International Airport", "Santiago", "Dominican Republic", "STI", "MDST", 19.406099319458008, -70.60469818115234, 565, -4, "U", "America/Santo_Domingo"}, + "CBV": {"Coban Airport", "Coban", "Guatemala", "CBV", "MGCB", 15.468999862670898, -90.40670013427734, 4339, -6, "U", "America/Guatemala"}, + "GUA": {"La Aurora Airport", "Guatemala City", "Guatemala", "GUA", "MGGT", 14.58329963684082, -90.52749633789062, 4952, -6, "U", "America/Guatemala"}, + "LCE": {"Goloson International Airport", "La Ceiba", "Honduras", "LCE", "MHLC", 15.7425, -86.852997, 39, -6, "U", "America/Tegucigalpa"}, + "SAP": {"Ramón Villeda Morales International Airport", "San Pedro Sula", "Honduras", "SAP", "MHLM", 15.45259952545166, -87.92359924316406, 91, -6, "U", "America/Tegucigalpa"}, + "GJA": {"La Laguna Airport", "Guanaja", "Honduras", "GJA", "MHNJ", 16.4454, -85.906601, 49, -6, "U", "America/Tegucigalpa"}, + "RTB": {"Juan Manuel Galvez International Airport", "Roatan", "Honduras", "RTB", "MHRO", 16.316799, -86.523003, 39, -6, "U", "America/Tegucigalpa"}, + "TEA": {"Tela Airport", "Tela", "Honduras", "TEA", "MHTE", 15.7759, -87.4758, 7, -6, "U", "America/Tegucigalpa"}, + "TGU": {"Toncontín International Airport", "Tegucigalpa", "Honduras", "TGU", "MHTG", 14.06089973449707, -87.21720123291016, 3294, -6, "U", "America/Tegucigalpa"}, + "OCJ": {"Boscobel Aerodrome", "Ocho Rios", "Jamaica", "OCJ", "MKBS", 18.404199600219727, -76.96900177001953, 90, -5, "U", "America/Jamaica"}, + "KIN": {"Norman Manley International Airport", "Kingston", "Jamaica", "KIN", "MKJP", 17.935699462890625, -76.7874984741211, 10, -5, "U", "America/Jamaica"}, + "MBJ": {"Sangster International Airport", "Montego Bay", "Jamaica", "MBJ", "MKJS", 18.503700256347656, -77.91339874267578, 4, -5, "U", "America/Jamaica"}, + "POT": {"Ken Jones Airport", "Port Antonio", "Jamaica", "POT", "MKKJ", 18.1987991333, -76.53450012210001, 20, -5, "U", "America/Jamaica"}, + "KTP": {"Tinson Pen Airport", "Kingston", "Jamaica", "KTP", "MKTP", 17.98859977722168, -76.82379913330078, 16, -5, "U", "America/Jamaica"}, + "ACA": {"General Juan N Alvarez International Airport", "Acapulco", "Mexico", "ACA", "MMAA", 16.757099151611328, -99.75399780273438, 16, -6, "S", "America/Mexico_City"}, + "NTR": {"Del Norte International Airport", "Monterrey", "Mexico", "NTR", "MMAN", 25.8656005859375, -100.23699951171875, 1476, -6, "S", "America/Mexico_City"}, + "AGU": {"Jesús Terán Paredo International Airport", "Aguascalientes", "Mexico", "AGU", "MMAS", 21.705601, -102.318001, 6112, -6, "S", "America/Mexico_City"}, + "HUX": {"Bahías de Huatulco International Airport", "Huatulco", "Mexico", "HUX", "MMBT", 15.775300025939941, -96.26260375976562, 464, -6, "S", "America/Mexico_City"}, + "CVJ": {"General Mariano Matamoros Airport", "Cuernavaca", "Mexico", "CVJ", "MMCB", 18.834800720214844, -99.26129913330078, 4277, -6, "S", "America/Mexico_City"}, + "CME": {"Ciudad del Carmen International Airport", "Ciudad Del Carmen", "Mexico", "CME", "MMCE", 18.65369987487793, -91.79900360107422, 10, -6, "S", "America/Mexico_City"}, + "CUL": {"Bachigualato Federal International Airport", "Culiacan", "Mexico", "CUL", "MMCL", 24.7644996643, -107.474998474, 108, -7, "S", "America/Mazatlan"}, + "CTM": {"Chetumal International Airport", "Chetumal", "Mexico", "CTM", "MMCM", 18.50469970703125, -88.32679748535156, 39, -5, "S", "America/Cancun"}, + "CEN": {"Ciudad Obregón International Airport", "Ciudad Obregon", "Mexico", "CEN", "MMCN", 27.39259910583496, -109.83300018310547, 243, -7, "S", "America/Hermosillo"}, + "CPE": {"Ingeniero Alberto Acuña Ongay International Airport", "Campeche", "Mexico", "CPE", "MMCP", 19.816799163800003, -90.5002975464, 34, -6, "S", "America/Mexico_City"}, + "CJS": {"Abraham González International Airport", "Ciudad Juarez", "Mexico", "CJS", "MMCS", 31.63610076904297, -106.42900085449219, 3904, -7, "S", "America/Mazatlan"}, + "CUU": {"General Roberto Fierro Villalobos International Airport", "Chihuahua", "Mexico", "CUU", "MMCU", 28.702899932900003, -105.964996338, 4462, -7, "S", "America/Mazatlan"}, + "CVM": {"General Pedro Jose Mendez International Airport", "Ciudad Victoria", "Mexico", "CVM", "MMCV", 23.7033004761, -98.9564971924, 761, -6, "S", "America/Mexico_City"}, + "CZM": {"Cozumel International Airport", "Cozumel", "Mexico", "CZM", "MMCZ", 20.52239990234375, -86.92559814453125, 15, -5, "S", "America/Cancun"}, + "DGO": {"General Guadalupe Victoria International Airport", "Durango", "Mexico", "DGO", "MMDO", 24.1242008209, -104.527999878, 6104, -6, "S", "America/Mexico_City"}, + "TPQ": {"Amado Nervo National Airport", "Tepic", "Mexico", "TPQ", "MMEP", 21.41950035095215, -104.84300231933594, 3020, -7, "S", "America/Mazatlan"}, + "ESE": {"Ensenada Airport", "Ensenada", "Mexico", "ESE", "MMES", 31.795299530029297, -116.60299682617188, 66, -8, "S", "America/Tijuana"}, + "GDL": {"Don Miguel Hidalgo Y Costilla International Airport", "Guadalajara", "Mexico", "GDL", "MMGL", 20.521799087524414, -103.31099700927734, 5016, -6, "S", "America/Mexico_City"}, + "GYM": {"General José María Yáñez International Airport", "Guaymas", "Mexico", "GYM", "MMGM", 27.9689998626709, -110.92500305175781, 59, -7, "S", "America/Hermosillo"}, + "TCN": {"Tehuacan Airport", "Tehuacan", "Mexico", "TCN", "MMHC", 18.49720001220703, -97.4198989868164, 5509, -6, "S", "America/Mexico_City"}, + "HMO": {"General Ignacio P. Garcia International Airport", "Hermosillo", "Mexico", "HMO", "MMHO", 29.095899581900003, -111.047996521, 627, -7, "S", "America/Hermosillo"}, + "CLQ": {"Licenciado Miguel de la Madrid Airport", "Colima", "Mexico", "CLQ", "MMIA", 19.2770004272, -103.577003479, 2467, -6, "S", "America/Mexico_City"}, + "ISJ": {"Isla Mujeres Airport", "Isla Mujeres", "Mexico", "ISJ", "MMIM", 21.2450008392334, -86.73999786376953, 7, -5, "S", "America/Cancun"}, + "SLW": {"Plan De Guadalupe International Airport", "Saltillo", "Mexico", "SLW", "MMIO", 25.54949951171875, -100.92900085449219, 4778, -6, "S", "America/Mexico_City"}, + "LZC": {"Lázaro Cárdenas Airport", "Lazard Cardenas", "Mexico", "LZC", "MMLC", 18.0016994476, -102.221000671, 39, -6, "S", "America/Mexico_City"}, + "LMM": {"Valle del Fuerte International Airport", "Los Mochis", "Mexico", "LMM", "MMLM", 25.6851997375, -109.081001282, 16, -7, "S", "America/Mazatlan"}, + "BJX": {"Del Bajío International Airport", "Del Bajio", "Mexico", "BJX", "MMLO", 20.993499755900004, -101.481002808, 5956, -6, "S", "America/Mexico_City"}, + "LAP": {"Manuel Márquez de León International Airport", "La Paz", "Mexico", "LAP", "MMLP", 24.072700500499998, -110.361999512, 69, -7, "S", "America/Mazatlan"}, + "LTO": {"Loreto International Airport", "Loreto", "Mexico", "LTO", "MMLT", 25.989200592041016, -111.3479995727539, 34, -7, "S", "America/Mazatlan"}, + "MAM": {"General Servando Canales International Airport", "Matamoros", "Mexico", "MAM", "MMMA", 25.7698993683, -97.5252990723, 25, -6, "S", "America/Mexico_City"}, + "MID": {"Licenciado Manuel Crescencio Rejon Int Airport", "Merida", "Mexico", "MID", "MMMD", 20.937000274699997, -89.657699585, 38, -6, "S", "America/Mexico_City"}, + "MXL": {"General Rodolfo Sánchez Taboada International Airport", "Mexicali", "Mexico", "MXL", "MMML", 32.6305999756, -115.241996765, 74, -8, "S", "America/Tijuana"}, + "MLM": {"General Francisco J. Mujica International Airport", "Morelia", "Mexico", "MLM", "MMMM", 19.849899292, -101.025001526, 6033, -6, "S", "America/Mexico_City"}, + "MTT": {"Minatitlán/Coatzacoalcos National Airport", "Minatitlan", "Mexico", "MTT", "MMMT", 18.1033992767, -94.58070373540001, 36, -6, "S", "America/Mexico_City"}, + "LOV": {"Monclova International Airport", "Monclova", "Mexico", "LOV", "MMMV", 26.955699920654297, -101.47000122070312, 1864, -6, "S", "America/Mexico_City"}, + "MEX": {"Licenciado Benito Juarez International Airport", "Mexico City", "Mexico", "MEX", "MMMX", 19.4363, -99.072098, 7316, -6, "S", "America/Mexico_City"}, + "MTY": {"General Mariano Escobedo International Airport", "Monterrey", "Mexico", "MTY", "MMMY", 25.7784996033, -100.107002258, 1278, -6, "S", "America/Mexico_City"}, + "MZT": {"General Rafael Buelna International Airport", "Mazatlan", "Mexico", "MZT", "MMMZ", 23.1613998413, -106.26599884, 38, -7, "S", "America/Mazatlan"}, + "NOG": {"Nogales International Airport", "Nogales", "Mexico", "NOG", "MMNG", 31.22610092163086, -110.97599792480469, 3990, -7, "S", "America/Hermosillo"}, + "NLD": {"Quetzalcóatl International Airport", "Nuevo Laredo", "Mexico", "NLD", "MMNL", 27.4438991547, -99.5705032349, 484, -6, "S", "America/Mexico_City"}, + "OAX": {"Xoxocotlán International Airport", "Oaxaca", "Mexico", "OAX", "MMOX", 16.9999008179, -96.726600647, 4989, -6, "S", "America/Mexico_City"}, + "PAZ": {"El Tajín National Airport", "Poza Rico", "Mexico", "PAZ", "MMPA", 20.6026992798, -97.46080017090001, 497, -6, "S", "America/Mexico_City"}, + "PBC": {"Hermanos Serdán International Airport", "Puebla", "Mexico", "PBC", "MMPB", 19.1581001282, -98.3713989258, 7361, -6, "S", "America/Mexico_City"}, + "PCA": {"Ingeniero Juan Guillermo Villasana Airport", "Pachuca", "Mexico", "PCA", "MMPC", 20.07740020751953, -98.78250122070312, 7600, -6, "S", "America/Mexico_City"}, + "PPE": {"Puerto Peñasco International Airport", "Punta Penasco", "Mexico", "PPE", "MMPE", 31.356202, -113.525677, 30, -7, "S", "America/Hermosillo"}, + "PDS": {"Piedras Negras International Airport", "Piedras Negras", "Mexico", "PDS", "MMPG", 28.627399444580078, -100.53500366210938, 901, -6, "S", "America/Mexico_City"}, + "UPN": {"Licenciado y General Ignacio Lopez Rayon Airport", "Uruapan", "Mexico", "UPN", "MMPN", 19.396699905395508, -102.03900146484375, 5258, -6, "S", "America/Mexico_City"}, + "PVR": {"Licenciado Gustavo Díaz Ordaz International Airport", "Puerto Vallarta", "Mexico", "PVR", "MMPR", 20.680099487304688, -105.25399780273438, 23, -6, "S", "America/Mexico_City"}, + "PXM": {"Puerto Escondido International Airport", "Puerto Escondido", "Mexico", "PXM", "MMPS", 15.8768997192, -97.08910369870001, 294, -6, "S", "America/Mexico_City"}, + "QRO": {"Querétaro Intercontinental Airport", "Queretaro", "Mexico", "QRO", "MMQT", 20.6173000336, -100.185997009, 6296, -6, "S", "America/Mexico_City"}, + "REX": {"General Lucio Blanco International Airport", "Reynosa", "Mexico", "REX", "MMRX", 26.008899688699998, -98.2285003662, 139, -6, "S", "America/Mexico_City"}, + "SJD": {"Los Cabos International Airport", "San Jose Del Cabo", "Mexico", "SJD", "MMSD", 23.15180015563965, -109.72100067138672, 374, -7, "S", "America/Mazatlan"}, + "SFH": {"San Felipe International Airport", "San Filipe", "Mexico", "SFH", "MMSF", 30.930200576782, -114.80899810791, 148, -8, "S", "America/Tijuana"}, + "SLP": {"Ponciano Arriaga International Airport", "San Luis Potosi", "Mexico", "SLP", "MMSP", 22.254299163800003, -100.930999756, 6035, -6, "S", "America/Mexico_City"}, + "TXA": {"Tlaxcala Airport", "Tlaxcala", "Mexico", "TXA", "MMTA", 19.537992, -98.173492, 8229, -6, "S", "America/Mexico_City"}, + "TRC": {"Francisco Sarabia International Airport", "Torreon", "Mexico", "TRC", "MMTC", 25.568300247199996, -103.411003113, 3688, -6, "S", "America/Mexico_City"}, + "TGZ": {"Angel Albino Corzo International Airport", "Tuxtla Gutierrez", "Mexico", "TGZ", "MMTG", 16.5636005402, -93.02249908450001, 1499, -6, "S", "America/Mexico_City"}, + "TIJ": {"General Abelardo L. Rodríguez International Airport", "Tijuana", "Mexico", "TIJ", "MMTJ", 32.541099548339844, -116.97000122070312, 489, -8, "S", "America/Tijuana"}, + "TAM": {"General Francisco Javier Mina International Airport", "Tampico", "Mexico", "TAM", "MMTM", 22.2964000702, -97.8658981323, 80, -6, "S", "America/Mexico_City"}, + "TSL": {"Tamuin Airport", "Tamuin", "Mexico", "TSL", "MMTN", 22.0382995605, -98.80650329590001, 164, -6, "S", "America/Mexico_City"}, + "TLC": {"Licenciado Adolfo Lopez Mateos International Airport", "Toluca", "Mexico", "TLC", "MMTO", 19.3370990753, -99.56600189210002, 8466, -6, "S", "America/Mexico_City"}, + "TAP": {"Tapachula International Airport", "Tapachula", "Mexico", "TAP", "MMTP", 14.7943000793, -92.3700027466, 97, -6, "S", "America/Mexico_City"}, + "CUN": {"Cancún International Airport", "Cancun", "Mexico", "CUN", "MMUN", 21.036500930800003, -86.8770980835, 22, -5, "S", "America/Cancun"}, + "VSA": {"Carlos Rovirosa Pérez International Airport", "Villahermosa", "Mexico", "VSA", "MMVA", 17.996999740600586, -92.81739807128906, 46, -6, "S", "America/Mexico_City"}, + "VER": {"General Heriberto Jara International Airport", "Vera Cruz", "Mexico", "VER", "MMVR", 19.1459007263, -96.1873016357, 90, -6, "S", "America/Mexico_City"}, + "ZCL": {"General Leobardo C. Ruiz International Airport", "Zacatecas", "Mexico", "ZCL", "MMZC", 22.8971004486, -102.68699646, 7141, -6, "S", "America/Mexico_City"}, + "ZIH": {"Ixtapa Zihuatanejo International Airport", "Zihuatanejo", "Mexico", "ZIH", "MMZH", 17.601600647, -101.460998535, 26, -6, "S", "America/Mexico_City"}, + "ZMM": {"Zamora Airport", "Zamora", "Mexico", "ZMM", "MMZM", 20.045000076293945, -102.2760009765625, 5141, -6, "S", "America/Mexico_City"}, + "ZLO": {"Playa De Oro International Airport", "Manzanillo", "Mexico", "ZLO", "MMZO", 19.144800186199998, -104.558998108, 30, -6, "S", "America/Mexico_City"}, + "BEF": {"Bluefields Airport", "Bluefields", "Nicaragua", "BEF", "MNBL", 11.991000175476074, -83.77410125732422, 20, -6, "U", "America/Managua"}, + "MGA": {"Augusto C. Sandino (Managua) International Airport", "Managua", "Nicaragua", "MGA", "MNMG", 12.141500473022461, -86.16819763183594, 194, -6, "U", "America/Managua"}, + "PUZ": {"Puerto Cabezas Airport", "Puerto Cabezas", "Nicaragua", "PUZ", "MNPC", 14.047200202941895, -83.38670349121094, 52, -6, "U", "America/Managua"}, + "BOC": {"Bocas Del Toro International Airport", "Bocas Del Toro", "Panama", "BOC", "MPBO", 9.340849876403809, -82.25080108642578, 10, -5, "U", "America/Panama"}, + "CHX": {"Cap Manuel Niño International Airport", "Changuinola", "Panama", "CHX", "MPCH", 9.458640098571777, -82.51679992675781, 19, -5, "U", "America/Panama"}, + "DAV": {"Enrique Malek International Airport", "David", "Panama", "DAV", "MPDA", 8.390999794006348, -82.43499755859375, 89, -5, "U", "America/Panama"}, + "BLB": {"Panama Pacific International Airport", "Howard", "Panama", "BLB", "MPHO", 8.91479, -79.599602, 52, -5, "U", "America/Panama"}, + "PAC": {"Marcos A. Gelabert International Airport", "Panama", "Panama", "PAC", "MPMG", 8.973340034484863, -79.55560302734375, 31, -5, "U", "America/Panama"}, + "PTY": {"Tocumen International Airport", "Panama City", "Panama", "PTY", "MPTO", 9.0713596344, -79.3834991455, 135, -5, "U", "America/Panama"}, + "OTR": {"Coto 47 Airport", "Coto 47", "Costa Rica", "OTR", "MRCC", 8.60155963897705, -82.96859741210938, 26, -6, "U", "America/Costa_Rica"}, + "GLF": {"Golfito Airport", "Golfito", "Costa Rica", "GLF", "MRGF", 8.654009819030762, -83.18219757080078, 49, -6, "U", "America/Costa_Rica"}, + "LIR": {"Daniel Oduber Quiros International Airport", "Liberia", "Costa Rica", "LIR", "MRLB", 10.593299865722656, -85.54440307617188, 270, -6, "U", "America/Costa_Rica"}, + "LIO": {"Limon International Airport", "Limon", "Costa Rica", "LIO", "MRLM", 9.95796012878418, -83.02200317382812, 7, -6, "U", "America/Costa_Rica"}, + "NOB": {"Nosara Airport", "Nosara Beach", "Costa Rica", "NOB", "MRNS", 9.976490020750001, -85.65299987790002, 33, -6, "U", "America/Costa_Rica"}, + "SJO": {"Juan Santamaria International Airport", "San Jose", "Costa Rica", "SJO", "MROC", 9.993860244750977, -84.20880126953125, 3021, -6, "U", "America/Costa_Rica"}, + "PMZ": {"Palmar Sur Airport", "Palmar Sur", "Costa Rica", "PMZ", "MRPM", 8.951029777526855, -83.46859741210938, 49, -6, "U", "America/Costa_Rica"}, + "XQP": {"Quepos Managua Airport", "Quepos", "Costa Rica", "XQP", "MRQP", 9.443160057067871, -84.12979888916016, 85, -6, "U", "America/Costa_Rica"}, + "SAL": {"El Salvador International Airport", "San Salvador", "El Salvador", "SAL", "MSLP", 13.4409, -89.055702, 101, -6, "U", "America/El_Salvador"}, + "CAP": {"Cap Haitien International Airport", "Cap Haitien", "Haiti", "CAP", "MTCH", 19.732999801635742, -72.1947021484375, 10, -5, "U", "America/Port-au-Prince"}, + "PAP": {"Toussaint Louverture International Airport", "Port-au-prince", "Haiti", "PAP", "MTPP", 18.579999923706055, -72.2925033569336, 122, -5, "U", "America/Port-au-Prince"}, + "BCA": {"Gustavo Rizo Airport", "Baracoa Playa", "Cuba", "BCA", "MUBA", 20.365299224853516, -74.5062026977539, 26, -5, "U", "America/Havana"}, + "BYM": {"Carlos Manuel de Cespedes Airport", "Bayamo", "Cuba", "BYM", "MUBY", 20.396400451660156, -76.62139892578125, 203, -5, "U", "America/Havana"}, + "AVI": {"Maximo Gomez Airport", "Ciego De Avila", "Cuba", "AVI", "MUCA", 22.027099609375, -78.78959655761719, 335, -5, "U", "America/Havana"}, + "CCC": {"Jardines Del Rey Airport", "Cunagua", "Cuba", "CCC", "MUCC", 22.461000442499998, -78.32839965820001, 13, -5, "U", "America/Havana"}, + "CFG": {"Jaime Gonzalez Airport", "Cienfuegos", "Cuba", "CFG", "MUCF", 22.149999618530273, -80.41419982910156, 102, -5, "U", "America/Havana"}, + "CYO": {"Vilo Acuña International Airport", "Cayo Largo del Sur", "Cuba", "CYO", "MUCL", 21.6165008545, -81.5459976196, 10, -5, "U", "America/Havana"}, + "CMW": {"Ignacio Agramonte International Airport", "Camaguey", "Cuba", "CMW", "MUCM", 21.420299530029297, -77.84750366210938, 413, -5, "U", "America/Havana"}, + "SCU": {"Antonio Maceo International Airport", "Santiago De Cuba", "Cuba", "SCU", "MUCU", 19.96980094909668, -75.83540344238281, 249, -5, "U", "America/Havana"}, + "GAO": {"Mariana Grajales Airport", "Guantanamo", "Cuba", "GAO", "MUGT", 20.08530044555664, -75.1583023071289, 56, -5, "U", "America/Havana"}, + "HAV": {"José Martí International Airport", "Havana", "Cuba", "HAV", "MUHA", 22.989200592041016, -82.40910339355469, 210, -5, "U", "America/Havana"}, + "HOG": {"Frank Pais International Airport", "Holguin", "Cuba", "HOG", "MUHG", 20.785600662231445, -76.31510162353516, 361, -5, "U", "America/Havana"}, + "LCL": {"La Coloma Airport", "La Coloma", "Cuba", "LCL", "MULM", 22.33609962463379, -83.64189910888672, 131, -5, "U", "America/Havana"}, + "MOA": {"Orestes Acosta Airport", "Moa", "Cuba", "MOA", "MUMO", 20.653900146484375, -74.92220306396484, 16, -5, "U", "America/Havana"}, + "MZO": {"Sierra Maestra Airport", "Manzanillo", "Cuba", "MZO", "MUMZ", 20.28809928894043, -77.08920288085938, 112, -5, "U", "America/Havana"}, + "GER": {"Rafael Cabrera Airport", "Nueva Gerona", "Cuba", "GER", "MUNG", 21.834699630737305, -82.78379821777344, 79, -5, "U", "America/Havana"}, + "UPB": {"Playa Baracoa Airport", "Baracoa Playa", "Cuba", "UPB", "MUPB", 23.032800674399997, -82.5793991089, 102, -5, "U", "America/Havana"}, + "SNU": {"Abel Santamaria Airport", "Santa Clara", "Cuba", "SNU", "MUSC", 22.49220085144043, -79.943603515625, 338, -5, "U", "America/Havana"}, + "VRA": {"Juan Gualberto Gomez International Airport", "Varadero", "Cuba", "VRA", "MUVR", 23.034400939941406, -81.435302734375, 210, -5, "U", "America/Havana"}, + "VTU": {"Hermanos Ameijeiras Airport", "Las Tunas", "Cuba", "VTU", "MUVT", 20.987600326538086, -76.93579864501953, 328, -5, "U", "America/Havana"}, + "CYB": {"Gerrard Smith International Airport", "Cayman Brac", "Cayman Islands", "CYB", "MWCB", 19.687000274658203, -79.88279724121094, 8, -5, "N", "America/Cayman"}, + "GCM": {"Owen Roberts International Airport", "Georgetown", "Cayman Islands", "GCM", "MWCR", 19.292800903299998, -81.3576965332, 8, -5, "N", "America/Cayman"}, + "ASD": {"Andros Town Airport", "Andros Town", "Bahamas", "ASD", "MYAF", 24.697900772094727, -77.79560089111328, 5, -5, "U", "America/Nassau"}, + "MHH": {"Marsh Harbour International Airport", "Marsh Harbor", "Bahamas", "MHH", "MYAM", 26.511400222800003, -77.08350372310001, 6, -5, "U", "America/Nassau"}, + "SAQ": {"San Andros Airport", "San Andros", "Bahamas", "SAQ", "MYAN", 25.053800582885742, -78.04900360107422, 5, -5, "U", "America/Nassau"}, + "AXP": {"Spring Point Airport", "Spring Point", "Bahamas", "AXP", "MYAP", 22.441799163800003, -73.97090148930002, 11, -5, "U", "America/Nassau"}, + "TCB": {"Treasure Cay Airport", "Treasure Cay", "Bahamas", "TCB", "MYAT", 26.745300293, -77.3912963867, 8, -5, "U", "America/Nassau"}, + "CCZ": {"Chub Cay Airport", "Chub Cay", "Bahamas", "CCZ", "MYBC", 25.41710090637207, -77.88089752197266, 5, -5, "U", "America/Nassau"}, + "BIM": {"South Bimini Airport", "Alice Town", "Bahamas", "BIM", "MYBS", 25.6998996735, -79.2647018433, 10, -5, "U", "America/Nassau"}, + "GGT": {"Exuma International Airport", "Great Exuma", "Bahamas", "GGT", "MYEF", 23.5625991821, -75.8779983521, 9, -5, "U", "America/Nassau"}, + "ELH": {"North Eleuthera Airport", "North Eleuthera", "Bahamas", "ELH", "MYEH", 25.474899292, -76.6835021973, 13, -5, "U", "America/Nassau"}, + "GHB": {"Governor's Harbour Airport", "Governor's Harbor", "Bahamas", "GHB", "MYEM", 25.2847003937, -76.3310012817, 26, -5, "U", "America/Nassau"}, + "RSD": {"Rock Sound Airport", "Rock Sound", "Bahamas", "RSD", "MYER", 24.8950787333, -76.1768817902, 10, -5, "U", "America/Nassau"}, + "FPO": {"Grand Bahama International Airport", "Freeport", "Bahamas", "FPO", "MYGF", 26.5587005615, -78.695602417, 7, -5, "U", "America/Nassau"}, + "IGA": {"Inagua Airport", "Matthew Town", "Bahamas", "IGA", "MYIG", 20.975000381469727, -73.66690063476562, 8, -5, "U", "America/Nassau"}, + "LGI": {"Deadman's Cay Airport", "Dead Man's Cay", "Bahamas", "LGI", "MYLD", 23.1790008545, -75.09359741210001, 9, -5, "U", "America/Nassau"}, + "SML": {"Stella Maris Airport", "Stella Maris", "Bahamas", "SML", "MYLS", 23.582316804299996, -75.26862144470002, 10, -5, "U", "America/Nassau"}, + "MYG": {"Mayaguana Airport", "Mayaguana", "Bahamas", "MYG", "MYMM", 22.3794994354, -73.01349639889999, 11, -5, "U", "America/Nassau"}, + "NAS": {"Lynden Pindling International Airport", "Nassau", "Bahamas", "NAS", "MYNN", 25.0389995575, -77.46620178219999, 16, -5, "U", "America/Nassau"}, + "ZSA": {"San Salvador Airport", "Cockburn Town", "Bahamas", "ZSA", "MYSM", 24.06329917907715, -74.52400207519531, 24, -5, "U", "America/Nassau"}, + "BZE": {"Philip S. W. Goldson International Airport", "Belize City", "Belize", "BZE", "MZBZ", 17.539100646972656, -88.30819702148438, 15, -6, "U", "America/Belize"}, + "AIT": {"Aitutaki Airport", "Aitutaki", "Cook Islands", "AIT", "NCAI", -18.830900192260742, -159.76400756835938, 14, -10, "U", "Pacific/Rarotonga"}, + "RAR": {"Rarotonga International Airport", "Avarua", "Cook Islands", "RAR", "NCRG", -21.2026996613, -159.805999756, 19, -10, "U", "Pacific/Rarotonga"}, + "NAN": {"Nadi International Airport", "Nandi", "Fiji", "NAN", "NFFN", -17.755399703979492, 177.4429931640625, 59, 12, "U", "Pacific/Fiji"}, + "SUV": {"Nausori International Airport", "Nausori", "Fiji", "SUV", "NFNA", -18.04330062866211, 178.5590057373047, 17, 12, "U", "Pacific/Fiji"}, + "TBU": {"Fua'amotu International Airport", "Tongatapu", "Tonga", "TBU", "NFTF", -21.241199493408203, -175.14999389648438, 126, 13, "U", "Pacific/Tongatapu"}, + "VAV": {"Vava'u International Airport", "Vava'u", "Tonga", "VAV", "NFTV", -18.58530044555664, -173.96200561523438, 236, 13, "U", "Pacific/Tongatapu"}, + "TRW": {"Bonriki International Airport", "Tarawa", "Kiribati", "TRW", "NGTA", 1.3816399574279785, 173.14700317382812, 9, 12, "U", "Pacific/Tarawa"}, + "WLS": {"Hihifo Airport", "Wallis", "Wallis and Futuna", "WLS", "NLWW", -13.2383003235, -176.199005127, 79, 12, "U", "Pacific/Wallis"}, + "APW": {"Faleolo International Airport", "Faleolo", "Samoa", "APW", "NSFA", -13.829999923706055, -172.00799560546875, 58, 13, "U", "Pacific/Apia"}, + "PPG": {"Pago Pago International Airport", "Pago Pago", "American Samoa", "PPG", "NSTU", -14.3310003281, -170.710006714, 32, -11, "U", "Pacific/Pago_Pago"}, + "TUB": {"Tubuai Airport", "Tubuai", "French Polynesia", "TUB", "NTAT", -23.365400314331055, -149.5240020751953, 7, -10, "U", "Pacific/Tahiti"}, + "AAA": {"Anaa Airport", "Anaa", "French Polynesia", "AAA", "NTGA", -17.35260009765625, -145.50999450683594, 10, -10, "U", "Pacific/Tahiti"}, + "TIH": {"Tikehau Airport", "Tikehau", "French Polynesia", "TIH", "NTGC", -15.119600296020508, -148.2310028076172, 6, -10, "U", "Pacific/Tahiti"}, + "FAV": {"Fakarava Airport", "Fakarava", "French Polynesia", "FAV", "NTGF", -16.054100036621094, -145.65699768066406, 13, -10, "U", "Pacific/Tahiti"}, + "XMH": {"Manihi Airport", "Manihi", "French Polynesia", "XMH", "NTGI", -14.436800003051758, -146.07000732421875, 14, -10, "U", "Pacific/Tahiti"}, + "GMR": {"Totegegie Airport", "Totegegie", "French Polynesia", "GMR", "NTGJ", -23.07990074157715, -134.88999938964844, 7, -9, "U", "Pacific/Gambier"}, + "KKR": {"Kaukura Airport", "Kaukura Atoll", "French Polynesia", "KKR", "NTGK", -15.663299560546875, -146.88499450683594, 11, -10, "U", "Pacific/Tahiti"}, + "MKP": {"Makemo Airport", "Makemo", "French Polynesia", "MKP", "NTGM", -16.583900451660156, -143.6580047607422, 3, -10, "U", "Pacific/Tahiti"}, + "PKP": {"Puka Puka Airport", "Puka Puka", "French Polynesia", "PKP", "NTGP", -14.809499740600586, -138.81300354003906, 5, -10, "U", "Pacific/Tahiti"}, + "TKP": {"Takapoto Airport", "Takapoto", "French Polynesia", "TKP", "NTGT", -14.709500312805176, -145.24600219726562, 12, -10, "U", "Pacific/Tahiti"}, + "AXR": {"Arutua Airport", "Arutua", "French Polynesia", "AXR", "NTGU", -15.248299598693848, -146.61700439453125, 9, -10, "U", "Pacific/Tahiti"}, + "MVT": {"Mataiva Airport", "Mataiva", "French Polynesia", "MVT", "NTGV", -14.8681001663208, -148.7169952392578, 11, -10, "U", "Pacific/Tahiti"}, + "TKX": {"Takaroa Airport", "Takaroa", "French Polynesia", "TKX", "NTKR", -14.45580005645752, -145.02499389648438, 13, -10, "U", "Pacific/Tahiti"}, + "NHV": {"Nuku Hiva Airport", "Nuku Hiva", "French Polynesia", "NHV", "NTMD", -8.795599937438965, -140.22900390625, 220, -9.5, "U", "Pacific/Marquesas"}, + "BOB": {"Bora Bora Airport", "Bora Bora", "French Polynesia", "BOB", "NTTB", -16.444400787353516, -151.75100708007812, 10, -10, "U", "Pacific/Tahiti"}, + "RGI": {"Rangiroa Airport", "Rangiroa", "French Polynesia", "RGI", "NTTG", -14.954299926757812, -147.66099548339844, 10, -10, "U", "Pacific/Tahiti"}, + "HUH": {"Huahine-Fare Airport", "Huahine Island", "French Polynesia", "HUH", "NTTH", -16.68720054626465, -151.02200317382812, 7, -10, "U", "Pacific/Tahiti"}, + "MOZ": {"Moorea Airport", "Moorea", "French Polynesia", "MOZ", "NTTM", -17.489999771118164, -149.76199340820312, 9, -10, "U", "Pacific/Tahiti"}, + "MAU": {"Maupiti Airport", "Maupiti", "French Polynesia", "MAU", "NTTP", -16.42650032043457, -152.24400329589844, 15, -10, "U", "Pacific/Tahiti"}, + "RFP": {"Raiatea Airport", "Raiatea Island", "French Polynesia", "RFP", "NTTR", -16.7229, -151.466003, 3, -10, "U", "Pacific/Tahiti"}, + "VLI": {"Bauerfield International Airport", "Port-vila", "Vanuatu", "VLI", "NVVV", -17.699300765991, 168.32000732422, 70, 11, "U", "Pacific/Efate"}, + "KNQ": {"Koné Airport", "Kone", "New Caledonia", "KNQ", "NWWD", -21.05430030822754, 164.83700561523438, 23, 11, "U", "Pacific/Noumea"}, + "KOC": {"Koumac Airport", "Koumac", "New Caledonia", "KOC", "NWWK", -20.546300888061523, 164.25599670410156, 42, 11, "U", "Pacific/Noumea"}, + "LIF": {"Lifou Airport", "Lifou", "New Caledonia", "LIF", "NWWL", -20.774799346923828, 167.24000549316406, 92, 11, "U", "Pacific/Noumea"}, + "GEA": {"Nouméa Magenta Airport", "Noumea", "New Caledonia", "GEA", "NWWM", -22.25830078125, 166.47300720214844, 10, 11, "U", "Pacific/Noumea"}, + "MEE": {"Maré Airport", "Mare", "New Caledonia", "MEE", "NWWR", -21.481700897216797, 168.03799438476562, 141, 11, "U", "Pacific/Noumea"}, + "TOU": {"Touho Airport", "Touho", "New Caledonia", "TOU", "NWWU", -20.790000915527344, 165.25900268554688, 10, 11, "U", "Pacific/Noumea"}, + "UVE": {"Ouvéa Airport", "Ouvea", "New Caledonia", "UVE", "NWWV", -20.640600204467773, 166.572998046875, 23, 11, "U", "Pacific/Noumea"}, + "NOU": {"La Tontouta International Airport", "Noumea", "New Caledonia", "NOU", "NWWW", -22.01460075378418, 166.21299743652344, 52, 11, "U", "Pacific/Noumea"}, + "AKL": {"Auckland International Airport", "Auckland", "New Zealand", "AKL", "NZAA", -37.008098602299995, 174.792007446, 23, 12, "Z", "Pacific/Auckland"}, + "TUO": {"Taupo Airport", "Taupo", "New Zealand", "TUO", "NZAP", -38.73970031738281, 176.08399963378906, 1335, 12, "Z", "Pacific/Auckland"}, + "AMZ": {"Ardmore Airport", "Ardmore", "New Zealand", "AMZ", "NZAR", -37.029701232910156, 174.97300720214844, 111, 12, "Z", "Pacific/Auckland"}, + "CHC": {"Christchurch International Airport", "Christchurch", "New Zealand", "CHC", "NZCH", -43.48939895629883, 172.53199768066406, 123, 12, "Z", "Pacific/Auckland"}, + "CHT": {"Chatham Islands-Tuuta Airport", "Chatham Island", "New Zealand", "CHT", "NZCI", -43.810001373291016, -176.45700073242188, 43, 12.75, "Z", "Pacific/Chatham"}, + "DUD": {"Dunedin Airport", "Dunedin", "New Zealand", "DUD", "NZDN", -45.9281005859375, 170.197998046875, 4, 12, "Z", "Pacific/Auckland"}, + "GIS": {"Gisborne Airport", "Gisborne", "New Zealand", "GIS", "NZGS", -38.663299560546875, 177.97799682617188, 15, 12, "Z", "Pacific/Auckland"}, + "HKK": {"Hokitika Airfield", "Hokitika", "New Zealand", "HKK", "NZHK", -42.713600158691406, 170.98500061035156, 146, 12, "Z", "Pacific/Auckland"}, + "HLZ": {"Hamilton International Airport", "Hamilton", "New Zealand", "HLZ", "NZHN", -37.8666992188, 175.332000732, 172, 12, "Z", "Pacific/Auckland"}, + "KKE": {"Kerikeri Airport", "Kerikeri", "New Zealand", "KKE", "NZKK", -35.26279830932617, 173.91200256347656, 492, 12, "Z", "Pacific/Auckland"}, + "KAT": {"Kaitaia Airport", "Kaitaia", "New Zealand", "KAT", "NZKT", -35.06999969482422, 173.28500366210938, 270, 12, "Z", "Pacific/Auckland"}, + "ALR": {"Alexandra Airport", "Alexandra", "New Zealand", "ALR", "NZLX", -45.211700439453125, 169.3730010986328, 752, 12, "Z", "Pacific/Auckland"}, + "MON": {"Mount Cook Airport", "Mount Cook", "New Zealand", "MON", "NZMC", -43.76499938964844, 170.13299560546875, 2153, 12, "Z", "Pacific/Auckland"}, + "TEU": {"Manapouri Airport", "Manapouri", "New Zealand", "TEU", "NZMO", -45.53310012817383, 167.64999389648438, 687, 12, "Z", "Pacific/Auckland"}, + "MRO": {"Hood Airport", "Masterton", "New Zealand", "MRO", "NZMS", -40.97330093383789, 175.63400268554688, 364, 12, "Z", "Pacific/Auckland"}, + "NPL": {"New Plymouth Airport", "New Plymouth", "New Zealand", "NPL", "NZNP", -39.00859832763672, 174.1790008544922, 97, 12, "Z", "Pacific/Auckland"}, + "NSN": {"Nelson Airport", "Nelson", "New Zealand", "NSN", "NZNS", -41.298301696777344, 173.2209930419922, 17, 12, "Z", "Pacific/Auckland"}, + "IVC": {"Invercargill Airport", "Invercargill", "New Zealand", "IVC", "NZNV", -46.41239929199219, 168.31300354003906, 5, 12, "Z", "Pacific/Auckland"}, + "OAM": {"Oamaru Airport", "Oamaru", "New Zealand", "OAM", "NZOU", -44.970001220703125, 171.08200073242188, 99, 12, "Z", "Pacific/Auckland"}, + "PMR": {"Palmerston North Airport", "Palmerston North", "New Zealand", "PMR", "NZPM", -40.32059860229492, 175.61700439453125, 151, 12, "Z", "Pacific/Auckland"}, + "PPQ": {"Paraparaumu Airport", "Paraparaumu", "New Zealand", "PPQ", "NZPP", -40.904701232910156, 174.98899841308594, 22, 12, "Z", "Pacific/Auckland"}, + "ZQN": {"Queenstown International Airport", "Queenstown International", "New Zealand", "ZQN", "NZQN", -45.0210990906, 168.738998413, 1171, 12, "Z", "Pacific/Auckland"}, + "ROT": {"Rotorua Regional Airport", "Rotorua", "New Zealand", "ROT", "NZRO", -38.10919952392578, 176.31700134277344, 935, 12, "Z", "Pacific/Auckland"}, + "TRG": {"Tauranga Airport", "Tauranga", "New Zealand", "TRG", "NZTG", -37.67190170288086, 176.1959991455078, 13, 12, "Z", "Pacific/Auckland"}, + "TIU": {"Timaru Airport", "Timaru", "New Zealand", "TIU", "NZTU", -44.302799224853516, 171.22500610351562, 89, 12, "Z", "Pacific/Auckland"}, + "BHE": {"Woodbourne Airport", "Woodbourne", "New Zealand", "BHE", "NZWB", -41.5182991027832, 173.8699951171875, 109, 12, "Z", "Pacific/Auckland"}, + "WKA": {"Wanaka Airport", "Wanaka", "New Zealand", "WKA", "NZWF", -44.722198486328, 169.24600219727, 1142, 12, "Z", "Pacific/Auckland"}, + "WHK": {"Whakatane Airport", "Whakatane", "New Zealand", "WHK", "NZWK", -37.92060089111328, 176.91400146484375, 20, 12, "Z", "Pacific/Auckland"}, + "WLG": {"Wellington International Airport", "Wellington", "New Zealand", "WLG", "NZWN", -41.3272018433, 174.804992676, 41, 12, "Z", "Pacific/Auckland"}, + "WRE": {"Whangarei Airport", "Whangarei", "New Zealand", "WRE", "NZWR", -35.7682991027832, 174.36500549316406, 133, 12, "Z", "Pacific/Auckland"}, + "WSZ": {"Westport Airport", "Westport", "New Zealand", "WSZ", "NZWS", -41.73809814453125, 171.58099365234375, 13, 12, "Z", "Pacific/Auckland"}, + "WAG": {"Wanganui Airport", "Wanganui", "New Zealand", "WAG", "NZWU", -39.96220016479492, 175.02499389648438, 27, 12, "Z", "Pacific/Auckland"}, + "HEA": {"Herat Airport", "Herat", "Afghanistan", "HEA", "OAHR", 34.209999084472656, 62.22829818725586, 3206, 4.5, "U", "Asia/Kabul"}, + "JAA": {"Jalalabad Airport", "Jalalabad", "Afghanistan", "JAA", "OAJL", 34.39979934692383, 70.49859619140625, 1814, 4.5, "U", "Asia/Kabul"}, + "KBL": {"Kabul International Airport", "Kabul", "Afghanistan", "KBL", "OAKB", 34.56589889526367, 69.2123031616211, 5877, 4.5, "U", "Asia/Kabul"}, + "KDH": {"Kandahar Airport", "Kandahar", "Afghanistan", "KDH", "OAKN", 31.505800247192383, 65.8478012084961, 3337, 4.5, "U", "Asia/Kabul"}, + "MMZ": {"Maimana Airport", "Maimama", "Afghanistan", "MMZ", "OAMN", 35.93080139160156, 64.76090240478516, 2743, 4.5, "U", "Asia/Kabul"}, + "MZR": {"Mazar I Sharif Airport", "Mazar-i-sharif", "Afghanistan", "MZR", "OAMS", 36.70690155029297, 67.20970153808594, 1284, 4.5, "U", "Asia/Kabul"}, + "UND": {"Konduz Airport", "Kunduz", "Afghanistan", "UND", "OAUZ", 36.66510009765625, 68.91079711914062, 1457, 4.5, "U", "Asia/Kabul"}, + "BAH": {"Bahrain International Airport", "Bahrain", "Bahrain", "BAH", "OBBI", 26.27079963684082, 50.63359832763672, 6, 3, "U", "Asia/Bahrain"}, + "AHB": {"Abha Regional Airport", "Abha", "Saudi Arabia", "AHB", "OEAB", 18.240400314299997, 42.65660095210001, 6858, 3, "U", "Asia/Riyadh"}, + "HOF": {"Al Ahsa Airport", "Al-ahsa", "Saudi Arabia", "HOF", "OEAH", 25.28529930114746, 49.485198974609375, 588, 3, "U", "Asia/Riyadh"}, + "ABT": {"Al Baha Airport", "El-baha", "Saudi Arabia", "ABT", "OEBA", 20.2961006165, 41.6343002319, 5486, 3, "U", "Asia/Riyadh"}, + "BHH": {"Bisha Airport", "Bisha", "Saudi Arabia", "BHH", "OEBH", 19.984399795532227, 42.62089920043945, 3887, 3, "U", "Asia/Riyadh"}, + "DMM": {"King Fahd International Airport", "Dammam", "Saudi Arabia", "DMM", "OEDF", 26.471200942993164, 49.79790115356445, 72, 3, "U", "Asia/Riyadh"}, + "DHA": {"King Abdulaziz Air Base", "Dhahran", "Saudi Arabia", "DHA", "OEDR", 26.265399932900003, 50.152000427199994, 84, 3, "U", "Asia/Riyadh"}, + "GIZ": {"Jizan Regional Airport", "Gizan", "Saudi Arabia", "GIZ", "OEGN", 16.901100158691406, 42.58580017089844, 20, 3, "U", "Asia/Riyadh"}, + "ELQ": {"Gassim Airport", "Gassim", "Saudi Arabia", "ELQ", "OEGS", 26.302799224853516, 43.77439880371094, 2126, 3, "U", "Asia/Riyadh"}, + "URY": {"Gurayat Domestic Airport", "Guriat", "Saudi Arabia", "URY", "OEGT", 31.412413, 37.278898, 1672, 3, "U", "Asia/Riyadh"}, + "HAS": {"Ha'il Airport", "Hail", "Saudi Arabia", "HAS", "OEHL", 27.437901, 41.686298, 3331, 3, "U", "Asia/Riyadh"}, + "JED": {"King Abdulaziz International Airport", "Jeddah", "Saudi Arabia", "JED", "OEJN", 21.6796, 39.156502, 48, 3, "U", "Asia/Riyadh"}, + "HBT": {"King Khaled Military City Airport", "King Khalid Mil.city", "Saudi Arabia", "HBT", "OEKK", 27.9009, 45.528198, 1352, 3, "U", "Asia/Riyadh"}, + "MED": {"Prince Mohammad Bin Abdulaziz Airport", "Madinah", "Saudi Arabia", "MED", "OEMA", 24.55340003967285, 39.705101013183594, 2151, 3, "U", "Asia/Riyadh"}, + "EAM": {"Nejran Airport", "Nejran", "Saudi Arabia", "EAM", "OENG", 17.611400604248047, 44.4192008972168, 3982, 3, "U", "Asia/Riyadh"}, + "AQI": {"Al Qaisumah/Hafr Al Batin Airport", "Hafr Al-batin", "Saudi Arabia", "AQI", "OEPA", 28.335199, 46.125099, 1174, 3, "U", "Asia/Riyadh"}, + "RAH": {"Rafha Domestic Airport", "Rafha", "Saudi Arabia", "RAH", "OERF", 29.626399993896484, 43.4906005859375, 1474, 3, "U", "Asia/Riyadh"}, + "RUH": {"King Khaled International Airport", "Riyadh", "Saudi Arabia", "RUH", "OERK", 24.957599639892578, 46.69879913330078, 2049, 3, "U", "Asia/Riyadh"}, + "RAE": {"Arar Domestic Airport", "Arar", "Saudi Arabia", "RAE", "OERR", 30.906600952148438, 41.13819885253906, 1813, 3, "U", "Asia/Riyadh"}, + "SHW": {"Sharurah Airport", "Sharurah", "Saudi Arabia", "SHW", "OESH", 17.466899871826172, 47.12139892578125, 2363, 3, "U", "Asia/Riyadh"}, + "SLF": {"Sulayel Airport", "Sulayel", "Saudi Arabia", "SLF", "OESL", 20.46470069885254, 45.619598388671875, 2021, 3, "U", "Asia/Riyadh"}, + "TUU": {"Tabuk Airport", "Tabuk", "Saudi Arabia", "TUU", "OETB", 28.3654, 36.6189, 2551, 3, "U", "Asia/Riyadh"}, + "TIF": {"Ta’if Regional Airport", "Taif", "Saudi Arabia", "TIF", "OETF", 21.483001, 40.543442, 4848, 3, "U", "Asia/Riyadh"}, + "TUI": {"Turaif Domestic Airport", "Turaif", "Saudi Arabia", "TUI", "OETR", 31.692188, 38.731544, 2803, 3, "U", "Asia/Riyadh"}, + "EJH": {"Al Wajh Domestic Airport", "Wejh", "Saudi Arabia", "EJH", "OEWJ", 26.19860076904297, 36.47639846801758, 66, 3, "U", "Asia/Riyadh"}, + "YNB": {"Prince Abdulmohsin Bin Abdulaziz Airport", "Yenbo", "Saudi Arabia", "YNB", "OEYN", 24.144199, 38.0634, 26, 3, "U", "Asia/Riyadh"}, + "ABD": {"Abadan Airport", "Abadan", "Iran", "ABD", "OIAA", 30.371099472, 48.2282981873, 10, 3.5, "E", "Asia/Tehran"}, + "QMJ": {"Shahid Asyaee Airport", "Masjed Soleiman", "Iran", "QMJ", "OIAI", 32.00239944458008, 49.27040100097656, 1206, 3.5, "E", "Asia/Tehran"}, + "MRX": {"Mahshahr Airport", "Bandar Mahshahr", "Iran", "MRX", "OIAM", 30.55620002746582, 49.15190124511719, 8, 3.5, "E", "Asia/Tehran"}, + "AWZ": {"Ahwaz Airport", "Ahwaz", "Iran", "AWZ", "OIAW", 31.337400436399996, 48.7620010376, 66, 3.5, "E", "Asia/Tehran"}, + "BUZ": {"Bushehr Airport", "Bushehr", "Iran", "BUZ", "OIBB", 28.9447994232, 50.8345985413, 68, 3.5, "E", "Asia/Tehran"}, + "KIH": {"Kish International Airport", "Kish Island", "Iran", "KIH", "OIBK", 26.5261993408, 53.980201721200004, 101, 3.5, "E", "Asia/Tehran"}, + "BDH": {"Bandar Lengeh Airport", "Bandar Lengeh", "Iran", "BDH", "OIBL", 26.531999588, 54.824798584, 67, 3.5, "E", "Asia/Tehran"}, + "KSH": {"Shahid Ashrafi Esfahani Airport", "Bakhtaran", "Iran", "KSH", "OICC", 34.3459014893, 47.1581001282, 4307, 3.5, "E", "Asia/Tehran"}, + "SDG": {"Sanandaj Airport", "Sanandaj", "Iran", "SDG", "OICS", 35.24589920043945, 47.00920104980469, 4522, 3.5, "E", "Asia/Tehran"}, + "IFN": {"Esfahan Shahid Beheshti International Airport", "Esfahan", "Iran", "IFN", "OIFM", 32.75080108642578, 51.86130142211914, 5059, 3.5, "E", "Asia/Tehran"}, + "RAS": {"Sardar-e-Jangal Airport", "Rasht", "Iran", "RAS", "OIGG", 37.323333, 49.617778, -40, 3.5, "E", "Asia/Tehran"}, + "THR": {"Mehrabad International Airport", "Teheran", "Iran", "THR", "OIII", 35.68920135498047, 51.31340026855469, 3962, 3.5, "E", "Asia/Tehran"}, + "BND": {"Bandar Abbas International Airport", "Bandar Abbas", "Iran", "BND", "OIKB", 27.218299865722656, 56.37779998779297, 22, 3.5, "E", "Asia/Tehran"}, + "KER": {"Kerman Airport", "Kerman", "Iran", "KER", "OIKK", 30.274400711099997, 56.9510993958, 5741, 3.5, "E", "Asia/Tehran"}, + "XBJ": {"Birjand Airport", "Birjand", "Iran", "XBJ", "OIMB", 32.898101806640625, 59.2661018371582, 4952, 3.5, "E", "Asia/Tehran"}, + "RZR": {"Ramsar Airport", "Ramsar", "Iran", "RZR", "OINR", 36.9099006652832, 50.67959976196289, -70, 3.5, "E", "Asia/Tehran"}, + "SYZ": {"Shiraz Shahid Dastghaib International Airport", "Shiraz", "Iran", "SYZ", "OISS", 29.539199829101562, 52.58980178833008, 4920, 3.5, "E", "Asia/Tehran"}, + "TBZ": {"Tabriz International Airport", "Tabriz", "Iran", "TBZ", "OITT", 38.1338996887207, 46.23500061035156, 4459, 3.5, "E", "Asia/Tehran"}, + "AZD": {"Shahid Sadooghi Airport", "Yazd", "Iran", "AZD", "OIYY", 31.9048995972, 54.2765007019, 4054, 3.5, "E", "Asia/Tehran"}, + "ACZ": {"Zabol Airport", "Zabol", "Iran", "ACZ", "OIZB", 31.09830093383789, 61.54389953613281, 1628, 3.5, "E", "Asia/Tehran"}, + "ZBR": {"Konarak Airport", "Chah Bahar", "Iran", "ZBR", "OIZC", 25.443300247199996, 60.3820991516, 43, 3.5, "E", "Asia/Tehran"}, + "ZAH": {"Zahedan International Airport", "Zahedan", "Iran", "ZAH", "OIZH", 29.47570037841797, 60.90620040893555, 4564, 3.5, "E", "Asia/Tehran"}, + "AMM": {"Queen Alia International Airport", "Amman", "Jordan", "AMM", "OJAI", 31.7226009369, 35.9931983948, 2395, 2, "E", "Asia/Amman"}, + "ADJ": {"Amman-Marka International Airport", "Amman", "Jordan", "ADJ", "OJAM", 31.972700119018555, 35.991600036621094, 2555, 2, "E", "Asia/Amman"}, + "AQJ": {"Aqaba King Hussein International Airport", "Aqaba", "Jordan", "AQJ", "OJAQ", 29.611600875854492, 35.01810073852539, 175, 2, "E", "Asia/Amman"}, + "OMF": {"King Hussein Air College", "Mafraq", "Jordan", "OMF", "OJMF", 32.3564, 36.259201, 2240, 2, "E", "Asia/Amman"}, + "KWI": {"Kuwait International Airport", "Kuwait", "Kuwait", "KWI", "OKBK", 29.226600646972656, 47.96889877319336, 206, 3, "U", "Asia/Kuwait"}, + "BEY": {"Beirut Rafic Hariri International Airport", "Beirut", "Lebanon", "BEY", "OLBA", 33.820899963378906, 35.488399505615234, 87, 2, "E", "Asia/Beirut"}, + "AUH": {"Abu Dhabi International Airport", "Abu Dhabi", "United Arab Emirates", "AUH", "OMAA", 24.433000564575195, 54.651100158691406, 88, 4, "U", "Asia/Dubai"}, + "AZI": {"Bateen Airport", "Abu Dhabi", "United Arab Emirates", "AZI", "OMAD", 24.428300857543945, 54.458099365234375, 16, 4, "U", "Asia/Dubai"}, + "DXB": {"Dubai International Airport", "Dubai", "United Arab Emirates", "DXB", "OMDB", 25.2527999878, 55.3643989563, 62, 4, "U", "Asia/Dubai"}, + "FJR": {"Fujairah International Airport", "Fujeirah", "United Arab Emirates", "FJR", "OMFJ", 25.112199783325195, 56.32400131225586, 152, 4, "U", "Asia/Dubai"}, + "RKT": {"Ras Al Khaimah International Airport", "Ras Al Khaimah", "United Arab Emirates", "RKT", "OMRK", 25.613500595092773, 55.93880081176758, 102, 4, "U", "Asia/Dubai"}, + "SHJ": {"Sharjah International Airport", "Sharjah", "United Arab Emirates", "SHJ", "OMSJ", 25.32859992980957, 55.5172004699707, 111, 4, "U", "Asia/Dubai"}, + "KHS": {"Khasab Air Base", "Khasab", "Oman", "KHS", "OOKB", 26.17099952697754, 56.2406005859375, 100, 4, "U", "Asia/Muscat"}, + "MSH": {"Masirah Air Base", "Masirah", "Oman", "MSH", "OOMA", 20.675399780273438, 58.890499114990234, 64, 4, "U", "Asia/Muscat"}, + "MCT": {"Muscat International Airport", "Muscat", "Oman", "MCT", "OOMS", 23.593299865722656, 58.284400939941406, 48, 4, "U", "Asia/Muscat"}, + "SLL": {"Salalah Airport", "Salalah", "Oman", "SLL", "OOSA", 17.038700103759766, 54.09130096435547, 73, 4, "U", "Asia/Muscat"}, + "TTH": {"Thumrait Air Base", "Thumrait", "Oman", "TTH", "OOTH", 17.666000366210938, 54.024600982666016, 1570, 4, "U", "Asia/Muscat"}, + "LYP": {"Faisalabad International Airport", "Faisalabad", "Pakistan", "LYP", "OPFA", 31.364999771118164, 72.99479675292969, 591, 5, "N", "Asia/Karachi"}, + "GWD": {"Gwadar International Airport", "Gwadar", "Pakistan", "GWD", "OPGD", 25.233299255371094, 62.329498291015625, 36, 5, "N", "Asia/Karachi"}, + "GIL": {"Gilgit Airport", "Gilgit", "Pakistan", "GIL", "OPGT", 35.918800354003906, 74.33360290527344, 4796, 5, "N", "Asia/Karachi"}, + "KHI": {"Jinnah International Airport", "Karachi", "Pakistan", "KHI", "OPKC", 24.9065, 67.160797, 100, 5, "N", "Asia/Karachi"}, + "LHE": {"Alama Iqbal International Airport", "Lahore", "Pakistan", "LHE", "OPLA", 31.5216007232666, 74.40360260009766, 712, 5, "N", "Asia/Karachi"}, + "MFG": {"Muzaffarabad Airport", "Muzaffarabad", "Pakistan", "MFG", "OPMF", 34.3390007019043, 73.50859832763672, 2691, 5, "N", "Asia/Karachi"}, + "MJD": {"Moenjodaro Airport", "Moenjodaro", "Pakistan", "MJD", "OPMJ", 27.3351993560791, 68.14309692382812, 154, 5, "N", "Asia/Karachi"}, + "MUX": {"Multan International Airport", "Multan", "Pakistan", "MUX", "OPMT", 30.20319938659668, 71.41909790039062, 403, 5, "N", "Asia/Karachi"}, + "WNS": {"Shaheed Benazirabad Airport", "Nawabshah", "Pakistan", "WNS", "OPNH", 26.2194, 68.390099, 95, 5, "N", "Asia/Karachi"}, + "PJG": {"Panjgur Airport", "Panjgur", "Pakistan", "PJG", "OPPG", 26.954500198364258, 64.13249969482422, 3289, 5, "N", "Asia/Karachi"}, + "PSI": {"Pasni Airport", "Pasni", "Pakistan", "PSI", "OPPI", 25.29050064086914, 63.34510040283203, 33, 5, "N", "Asia/Karachi"}, + "PEW": {"Peshawar International Airport", "Peshawar", "Pakistan", "PEW", "OPPS", 33.993900299072266, 71.51460266113281, 1158, 5, "N", "Asia/Karachi"}, + "UET": {"Quetta International Airport", "Quetta", "Pakistan", "UET", "OPQT", 30.251399993896484, 66.93779754638672, 5267, 5, "N", "Asia/Karachi"}, + "RYK": {"Shaikh Zaid Airport", "Rahim Yar Khan", "Pakistan", "RYK", "OPRK", 28.383899688720703, 70.27960205078125, 271, 5, "N", "Asia/Karachi"}, + "ISB": {"Benazir Bhutto International Airport", "Islamabad", "Pakistan", "ISB", "OPRN", 33.61669921875, 73.09919738769531, 1668, 5, "N", "Asia/Karachi"}, + "RAZ": {"Rawalakot Airport", "Rawala Kot", "Pakistan", "RAZ", "OPRT", 33.849700927734375, 73.79810333251953, 5479, 5, "N", "Asia/Karachi"}, + "SKZ": {"Sukkur Airport", "Sukkur", "Pakistan", "SKZ", "OPSK", 27.722000122070312, 68.79170227050781, 196, 5, "N", "Asia/Karachi"}, + "SDT": {"Saidu Sharif Airport", "Saidu Sharif", "Pakistan", "SDT", "OPSS", 34.8135986328125, 72.35279846191406, 3183, 5, "N", "Asia/Karachi"}, + "SUL": {"Sui Airport", "Sui", "Pakistan", "SUL", "OPSU", 28.645099639892578, 69.1769027709961, 763, 5, "N", "Asia/Karachi"}, + "BDN": {"Talhar Airport", "Talhar", "Pakistan", "BDN", "OPTH", 24.84149932861328, 68.8384017944336, 28, 5, "N", "Asia/Karachi"}, + "PZH": {"Zhob Airport", "Zhob", "Pakistan", "PZH", "OPZB", 31.358400344848633, 69.4636001586914, 4728, 5, "N", "Asia/Karachi"}, + "BSR": {"Basrah International Airport", "Basrah", "Iraq", "BSR", "ORMM", 30.549100875854492, 47.66210174560547, 11, 3, "U", "Asia/Baghdad"}, + "ALP": {"Aleppo International Airport", "Aleppo", "Syria", "ALP", "OSAP", 36.18069839477539, 37.22439956665039, 1276, 2, "E", "Asia/Damascus"}, + "DAM": {"Damascus International Airport", "Damascus", "Syria", "DAM", "OSDI", 33.4114990234375, 36.51559829711914, 2020, 2, "E", "Asia/Damascus"}, + "DEZ": {"Deir ez-Zor Airport", "Deire Zor", "Syria", "DEZ", "OSDZ", 35.285400390625, 40.17599868774414, 700, 2, "E", "Asia/Damascus"}, + "LTK": {"Bassel Al-Assad International Airport", "Latakia", "Syria", "LTK", "OSLK", 35.401100158691406, 35.948699951171875, 157, 2, "E", "Asia/Damascus"}, + "PMS": {"Palmyra Airport", "Palmyra", "Syria", "PMS", "OSPR", 34.5574, 38.316898, 1322, 2, "E", "Asia/Damascus"}, + "CIS": {"Canton Island Airport", "Canton Island", "Kiribati", "CIS", "PCIS", -2.7681200504300003, -171.710006714, 9, 13, "U", "Pacific/Enderbury"}, + "ROP": {"Rota International Airport", "Rota", "Northern Mariana Islands", "ROP", "PGRO", 14.174300193786621, 145.2429962158203, 607, 10, "U", "Pacific/Saipan"}, + "SPN": {"Saipan International Airport", "Saipan", "Northern Mariana Islands", "SPN", "PGSN", 15.119000434899998, 145.729003906, 215, 10, "U", "Pacific/Saipan"}, + "UAM": {"Andersen Air Force Base", "Andersen", "Guam", "UAM", "PGUA", 13.584, 144.929993, 627, 10, "U", "Pacific/Guam"}, + "GUM": {"Antonio B. Won Pat International Airport", "Agana", "Guam", "GUM", "PGUM", 13.4834003448, 144.796005249, 298, 10, "U", "Pacific/Guam"}, + "TIQ": {"Tinian International Airport", "West Tinian", "Northern Mariana Islands", "TIQ", "PGWT", 14.999199867248535, 145.61900329589844, 271, 10, "U", "Pacific/Saipan"}, + "MAJ": {"Marshall Islands International Airport", "Majuro", "Marshall Islands", "MAJ", "PKMJ", 7.064760208129883, 171.27200317382812, 6, 12, "U", "Pacific/Majuro"}, + "KWA": {"Bucholz Army Air Field", "Kwajalein", "Marshall Islands", "KWA", "PKWA", 8.720120429992676, 167.73199462890625, 9, 12, "U", "Pacific/Majuro"}, + "MDY": {"Henderson Field", "Midway", "Midway Islands", "MDY", "PMDY", 28.20170021057129, -177.38099670410156, 13, -11, "U", "Pacific/Midway"}, + "TKK": {"Chuuk International Airport", "Chuuk", "Micronesia", "TKK", "PTKK", 7.461870193481445, 151.84300231933594, 11, 10, "U", "Pacific/Truk"}, + "PNI": {"Pohnpei International Airport", "Pohnpei", "Micronesia", "PNI", "PTPN", 6.985099792480469, 158.20899963378906, 10, 11, "U", "Pacific/Ponape"}, + "ROR": {"Babelthuap Airport", "Babelthuap", "Palau", "ROR", "PTRO", 7.367650032043457, 134.54400634765625, 176, 9, "U", "Pacific/Palau"}, + "KSA": {"Kosrae International Airport", "Kosrae", "Micronesia", "KSA", "PTSA", 5.35698, 162.957993, 11, 11, "U", "Pacific/Kosrae"}, + "YAP": {"Yap International Airport", "Yap", "Micronesia", "YAP", "PTYA", 9.49891, 138.082993, 91, 10, "U", "Pacific/Truk"}, + "KNH": {"Kinmen Airport", "Kinmen", "Taiwan", "KNH", "RCBS", 24.427900314331055, 118.35900115966797, 93, 8, "U", "Asia/Taipei"}, + "TTT": {"Taitung Airport", "Fengnin", "Taiwan", "TTT", "RCFN", 22.7549991607666, 121.10199737548828, 143, 8, "U", "Asia/Taipei"}, + "GNI": {"Lyudao Airport", "Green Island", "Taiwan", "GNI", "RCGI", 22.673900604248047, 121.46600341796875, 28, 8, "U", "Asia/Taipei"}, + "KHH": {"Kaohsiung International Airport", "Kaohsiung", "Taiwan", "KHH", "RCKH", 22.57710075378418, 120.3499984741211, 31, 8, "U", "Asia/Taipei"}, + "CYI": {"Chiayi Airport", "Chiayi", "Taiwan", "CYI", "RCKU", 23.46179962158203, 120.39299774169922, 85, 8, "U", "Asia/Taipei"}, + "KYD": {"Lanyu Airport", "Lanyu", "Taiwan", "KYD", "RCLY", 22.027000427246094, 121.53500366210938, 44, 8, "U", "Asia/Taipei"}, + "RMQ": {"Taichung Ching Chuang Kang Airport", "Taichung", "Taiwan", "RMQ", "RCMQ", 24.264699935913086, 120.62100219726562, 663, 8, "N", "Asia/Taipei"}, + "TNN": {"Tainan Airport", "Tainan", "Taiwan", "TNN", "RCNN", 22.95039939880371, 120.20600128173828, 63, 8, "U", "Asia/Taipei"}, + "MZG": {"Makung Airport", "Makung", "Taiwan", "MZG", "RCQC", 23.568700790405273, 119.62799835205078, 103, 8, "U", "Asia/Taipei"}, + "PIF": {"Pingtung North Airport", "Pingtung", "Taiwan", "PIF", "RCSQ", 22.700199127197266, 120.48200225830078, 97, 8, "U", "Asia/Taipei"}, + "TSA": {"Taipei Songshan Airport", "Taipei", "Taiwan", "TSA", "RCSS", 25.069400787353516, 121.552001953125, 18, 8, "U", "Asia/Taipei"}, + "TPE": {"Taiwan Taoyuan International Airport", "Taipei", "Taiwan", "TPE", "RCTP", 25.0777, 121.233002, 106, 8, "U", "Asia/Taipei"}, + "WOT": {"Wang-an Airport", "Wang An", "Taiwan", "WOT", "RCWA", 23.367372512817383, 119.50277709960938, 115, 8, "U", "Asia/Taipei"}, + "HUN": {"Hualien Airport", "Hualien", "Taiwan", "HUN", "RCYU", 24.023099899291992, 121.61799621582031, 52, 8, "U", "Asia/Taipei"}, + "NRT": {"Narita International Airport", "Tokyo", "Japan", "NRT", "RJAA", 35.7647018433, 140.386001587, 141, 9, "U", "Asia/Tokyo"}, + "MMJ": {"Matsumoto Airport", "Matsumoto", "Japan", "MMJ", "RJAF", 36.16680145263672, 137.92300415039062, 2182, 9, "U", "Asia/Tokyo"}, + "IBR": {"Hyakuri Airport", "Ibaraki", "Japan", "IBR", "RJAH", 36.181098938, 140.414993286, 105, 9, "U", "Asia/Tokyo"}, + "IWO": {"Iwo Jima Airport", "Iwojima", "Japan", "IWO", "RJAW", 24.784000396728516, 141.322998046875, 384, 9, "U", "Asia/Tokyo"}, + "SHM": {"Nanki Shirahama Airport", "Nanki-shirahama", "Japan", "SHM", "RJBD", 33.6622009277, 135.363998413, 298, 9, "U", "Asia/Tokyo"}, + "OBO": {"Tokachi-Obihiro Airport", "Obihiro", "Japan", "OBO", "RJCB", 42.7332992554, 143.216995239, 505, 9, "U", "Asia/Tokyo"}, + "CTS": {"New Chitose Airport", "Sapporo", "Japan", "CTS", "RJCC", 42.77519989013672, 141.69200134277344, 82, 9, "U", "Asia/Tokyo"}, + "HKD": {"Hakodate Airport", "Hakodate", "Japan", "HKD", "RJCH", 41.7700004578, 140.822006226, 151, 9, "U", "Asia/Tokyo"}, + "SPK": {"Chitose Air Base", "Chitose", "Japan", "SPK", "RJCJ", 42.79449844359999, 141.666000366, 87, 9, "U", "Asia/Tokyo"}, + "MMB": {"Memanbetsu Airport", "Memanbetsu", "Japan", "MMB", "RJCM", 43.8805999756, 144.164001465, 135, 9, "U", "Asia/Tokyo"}, + "SHB": {"Nakashibetsu Airport", "Nakashibetsu", "Japan", "SHB", "RJCN", 43.5774993896, 144.960006714, 234, 9, "U", "Asia/Tokyo"}, + "WKJ": {"Wakkanai Airport", "Wakkanai", "Japan", "WKJ", "RJCW", 45.4042015076, 141.800994873, 30, 9, "U", "Asia/Tokyo"}, + "IKI": {"Iki Airport", "Iki", "Japan", "IKI", "RJDB", 33.7490005493, 129.785003662, 41, 9, "U", "Asia/Tokyo"}, + "UBJ": {"Yamaguchi Ube Airport", "Yamaguchi", "Japan", "UBJ", "RJDC", 33.930000305200004, 131.279006958, 23, 9, "U", "Asia/Tokyo"}, + "TSJ": {"Tsushima Airport", "Tsushima", "Japan", "TSJ", "RJDT", 34.2849006653, 129.330993652, 213, 9, "U", "Asia/Tokyo"}, + "MBE": {"Monbetsu Airport", "Monbetsu", "Japan", "MBE", "RJEB", 44.303901672399995, 143.404006958, 80, 9, "U", "Asia/Tokyo"}, + "AKJ": {"Asahikawa Airport", "Asahikawa", "Japan", "AKJ", "RJEC", 43.670799255371094, 142.44700622558594, 721, 9, "U", "Asia/Tokyo"}, + "OIR": {"Okushiri Airport", "Okushiri", "Japan", "OIR", "RJEO", 42.0717010498, 139.432998657, 161, 9, "U", "Asia/Tokyo"}, + "RIS": {"Rishiri Airport", "Rishiri Island", "Japan", "RIS", "RJER", 45.2420005798, 141.186004639, 112, 9, "U", "Asia/Tokyo"}, + "KUM": {"Yakushima Airport", "Yakushima", "Japan", "KUM", "RJFC", 30.3855991364, 130.658996582, 124, 9, "U", "Asia/Tokyo"}, + "FUJ": {"Fukue Airport", "Fukue", "Japan", "FUJ", "RJFE", 32.66630172729492, 128.83299255371094, 273, 9, "U", "Asia/Tokyo"}, + "FUK": {"Fukuoka Airport", "Fukuoka", "Japan", "FUK", "RJFF", 33.585899353027344, 130.4510040283203, 32, 9, "U", "Asia/Tokyo"}, + "TNE": {"New Tanegashima Airport", "Tanegashima", "Japan", "TNE", "RJFG", 30.605100631699997, 130.990997314, 768, 9, "U", "Asia/Tokyo"}, + "KOJ": {"Kagoshima Airport", "Kagoshima", "Japan", "KOJ", "RJFK", 31.80340003967285, 130.718994140625, 906, 9, "U", "Asia/Tokyo"}, + "KMI": {"Miyazaki Airport", "Miyazaki", "Japan", "KMI", "RJFM", 31.877199173, 131.449005127, 20, 9, "U", "Asia/Tokyo"}, + "OIT": {"Oita Airport", "Oita", "Japan", "OIT", "RJFO", 33.479400634799994, 131.736999512, 19, 9, "U", "Asia/Tokyo"}, + "KKJ": {"Kitakyūshū Airport", "Kitakyushu", "Japan", "KKJ", "RJFR", 33.8459014893, 131.035003662, 21, 9, "U", "Asia/Tokyo"}, + "KMJ": {"Kumamoto Airport", "Kumamoto", "Japan", "KMJ", "RJFT", 32.83729934692383, 130.85499572753906, 642, 9, "U", "Asia/Tokyo"}, + "NGS": {"Nagasaki Airport", "Nagasaki", "Japan", "NGS", "RJFU", 32.916900634799994, 129.914001465, 15, 9, "U", "Asia/Tokyo"}, + "ASJ": {"Amami Airport", "Amami", "Japan", "ASJ", "RJKA", 28.430599212646484, 129.71299743652344, 27, 9, "U", "Asia/Tokyo"}, + "TKN": {"Tokunoshima Airport", "Tokunoshima", "Japan", "TKN", "RJKN", 27.83639907836914, 128.88099670410156, 17, 9, "U", "Asia/Tokyo"}, + "KMQ": {"Komatsu Airport", "Kanazawa", "Japan", "KMQ", "RJNK", 36.39459991455078, 136.40699768066406, 36, 9, "U", "Asia/Tokyo"}, + "OKI": {"Oki Airport", "Oki Island", "Japan", "OKI", "RJNO", 36.18109893798828, 133.3249969482422, 311, 9, "U", "Asia/Tokyo"}, + "TOY": {"Toyama Airport", "Toyama", "Japan", "TOY", "RJNT", 36.64830017089844, 137.18800354003906, 95, 9, "U", "Asia/Tokyo"}, + "HIJ": {"Hiroshima Airport", "Hiroshima", "Japan", "HIJ", "RJOA", 34.4361000061, 132.919006348, 1088, 9, "U", "Asia/Tokyo"}, + "OKJ": {"Okayama Airport", "Okayama", "Japan", "OKJ", "RJOB", 34.7569007874, 133.854995728, 806, 9, "U", "Asia/Tokyo"}, + "IZO": {"Izumo Airport", "Izumo", "Japan", "IZO", "RJOC", 35.4136009216, 132.88999939, 15, 9, "U", "Asia/Tokyo"}, + "YGJ": {"Miho Yonago Airport", "Miho", "Japan", "YGJ", "RJOH", 35.4921989440918, 133.23599243164062, 20, 9, "U", "Asia/Tokyo"}, + "KCZ": {"Kōchi Ryōma Airport", "Kochi", "Japan", "KCZ", "RJOK", 33.5461006165, 133.669006348, 42, 9, "U", "Asia/Tokyo"}, + "MYJ": {"Matsuyama Airport", "Matsuyama", "Japan", "MYJ", "RJOM", 33.82720184326172, 132.6999969482422, 25, 9, "U", "Asia/Tokyo"}, + "ITM": {"Osaka International Airport", "Osaka", "Japan", "ITM", "RJOO", 34.785499572753906, 135.43800354003906, 50, 9, "U", "Asia/Tokyo"}, + "TTJ": {"Tottori Airport", "Tottori", "Japan", "TTJ", "RJOR", 35.5301017761, 134.167007446, 65, 9, "U", "Asia/Tokyo"}, + "TKS": {"Tokushima Airport", "Tokushima", "Japan", "TKS", "RJOS", 34.1328010559, 134.606994629, 26, 9, "U", "Asia/Tokyo"}, + "TAK": {"Takamatsu Airport", "Takamatsu", "Japan", "TAK", "RJOT", 34.214199066199996, 134.01600647, 607, 9, "U", "Asia/Tokyo"}, + "AOJ": {"Aomori Airport", "Aomori", "Japan", "AOJ", "RJSA", 40.73469924926758, 140.6909942626953, 664, 9, "U", "Asia/Tokyo"}, + "GAJ": {"Yamagata Airport", "Yamagata", "Japan", "GAJ", "RJSC", 38.411899566699994, 140.371002197, 353, 9, "U", "Asia/Tokyo"}, + "SDS": {"Sado Airport", "Sado", "Japan", "SDS", "RJSD", 38.0601997375, 138.414001465, 88, 9, "U", "Asia/Tokyo"}, + "HNA": {"Hanamaki Airport", "Hanamaki", "Japan", "HNA", "RJSI", 39.4286003112793, 141.13499450683594, 297, 9, "U", "Asia/Tokyo"}, + "AXT": {"Akita Airport", "Akita", "Japan", "AXT", "RJSK", 39.6156005859375, 140.218994140625, 313, 9, "U", "Asia/Tokyo"}, + "MSJ": {"Misawa Air Base", "Misawa", "Japan", "MSJ", "RJSM", 40.703201293899994, 141.367996216, 119, 9, "U", "Asia/Tokyo"}, + "SDJ": {"Sendai Airport", "Sendai", "Japan", "SDJ", "RJSS", 38.1397018433, 140.917007446, 15, 9, "U", "Asia/Tokyo"}, + "HAC": {"Hachijojima Airport", "Hachijojima", "Japan", "HAC", "RJTH", 33.1150016785, 139.785995483, 303, 9, "U", "Asia/Tokyo"}, + "OIM": {"Oshima Airport", "Oshima", "Japan", "OIM", "RJTO", 34.782001495399996, 139.36000061, 130, 9, "U", "Asia/Tokyo"}, + "HND": {"Tokyo Haneda International Airport", "Tokyo", "Japan", "HND", "RJTT", 35.552299, 139.779999, 35, 9, "U", "Asia/Tokyo"}, + "OKO": {"Yokota Air Base", "Yokota", "Japan", "OKO", "RJTY", 35.74850082397461, 139.34800720214844, 463, 9, "U", "Asia/Tokyo"}, + "KWJ": {"Gwangju Airport", "Kwangju", "South Korea", "KWJ", "RKJJ", 35.1263999939, 126.808998108, 39, 9, "U", "Asia/Seoul"}, + "CHN": {"Jeon Ju Airport", "Jhunju", "South Korea", "CHN", "RKJU", 35.87839889526367, 127.12000274658203, 96, 9, "U", "Asia/Seoul"}, + "RSU": {"Yeosu Airport", "Yeosu", "South Korea", "RSU", "RKJY", 34.84230041503906, 127.61699676513672, 53, 9, "U", "Asia/Seoul"}, + "SHO": {"Sokcho Airport", "Sokch'o", "South Korea", "SHO", "RKND", 38.142601013183594, 128.5989990234375, 92, 9, "U", "Asia/Seoul"}, + "KAG": {"Gangneung Airport", "Kangnung", "South Korea", "KAG", "RKNN", 37.753601074200006, 128.944000244, 35, 9, "U", "Asia/Seoul"}, + "CJU": {"Jeju International Airport", "Cheju", "South Korea", "CJU", "RKPC", 33.51129913330078, 126.49299621582031, 118, 9, "U", "Asia/Seoul"}, + "PUS": {"Gimhae International Airport", "Busan", "South Korea", "PUS", "RKPK", 35.1795005798, 128.93800354, 6, 9, "U", "Asia/Seoul"}, + "USN": {"Ulsan Airport", "Ulsan", "South Korea", "USN", "RKPU", 35.59349823, 129.352005005, 45, 9, "U", "Asia/Seoul"}, + "SSN": {"Seoul Air Base", "Seoul East", "South Korea", "SSN", "RKSM", 37.44580078125, 127.11399841308594, 92, 9, "U", "Asia/Seoul"}, + "OSN": {"Osan Air Base", "Osan", "South Korea", "OSN", "RKSO", 37.090599, 127.029999, 38, 9, "U", "Asia/Seoul"}, + "GMP": {"Gimpo International Airport", "Seoul", "South Korea", "GMP", "RKSS", 37.5583000183, 126.791000366, 58, 9, "U", "Asia/Seoul"}, + "SWU": {"Suwon Airport", "Suwon", "South Korea", "SWU", "RKSW", 37.23939895629883, 127.00700378417969, 88, 9, "U", "Asia/Seoul"}, + "KPO": {"Pohang Airport", "Pohang", "South Korea", "KPO", "RKTH", 35.9878997803, 129.419998169, 70, 9, "U", "Asia/Seoul"}, + "TAE": {"Daegu Airport", "Taegu", "South Korea", "TAE", "RKTN", 35.894100189199996, 128.658996582, 116, 9, "U", "Asia/Seoul"}, + "YEC": {"Yecheon Airport", "Yechon", "South Korea", "YEC", "RKTY", 36.631900787354, 128.35499572754, 354, 9, "U", "Asia/Seoul"}, + "OKA": {"Naha Airport", "Okinawa", "Japan", "OKA", "ROAH", 26.1958007812, 127.646003723, 12, 9, "N", "Asia/Tokyo"}, + "DNA": {"Kadena Air Base", "Kadena", "Japan", "DNA", "RODN", 26.3556, 127.767998, 143, 9, "U", "Asia/Tokyo"}, + "ISG": {"Ishigaki Airport", "Ishigaki", "Japan", "ISG", "ROIG", 24.344499588, 124.18699646, 93, 9, "U", "Asia/Tokyo"}, + "UEO": {"Kumejima Airport", "Kumejima", "Japan", "UEO", "ROKJ", 26.363500595092773, 126.71399688720703, 23, 9, "U", "Asia/Tokyo"}, + "MMD": {"Minami-Daito Airport", "Minami Daito", "Japan", "MMD", "ROMD", 25.8465003967, 131.263000488, 167, 9, "U", "Asia/Tokyo"}, + "MMY": {"Miyako Airport", "Miyako", "Japan", "MMY", "ROMY", 24.782800674399997, 125.294998169, 150, 9, "U", "Asia/Tokyo"}, + "KTD": {"Kitadaito Airport", "Kitadaito", "Japan", "KTD", "RORK", 25.9447002411, 131.32699585, 80, 9, "U", "Asia/Tokyo"}, + "SHI": {"Shimojishima Airport", "Shimojishima", "Japan", "SHI", "RORS", 24.8267002106, 125.144996643, 54, 9, "U", "Asia/Tokyo"}, + "RNJ": {"Yoron Airport", "Yoron", "Japan", "RNJ", "RORY", 27.0440006256, 128.401992798, 52, 9, "U", "Asia/Tokyo"}, + "OGN": {"Yonaguni Airport", "Yonaguni Jima", "Japan", "OGN", "ROYN", 24.466899871826172, 122.97799682617188, 70, 9, "U", "Asia/Tokyo"}, + "MNL": {"Ninoy Aquino International Airport", "Manila", "Philippines", "MNL", "RPLL", 14.5086, 121.019997, 75, 8, "N", "Asia/Manila"}, + "CBO": {"Awang Airport", "Cotabato", "Philippines", "CBO", "RPMC", 7.1652398109436035, 124.20999908447266, 189, 8, "N", "Asia/Manila"}, + "CGY": {"Cagayan De Oro Airport", "Ladag", "Philippines", "CGY", "RPML", 8.41562, 124.611, 601, 8, "N", "Asia/Manila"}, + "PAG": {"Pagadian Airport", "Pagadian", "Philippines", "PAG", "RPMP", 7.83073144787, 123.461179733, 5, 8, "N", "Asia/Manila"}, + "GES": {"General Santos International Airport", "Romblon", "Philippines", "GES", "RPMR", 6.05800008774, 125.096000671, 505, 8, "N", "Asia/Manila"}, + "ZAM": {"Zamboanga International Airport", "Zamboanga", "Philippines", "ZAM", "RPMZ", 6.922420024871826, 122.05999755859375, 33, 8, "N", "Asia/Manila"}, + "BAG": {"Loakan Airport", "Baguio", "Philippines", "BAG", "RPUB", 16.375099182128906, 120.62000274658203, 4251, 8, "N", "Asia/Manila"}, + "SJI": {"San Jose Airport", "San Jose", "Philippines", "SJI", "RPUH", 12.361499786399998, 121.04699707, 14, 8, "N", "Asia/Manila"}, + "TAC": {"Daniel Z. Romualdez Airport", "Tacloban", "Philippines", "TAC", "RPVA", 11.2276000977, 125.027999878, 10, 8, "N", "Asia/Manila"}, + "BCD": {"Bacolod-Silay City International Airport", "Bacolod", "Philippines", "BCD", "RPVB", 10.7764, 123.014999, 82, 8, "N", "Asia/Manila"}, + "DGT": {"Sibulan Airport", "Dumaguete", "Philippines", "DGT", "RPVD", 9.3337097168, 123.300003052, 15, 8, "N", "Asia/Manila"}, + "MPH": {"Godofredo P. Ramos Airport", "Caticlan", "Philippines", "MPH", "RPVE", 11.9245, 121.954002, 7, 8, "N", "Asia/Manila"}, + "ILO": {"Iloilo International Airport", "Iloilo", "Philippines", "ILO", "RPVI", 10.833017, 122.493358, 27, 8, "N", "Asia/Manila"}, + "KLO": {"Kalibo International Airport", "Kalibo", "Philippines", "KLO", "RPVK", 11.679400444, 122.375999451, 14, 8, "N", "Asia/Manila"}, + "PPS": {"Puerto Princesa Airport", "Puerto Princesa", "Philippines", "PPS", "RPVP", 9.742119789123535, 118.75900268554688, 71, 8, "N", "Asia/Manila"}, + "COC": {"Comodoro Pierrestegui Airport", "Concordia", "Argentina", "COC", "SAAC", -31.2969, -57.9966, 112, -3, "N", "America/Cordoba"}, + "GHU": {"Gualeguaychu Airport", "Gualeguaychu", "Argentina", "GHU", "SAAG", -33.0103, -58.6131, 75, -3, "N", "America/Cordoba"}, + "PRA": {"General Urquiza Airport", "Parana", "Argentina", "PRA", "SAAP", -31.7948, -60.4804, 242, -3, "N", "America/Cordoba"}, + "ROS": {"Islas Malvinas Airport", "Rosario", "Argentina", "ROS", "SAAR", -32.9036, -60.785, 85, -3, "N", "America/Cordoba"}, + "SFN": {"Sauce Viejo Airport", "Santa Fe", "Argentina", "SFN", "SAAV", -31.7117, -60.8117, 55, -3, "N", "America/Cordoba"}, + "AEP": {"Jorge Newbery Airpark", "Buenos Aires", "Argentina", "AEP", "SABE", -34.5592, -58.4156, 18, -3, "N", "America/Buenos_Aires"}, + "COR": {"Ingeniero Ambrosio Taravella Airport", "Cordoba", "Argentina", "COR", "SACO", -31.323600769, -64.2080001831, 1604, -3, "N", "America/Cordoba"}, + "LPG": {"La Plata Airport", "La Plata", "Argentina", "LPG", "SADL", -34.9722, -57.8947, 72, -3, "N", "America/Buenos_Aires"}, + "MDZ": {"El Plumerillo Airport", "Mendoza", "Argentina", "MDZ", "SAME", -32.8316993713, -68.7929000854, 2310, -3, "N", "America/Mendoza"}, + "LGS": {"Comodoro D.R. Salomón Airport", "Malargue", "Argentina", "LGS", "SAMM", -35.493598938, -69.5743026733, 4685, -3, "N", "America/Mendoza"}, + "AFA": {"Suboficial Ay Santiago Germano Airport", "San Rafael", "Argentina", "AFA", "SAMR", -34.588299, -68.4039, 2470, -3, "N", "America/Mendoza"}, + "CTC": {"Catamarca Airport", "Catamarca", "Argentina", "CTC", "SANC", -28.5956001282, -65.751701355, 1522, -3, "N", "America/Catamarca"}, + "SDE": {"Vicecomodoro Angel D. La Paz Aragonés Airport", "Santiago Del Estero", "Argentina", "SDE", "SANE", -27.765556335399996, -64.3099975586, 656, -3, "N", "America/Cordoba"}, + "IRJ": {"Capitan V A Almonacid Airport", "La Rioja", "Argentina", "IRJ", "SANL", -29.3815994263, -66.7957992554, 1437, -3, "N", "America/Argentina/La_Rioja"}, + "TUC": {"Teniente Benjamin Matienzo Airport", "Tucuman", "Argentina", "TUC", "SANT", -26.8409, -65.104897, 1493, -3, "N", "America/Argentina/Tucuman"}, + "UAQ": {"Domingo Faustino Sarmiento Airport", "San Julian", "Argentina", "UAQ", "SANU", -31.571501, -68.418198, 1958, -3, "N", "America/Argentina/San_Juan"}, + "RCU": {"Area De Material Airport", "Rio Cuarto", "Argentina", "RCU", "SAOC", -33.0850982666, -64.2612991333, 1380, -3, "N", "America/Cordoba"}, + "VDR": {"Villa Dolores Airport", "Villa Dolores", "Argentina", "VDR", "SAOD", -31.9451999664, -65.1463012695, 1847, -3, "N", "America/Cordoba"}, + "LUQ": {"Brigadier Mayor D Cesar Raul Ojeda Airport", "San Luis", "Argentina", "LUQ", "SAOU", -33.2732009888, -66.3563995361, 2328, -3, "N", "America/Argentina/San_Luis"}, + "CNQ": {"Corrientes Airport", "Corrientes", "Argentina", "CNQ", "SARC", -27.4455, -58.7619, 202, -3, "N", "America/Cordoba"}, + "RES": {"Resistencia International Airport", "Resistencia", "Argentina", "RES", "SARE", -27.45, -59.0561, 173, -3, "N", "America/Cordoba"}, + "FMA": {"Formosa Airport", "Formosa", "Argentina", "FMA", "SARF", -26.2127, -58.2281, 193, -3, "N", "America/Cordoba"}, + "IGR": {"Cataratas Del Iguazú International Airport", "Iguazu Falls", "Argentina", "IGR", "SARI", -25.737300872800002, -54.473400116, 916, -3, "N", "America/Cordoba"}, + "AOL": {"Paso De Los Libres Airport", "Paso De Los Libres", "Argentina", "AOL", "SARL", -29.6894, -57.1521, 230, -3, "N", "America/Cordoba"}, + "PSS": {"Libertador Gral D Jose De San Martin Airport", "Posadas", "Argentina", "PSS", "SARP", -27.3858, -55.9707, 430, -3, "N", "America/Cordoba"}, + "SLA": {"Martin Miguel De Guemes International Airport", "Salta", "Argentina", "SLA", "SASA", -24.856000900299996, -65.4861984253, 4088, -3, "N", "America/Argentina/Salta"}, + "JUJ": {"Gobernador Horacio Guzman International Airport", "Jujuy", "Argentina", "JUJ", "SASJ", -24.3927993774, -65.0978012085, 3019, -3, "N", "America/Jujuy"}, + "ORA": {"Orán Airport", "Oran", "Argentina", "ORA", "SASO", -23.1527996063, -64.3292007446, 1171, -3, "N", "America/Argentina/Salta"}, + "EHL": {"El Bolson Airport", "El Bolson", "Argentina", "EHL", "SAVB", -41.9431991577, -71.5323028564, 1141, -3, "N", "America/Argentina/Salta"}, + "CRD": {"General E. Mosconi Airport", "Comodoro Rivadavia", "Argentina", "CRD", "SAVC", -45.7853, -67.4655, 189, -3, "N", "America/Catamarca"}, + "EQS": {"Brigadier Antonio Parodi Airport", "Esquel", "Argentina", "EQS", "SAVE", -42.908000946, -71.139503479, 2621, -3, "N", "America/Catamarca"}, + "REL": {"Almirante Marco Andres Zar Airport", "Trelew", "Argentina", "REL", "SAVT", -43.2105, -65.2703, 141, -3, "N", "America/Catamarca"}, + "VDM": {"Gobernador Castello Airport", "Viedma", "Argentina", "VDM", "SAVV", -40.8692, -63.0004, 20, -3, "N", "America/Argentina/Salta"}, + "PMY": {"El Tehuelche Airport", "Puerto Madryn", "Argentina", "PMY", "SAVY", -42.7592, -65.1027, 427, -3, "N", "America/Catamarca"}, + "PUD": {"Puerto Deseado Airport", "Puerto Deseado", "Argentina", "PUD", "SAWD", -47.7353, -65.9041, 268, -3, "N", "America/Argentina/Rio_Gallegos"}, + "RGA": {"Hermes Quijada International Airport", "Rio Grande", "Argentina", "RGA", "SAWE", -53.7777, -67.7494, 65, -3, "N", "America/Argentina/Ushuaia"}, + "RGL": {"Piloto Civil N. Fernández Airport", "Rio Gallegos", "Argentina", "RGL", "SAWG", -51.6089, -69.3126, 61, -3, "N", "America/Argentina/Rio_Gallegos"}, + "USH": {"Malvinas Argentinas Airport", "Ushuaia", "Argentina", "USH", "SAWH", -54.8433, -68.2958, 102, -3, "N", "America/Argentina/Ushuaia"}, + "ULA": {"Capitan D Daniel Vazquez Airport", "San Julian", "Argentina", "ULA", "SAWJ", -49.3068, -67.8026, 203, -3, "N", "America/Argentina/Rio_Gallegos"}, + "PMQ": {"Perito Moreno Airport", "Perito Moreno", "Argentina", "PMQ", "SAWP", -46.5378990173, -70.9786987305, 1410, -3, "N", "America/Argentina/Rio_Gallegos"}, + "RZA": {"Santa Cruz Airport", "Santa Cruz", "Argentina", "RZA", "SAWU", -50.0165, -68.5792, 364, -3, "N", "America/Argentina/Rio_Gallegos"}, + "BHI": {"Comandante Espora Airport", "Bahia Blanca", "Argentina", "BHI", "SAZB", -38.725, -62.1693, 246, -3, "N", "America/Buenos_Aires"}, + "MDQ": {"Ástor Piazzola International Airport", "Mar Del Plata", "Argentina", "MDQ", "SAZM", -37.9342, -57.5733, 72, -3, "N", "America/Buenos_Aires"}, + "NQN": {"Presidente Peron Airport", "Neuquen", "Argentina", "NQN", "SAZN", -38.9490013123, -68.15570068359999, 895, -3, "N", "America/Argentina/Salta"}, + "RSA": {"Santa Rosa Airport", "Santa Rosa", "Argentina", "RSA", "SAZR", -36.588299, -64.275703, 630, -3, "N", "America/Argentina/Salta"}, + "BRC": {"San Carlos De Bariloche Airport", "San Carlos De Bariloche", "Argentina", "BRC", "SAZS", -41.1511993408, -71.1575012207, 2774, -3, "N", "America/Argentina/Salta"}, + "TDL": {"Héroes De Malvinas Airport", "Tandil", "Argentina", "TDL", "SAZT", -37.2374000549, -59.2279014587, 574, -3, "N", "America/Buenos_Aires"}, + "VLG": {"Villa Gesell Airport", "Villa Gesell", "Argentina", "VLG", "SAZV", -37.2354, -57.0292, 32, -3, "N", "America/Buenos_Aires"}, + "CPC": {"Aviador C. Campos Airport", "San Martin Des Andes", "Argentina", "CPC", "SAZY", -40.0754013062, -71.137298584, 2569, -3, "N", "America/Argentina/Salta"}, + "CDJ": {"Conceição do Araguaia Airport", "Conceicao Do Araguaia", "Brazil", "CDJ", "SBAA", -8.348349571228027, -49.30149841308594, 653, -3, "S", "America/Belem"}, + "AQA": {"Araraquara Airport", "Araracuara", "Brazil", "AQA", "SBAQ", -21.812000274699997, -48.1329994202, 2334, -3, "S", "America/Sao_Paulo"}, + "AJU": {"Santa Maria Airport", "Aracaju", "Brazil", "AJU", "SBAR", -10.984000206, -37.0703010559, 23, -3, "S", "America/Fortaleza"}, + "AFL": {"Piloto Osvaldo Marques Dias Airport", "Alta Floresta", "Brazil", "AFL", "SBAT", -9.8663892746, -56.1049995422, 948, -4, "S", "America/Campo_Grande"}, + "ARU": {"Araçatuba Airport", "Aracatuba", "Brazil", "ARU", "SBAU", -21.1413002014, -50.4247016907, 1361, -3, "S", "America/Sao_Paulo"}, + "BEL": {"Val de Cans/Júlio Cezar Ribeiro International Airport", "Belem", "Brazil", "BEL", "SBBE", -1.3792500495900002, -48.4762992859, 54, -3, "S", "America/Belem"}, + "BGX": {"Comandante Gustavo Kraemer Airport", "Bage", "Brazil", "BGX", "SBBG", -31.39049911499, -54.112201690674, 600, -3, "S", "America/Sao_Paulo"}, + "PLU": {"Pampulha - Carlos Drummond de Andrade Airport", "Belo Horizonte", "Brazil", "PLU", "SBBH", -19.851200103759766, -43.950599670410156, 2589, -3, "S", "America/Sao_Paulo"}, + "BFH": {"Bacacheri Airport", "Curitiba", "Brazil", "BFH", "SBBI", -25.4050998688, -49.23199844359999, 3057, -3, "S", "America/Sao_Paulo"}, + "BSB": {"Presidente Juscelino Kubistschek International Airport", "Brasilia", "Brazil", "BSB", "SBBR", -15.86916732788086, -47.920833587646484, 3497, -3, "S", "America/Sao_Paulo"}, + "BAU": {"Bauru Airport", "Bauru", "Brazil", "BAU", "SBBU", -22.3449993134, -49.0537986755, 2025, -3, "S", "America/Sao_Paulo"}, + "BVB": {"Atlas Brasil Cantanhede Airport", "Boa Vista", "Brazil", "BVB", "SBBV", 2.84138894081, -60.6922225952, 276, -4, "S", "America/Boa_Vista"}, + "CAC": {"Cascavel Airport", "Cascavel", "Brazil", "CAC", "SBCA", -25.0002994537, -53.500801086399996, 2473, -3, "S", "America/Sao_Paulo"}, + "CNF": {"Tancredo Neves International Airport", "Belo Horizonte", "Brazil", "CNF", "SBCF", -19.62444305419922, -43.97194290161133, 2715, -3, "S", "America/Sao_Paulo"}, + "CGR": {"Campo Grande Airport", "Campo Grande", "Brazil", "CGR", "SBCG", -20.468700408900002, -54.6725006104, 1833, -4, "S", "America/Campo_Grande"}, + "XAP": {"Serafin Enoss Bertaso Airport", "Chapeco", "Brazil", "XAP", "SBCH", -27.134199142456, -52.656600952148, 2146, -3, "S", "America/Sao_Paulo"}, + "CLN": {"Brig. Lysias Augusto Rodrigues Airport", "Carolina", "Brazil", "CLN", "SBCI", -7.32043981552124, -47.45869827270508, 565, -3, "S", "America/Fortaleza"}, + "CCM": {"Diomício Freitas Airport", "Criciuma", "Brazil", "CCM", "SBCM", -28.7244434357, -49.4213905334, 93, -3, "S", "America/Sao_Paulo"}, + "CAW": {"Bartolomeu Lisandro Airport", "Campos", "Brazil", "CAW", "SBCP", -21.698299408, -41.301700592, 57, -3, "S", "America/Sao_Paulo"}, + "CMG": {"Corumbá International Airport", "Corumba", "Brazil", "CMG", "SBCR", -19.0119438171, -57.6713905334, 461, -4, "S", "America/Campo_Grande"}, + "CWB": {"Afonso Pena Airport", "Curitiba", "Brazil", "CWB", "SBCT", -25.5284996033, -49.1758003235, 2988, -3, "S", "America/Sao_Paulo"}, + "CRQ": {"Caravelas Airport", "Caravelas", "Brazil", "CRQ", "SBCV", -17.652299880981, -39.253101348877, 36, -3, "S", "America/Fortaleza"}, + "CXJ": {"Hugo Cantergiani Regional Airport", "Caxias Do Sul", "Brazil", "CXJ", "SBCX", -29.197099685699996, -51.1875, 2472, -3, "S", "America/Sao_Paulo"}, + "CGB": {"Marechal Rondon Airport", "Cuiaba", "Brazil", "CGB", "SBCY", -15.6528997421, -56.1166992188, 617, -4, "S", "America/Campo_Grande"}, + "CZS": {"Cruzeiro do Sul Airport", "Cruzeiro do Sul", "Brazil", "CZS", "SBCZ", -7.59990978241, -72.7695007324, 637, -5, "S", "America/Rio_Branco"}, + "PPB": {"Presidente Prudente Airport", "President Prudente", "Brazil", "PPB", "SBDN", -22.1751003265, -51.4245986938, 1477, -3, "S", "America/Sao_Paulo"}, + "MAO": {"Eduardo Gomes International Airport", "Manaus", "Brazil", "MAO", "SBEG", -3.0386099815368652, -60.04970169067383, 264, -4, "S", "America/Boa_Vista"}, + "IGU": {"Cataratas International Airport", "Foz Do Iguacu", "Brazil", "IGU", "SBFI", -25.600278854370117, -54.48500061035156, 786, -3, "S", "America/Sao_Paulo"}, + "FLN": {"Hercílio Luz International Airport", "Florianopolis", "Brazil", "FLN", "SBFL", -27.670278549194336, -48.5525016784668, 16, -3, "S", "America/Sao_Paulo"}, + "FEN": {"Fernando de Noronha Airport", "Fernando Do Noronha", "Brazil", "FEN", "SBFN", -3.8549299240112305, -32.423301696777344, 193, -3, "S", "America/Fortaleza"}, + "FOR": {"Pinto Martins International Airport", "Fortaleza", "Brazil", "FOR", "SBFZ", -3.776279926300049, -38.53260040283203, 82, -3, "S", "America/Fortaleza"}, + "GIG": {"Rio Galeão – Tom Jobim International Airport", "Rio De Janeiro", "Brazil", "GIG", "SBGL", -22.8099994659, -43.2505569458, 28, -3, "S", "America/Sao_Paulo"}, + "GYN": {"Santa Genoveva Airport", "Goiania", "Brazil", "GYN", "SBGO", -16.631999969482422, -49.220699310302734, 2450, -3, "S", "America/Sao_Paulo"}, + "GRU": {"Guarulhos - Governador André Franco Montoro International Airport", "Sao Paulo", "Brazil", "GRU", "SBGR", -23.435556411743164, -46.47305679321289, 2459, -3, "S", "America/Sao_Paulo"}, + "ATM": {"Altamira Airport", "Altamira", "Brazil", "ATM", "SBHT", -3.2539100646973, -52.254001617432, 369, -3, "S", "America/Belem"}, + "ITB": {"Itaituba Airport", "Itaituba", "Brazil", "ITB", "SBIH", -4.2423400878906, -56.000701904297, 110, -3, "S", "America/Belem"}, + "IOS": {"Bahia - Jorge Amado Airport", "Ilheus", "Brazil", "IOS", "SBIL", -14.815999984741, -39.033199310303, 15, -3, "S", "America/Fortaleza"}, + "IPN": {"Usiminas Airport", "Ipatinga", "Brazil", "IPN", "SBIP", -19.470699310303, -42.487598419189, 784, -3, "S", "America/Sao_Paulo"}, + "IMP": {"Prefeito Renato Moreira Airport", "Imperatriz", "Brazil", "IMP", "SBIZ", -5.531290054321289, -47.459999084472656, 432, -3, "S", "America/Fortaleza"}, + "JDF": {"Francisco de Assis Airport", "Juiz De Fora", "Brazil", "JDF", "SBJF", -21.791500091552734, -43.38679885864258, 2989, -3, "S", "America/Sao_Paulo"}, + "JPA": {"Presidente Castro Pinto International Airport", "Joao Pessoa", "Brazil", "JPA", "SBJP", -7.145833015440001, -34.9486122131, 217, -3, "S", "America/Fortaleza"}, + "JOI": {"Lauro Carneiro de Loyola Airport", "Joinville", "Brazil", "JOI", "SBJV", -26.22450065612793, -48.797401428222656, 15, -3, "S", "America/Sao_Paulo"}, + "CPV": {"Presidente João Suassuna Airport", "Campina Grande", "Brazil", "CPV", "SBKG", -7.2699198722839355, -35.896400451660156, 1646, -3, "S", "America/Fortaleza"}, + "VCP": {"Viracopos International Airport", "Campinas", "Brazil", "VCP", "SBKP", -23.0074005127, -47.1344985962, 2170, -3, "S", "America/Sao_Paulo"}, + "LIP": {"Lins Airport", "Lins", "Brazil", "LIP", "SBLN", -21.663999557495, -49.730499267578, 1559, -3, "S", "America/Sao_Paulo"}, + "LDB": {"Governador José Richa Airport", "Londrina", "Brazil", "LDB", "SBLO", -23.333599090599996, -51.1301002502, 1867, -3, "S", "America/Sao_Paulo"}, + "LAZ": {"Bom Jesus da Lapa Airport", "Bom Jesus Da Lapa", "Brazil", "LAZ", "SBLP", -13.2621002197, -43.4081001282, 1454, -3, "S", "America/Fortaleza"}, + "MAB": {"João Correa da Rocha Airport", "Maraba", "Brazil", "MAB", "SBMA", -5.36858987808, -49.138000488299994, 357, -3, "S", "America/Belem"}, + "MGF": {"Regional de Maringá - Sílvio Nane Junior Airport", "Maringa", "Brazil", "MGF", "SBMG", -23.479444503799996, -52.01222229, 1788, -3, "S", "America/Sao_Paulo"}, + "MOC": {"Mário Ribeiro Airport", "Montes Claros", "Brazil", "MOC", "SBMK", -16.706899642899998, -43.818901062, 2191, -3, "S", "America/Sao_Paulo"}, + "PLL": {"Ponta Pelada Airport", "Manaus", "Brazil", "PLL", "SBMN", -3.1460399627685547, -59.98630142211914, 267, -4, "S", "America/Boa_Vista"}, + "MCZ": {"Zumbi dos Palmares Airport", "Maceio", "Brazil", "MCZ", "SBMO", -9.510809898376465, -35.79169845581055, 387, -3, "S", "America/Fortaleza"}, + "MCP": {"Alberto Alcolumbre Airport", "Macapa", "Brazil", "MCP", "SBMQ", 0.0506640002131, -51.0722007751, 56, -3, "S", "America/Fortaleza"}, + "MVF": {"Dix-Sept Rosado Airport", "Mocord", "Brazil", "MVF", "SBMS", -5.2019200324999995, -37.3642997742, 76, -3, "S", "America/Fortaleza"}, + "MNX": {"Manicoré Airport", "Manicore", "Brazil", "MNX", "SBMY", -5.8113799095154, -61.278301239014, 174, -4, "S", "America/Boa_Vista"}, + "NVT": {"Ministro Victor Konder International Airport", "Navegantes", "Brazil", "NVT", "SBNF", -26.8799991607666, -48.65140151977539, 18, -3, "S", "America/Sao_Paulo"}, + "GEL": {"Santo Ângelo Airport", "Santo Angelo", "Brazil", "GEL", "SBNM", -28.281700134277344, -54.16910171508789, 1056, -3, "S", "America/Sao_Paulo"}, + "NAT": {"Governador Aluízio Alves International Airport", "Natal", "Brazil", "NAT", "SBSG", -5.768056, -35.376111, 272, -3, "S", "America/Fortaleza"}, + "POA": {"Salgado Filho Airport", "Porto Alegre", "Brazil", "POA", "SBPA", -29.994400024414062, -51.1713981628418, 11, -3, "S", "America/Sao_Paulo"}, + "POO": {"Poços de Caldas - Embaixador Walther Moreira Salles Airport", "Pocos De Caldas", "Brazil", "POO", "SBPC", -21.843000411987, -46.567901611328, 4135, -3, "S", "America/Sao_Paulo"}, + "PFB": {"Lauro Kurtz Airport", "Passo Fundo", "Brazil", "PFB", "SBPF", -28.243999481201172, -52.32659912109375, 2376, -3, "S", "America/Sao_Paulo"}, + "PET": {"João Simões Lopes Neto International Airport", "Pelotas", "Brazil", "PET", "SBPK", -31.718399047852, -52.327701568604, 59, -3, "S", "America/Sao_Paulo"}, + "PNZ": {"Senador Nilo Coelho Airport", "Petrolina", "Brazil", "PNZ", "SBPL", -9.362409591674805, -40.56909942626953, 1263, -3, "S", "America/Fortaleza"}, + "PNB": {"Porto Nacional Airport", "Porto Nacional", "Brazil", "PNB", "SBPN", -10.719400405883789, -48.39970016479492, 870, -3, "S", "America/Fortaleza"}, + "PMG": {"Ponta Porã Airport", "Ponta Pora", "Brazil", "PMG", "SBPP", -22.54960060119629, -55.702598571777344, 2156, -4, "S", "America/Campo_Grande"}, + "PVH": {"Governador Jorge Teixeira de Oliveira Airport", "Porto Velho", "Brazil", "PVH", "SBPV", -8.70928955078125, -63.90230178833008, 290, -4, "S", "America/Boa_Vista"}, + "RBR": {"Plácido de Castro Airport", "Rio Branco", "Brazil", "RBR", "SBRB", -9.868888854980469, -67.89805603027344, 633, -5, "S", "America/Rio_Branco"}, + "REC": {"Guararapes - Gilberto Freyre International Airport", "Recife", "Brazil", "REC", "SBRF", -8.126489639282227, -34.92359924316406, 33, -3, "S", "America/Fortaleza"}, + "SDU": {"Santos Dumont Airport", "Rio De Janeiro", "Brazil", "SDU", "SBRJ", -22.910499572799996, -43.1631011963, 11, -3, "S", "America/Sao_Paulo"}, + "RAO": {"Leite Lopes Airport", "Ribeirao Preto", "Brazil", "RAO", "SBRP", -21.136388778686523, -47.776668548583984, 1806, -3, "S", "America/Sao_Paulo"}, + "STU": {"Santa Cruz Airport", "Rio De Janeiro", "Brazil", "STU", "SBSC", -22.93239974975586, -43.71910095214844, 10, -3, "S", "America/Sao_Paulo"}, + "SJK": {"Professor Urbano Ernesto Stumpf Airport", "Sao Jose Dos Campos", "Brazil", "SJK", "SBSJ", -23.22920036315918, -45.86149978637695, 2120, -3, "S", "America/Sao_Paulo"}, + "SLZ": {"Marechal Cunha Machado International Airport", "Sao Luis", "Brazil", "SLZ", "SBSL", -2.585360050201416, -44.234100341796875, 178, -3, "S", "America/Fortaleza"}, + "CGH": {"Congonhas Airport", "Sao Paulo", "Brazil", "CGH", "SBSP", -23.626110076904297, -46.65638732910156, 2631, -3, "S", "America/Sao_Paulo"}, + "SJP": {"Prof. Eribelto Manoel Reino State Airport", "Sao Jose Do Rio Preto", "Brazil", "SJP", "SBSR", -20.816600799599996, -49.40650177, 1784, -3, "S", "America/Sao_Paulo"}, + "SSZ": {"Base Aérea de Santos Airport", "Santos", "Brazil", "SSZ", "SBST", -23.928056716918945, -46.299720764160156, 10, -3, "S", "America/Sao_Paulo"}, + "SSA": {"Deputado Luiz Eduardo Magalhães International Airport", "Salvador", "Brazil", "SSA", "SBSV", -12.9086112976, -38.3224983215, 64, -3, "S", "America/Fortaleza"}, + "TMT": {"Trombetas Airport", "Oriximina", "Brazil", "TMT", "SBTB", -1.489599943161, -56.396800994873, 287, -3, "S", "America/Belem"}, + "THE": {"Senador Petrônio Portela Airport", "Teresina", "Brazil", "THE", "SBTE", -5.0599398613, -42.8235015869, 219, -3, "S", "America/Fortaleza"}, + "TFF": {"Tefé Airport", "Tefe", "Brazil", "TFF", "SBTF", -3.38294005394, -64.7240982056, 188, -4, "S", "America/Boa_Vista"}, + "TBT": {"Tabatinga Airport", "Tabatinga", "Brazil", "TBT", "SBTT", -4.2556700706482, -69.93579864502, 279, -4, "S", "America/Boa_Vista"}, + "TUR": {"Tucuruí Airport", "Tucurui", "Brazil", "TUR", "SBTU", -3.7860100269318, -49.72029876709, 830, -3, "S", "America/Belem"}, + "SJL": {"São Gabriel da Cachoeira Airport", "Sao Gabriel", "Brazil", "SJL", "SBUA", -0.14835, -66.9855, 251, -4, "S", "America/Boa_Vista"}, + "PAV": {"Paulo Afonso Airport", "Paulo Alfonso", "Brazil", "PAV", "SBUF", -9.4008798599243, -38.250598907471, 883, -3, "S", "America/Fortaleza"}, + "URG": {"Rubem Berta Airport", "Uruguaiana", "Brazil", "URG", "SBUG", -29.7821998596, -57.0382003784, 256, -3, "S", "America/Sao_Paulo"}, + "UDI": {"Ten. Cel. Aviador César Bombonato Airport", "Uberlandia", "Brazil", "UDI", "SBUL", -18.88361167907715, -48.225276947021484, 3094, -3, "S", "America/Sao_Paulo"}, + "UBA": {"Mário de Almeida Franco Airport", "Uberaba", "Brazil", "UBA", "SBUR", -19.764722824097, -47.966110229492, 2655, -3, "S", "America/Sao_Paulo"}, + "VAG": {"Major Brigadeiro Trompowsky Airport", "Varginha", "Brazil", "VAG", "SBVG", -21.5900993347, -45.4733009338, 3025, -3, "S", "America/Sao_Paulo"}, + "BVH": {"Brigadeiro Camarão Airport", "Vilhena", "Brazil", "BVH", "SBVH", -12.694399833679, -60.098300933838, 2018, -4, "S", "America/Boa_Vista"}, + "VIX": {"Eurico de Aguiar Salles Airport", "Vitoria", "Brazil", "VIX", "SBVT", -20.258056640625, -40.2863883972168, 11, -3, "S", "America/Sao_Paulo"}, + "QPS": {"Campo Fontenelle Airport", "Piracununga", "Brazil", "QPS", "SBYS", -21.984600067138672, -47.334800720214844, 1968, -3, "S", "America/Sao_Paulo"}, + "ARI": {"Chacalluta Airport", "Arica", "Chile", "ARI", "SCAR", -18.348499298095703, -70.33869934082031, 167, -4, "S", "America/Santiago"}, + "BBA": {"Balmaceda Airport", "Balmaceda", "Chile", "BBA", "SCBA", -45.916099548339844, -71.68949890136719, 1722, -4, "S", "America/Santiago"}, + "CCH": {"Chile Chico Airport", "Chile Chico", "Chile", "CCH", "SCCC", -46.58330154418945, -71.6874008178711, 1070, -4, "S", "America/Santiago"}, + "CJC": {"El Loa Airport", "Calama", "Chile", "CJC", "SCCF", -22.498199462890625, -68.90360260009766, 7543, -4, "S", "America/Santiago"}, + "PUQ": {"Pdte. carlos Ibañez del Campo Airport", "Punta Arenas", "Chile", "PUQ", "SCCI", -53.002601623535156, -70.85459899902344, 139, -4, "S", "America/Santiago"}, + "GXQ": {"Teniente Vidal Airport", "Coyhaique", "Chile", "GXQ", "SCCY", -45.594200134277344, -72.1061019897461, 1020, -4, "S", "America/Santiago"}, + "IQQ": {"Diego Aracena Airport", "Iquique", "Chile", "IQQ", "SCDA", -20.535200119018555, -70.1812973022461, 155, -4, "S", "America/Santiago"}, + "SCL": {"Comodoro Arturo Merino Benítez International Airport", "Santiago", "Chile", "SCL", "SCEL", -33.393001556396484, -70.78579711914062, 1555, -4, "S", "America/Santiago"}, + "ANF": {"Cerro Moreno Airport", "Antofagasta", "Chile", "ANF", "SCFA", -23.444499969482422, -70.44509887695312, 455, -4, "S", "America/Santiago"}, + "WPR": {"Capitan Fuentes Martinez Airport Airport", "Porvenir", "Chile", "WPR", "SCFM", -53.253700256347656, -70.31919860839844, 104, -4, "S", "America/Santiago"}, + "LSQ": {"María Dolores Airport", "Los Angeles", "Chile", "LSQ", "SCGE", -37.40169906616211, -72.42539978027344, 374, -4, "S", "America/Santiago"}, + "WPU": {"Guardiamarina Zañartu Airport", "Puerto Williams", "Chile", "WPU", "SCGZ", -54.93109893798828, -67.62629699707031, 88, -4, "S", "America/Santiago"}, + "CCP": {"Carriel Sur Airport", "Concepcion", "Chile", "CCP", "SCIE", -36.772701263427734, -73.06310272216797, 26, -4, "S", "America/Santiago"}, + "IPC": {"Mataveri Airport", "Easter Island", "Chile", "IPC", "SCIP", -27.1648006439, -109.42199707, 227, -6, "S", "Pacific/Easter"}, + "ZOS": {"Cañal Bajo Carlos - Hott Siebert Airport", "Osorno", "Chile", "ZOS", "SCJO", -40.61119842529297, -73.06099700927734, 187, -4, "S", "America/Santiago"}, + "LSC": {"La Florida Airport", "La Serena", "Chile", "LSC", "SCSE", -29.916200637799996, -71.1995010376, 481, -4, "S", "America/Santiago"}, + "ZCO": {"Maquehue Airport", "Temuco", "Chile", "ZCO", "SCTC", -38.766799926758, -72.637100219727, 304, -4, "S", "America/Santiago"}, + "PMC": {"El Tepual Airport", "Puerto Montt", "Chile", "PMC", "SCTE", -41.438899993896484, -73.09400177001953, 294, -4, "S", "America/Santiago"}, + "WCH": {"Chaitén Airport", "Chaiten", "Chile", "WCH", "SCTN", -42.93280029296875, -72.6990966796875, 13, -4, "S", "America/Santiago"}, + "ZAL": {"Pichoy Airport", "Valdivia", "Chile", "ZAL", "SCVD", -39.6500015259, -73.0860977173, 59, -4, "S", "America/Santiago"}, + "ATF": {"Chachoán Airport", "Ambato", "Ecuador", "ATF", "SEAM", -1.2120699882507324, -78.57460021972656, 8502, -5, "U", "America/Guayaquil"}, + "OCC": {"Francisco De Orellana Airport", "Coca", "Ecuador", "OCC", "SECO", -0.4628860056400299, -76.98680114746094, 834, -5, "U", "America/Guayaquil"}, + "CUE": {"Mariscal Lamar Airport", "Cuenca", "Ecuador", "CUE", "SECU", -2.889470100402832, -78.9843978881836, 8306, -5, "U", "America/Guayaquil"}, + "GPS": {"Seymour Airport", "Galapagos", "Ecuador", "GPS", "SEGS", -0.45375800132751465, -90.26589965820312, 207, -6, "U", "Pacific/Galapagos"}, + "GYE": {"José Joaquín de Olmedo International Airport", "Guayaquil", "Ecuador", "GYE", "SEGU", -2.1574199199699997, -79.88359832760001, 19, -5, "U", "America/Guayaquil"}, + "LTX": {"Cotopaxi International Airport", "Latacunga", "Ecuador", "LTX", "SELT", -0.9068329930310001, -78.6157989502, 9205, -5, "U", "America/Guayaquil"}, + "XMS": {"Coronel E Carvajal Airport", "Macas", "Ecuador", "XMS", "SEMC", -2.2991700172424316, -78.12079620361328, 3452, -5, "U", "America/Guayaquil"}, + "MCH": {"General Manuel Serrano Airport", "Machala", "Ecuador", "MCH", "SEMH", -3.2689, -79.961601, 11, -5, "U", "America/Guayaquil"}, + "MEC": {"Eloy Alfaro International Airport", "Manta", "Ecuador", "MEC", "SEMT", -0.9460780024528503, -80.67880249023438, 48, -5, "U", "America/Guayaquil"}, + "PVO": {"Reales Tamarindos Airport", "Portoviejo", "Ecuador", "PVO", "SEPV", -1.0416500568389893, -80.47219848632812, 130, -5, "U", "America/Guayaquil"}, + "UIO": {"Mariscal Sucre International Airport", "Quito", "Ecuador", "UIO", "SEQM", -0.129166666667, -78.3575, 7841, -5, "U", "America/Guayaquil"}, + "ETR": {"Santa Rosa International Airport", "Santa Rosa", "Ecuador", "ETR", "SERO", -3.441986, -79.996957, 20, -5, "U", "America/Guayaquil"}, + "SNC": {"General Ulpiano Paez Airport", "Salinas", "Ecuador", "SNC", "SESA", -2.20499, -80.988899, 18, -5, "U", "America/Guayaquil"}, + "TPC": {"Tarapoa Airport", "Tarapoa", "Ecuador", "TPC", "SETR", -0.12295600026845932, -76.33779907226562, 814, -5, "U", "America/Guayaquil"}, + "TUA": {"Teniente Coronel Luis a Mantilla Airport", "Tulcan", "Ecuador", "TUA", "SETU", 0.8095059990882874, -77.70809936523438, 9649, -5, "U", "America/Guayaquil"}, + "ASU": {"Silvio Pettirossi International Airport", "Asuncion", "Paraguay", "ASU", "SGAS", -25.239999771118164, -57.52000045776367, 292, -4, "S", "America/Asuncion"}, + "CIO": {"Teniente Col Carmelo Peralta Airport", "Conception", "Paraguay", "CIO", "SGCO", -23.442363, -57.427253, 253, -4, "S", "America/Asuncion"}, + "AXM": {"El Eden Airport", "Armenia", "Colombia", "AXM", "SKAR", 4.45278, -75.7664, 3990, -5, "U", "America/Bogota"}, + "PUU": {"Tres De Mayo Airport", "Puerto Asis", "Colombia", "PUU", "SKAS", 0.505228, -76.5008, 815, -5, "U", "America/Bogota"}, + "BGA": {"Palonegro Airport", "Bucaramanga", "Colombia", "BGA", "SKBG", 7.1265, -73.1848, 3897, -5, "U", "America/Bogota"}, + "BOG": {"El Dorado International Airport", "Bogota", "Colombia", "BOG", "SKBO", 4.70159, -74.1469, 8361, -5, "U", "America/Bogota"}, + "BAQ": {"Ernesto Cortissoz International Airport", "Barranquilla", "Colombia", "BAQ", "SKBQ", 10.8896, -74.7808, 98, -5, "U", "America/Bogota"}, + "BSC": {"José Celestino Mutis Airport", "Bahia Solano", "Colombia", "BSC", "SKBS", 6.20292, -77.3947, 80, -5, "U", "America/Bogota"}, + "BUN": {"Gerardo Tobar López Airport", "Buenaventura", "Colombia", "BUN", "SKBU", 3.81963, -76.9898, 48, -5, "U", "America/Bogota"}, + "CUC": {"Camilo Daza International Airport", "Cucuta", "Colombia", "CUC", "SKCC", 7.92757, -72.5115, 1096, -5, "U", "America/Bogota"}, + "CTG": {"Rafael Nuñez International Airport", "Cartagena", "Colombia", "CTG", "SKCG", 10.4424, -75.513, 4, -5, "U", "America/Bogota"}, + "CLO": {"Alfonso Bonilla Aragon International Airport", "Cali", "Colombia", "CLO", "SKCL", 3.54322, -76.3816, 3162, -5, "U", "America/Bogota"}, + "TCO": {"La Florida Airport", "Tumaco", "Colombia", "TCO", "SKCO", 1.81442, -78.7492, 8, -5, "U", "America/Bogota"}, + "CZU": {"Las Brujas Airport", "Corozal", "Colombia", "CZU", "SKCZ", 9.33274, -75.2856, 528, -5, "U", "America/Bogota"}, + "EJA": {"Yariguíes Airport", "Barrancabermeja", "Colombia", "EJA", "SKEJ", 7.02433, -73.8068, 412, -5, "U", "America/Bogota"}, + "FLA": {"Gustavo Artunduaga Paredes Airport", "Florencia", "Colombia", "FLA", "SKFL", 1.58919, -75.5644, 803, -5, "U", "America/Bogota"}, + "GPI": {"Juan Casiano Airport", "Guapi", "Colombia", "GPI", "SKGP", 2.57013, -77.8986, 164, -5, "U", "America/Bogota"}, + "IBE": {"Perales Airport", "Ibague", "Colombia", "IBE", "SKIB", 4.42161, -75.1333, 2999, -5, "U", "America/Bogota"}, + "IPI": {"San Luis Airport", "Ipiales", "Colombia", "IPI", "SKIP", 0.861925, -77.6718, 9765, -5, "U", "America/Bogota"}, + "APO": {"Antonio Roldan Betancourt Airport", "Carepa", "Colombia", "APO", "SKLC", 7.81196, -76.7164, 46, -5, "U", "America/Bogota"}, + "LET": {"Alfredo Vásquez Cobo International Airport", "Leticia", "Colombia", "LET", "SKLT", -4.19355, -69.9432, 277, -5, "U", "America/Bogota"}, + "EOH": {"Enrique Olaya Herrera Airport", "Medellin", "Colombia", "EOH", "SKMD", 6.220549, -75.590582, 4949, -5, "U", "America/Bogota"}, + "MGN": {"Baracoa Airport", "Magangue", "Colombia", "MGN", "SKMG", 9.28474, -74.8461, 178, -5, "U", "America/Bogota"}, + "MTR": {"Los Garzones Airport", "Monteria", "Colombia", "MTR", "SKMR", 8.82374, -75.8258, 36, -5, "U", "America/Bogota"}, + "MVP": {"Fabio Alberto Leon Bentley Airport", "Mitu", "Colombia", "MVP", "SKMU", 1.25366, -70.2339, 680, -5, "U", "America/Bogota"}, + "MZL": {"La Nubia Airport", "Manizales", "Colombia", "MZL", "SKMZ", 5.0296, -75.4647, 6871, -5, "U", "America/Bogota"}, + "NVA": {"Benito Salas Airport", "Neiva", "Colombia", "NVA", "SKNV", 2.95015, -75.294, 1464, -5, "U", "America/Bogota"}, + "OCV": {"Aguas Claras Airport", "Ocana", "Colombia", "OCV", "SKOC", 8.31506, -73.3583, 3850, -5, "U", "America/Bogota"}, + "OTU": {"Otu Airport", "Otu", "Colombia", "OTU", "SKOT", 7.01037, -74.7155, 2060, -5, "U", "America/Bogota"}, + "PCR": {"German Olano Airport", "Puerto Carreno", "Colombia", "PCR", "SKPC", 6.18472, -67.4932, 177, -5, "U", "America/Bogota"}, + "PEI": {"Matecaña International Airport", "Pereira", "Colombia", "PEI", "SKPE", 4.81267, -75.7395, 4416, -5, "U", "America/Bogota"}, + "PPN": {"Guillermo León Valencia Airport", "Popayan", "Colombia", "PPN", "SKPP", 2.4544, -76.6093, 5687, -5, "U", "America/Bogota"}, + "PSO": {"Antonio Narino Airport", "Pasto", "Colombia", "PSO", "SKPS", 1.39625, -77.2915, 5951, -5, "U", "America/Bogota"}, + "PVA": {"El Embrujo Airport", "Providencia", "Colombia", "PVA", "SKPV", 13.3569, -81.3583, 10, -5, "U", "America/Bogota"}, + "MDE": {"Jose Maria Córdova International Airport", "Rio Negro", "Colombia", "MDE", "SKRG", 6.16454, -75.4231, 6955, -5, "U", "America/Bogota"}, + "RCH": {"Almirante Padilla Airport", "Rio Hacha", "Colombia", "RCH", "SKRH", 11.5262, -72.926, 43, -5, "U", "America/Bogota"}, + "SJE": {"Jorge E. Gonzalez Torres Airport", "San Jose Del Guaviare", "Colombia", "SJE", "SKSJ", 2.57969, -72.6394, 605, -5, "U", "America/Bogota"}, + "SMR": {"Simón Bolívar International Airport", "Santa Marta", "Colombia", "SMR", "SKSM", 11.1196, -74.2306, 22, -5, "U", "America/Bogota"}, + "ADZ": {"Gustavo Rojas Pinilla International Airport", "San Andres Island", "Colombia", "ADZ", "SKSP", 12.5836, -81.7112, 19, -5, "U", "America/Bogota"}, + "SVI": {"Eduardo Falla Solano Airport", "San Vincente De Caguan", "Colombia", "SVI", "SKSV", 2.15217, -74.7663, 920, -5, "U", "America/Bogota"}, + "TME": {"Gustavo Vargas Airport", "Tame", "Colombia", "TME", "SKTM", 6.45108, -71.7603, 1050, -5, "U", "America/Bogota"}, + "AUC": {"Santiago Perez Airport", "Arauca", "Colombia", "AUC", "SKUC", 7.06888, -70.7369, 420, -5, "U", "America/Bogota"}, + "UIB": {"El Caraño Airport", "Quibdo", "Colombia", "UIB", "SKUI", 5.69076, -76.6412, 204, -5, "U", "America/Bogota"}, + "ULQ": {"Heriberto Gíl Martínez Airport", "Tulua", "Colombia", "ULQ", "SKUL", 4.08836, -76.2351, 3132, -5, "U", "America/Bogota"}, + "VUP": {"Alfonso López Pumarejo Airport", "Valledupar", "Colombia", "VUP", "SKVP", 10.435, -73.2495, 483, -5, "U", "America/Bogota"}, + "VVC": {"Vanguardia Airport", "Villavicencio", "Colombia", "VVC", "SKVV", 4.16787, -73.6138, 1394, -5, "U", "America/Bogota"}, + "BJO": {"Bermejo Airport", "Bermejo", "Bolivia", "BJO", "SLBJ", -22.7733001709, -64.31289672850001, 1249, -4, "U", "America/La_Paz"}, + "CBB": {"Jorge Wilsterman International Airport", "Cochabamba", "Bolivia", "CBB", "SLCB", -17.421100616455078, -66.1771011352539, 8360, -4, "U", "America/La_Paz"}, + "CIJ": {"Capitán Aníbal Arab Airport", "Cobija", "Bolivia", "CIJ", "SLCO", -11.040399551400002, -68.7829971313, 889, -4, "U", "America/La_Paz"}, + "LPB": {"El Alto International Airport", "La Paz", "Bolivia", "LPB", "SLLP", -16.5132999420166, -68.19229888916016, 13355, -4, "U", "America/La_Paz"}, + "POI": {"Capitan Nicolas Rojas Airport", "Potosi", "Bolivia", "POI", "SLPO", -19.5431003571, -65.72370147710001, 12913, -4, "U", "America/La_Paz"}, + "PSZ": {"Capitán Av. Salvador Ogaya G. airport", "Puerto Suarez", "Bolivia", "PSZ", "SLPS", -18.9752998352, -57.820598602299995, 505, -4, "U", "America/La_Paz"}, + "SRE": {"Juana Azurduy De Padilla Airport", "Sucre", "Bolivia", "SRE", "SLSU", -19.007099151611328, -65.2886962890625, 9540, -4, "U", "America/La_Paz"}, + "TJA": {"Capitan Oriel Lea Plaza Airport", "Tarija", "Bolivia", "TJA", "SLTJ", -21.5557003021, -64.7013015747, 6079, -4, "U", "America/La_Paz"}, + "TDD": {"Teniente Av. Jorge Henrich Arauz Airport", "Trinidad", "Bolivia", "TDD", "SLTR", -14.8186998367, -64.9179992676, 509, -4, "U", "America/La_Paz"}, + "VVI": {"Viru Viru International Airport", "Santa Cruz", "Bolivia", "VVI", "SLVR", -17.644800186157227, -63.135398864746094, 1224, -4, "U", "America/La_Paz"}, + "BYC": {"Yacuiba Airport", "Yacuiba", "Bolivia", "BYC", "SLYA", -21.960899353027344, -63.65169906616211, 2112, -4, "U", "America/La_Paz"}, + "PBM": {"Johan Adolf Pengel International Airport", "Zandery", "Suriname", "PBM", "SMJP", 5.4528298377999995, -55.1878013611, 59, -3, "U", "America/Paramaribo"}, + "CAY": {"Cayenne-Rochambeau Airport", "Cayenne", "French Guiana", "CAY", "SOCA", 4.819809913639999, -52.360401153599994, 26, -3, "U", "America/Cayenne"}, + "PCL": {"Cap FAP David Abenzur Rengifo International Airport", "Pucallpa", "Peru", "PCL", "SPCL", -8.37794017791748, -74.57430267333984, 513, -5, "U", "America/Lima"}, + "CHM": {"Teniente FAP Jaime A De Montreuil Morales Airport", "Chimbote", "Peru", "CHM", "SPEO", -9.149609565734863, -78.5238037109375, 69, -5, "U", "America/Lima"}, + "CIX": {"Capitan FAP Jose A Quinones Gonzales International Airport", "Chiclayo", "Peru", "CIX", "SPHI", -6.787479877471924, -79.8281021118164, 97, -5, "U", "America/Lima"}, + "AYP": {"Coronel FAP Alfredo Mendivil Duarte Airport", "Ayacucho", "Peru", "AYP", "SPHO", -13.154800415039062, -74.20439910888672, 8917, -5, "U", "America/Lima"}, + "ANS": {"Andahuaylas Airport", "Andahuaylas", "Peru", "ANS", "SPHY", -13.706399917602539, -73.35040283203125, 11300, -5, "U", "America/Lima"}, + "ATA": {"Comandante FAP German Arias Graziani Airport", "Anta", "Peru", "ATA", "SPHZ", -9.347439765930176, -77.59839630126953, 9097, -5, "U", "America/Lima"}, + "LIM": {"Jorge Chávez International Airport", "Lima", "Peru", "LIM", "SPIM", -12.0219, -77.114304, 113, -5, "U", "America/Lima"}, + "JJI": {"Juanjui Airport", "Juanjui", "Peru", "JJI", "SPJI", -7.169099807739258, -76.72859954833984, 1148, -5, "U", "America/Lima"}, + "JUL": {"Inca Manco Capac International Airport", "Juliaca", "Peru", "JUL", "SPJL", -15.467100143432617, -70.158203125, 12552, -5, "U", "America/Lima"}, + "TBP": {"Capitan FAP Pedro Canga Rodriguez Airport", "Tumbes", "Peru", "TBP", "SPME", -3.55253005027771, -80.38140106201172, 115, -5, "U", "America/Lima"}, + "YMS": {"Moises Benzaquen Rengifo Airport", "Yurimaguas", "Peru", "YMS", "SPMS", -5.893770217895508, -76.11820220947266, 587, -5, "U", "America/Lima"}, + "CHH": {"Chachapoyas Airport", "Chachapoyas", "Peru", "CHH", "SPPY", -6.201809883117676, -77.8561019897461, 8333, -5, "U", "America/Lima"}, + "IQT": {"Coronel FAP Francisco Secada Vignetta International Airport", "Iquitos", "Peru", "IQT", "SPQT", -3.7847399711608887, -73.30879974365234, 306, -5, "U", "America/Lima"}, + "AQP": {"Rodríguez Ballón International Airport", "Arequipa", "Peru", "AQP", "SPQU", -16.3411006927, -71.5830993652, 8405, -5, "U", "America/Lima"}, + "TRU": {"Capitan FAP Carlos Martinez De Pinillos International Airport", "Trujillo", "Peru", "TRU", "SPRU", -8.08141040802002, -79.10880279541016, 106, -5, "U", "America/Lima"}, + "PIO": {"Capitán FAP Renán Elías Olivera International Airport", "Pisco", "Peru", "PIO", "SPSO", -13.74489974975586, -76.22029876708984, 39, -5, "U", "America/Lima"}, + "TPP": {"Cadete FAP Guillermo Del Castillo Paredes Airport", "Tarapoto", "Peru", "TPP", "SPST", -6.508739948272705, -76.37319946289062, 869, -5, "U", "America/Lima"}, + "TCQ": {"Coronel FAP Carlos Ciriani Santa Rosa International Airport", "Tacna", "Peru", "TCQ", "SPTN", -18.053300857500002, -70.2758026123, 1538, -5, "U", "America/Lima"}, + "PEM": {"Padre Aldamiz International Airport", "Puerto Maldonado", "Peru", "PEM", "SPTU", -12.6135997772, -69.2285995483, 659, -5, "U", "America/Lima"}, + "PIU": {"Capitán FAP Guillermo Concha Iberico International Airport", "Piura", "Peru", "PIU", "SPUR", -5.20574998856, -80.61640167239999, 120, -5, "U", "America/Lima"}, + "TYL": {"Capitan Montes Airport", "Talara", "Peru", "TYL", "SPYL", -4.5766401290894, -81.254096984863, 282, -5, "U", "America/Lima"}, + "CUZ": {"Alejandro Velasco Astete International Airport", "Cuzco", "Peru", "CUZ", "SPZO", -13.535699844400002, -71.9387969971, 10860, -5, "U", "America/Lima"}, + "MVD": {"Carrasco International /General C L Berisso Airport", "Montevideo", "Uruguay", "MVD", "SUMU", -34.838401794433594, -56.030799865722656, 105, -3, "S", "America/Montevideo"}, + "STY": {"Nueva Hesperides International Airport", "Salto", "Uruguay", "STY", "SUSO", -31.438499450683594, -57.98529815673828, 187, -3, "S", "America/Montevideo"}, + "AGV": {"Oswaldo Guevara Mujica Airport", "Acarigua", "Venezuela", "AGV", "SVAC", 9.553375244140625, -69.23786926269531, 640, -4, "U", "America/Caracas"}, + "AAO": {"Anaco Airport", "Anaco", "Venezuela", "AAO", "SVAN", 9.430225372314453, -64.4707260131836, 721, -4, "U", "America/Caracas"}, + "BLA": {"General Jose Antonio Anzoategui International Airport", "Barcelona", "Venezuela", "BLA", "SVBC", 10.107099533081055, -64.68920135498047, 26, -4, "U", "America/Caracas"}, + "BNS": {"Barinas Airport", "Barinas", "Venezuela", "BNS", "SVBI", 8.619569778442383, -70.2208023071289, 666, -4, "U", "America/Caracas"}, + "BRM": {"Barquisimeto International Airport", "Barquisimeto", "Venezuela", "BRM", "SVBM", 10.042746543884277, -69.3586196899414, 2042, -4, "U", "America/Caracas"}, + "CBL": {"Aeropuerto \"General Tomas de Heres\". Ciudad Bolivar", "Ciudad Bolivar", "Venezuela", "CBL", "SVCB", 8.12216091156, -63.5369567871, 197, -4, "U", "America/Caracas"}, + "CAJ": {"Canaima Airport", "Canaima", "Venezuela", "CAJ", "SVCN", 6.231988906860352, -62.85443115234375, 1450, -4, "U", "America/Caracas"}, + "CUP": {"General Francisco Bermúdez Airport", "Carupano", "Venezuela", "CUP", "SVCP", 10.660014152526855, -63.261680603027344, 33, -4, "U", "America/Caracas"}, + "CZE": {"José Leonardo Chirinos Airport", "Coro", "Venezuela", "CZE", "SVCR", 11.41494369506836, -69.68090057373047, 52, -4, "U", "America/Caracas"}, + "CUM": {"Cumaná (Antonio José de Sucre) Airport", "Cumana", "Venezuela", "CUM", "SVCU", 10.450332641601562, -64.1304702758789, 14, -4, "U", "America/Caracas"}, + "GUI": {"Guiria Airport", "Guiria", "Venezuela", "GUI", "SVGI", 10.574077606200001, -62.3126678467, 42, -4, "U", "America/Caracas"}, + "GUQ": {"Guanare Airport", "Guanare", "Venezuela", "GUQ", "SVGU", 9.026944160461426, -69.7551498413086, 606, -4, "U", "America/Caracas"}, + "LSP": {"Josefa Camejo International Airport", "Paraguana", "Venezuela", "LSP", "SVJC", 11.78077507019043, -70.15149688720703, 75, -4, "U", "America/Caracas"}, + "LFR": {"La Fria Airport", "La Fria", "Venezuela", "LFR", "SVLF", 8.239167213439941, -72.27102661132812, 305, -4, "U", "America/Caracas"}, + "MAR": {"La Chinita International Airport", "Maracaibo", "Venezuela", "MAR", "SVMC", 10.5582084656, -71.7278594971, 239, -4, "U", "America/Caracas"}, + "MRD": {"Alberto Carnevalli Airport", "Merida", "Venezuela", "MRD", "SVMD", 8.582077980041504, -71.16104125976562, 5007, -4, "U", "America/Caracas"}, + "PMV": {"Del Caribe Santiago Mariño International Airport", "Porlamar", "Venezuela", "PMV", "SVMG", 10.912603378295898, -63.96659851074219, 74, -4, "U", "America/Caracas"}, + "CCS": {"Simón Bolívar International Airport", "Caracas", "Venezuela", "CCS", "SVMI", 10.6031169891, -66.9905853271, 235, -4, "U", "America/Caracas"}, + "MUN": {"Maturín Airport", "Maturin", "Venezuela", "MUN", "SVMT", 9.75452995300293, -63.14739990234375, 224, -4, "U", "America/Caracas"}, + "PYH": {"Cacique Aramare Airport", "Puerto Ayacucho", "Venezuela", "PYH", "SVPA", 5.6199898719788, -67.606101989746, 245, -4, "U", "America/Caracas"}, + "PBL": {"General Bartolome Salom International Airport", "Puerto Cabello", "Venezuela", "PBL", "SVPC", 10.480500221252441, -68.072998046875, 32, -4, "U", "America/Caracas"}, + "PZO": {"General Manuel Carlos Piar International Airport", "Guayana", "Venezuela", "PZO", "SVPR", 8.288530349731445, -62.760398864746094, 472, -4, "U", "America/Caracas"}, + "SVZ": {"San Antonio Del Tachira Airport", "San Antonio", "Venezuela", "SVZ", "SVSA", 7.840829849243164, -72.439697265625, 1312, -4, "U", "America/Caracas"}, + "SNV": {"Santa Elena de Uairen Airport", "Santa Ana De Uairen", "Venezuela", "SNV", "SVSE", 4.554999828338623, -61.150001525878906, 2938, -4, "U", "America/Caracas"}, + "STD": {"Mayor Buenaventura Vivas International Airport", "Santo Domingo", "Venezuela", "STD", "SVSO", 7.565380096435547, -72.03510284423828, 1083, -4, "U", "America/Caracas"}, + "SFD": {"San Fernando De Apure Airport", "San Fernando De Apure", "Venezuela", "SFD", "SVSR", 7.883319854736328, -67.44400024414062, 154, -4, "U", "America/Caracas"}, + "SOM": {"San Tomé Airport", "San Tome", "Venezuela", "SOM", "SVST", 8.9451465606689, -64.151084899902, 861, -4, "U", "America/Caracas"}, + "STB": {"Santa Bárbara del Zulia Airport", "Santa Barbara", "Venezuela", "STB", "SVSZ", 8.974550247192383, -71.94325256347656, 32, -4, "U", "America/Caracas"}, + "TUV": {"Tucupita Airport", "Tucupita", "Venezuela", "TUV", "SVTC", 9.088994026184082, -62.094173431396484, 16, -4, "U", "America/Caracas"}, + "VLN": {"Arturo Michelena International Airport", "Valencia", "Venezuela", "VLN", "SVVA", 10.14973258972168, -67.92839813232422, 1411, -4, "U", "America/Caracas"}, + "VLV": {"Dr. Antonio Nicolás Briceño Airport", "Valera", "Venezuela", "VLV", "SVVL", 9.34047794342041, -70.58406066894531, 2060, -4, "U", "America/Caracas"}, + "VDP": {"Valle de La Pascua Airport", "Valle De La Pascua", "Venezuela", "VDP", "SVVP", 9.22202777863, -65.9935836792, 410, -4, "U", "America/Caracas"}, + "LTM": {"Lethem Airport", "Lethem", "Guyana", "LTM", "SYLT", 3.372760057449341, -59.789398193359375, 351, -4, "U", "America/Guyana"}, + "ANU": {"V.C. Bird International Airport", "Antigua", "Antigua and Barbuda", "ANU", "TAPA", 17.1367, -61.792702, 62, -4, "U", "America/Antigua"}, + "BGI": {"Sir Grantley Adams International Airport", "Bridgetown", "Barbados", "BGI", "TBPB", 13.0746002197, -59.4925003052, 169, -4, "U", "America/Barbados"}, + "DCF": {"Canefield Airport", "Canefield", "Dominica", "DCF", "TDCF", 15.336700439453125, -61.3922004699707, 13, -4, "U", "America/Dominica"}, + "DOM": {"Melville Hall Airport", "Dominica", "Dominica", "DOM", "TDPD", 15.54699993133545, -61.29999923706055, 73, -4, "U", "America/Dominica"}, + "FDF": {"Martinique Aimé Césaire International Airport", "Fort-de-france", "Martinique", "FDF", "TFFF", 14.590999603271484, -61.00320053100586, 16, -4, "U", "America/Martinique"}, + "PTP": {"Pointe-à-Pitre Le Raizet", "Pointe-a-pitre", "Guadeloupe", "PTP", "TFFR", 16.265300750732422, -61.53179931640625, 36, -4, "U", "America/Guadeloupe"}, + "GND": {"Point Salines International Airport", "Point Salines", "Grenada", "GND", "TGPY", 12.004199981689453, -61.78620147705078, 41, -4, "U", "America/Grenada"}, + "STT": {"Cyril E. King Airport", "St. Thomas", "Virgin Islands", "STT", "TIST", 18.337299346923828, -64.97339630126953, 23, -4, "U", "America/St_Thomas"}, + "STX": {"Henry E Rohlsen Airport", "St. Croix Island", "Virgin Islands", "STX", "TISX", 17.701900482177734, -64.79859924316406, 74, -4, "U", "America/St_Thomas"}, + "BQN": {"Rafael Hernandez Airport", "Aguadilla", "Puerto Rico", "BQN", "TJBQ", 18.49489974975586, -67.12940216064453, 237, -4, "U", "America/Puerto_Rico"}, + "FAJ": {"Diego Jimenez Torres Airport", "Fajardo", "Puerto Rico", "FAJ", "TJFA", 18.308900833129883, -65.66190338134766, 64, -4, "U", "America/Puerto_Rico"}, + "SIG": {"Fernando Luis Ribas Dominicci Airport", "San Juan", "Puerto Rico", "SIG", "TJIG", 18.45680046081543, -66.09809875488281, 10, -4, "U", "America/Puerto_Rico"}, + "MAZ": {"Eugenio Maria De Hostos Airport", "Mayaguez", "Puerto Rico", "MAZ", "TJMZ", 18.255699157714844, -67.14849853515625, 28, -4, "U", "America/Puerto_Rico"}, + "PSE": {"Mercedita Airport", "Ponce", "Puerto Rico", "PSE", "TJPS", 18.00830078125, -66.56300354003906, 29, -4, "U", "America/Puerto_Rico"}, + "SJU": {"Luis Munoz Marin International Airport", "San Juan", "Puerto Rico", "SJU", "TJSJ", 18.4393997192, -66.0018005371, 9, -4, "U", "America/Puerto_Rico"}, + "SKB": {"Robert L. Bradshaw International Airport", "Basse Terre", "Saint Kitts and Nevis", "SKB", "TKPK", 17.311199188232422, -62.71870040893555, 170, -4, "U", "America/St_Kitts"}, + "SLU": {"George F. L. Charles Airport", "Castries", "Saint Lucia", "SLU", "TLPC", 14.0202, -60.992901, 22, -4, "U", "America/St_Lucia"}, + "UVF": {"Hewanorra International Airport", "Hewandorra", "Saint Lucia", "UVF", "TLPL", 13.7332, -60.952599, 14, -4, "U", "America/St_Lucia"}, + "AUA": {"Queen Beatrix International Airport", "Oranjestad", "Aruba", "AUA", "TNCA", 12.501399993896484, -70.01519775390625, 60, -4, "U", "America/Aruba"}, + "BON": {"Flamingo International Airport", "Kralendijk", "Netherlands Antilles", "BON", "TNCB", 12.130999565124512, -68.26850128173828, 20, -4, "U", "America/Curacao"}, + "CUR": {"Hato International Airport", "Willemstad", "Netherlands Antilles", "CUR", "TNCC", 12.1889, -68.959801, 29, -4, "U", "America/Curacao"}, + "EUX": {"F. D. Roosevelt Airport", "Oranjestad", "Netherlands Antilles", "EUX", "TNCE", 17.49650001525879, -62.979400634765625, 129, -4, "U", "America/Curacao"}, + "SXM": {"Princess Juliana International Airport", "Philipsburg", "Netherlands Antilles", "SXM", "TNCM", 18.041000366200002, -63.1088981628, 13, -4, "U", "America/Curacao"}, + "AXA": {"Wallblake Airport", "The Valley", "Anguilla", "AXA", "TQPF", 18.20479965209961, -63.05509948730469, 127, -4, "U", "America/Anguilla"}, + "TAB": {"Tobago-Crown Point Airport", "Scarborough", "Trinidad and Tobago", "TAB", "TTCP", 11.149700164794922, -60.83219909667969, 38, -4, "U", "America/Port_of_Spain"}, + "POS": {"Piarco International Airport", "Port-of-spain", "Trinidad and Tobago", "POS", "TTPP", 10.595399856567383, -61.33720016479492, 58, -4, "U", "America/Port_of_Spain"}, + "EIS": {"Terrance B. Lettsome International Airport", "Tortola", "British Virgin Islands", "EIS", "TUPJ", 18.444799423217773, -64.54299926757812, 15, -4, "U", "America/Tortola"}, + "CIW": {"Canouan Airport", "Canouan Island", "Saint Vincent and the Grenadines", "CIW", "TVSC", 12.699000358581543, -61.34239959716797, 11, -4, "U", "America/St_Vincent"}, + "MQS": {"Mustique Airport", "Mustique", "Saint Vincent and the Grenadines", "MQS", "TVSM", 12.887900352478027, -61.180198669433594, 8, -4, "U", "America/St_Vincent"}, + "SVD": {"E. T. Joshua Airport", "Kingstown", "Saint Vincent and the Grenadines", "SVD", "TVSV", 13.14430046081543, -61.210899353027344, 66, -4, "U", "America/St_Vincent"}, + "ALA": {"Almaty Airport", "Alma-ata", "Kazakhstan", "ALA", "UAAA", 43.35210037231445, 77.04049682617188, 2234, 6, "U", "Asia/Qyzylorda"}, + "BXH": {"Balkhash Airport", "Balkhash", "Kazakhstan", "BXH", "UAAH", 46.8932991027832, 75.00499725341797, 1446, 6, "U", "Asia/Qyzylorda"}, + "TSE": {"Astana International Airport", "Tselinograd", "Kazakhstan", "TSE", "UACC", 51.02220153808594, 71.46690368652344, 1165, 6, "U", "Asia/Qyzylorda"}, + "DMB": {"Taraz Airport", "Dzhambul", "Kazakhstan", "DMB", "UADD", 42.853599548339844, 71.30359649658203, 2184, 6, "U", "Asia/Qyzylorda"}, + "FRU": {"Manas International Airport", "Bishkek", "Kyrgyzstan", "FRU", "UAFM", 43.0612983704, 74.4776000977, 2058, 6, "U", "Asia/Bishkek"}, + "OSS": {"Osh Airport", "Osh", "Kyrgyzstan", "OSS", "UAFO", 40.6090011597, 72.793296814, 2927, 6, "U", "Asia/Bishkek"}, + "CIT": {"Shymkent Airport", "Chimkent", "Kazakhstan", "CIT", "UAII", 42.364200592041016, 69.47889709472656, 1385, 6, "U", "Asia/Qyzylorda"}, + "URA": {"Uralsk Airport", "Uralsk", "Kazakhstan", "URA", "UARR", 51.15079879760742, 51.54309844970703, 125, 5, "U", "Asia/Oral"}, + "PWQ": {"Pavlodar Airport", "Pavlodar", "Kazakhstan", "PWQ", "UASP", 52.19499969482422, 77.07389831542969, 410, 6, "U", "Asia/Qyzylorda"}, + "PLX": {"Semipalatinsk Airport", "Semiplatinsk", "Kazakhstan", "PLX", "UASS", 50.35129928588867, 80.2343978881836, 761, 6, "U", "Asia/Qyzylorda"}, + "AKX": {"Aktobe Airport", "Aktyubinsk", "Kazakhstan", "AKX", "UATT", 50.24580001831055, 57.20669937133789, 738, 5, "U", "Asia/Oral"}, + "GYD": {"Heydar Aliyev International Airport", "Baku", "Azerbaijan", "GYD", "UBBB", 40.467498779296875, 50.04669952392578, 10, 4, "E", "Asia/Baku"}, + "YKS": {"Yakutsk Airport", "Yakutsk", "Russia", "YKS", "UEEE", 62.093299865722656, 129.77099609375, 325, 9, "N", "Asia/Yakutsk"}, + "MJZ": {"Mirny Airport", "Mirnyj", "Russia", "MJZ", "UERR", 62.534698486328125, 114.03900146484375, 1156, 9, "N", "Asia/Yakutsk"}, + "BQS": {"Ignatyevo Airport", "Blagoveschensk", "Russia", "BQS", "UHBB", 50.42539978027344, 127.41200256347656, 638, 9, "N", "Asia/Yakutsk"}, + "KHV": {"Khabarovsk-Novy Airport", "Khabarovsk", "Russia", "KHV", "UHHH", 48.52799987793, 135.18800354004, 244, 10, "N", "Asia/Vladivostok"}, + "PVS": {"Provideniya Bay Airport", "Provideniya Bay", "Russia", "PVS", "UHMD", 64.37809753417969, -173.2429962158203, 72, 12, "N", "Asia/Anadyr"}, + "GDX": {"Sokol Airport", "Magadan", "Russia", "GDX", "UHMM", 59.9109992980957, 150.72000122070312, 574, 11, "N", "Asia/Srednekolymsk"}, + "PKC": {"Yelizovo Airport", "Petropavlovsk", "Russia", "PKC", "UHPP", 53.16790008544922, 158.45399475097656, 131, 12, "N", "Asia/Anadyr"}, + "UUS": {"Yuzhno-Sakhalinsk Airport", "Yuzhno-sakhalinsk", "Russia", "UUS", "UHSS", 46.88869857788086, 142.71800231933594, 59, 11, "N", "Asia/Srednekolymsk"}, + "VVO": {"Vladivostok International Airport", "Vladivostok", "Russia", "VVO", "UHWW", 43.39899826049805, 132.1479949951172, 46, 10, "N", "Asia/Vladivostok"}, + "HTA": {"Chita-Kadala Airport", "Chita", "Russia", "HTA", "UIAA", 52.026299, 113.306, 2272, 9, "N", "Asia/Yakutsk"}, + "BTK": {"Bratsk Airport", "Bratsk", "Russia", "BTK", "UIBB", 56.370601654052734, 101.697998046875, 1610, 8, "N", "Asia/Irkutsk"}, + "IKT": {"Irkutsk Airport", "Irkutsk", "Russia", "IKT", "UIII", 52.268001556396, 104.38899993896, 1675, 8, "N", "Asia/Irkutsk"}, + "UUD": {"Ulan-Ude Airport (Mukhino)", "Ulan-ude", "Russia", "UUD", "UIUU", 51.80780029296875, 107.43800354003906, 1690, 8, "N", "Asia/Irkutsk"}, + "KBP": {"Boryspil International Airport", "Kiev", "Ukraine", "KBP", "UKBB", 50.345001220703125, 30.894699096679688, 427, 2, "E", "Europe/Kiev"}, + "DOK": {"Donetsk International Airport", "Donetsk", "Ukraine", "DOK", "UKCC", 48.07360076904297, 37.73970031738281, 791, 2, "E", "Europe/Kiev"}, + "DNK": {"Dnipropetrovsk International Airport", "Dnepropetrovsk", "Ukraine", "DNK", "UKDD", 48.357200622558594, 35.10060119628906, 481, 2, "E", "Europe/Kiev"}, + "SIP": {"Simferopol International Airport", "Simferopol", "Ukraine", "SIP", "UKFF", 45.05220031738281, 33.975101470947266, 639, 3, "E", "Europe/Simferopol"}, + "IEV": {"Kiev Zhuliany International Airport", "Kiev", "Ukraine", "IEV", "UKKK", 50.40194, 30.45194, 587, 2, "E", "Europe/Kiev"}, + "LWO": {"Lviv International Airport", "Lvov", "Ukraine", "LWO", "UKLL", 49.8125, 23.956100463867188, 1071, 2, "E", "Europe/Kiev"}, + "ODS": {"Odessa International Airport", "Odessa", "Ukraine", "ODS", "UKOO", 46.42679977416992, 30.67650032043457, 172, 2, "E", "Europe/Kiev"}, + "LED": {"Pulkovo Airport", "St. Petersburg", "Russia", "LED", "ULLI", 59.80030059814453, 30.262500762939453, 78, 3, "N", "Europe/Moscow"}, + "MMK": {"Murmansk Airport", "Murmansk", "Russia", "MMK", "ULMM", 68.78170013427734, 32.75080108642578, 266, 3, "N", "Europe/Moscow"}, + "GME": {"Gomel Airport", "Gomel", "Belarus", "GME", "UMGG", 52.527000427246094, 31.016700744628906, 472, 3, "E", "Europe/Minsk"}, + "VTB": {"Vitebsk Vostochny Airport", "Vitebsk", "Belarus", "VTB", "UMII", 55.126499176025, 30.349599838257, 682, 3, "E", "Europe/Minsk"}, + "KGD": {"Khrabrovo Airport", "Kaliningrad", "Russia", "KGD", "UMKK", 54.88999938964844, 20.592599868774414, 42, 2, "N", "Europe/Kaliningrad"}, + "MHP": {"Minsk 1 Airport", "Minsk", "Belarus", "MHP", "UMMM", 53.864498138427734, 27.53969955444336, 748, 3, "E", "Europe/Minsk"}, + "MSQ": {"Minsk National Airport", "Minsk 2", "Belarus", "MSQ", "UMMS", 53.882499694824, 28.030700683594, 670, 3, "E", "Europe/Minsk"}, + "ABA": {"Abakan Airport", "Abakan", "Russia", "ABA", "UNAA", 53.7400016784668, 91.38500213623047, 831, 7, "N", "Asia/Krasnoyarsk"}, + "BAX": {"Barnaul Airport", "Barnaul", "Russia", "BAX", "UNBB", 53.363800048828125, 83.53849792480469, 837, 7, "N", "Asia/Krasnoyarsk"}, + "KEJ": {"Kemerovo Airport", "Kemorovo", "Russia", "KEJ", "UNEE", 55.27009963989258, 86.1072006225586, 863, 7, "N", "Asia/Krasnoyarsk"}, + "OMS": {"Omsk Central Airport", "Omsk", "Russia", "OMS", "UNOO", 54.96699905395508, 73.31050109863281, 311, 6, "N", "Asia/Omsk"}, + "KRR": {"Krasnodar Pashkovsky International Airport", "Krasnodar", "Russia", "KRR", "URKK", 45.034698486328, 39.170501708984, 118, 3, "N", "Europe/Moscow"}, + "MCX": {"Uytash Airport", "Makhachkala", "Russia", "MCX", "URML", 42.81679916381836, 47.65230178833008, 12, 3, "N", "Europe/Moscow"}, + "MRV": {"Mineralnyye Vody Airport", "Mineralnye Vody", "Russia", "MRV", "URMM", 44.225101470947266, 43.08190155029297, 1054, 3, "N", "Europe/Moscow"}, + "STW": {"Stavropol Shpakovskoye Airport", "Stavropol", "Russia", "STW", "URMT", 45.10919952392578, 42.11280059814453, 1486, 3, "N", "Europe/Moscow"}, + "ROV": {"Rostov-on-Don Airport", "Rostov", "Russia", "ROV", "URRR", 47.2582015991, 39.8180999756, 280, 3, "N", "Europe/Moscow"}, + "AER": {"Sochi International Airport", "Sochi", "Russia", "AER", "URSS", 43.449901580811, 39.956600189209, 89, 3, "N", "Europe/Moscow"}, + "ASF": {"Astrakhan Airport", "Astrakhan", "Russia", "ASF", "URWA", 46.2832984924, 48.0063018799, -65, 4, "N", "Europe/Samara"}, + "VOG": {"Volgograd International Airport", "Volgograd", "Russia", "VOG", "URWW", 48.782501220703125, 44.34550094604492, 482, 3, "N", "Europe/Moscow"}, + "CEK": {"Chelyabinsk Balandino Airport", "Chelyabinsk", "Russia", "CEK", "USCC", 55.305801, 61.5033, 769, 5, "N", "Asia/Yekaterinburg"}, + "MQF": {"Magnitogorsk International Airport", "Magnetiogorsk", "Russia", "MQF", "USCM", 53.39310073852539, 58.755699157714844, 1430, 5, "N", "Asia/Yekaterinburg"}, + "NJC": {"Nizhnevartovsk Airport", "Nizhnevartovsk", "Russia", "NJC", "USNN", 60.94929885864258, 76.48359680175781, 177, 5, "N", "Asia/Yekaterinburg"}, + "PEE": {"Bolshoye Savino Airport", "Perm", "Russia", "PEE", "USPP", 57.914501190186, 56.021198272705, 404, 5, "N", "Asia/Yekaterinburg"}, + "SGC": {"Surgut Airport", "Surgut", "Russia", "SGC", "USRR", 61.34370040893555, 73.40180206298828, 200, 5, "N", "Asia/Yekaterinburg"}, + "SVX": {"Koltsovo Airport", "Yekaterinburg", "Russia", "SVX", "USSS", 56.743099212646, 60.802700042725, 764, 5, "N", "Asia/Yekaterinburg"}, + "ASB": {"Ashgabat Airport", "Ashkhabad", "Turkmenistan", "ASB", "UTAA", 37.98680114746094, 58.361000061035156, 692, 5, "U", "Asia/Ashgabat"}, + "KRW": {"Turkmenbashi Airport", "Krasnovodsk", "Turkmenistan", "KRW", "UTAK", 40.063301, 53.007198, 279, 5, "U", "Asia/Ashgabat"}, + "CRZ": {"Turkmenabat Airport", "Chardzhou", "Turkmenistan", "CRZ", "UTAV", 39.08330154418945, 63.61330032348633, 630, 5, "U", "Asia/Ashgabat"}, + "DYU": {"Dushanbe Airport", "Dushanbe", "Tajikistan", "DYU", "UTDD", 38.543300628699996, 68.8249969482, 2575, 5, "U", "Asia/Dushanbe"}, + "BHK": {"Bukhara Airport", "Bukhara", "Uzbekistan", "BHK", "UTSB", 39.775001525878906, 64.4832992553711, 751, 5, "U", "Asia/Samarkand"}, + "SKD": {"Samarkand Airport", "Samarkand", "Uzbekistan", "SKD", "UTSS", 39.70050048828125, 66.98380279541016, 2224, 5, "U", "Asia/Samarkand"}, + "TAS": {"Tashkent International Airport", "Tashkent", "Uzbekistan", "TAS", "UTTT", 41.257900238, 69.2811965942, 1417, 5, "U", "Asia/Samarkand"}, + "BZK": {"Bryansk Airport", "Bryansk", "Russia", "BZK", "UUBP", 53.214199066199996, 34.176399231, 663, 3, "N", "Europe/Moscow"}, + "SVO": {"Sheremetyevo International Airport", "Moscow", "Russia", "SVO", "UUEE", 55.972599, 37.4146, 622, 3, "N", "Europe/Moscow"}, + "KLD": {"Migalovo Air Base", "Tver", "Russia", "KLD", "UUEM", 56.82469940185547, 35.7577018737793, 469, 3, "N", "Europe/Moscow"}, + "VOZ": {"Voronezh International Airport", "Voronezh", "Russia", "VOZ", "UUOO", 51.81420135498047, 39.22959899902344, 514, 3, "N", "Europe/Moscow"}, + "VKO": {"Vnukovo International Airport", "Moscow", "Russia", "VKO", "UUWW", 55.5914993286, 37.2615013123, 685, 3, "N", "Europe/Moscow"}, + "SCW": {"Syktyvkar Airport", "Syktyvkar", "Russia", "SCW", "UUYY", 61.64699935913086, 50.84510040283203, 342, 3, "N", "Europe/Moscow"}, + "KZN": {"Kazan International Airport", "Kazan", "Russia", "KZN", "UWKD", 55.606201171875, 49.278701782227, 411, 3, "N", "Europe/Moscow"}, + "REN": {"Orenburg Central Airport", "Orenburg", "Russia", "REN", "UWOO", 51.795799255371094, 55.45669937133789, 387, 5, "N", "Asia/Yekaterinburg"}, + "UFA": {"Ufa International Airport", "Ufa", "Russia", "UFA", "UWUU", 54.557498931885, 55.874401092529, 449, 5, "N", "Asia/Yekaterinburg"}, + "KUF": {"Kurumoch International Airport", "Samara", "Russia", "KUF", "UWWW", 53.504901885986, 50.16429901123, 477, 4, "N", "Europe/Samara"}, + "AMD": {"Sardar Vallabhbhai Patel International Airport", "Ahmedabad", "India", "AMD", "VAAH", 23.0771999359, 72.63469696039999, 189, 5.5, "N", "Asia/Calcutta"}, + "AKD": {"Akola Airport", "Akola", "India", "AKD", "VAAK", 20.698999404907227, 77.05860137939453, 999, 5.5, "N", "Asia/Calcutta"}, + "IXU": {"Aurangabad Airport", "Aurangabad", "India", "IXU", "VAAU", 19.862699508666992, 75.39810180664062, 1911, 5.5, "N", "Asia/Calcutta"}, + "BOM": {"Chhatrapati Shivaji International Airport", "Mumbai", "India", "BOM", "VABB", 19.0886993408, 72.8678970337, 39, 5.5, "N", "Asia/Calcutta"}, + "PAB": {"Bilaspur Airport", "Bilaspur", "India", "PAB", "VABI", 21.988399505615234, 82.11100006103516, 899, 5.5, "N", "Asia/Calcutta"}, + "BHJ": {"Bhuj Airport", "Bhuj", "India", "BHJ", "VABJ", 23.2877998352, 69.6701965332, 268, 5.5, "N", "Asia/Calcutta"}, + "IXG": {"Belgaum Airport", "Belgaum", "India", "IXG", "VABM", 15.859299659700001, 74.6183013916, 2487, 5.5, "N", "Asia/Calcutta"}, + "BDQ": {"Vadodara Airport", "Baroda", "India", "BDQ", "VABO", 22.3362007141, 73.2263031006, 129, 5.5, "N", "Asia/Calcutta"}, + "BHO": {"Raja Bhoj International Airport", "Bhopal", "India", "BHO", "VABP", 23.2875003815, 77.3374023438, 1711, 5.5, "N", "Asia/Calcutta"}, + "BHU": {"Bhavnagar Airport", "Bhaunagar", "India", "BHU", "VABV", 21.752199173, 72.1852035522, 44, 5.5, "N", "Asia/Calcutta"}, + "NMB": {"Daman Airport", "Daman", "India", "NMB", "VADN", 20.43440055847168, 72.84320068359375, 33, 5.5, "N", "Asia/Calcutta"}, + "GOI": {"Dabolim Airport", "Goa", "India", "GOI", "VAGO", 15.3808002472, 73.8313980103, 150, 5.5, "N", "Asia/Calcutta"}, + "IDR": {"Devi Ahilyabai Holkar Airport", "Indore", "India", "IDR", "VAID", 22.7217998505, 75.8011016846, 1850, 5.5, "N", "Asia/Calcutta"}, + "JLR": {"Jabalpur Airport", "Jabalpur", "India", "JLR", "VAJB", 23.177799224853516, 80.052001953125, 1624, 5.5, "N", "Asia/Calcutta"}, + "JGA": {"Jamnagar Airport", "Jamnagar", "India", "JGA", "VAJM", 22.465499877929688, 70.01260375976562, 69, 5.5, "N", "Asia/Calcutta"}, + "IXY": {"Kandla Airport", "Kandla", "India", "IXY", "VAKE", 23.112699508699997, 70.1003036499, 96, 5.5, "N", "Asia/Calcutta"}, + "HJR": {"Khajuraho Airport", "Khajuraho", "India", "HJR", "VAKJ", 24.817199707, 79.91860198970001, 728, 5.5, "N", "Asia/Calcutta"}, + "KLH": {"Kolhapur Airport", "Kolhapur", "India", "KLH", "VAKP", 16.6646995544, 74.2893981934, 1996, 5.5, "N", "Asia/Calcutta"}, + "IXK": {"Keshod Airport", "Keshod", "India", "IXK", "VAKS", 21.317100524902344, 70.27040100097656, 167, 5.5, "N", "Asia/Calcutta"}, + "NAG": {"Dr. Babasaheb Ambedkar International Airport", "Nagpur", "India", "NAG", "VANP", 21.092199325561523, 79.04720306396484, 1033, 5.5, "N", "Asia/Calcutta"}, + "ISK": {"Gandhinagar Airport", "Nasik Road", "India", "ISK", "VANR", 19.9636993408, 73.8076019287, 1959, 5.5, "N", "Asia/Calcutta"}, + "PNQ": {"Pune Airport", "Pune", "India", "PNQ", "VAPO", 18.58209991455078, 73.9197006225586, 1942, 5.5, "N", "Asia/Calcutta"}, + "PBD": {"Porbandar Airport", "Porbandar", "India", "PBD", "VAPR", 21.6487007141, 69.65720367429999, 23, 5.5, "N", "Asia/Calcutta"}, + "RAJ": {"Rajkot Airport", "Rajkot", "India", "RAJ", "VARK", 22.3092002869, 70.77950286869999, 441, 5.5, "N", "Asia/Calcutta"}, + "RPR": {"Raipur Airport", "Raipur", "India", "RPR", "VARP", 21.180400848399998, 81.7388000488, 1041, 5.5, "N", "Asia/Calcutta"}, + "SSE": {"Solapur Airport", "Sholapur", "India", "SSE", "VASL", 17.6280002594, 75.93479919430001, 1584, 5.5, "N", "Asia/Calcutta"}, + "STV": {"Surat Airport", "Surat", "India", "STV", "VASU", 21.1140995026, 72.7417984009, 16, 5.5, "N", "Asia/Calcutta"}, + "UDR": {"Maharana Pratap Airport", "Udaipur", "India", "UDR", "VAUD", 24.617700576799997, 73.89610290530001, 1684, 5.5, "N", "Asia/Calcutta"}, + "CMB": {"Bandaranaike International Colombo Airport", "Colombo", "Sri Lanka", "CMB", "VCBI", 7.180759906768799, 79.88410186767578, 30, 5.5, "U", "Asia/Colombo"}, + "ACJ": {"Anuradhapura Air Force Base", "Anuradhapura", "Sri Lanka", "ACJ", "VCCA", 8.30148983002, 80.42790222170001, 324, 5.5, "U", "Asia/Colombo"}, + "RML": {"Colombo Ratmalana Airport", "Colombo", "Sri Lanka", "RML", "VCCC", 6.821990013122559, 79.88619995117188, 22, 5.5, "U", "Asia/Colombo"}, + "GOY": {"Ampara Airport", "Galoya", "Sri Lanka", "GOY", "VCCG", 7.33776, 81.62594, 150, 5.5, "U", "Asia/Colombo"}, + "JAF": {"Kankesanturai Airport", "Jaffna", "Sri Lanka", "JAF", "VCCJ", 9.792329788208008, 80.07009887695312, 33, 5.5, "U", "Asia/Colombo"}, + "TRR": {"China Bay Airport", "Trinciomalee", "Sri Lanka", "TRR", "VCCT", 8.5385103225708, 81.18190002441406, 6, 5.5, "U", "Asia/Colombo"}, + "PNH": {"Phnom Penh International Airport", "Phnom-penh", "Cambodia", "PNH", "VDPP", 11.546600341796875, 104.84400177001953, 40, 7, "U", "Asia/Phnom_Penh"}, + "REP": {"Siem Reap International Airport", "Siem-reap", "Cambodia", "REP", "VDSR", 13.410699844400002, 103.81300354, 60, 7, "U", "Asia/Phnom_Penh"}, + "TNX": {"Stung Treng Airport", "Stung Treng", "Cambodia", "TNX", "VDST", 13.531900405883789, 106.01499938964844, 203, 7, "U", "Asia/Phnom_Penh"}, + "IXA": {"Agartala Airport", "Agartala", "India", "IXA", "VEAT", 23.8869991302, 91.24040222170001, 46, 5.5, "N", "Asia/Calcutta"}, + "AJL": {"Lengpui Airport", "Aizwal", "India", "AJL", "VELP", 23.840599060099997, 92.6196975708, 1398, 5.5, "N", "Asia/Calcutta"}, + "IXB": {"Bagdogra Airport", "Baghdogra", "India", "IXB", "VEBD", 26.68120002746582, 88.32859802246094, 412, 5.5, "N", "Asia/Calcutta"}, + "BBI": {"Biju Patnaik Airport", "Bhubaneswar", "India", "BBI", "VEBS", 20.244400024399997, 85.8178024292, 138, 5.5, "N", "Asia/Calcutta"}, + "CCU": {"Netaji Subhash Chandra Bose International Airport", "Kolkata", "India", "CCU", "VECC", 22.654699325561523, 88.44670104980469, 16, 5.5, "N", "Asia/Calcutta"}, + "COH": {"Cooch Behar Airport", "Cooch-behar", "India", "COH", "VECO", 26.330499649, 89.4672012329, 138, 5.5, "N", "Asia/Calcutta"}, + "DBD": {"Dhanbad Airport", "Dhanbad", "India", "DBD", "VEDB", 23.833999633789062, 86.42530059814453, 847, 5.5, "N", "Asia/Calcutta"}, + "GAY": {"Gaya Airport", "Gaya", "India", "GAY", "VEGY", 24.744300842285156, 84.95120239257812, 380, 5.5, "N", "Asia/Calcutta"}, + "IMF": {"Imphal Airport", "Imphal", "India", "IMF", "VEIM", 24.7600002289, 93.896697998, 2540, 5.5, "N", "Asia/Calcutta"}, + "IXW": {"Jamshedpur Airport", "Jamshedpur", "India", "IXW", "VEJS", 22.813199996900003, 86.168800354, 475, 5.5, "N", "Asia/Calcutta"}, + "JRH": {"Jorhat Airport", "Jorhat", "India", "JRH", "VEJT", 26.7315006256, 94.1754989624, 311, 5.5, "N", "Asia/Calcutta"}, + "IXH": {"Kailashahar Airport", "Kailashahar", "India", "IXH", "VEKR", 24.30820083618164, 92.0072021484375, 79, 5.5, "N", "Asia/Calcutta"}, + "IXS": {"Silchar Airport", "Silchar", "India", "IXS", "VEKU", 24.9129009247, 92.97869873050001, 352, 5.5, "N", "Asia/Calcutta"}, + "IXI": {"North Lakhimpur Airport", "Lilabari", "India", "IXI", "VELR", 27.295499801635742, 94.09760284423828, 330, 5.5, "N", "Asia/Calcutta"}, + "DIB": {"Dibrugarh Airport", "Mohanbari", "India", "DIB", "VEMN", 27.4839000702, 95.0168991089, 362, 5.5, "N", "Asia/Calcutta"}, + "PAT": {"Lok Nayak Jayaprakash Airport", "Patina", "India", "PAT", "VEPT", 25.591299057, 85.0879974365, 170, 5.5, "N", "Asia/Calcutta"}, + "IXR": {"Birsa Munda Airport", "Ranchi", "India", "IXR", "VERC", 23.314300537100003, 85.3217010498, 2148, 5.5, "N", "Asia/Calcutta"}, + "RRK": {"Rourkela Airport", "Rourkela", "India", "RRK", "VERK", 22.25670051574707, 84.8145980834961, 659, 5.5, "N", "Asia/Calcutta"}, + "VTZ": {"Vishakhapatnam Airport", "Vishakhapatnam", "India", "VTZ", "VEVZ", 17.721200943, 83.2245025635, 15, 5.5, "N", "Asia/Calcutta"}, + "CXB": {"Cox's Bazar Airport", "Cox's Bazar", "Bangladesh", "CXB", "VGCB", 21.452199935913086, 91.96389770507812, 12, 6, "U", "Asia/Dhaka"}, + "CGP": {"Shah Amanat International Airport", "Chittagong", "Bangladesh", "CGP", "VGEG", 22.24959945678711, 91.81330108642578, 12, 6, "U", "Asia/Dhaka"}, + "IRD": {"Ishurdi Airport", "Ishurdi", "Bangladesh", "IRD", "VGIS", 24.15250015258789, 89.04940032958984, 45, 6, "U", "Asia/Dhaka"}, + "JSR": {"Jessore Airport", "Jessore", "Bangladesh", "JSR", "VGJR", 23.183799743652344, 89.16079711914062, 20, 6, "U", "Asia/Dhaka"}, + "RJH": {"Shah Mokhdum Airport", "Rajshahi", "Bangladesh", "RJH", "VGRJ", 24.43720054626465, 88.61650085449219, 64, 6, "U", "Asia/Dhaka"}, + "SPD": {"Saidpur Airport", "Saidpur", "Bangladesh", "SPD", "VGSD", 25.759199142456055, 88.90889739990234, 125, 6, "U", "Asia/Dhaka"}, + "ZYL": {"Osmany International Airport", "Sylhet Osmani", "Bangladesh", "ZYL", "VGSY", 24.963199615478516, 91.8667984008789, 50, 6, "U", "Asia/Dhaka"}, + "DAC": {"Dhaka / Hazrat Shahjalal International Airport", "Dhaka", "Bangladesh", "DAC", "VGZR", 23.843347, 90.397783, 30, 6, "U", "Asia/Dhaka"}, + "HKG": {"Chek Lap Kok International Airport", "Hong Kong", "Hong Kong", "HKG", "VHHH", 22.3089008331, 113.915000916, 28, 8, "U", "Asia/Hong_Kong"}, + "AGR": {"Agra Airport", "Agra", "India", "AGR", "VIAG", 27.155799865722656, 77.96089935302734, 551, 5.5, "N", "Asia/Calcutta"}, + "IXD": {"Allahabad Airport", "Allahabad", "India", "IXD", "VIAL", 25.440099716186523, 81.73390197753906, 322, 5.5, "N", "Asia/Calcutta"}, + "ATQ": {"Sri Guru Ram Dass Jee International Airport", "Amritsar", "India", "ATQ", "VIAR", 31.7096004486, 74.7973022461, 756, 5.5, "N", "Asia/Calcutta"}, + "VNS": {"Lal Bahadur Shastri Airport", "Varanasi", "India", "VNS", "VIBN", 25.4524002075, 82.8592987061, 266, 5.5, "N", "Asia/Calcutta"}, + "KUU": {"Kullu Manali Airport", "Kulu", "India", "KUU", "VIBR", 31.876699447631836, 77.15440368652344, 3573, 5.5, "N", "Asia/Calcutta"}, + "IXC": {"Chandigarh Airport", "Chandigarh", "India", "IXC", "VICG", 30.673500061035156, 76.78849792480469, 1012, 5.5, "N", "Asia/Calcutta"}, + "DED": {"Dehradun Airport", "Dehra Dun", "India", "DED", "VIDN", 30.189699173, 78.18029785159999, 1831, 5.5, "N", "Asia/Calcutta"}, + "DEL": {"Indira Gandhi International Airport", "Delhi", "India", "DEL", "VIDP", 28.566499710083008, 77.10310363769531, 777, 5.5, "N", "Asia/Calcutta"}, + "GWL": {"Gwalior Airport", "Gwalior", "India", "GWL", "VIGR", 26.29330062866211, 78.22779846191406, 617, 5.5, "N", "Asia/Calcutta"}, + "JDH": {"Jodhpur Airport", "Jodhpur", "India", "JDH", "VIJO", 26.251100540161133, 73.04889678955078, 717, 5.5, "N", "Asia/Calcutta"}, + "JAI": {"Jaipur International Airport", "Jaipur", "India", "JAI", "VIJP", 26.8241996765, 75.8122024536, 1263, 5.5, "N", "Asia/Calcutta"}, + "JSA": {"Jaisalmer Airport", "Jaisalmer", "India", "JSA", "VIJR", 26.888700485229492, 70.86499786376953, 751, 5.5, "N", "Asia/Calcutta"}, + "IXJ": {"Jammu Airport", "Jammu", "India", "IXJ", "VIJU", 32.6890983582, 74.8374023438, 1029, 5.5, "N", "Asia/Calcutta"}, + "KNU": {"Kanpur Airport", "Kanpur", "India", "KNU", "VIKA", 26.4414005279541, 80.36489868164062, 411, 5.5, "N", "Asia/Calcutta"}, + "KTU": {"Kota Airport", "Kota", "India", "KTU", "VIKO", 25.160200119, 75.84559631350001, 896, 5.5, "N", "Asia/Calcutta"}, + "LUH": {"Ludhiana Airport", "Ludhiaha", "India", "LUH", "VILD", 30.854700088500977, 75.95259857177734, 834, 5.5, "N", "Asia/Calcutta"}, + "IXL": {"Leh Kushok Bakula Rimpochee Airport", "Leh", "India", "IXL", "VILH", 34.1358985901, 77.5465011597, 10682, 5.5, "N", "Asia/Calcutta"}, + "LKO": {"Chaudhary Charan Singh International Airport", "Lucknow", "India", "LKO", "VILK", 26.7605991364, 80.8892974854, 410, 5.5, "N", "Asia/Calcutta"}, + "PGH": {"Pantnagar Airport", "Nainital", "India", "PGH", "VIPT", 29.03339958190918, 79.47370147705078, 769, 5.5, "N", "Asia/Calcutta"}, + "SXR": {"Sheikh ul Alam Airport", "Srinagar", "India", "SXR", "VISR", 33.987098693847656, 74.77420043945312, 5429, 5.5, "N", "Asia/Calcutta"}, + "TNI": {"Satna Airport", "Satna", "India", "TNI", "VIST", 24.562299728393555, 80.85489654541016, 1060, 5.5, "N", "Asia/Calcutta"}, + "LPQ": {"Luang Phabang International Airport", "Luang Prabang", "Laos", "LPQ", "VLLB", 19.897300720214844, 102.16100311279297, 955, 7, "U", "Asia/Vientiane"}, + "PKZ": {"Pakse International Airport", "Pakse", "Laos", "PKZ", "VLPS", 15.132100105285645, 105.78099822998047, 351, 7, "U", "Asia/Vientiane"}, + "ZVK": {"Savannakhet Airport", "Savannakhet", "Laos", "ZVK", "VLSK", 16.55660057067871, 104.76000213623047, 509, 7, "U", "Asia/Vientiane"}, + "VTE": {"Wattay International Airport", "Vientiane", "Laos", "VTE", "VLVT", 17.988300323500003, 102.56300354, 564, 7, "U", "Asia/Vientiane"}, + "MFM": {"Macau International Airport", "Macau", "Macau", "MFM", "VMMC", 22.149599075317383, 113.59200286865234, 20, 8, "U", "Asia/Macau"}, + "BWA": {"Gautam Buddha Airport", "Bhairawa", "Nepal", "BWA", "VNBW", 27.505685, 83.416293, 358, 5.75, "N", "Asia/Katmandu"}, + "KTM": {"Tribhuvan International Airport", "Kathmandu", "Nepal", "KTM", "VNKT", 27.6965999603, 85.35910034179999, 4390, 5.75, "N", "Asia/Katmandu"}, + "PKR": {"Pokhara Airport", "Pokhara", "Nepal", "PKR", "VNPK", 28.200899124145508, 83.98210144042969, 2712, 5.75, "N", "Asia/Katmandu"}, + "SIF": {"Simara Airport", "Simara", "Nepal", "SIF", "VNSI", 27.159500122070312, 84.9801025390625, 450, 5.75, "N", "Asia/Katmandu"}, + "BIR": {"Biratnagar Airport", "Biratnagar", "Nepal", "BIR", "VNVT", 26.48150062561035, 87.26399993896484, 236, 5.75, "N", "Asia/Katmandu"}, + "AGX": {"Agatti Airport", "Agatti Island", "India", "AGX", "VOAT", 10.823699951171875, 72.1760025024414, 14, 5.5, "N", "Asia/Calcutta"}, + "BLR": {"Kempegowda International Airport", "Bangalore", "India", "BLR", "VOBL", 13.1979, 77.706299, 3000, 5.5, "N", "Asia/Calcutta"}, + "BEP": {"Bellary Airport", "Bellary", "India", "BEP", "VOBI", 15.162799835205078, 76.88279724121094, 30, 5.5, "N", "Asia/Calcutta"}, + "VGA": {"Vijayawada Airport", "Vijayawada", "India", "VGA", "VOBZ", 16.530399322509766, 80.79679870605469, 82, 5.5, "N", "Asia/Calcutta"}, + "CJB": {"Coimbatore International Airport", "Coimbatore", "India", "CJB", "VOCB", 11.029999733, 77.0434036255, 1324, 5.5, "N", "Asia/Calcutta"}, + "COK": {"Cochin International Airport", "Kochi", "India", "COK", "VOCI", 10.1520004272, 76.40190124510002, 30, 5.5, "N", "Asia/Calcutta"}, + "CCJ": {"Calicut International Airport", "Calicut", "India", "CCJ", "VOCL", 11.1367998123, 75.95529937740001, 342, 5.5, "N", "Asia/Calcutta"}, + "CDP": {"Cuddapah Airport", "Cuddapah", "India", "CDP", "VOCP", 14.510000228881836, 78.77279663085938, 430, 5.5, "N", "Asia/Calcutta"}, + "BPM": {"Begumpet Airport", "Hyderabad", "India", "BPM", "VOHY", 17.4531002045, 78.4675979614, 1742, 5.5, "N", "Asia/Calcutta"}, + "IXM": {"Madurai Airport", "Madurai", "India", "IXM", "VOMD", 9.83450984955, 78.09339904790001, 459, 5.5, "N", "Asia/Calcutta"}, + "IXE": {"Mangalore International Airport", "Mangalore", "India", "IXE", "VOML", 12.9612998962, 74.8900985718, 337, 5.5, "N", "Asia/Calcutta"}, + "MAA": {"Chennai International Airport", "Madras", "India", "MAA", "VOMM", 12.990005493164062, 80.16929626464844, 52, 5.5, "N", "Asia/Calcutta"}, + "IXZ": {"Vir Savarkar International Airport", "Port Blair", "India", "IXZ", "VOPB", 11.641200065612793, 92.72969818115234, 14, 5.5, "N", "Asia/Calcutta"}, + "PNY": {"Pondicherry Airport", "Pendicherry", "India", "PNY", "VOPC", 11.968700408935547, 79.81009674072266, 118, 5.5, "N", "Asia/Calcutta"}, + "RJA": {"Rajahmundry Airport", "Rajahmundry", "India", "RJA", "VORY", 17.1103992462, 81.81819915770001, 151, 5.5, "N", "Asia/Calcutta"}, + "TIR": {"Tirupati Airport", "Tirupeti", "India", "TIR", "VOTP", 13.632499694800002, 79.543296814, 350, 5.5, "N", "Asia/Calcutta"}, + "TRZ": {"Tiruchirapally Civil Airport Airport", "Tiruchirappalli", "India", "TRZ", "VOTR", 10.765399932861328, 78.70970153808594, 288, 5.5, "N", "Asia/Calcutta"}, + "TRV": {"Trivandrum International Airport", "Trivandrum", "India", "TRV", "VOTV", 8.48211956024, 76.9200973511, 15, 5.5, "N", "Asia/Calcutta"}, + "PBH": {"Paro Airport", "Thimphu", "Bhutan", "PBH", "VQPR", 27.403200149499998, 89.42459869380001, 7332, 6, "N", "Asia/Thimphu"}, + "MLE": {"Malé International Airport", "Male", "Maldives", "MLE", "VRMM", 4.191830158233643, 73.52909851074219, 6, 5, "U", "Indian/Maldives"}, + "DMK": {"Don Mueang International Airport", "Bangkok", "Thailand", "DMK", "VTBD", 13.9125995636, 100.607002258, 9, 7, "U", "Asia/Bangkok"}, + "UTP": {"U-Tapao International Airport", "Pattaya", "Thailand", "UTP", "VTBU", 12.679900169372559, 101.00499725341797, 42, 7, "U", "Asia/Bangkok"}, + "LPT": {"Lampang Airport", "Lampang", "Thailand", "LPT", "VTCL", 18.27090072631836, 99.50420379638672, 811, 7, "U", "Asia/Bangkok"}, + "PRH": {"Phrae Airport", "Phrae", "Thailand", "PRH", "VTCP", 18.132200241088867, 100.16500091552734, 538, 7, "U", "Asia/Bangkok"}, + "HHQ": {"Hua Hin Airport", "Prachuap Khiri Khan", "Thailand", "HHQ", "VTPH", 12.6361999512, 99.951499939, 62, 7, "U", "Asia/Bangkok"}, + "PHS": {"Phitsanulok Airport", "Phitsanulok", "Thailand", "PHS", "VTPP", 16.782899856567383, 100.27899932861328, 154, 7, "U", "Asia/Bangkok"}, + "NAW": {"Narathiwat Airport", "Narathiwat", "Thailand", "NAW", "VTSC", 6.5199198722839355, 101.74299621582031, 16, 7, "U", "Asia/Bangkok"}, + "KBV": {"Krabi Airport", "Krabi", "Thailand", "KBV", "VTSG", 8.09912014008, 98.9861984253, 82, 7, "U", "Asia/Bangkok"}, + "PAN": {"Pattani Airport", "Pattani", "Thailand", "PAN", "VTSK", 6.785459995269775, 101.15399932861328, 8, 7, "U", "Asia/Bangkok"}, + "USM": {"Samui Airport", "Ko Samui", "Thailand", "USM", "VTSM", 9.547789573669998, 100.06199646, 64, 7, "U", "Asia/Bangkok"}, + "HKT": {"Phuket International Airport", "Phuket", "Thailand", "HKT", "VTSP", 8.11320018768, 98.3169021606, 82, 7, "U", "Asia/Bangkok"}, + "UNN": {"Ranong Airport", "Ranong", "Thailand", "UNN", "VTSR", 9.777620315551758, 98.58550262451172, 57, 7, "U", "Asia/Bangkok"}, + "HDY": {"Hat Yai International Airport", "Hat Yai", "Thailand", "HDY", "VTSS", 6.93320989609, 100.392997742, 90, 7, "U", "Asia/Bangkok"}, + "TST": {"Trang Airport", "Trang", "Thailand", "TST", "VTST", 7.508739948272705, 99.6166000366211, 67, 7, "U", "Asia/Bangkok"}, + "UTH": {"Udon Thani Airport", "Udon Thani", "Thailand", "UTH", "VTUD", 17.386400222800003, 102.788002014, 579, 7, "U", "Asia/Bangkok"}, + "SNO": {"Sakon Nakhon Airport", "Sakon Nakhon", "Thailand", "SNO", "VTUI", 17.195100784301758, 104.11900329589844, 529, 7, "U", "Asia/Bangkok"}, + "LOE": {"Loei Airport", "Loei", "Thailand", "LOE", "VTUL", 17.43910026550293, 101.72200012207031, 860, 7, "U", "Asia/Bangkok"}, + "DAD": {"Da Nang International Airport", "Danang", "Vietnam", "DAD", "VVDN", 16.043899536132812, 108.1989974975586, 33, 7, "U", "Asia/Saigon"}, + "HAN": {"Noi Bai International Airport", "Hanoi", "Vietnam", "HAN", "VVNB", 21.221200942993164, 105.80699920654297, 39, 7, "U", "Asia/Saigon"}, + "NHA": {"Nha Trang Air Base", "Nhatrang", "Vietnam", "NHA", "VVNT", 12.2275, 109.192001, 20, 7, "U", "Asia/Saigon"}, + "HUI": {"Phu Bai Airport", "Hue", "Vietnam", "HUI", "VVPB", 16.401500701899998, 107.70300293, 48, 7, "U", "Asia/Saigon"}, + "PQC": {"Phu Quoc International Airport", "Phuquoc", "Vietnam", "PQC", "VVPQ", 10.1698, 103.9931, 37, 7, "U", "Asia/Saigon"}, + "SGN": {"Tan Son Nhat International Airport", "Ho Chi Minh City", "Vietnam", "SGN", "VVTS", 10.8187999725, 106.652000427, 33, 7, "U", "Asia/Saigon"}, + "NYU": {"Bagan Airport", "Bagan", "Burma", "NYU", "VYBG", 21.178800582885742, 94.9301986694336, 312, 6.5, "U", "Asia/Rangoon"}, + "HEH": {"Heho Airport", "Heho", "Burma", "HEH", "VYHH", 20.746999740600586, 96.79199981689453, 3858, 6.5, "U", "Asia/Rangoon"}, + "KET": {"Kengtung Airport", "Kengtung", "Burma", "KET", "VYKG", 21.301599502563477, 99.63600158691406, 2798, 6.5, "U", "Asia/Rangoon"}, + "KYP": {"Kyaukpyu Airport", "Kyaukpyu", "Burma", "KYP", "VYKP", 19.42639923095703, 93.53479766845703, 20, 6.5, "U", "Asia/Rangoon"}, + "LSH": {"Lashio Airport", "Lashio", "Burma", "LSH", "VYLS", 22.9778995513916, 97.752197265625, 2450, 6.5, "U", "Asia/Rangoon"}, + "MDL": {"Mandalay International Airport", "Mandalay", "Burma", "MDL", "VYMD", 21.702199935913086, 95.97789764404297, 300, 6.5, "U", "Asia/Rangoon"}, + "MGZ": {"Myeik Airport", "Myeik", "Burma", "MGZ", "VYME", 12.439800262451172, 98.62149810791016, 75, 6.5, "U", "Asia/Rangoon"}, + "MYT": {"Myitkyina Airport", "Myitkyina", "Burma", "MYT", "VYMK", 25.38360023498535, 97.35189819335938, 475, 6.5, "U", "Asia/Rangoon"}, + "MOG": {"Mong Hsat Airport", "Mong Hsat", "Burma", "MOG", "VYMS", 20.516799926757812, 99.25679779052734, 1875, 6.5, "U", "Asia/Rangoon"}, + "PBU": {"Putao Airport", "Putao", "Burma", "PBU", "VYPT", 27.32990074157715, 97.42630004882812, 1500, 6.5, "U", "Asia/Rangoon"}, + "AKY": {"Sittwe Airport", "Sittwe", "Burma", "AKY", "VYSW", 20.132699966430664, 92.87259674072266, 27, 6.5, "U", "Asia/Rangoon"}, + "SNW": {"Thandwe Airport", "Thandwe", "Burma", "SNW", "VYTD", 18.4606990814209, 94.30010223388672, 20, 6.5, "U", "Asia/Rangoon"}, + "THL": {"Tachileik Airport", "Tachilek", "Burma", "THL", "VYTL", 20.483800888061523, 99.9354019165039, 1280, 6.5, "U", "Asia/Rangoon"}, + "RGN": {"Yangon International Airport", "Yangon", "Burma", "RGN", "VYYY", 16.907300949099998, 96.1332015991, 109, 6.5, "U", "Asia/Rangoon"}, + "UPG": {"Hasanuddin International Airport", "Ujung Pandang", "Indonesia", "UPG", "WAAA", -5.061629772186279, 119.55400085449219, 47, 8, "N", "Asia/Makassar"}, + "BIK": {"Frans Kaisiepo Airport", "Biak", "Indonesia", "BIK", "WABB", -1.190019965171814, 136.10800170898438, 46, 9, "N", "Asia/Jayapura"}, + "NBX": {"Nabire Airport", "Nabire", "Indonesia", "NBX", "WABI", -3.3681800365448, 135.49600219726562, 20, 9, "N", "Asia/Jayapura"}, + "TIM": {"Moses Kilangin Airport", "Timika", "Indonesia", "TIM", "WABP", -4.528279781341553, 136.88699340820312, 103, 9, "N", "Asia/Jayapura"}, + "DJJ": {"Sentani Airport", "Jayapura", "Indonesia", "DJJ", "WAJJ", -2.5769500732421875, 140.51600646972656, 289, 9, "N", "Asia/Jayapura"}, + "WMX": {"Wamena Airport", "Wamena", "Indonesia", "WMX", "WAJW", -4.10250997543335, 138.95700073242188, 5085, 9, "N", "Asia/Jayapura"}, + "MKQ": {"Mopah Airport", "Merauke", "Indonesia", "MKQ", "WAKK", -8.52029037475586, 140.41799926757812, 10, 9, "N", "Asia/Jayapura"}, + "GTO": {"Jalaluddin Airport", "Gorontalo", "Indonesia", "GTO", "WAMG", 0.63711899519, 122.849998474, 105, 8, "N", "Asia/Makassar"}, + "PLW": {"Mutiara Airport", "Palu", "Indonesia", "PLW", "WAML", -0.9185420274734497, 119.91000366210938, 284, 8, "N", "Asia/Makassar"}, + "MDC": {"Sam Ratulangi Airport", "Manado", "Indonesia", "MDC", "WAMM", 1.5492600202560425, 124.9260025024414, 264, 8, "N", "Asia/Makassar"}, + "PSJ": {"Kasiguncu Airport", "Poso", "Indonesia", "PSJ", "WAMP", -1.41674995422, 120.657997131, 174, 8, "N", "Asia/Makassar"}, + "OTI": {"Pitu Airport", "Morotai Island", "Indonesia", "OTI", "WAMR", 2.0459899902300003, 128.324996948, 49, 9, "N", "Asia/Jayapura"}, + "TTE": {"Sultan Khairun Babullah Airport", "Ternate", "Indonesia", "TTE", "WAMT", 0.831413984298706, 127.38099670410156, 49, 9, "N", "Asia/Jayapura"}, + "LUW": {"Bubung Airport", "Luwuk", "Indonesia", "LUW", "WAMW", -1.0389200448989868, 122.77200317382812, 56, 8, "N", "Asia/Makassar"}, + "AMQ": {"Pattimura Airport, Ambon", "Ambon", "Indonesia", "AMQ", "WAPP", -3.7102599144, 128.089004517, 33, 9, "N", "Asia/Jayapura"}, + "FKQ": {"Fakfak Airport", "Fak Fak", "Indonesia", "FKQ", "WASF", -2.9201900959014893, 132.26699829101562, 462, 9, "N", "Asia/Jayapura"}, + "KNG": {"Kaimana Airport", "Kaimana", "Indonesia", "KNG", "WASK", -3.6445200443267822, 133.6959991455078, 19, 9, "N", "Asia/Jayapura"}, + "BXB": {"Babo Airport", "Babo", "Indonesia", "BXB", "WASO", -2.5322399139404297, 133.43899536132812, 10, 9, "N", "Asia/Jayapura"}, + "MKW": {"Rendani Airport", "Manokwari", "Indonesia", "MKW", "WASR", -0.8918330073356628, 134.0489959716797, 23, 9, "N", "Asia/Jayapura"}, + "SOQ": {"Dominique Edward Osok Airport", "Sorong", "Indonesia", "SOQ", "WAXX", -0.894, 131.287, 10, 9, "N", "Asia/Jayapura"}, + "BTU": {"Bintulu Airport", "Bintulu", "Malaysia", "BTU", "WBGB", 3.12385010719, 113.019996643, 74, 8, "N", "Asia/Kuala_Lumpur"}, + "KCH": {"Kuching International Airport", "Kuching", "Malaysia", "KCH", "WBGG", 1.4846999645233154, 110.34700012207031, 89, 8, "N", "Asia/Kuala_Lumpur"}, + "LMN": {"Limbang Airport", "Limbang", "Malaysia", "LMN", "WBGJ", 4.808300018310547, 115.01000213623047, 14, 8, "N", "Asia/Kuala_Lumpur"}, + "MUR": {"Marudi Airport", "Marudi", "Malaysia", "MUR", "WBGM", 4.178979873657227, 114.3290023803711, 103, 8, "N", "Asia/Kuala_Lumpur"}, + "MYY": {"Miri Airport", "Miri", "Malaysia", "MYY", "WBGR", 4.322010040283203, 113.98699951171875, 59, 8, "N", "Asia/Kuala_Lumpur"}, + "SBW": {"Sibu Airport", "Sibu", "Malaysia", "SBW", "WBGS", 2.2616000175476074, 111.98500061035156, 122, 8, "N", "Asia/Kuala_Lumpur"}, + "LDU": {"Lahad Datu Airport", "Lahad Datu", "Malaysia", "LDU", "WBKD", 5.032249927520752, 118.3239974975586, 45, 8, "N", "Asia/Kuala_Lumpur"}, + "BKI": {"Kota Kinabalu International Airport", "Kota Kinabalu", "Malaysia", "BKI", "WBKK", 5.9372100830078125, 116.0510025024414, 10, 8, "N", "Asia/Kuala_Lumpur"}, + "LBU": {"Labuan Airport", "Labuan", "Malaysia", "LBU", "WBKL", 5.300680160522461, 115.25, 101, 8, "N", "Asia/Kuala_Lumpur"}, + "TWU": {"Tawau Airport", "Tawau", "Malaysia", "TWU", "WBKW", 4.320159912109375, 118.12799835205078, 57, 8, "N", "Asia/Kuala_Lumpur"}, + "BWN": {"Brunei International Airport", "Bandar Seri Begawan", "Brunei", "BWN", "WBSB", 4.944200038909912, 114.9280014038086, 73, 8, "U", "Asia/Brunei"}, + "PKU": {"Sultan Syarif Kasim Ii (Simpang Tiga) Airport", "Pekanbaru", "Indonesia", "PKU", "WIBB", 0.46078601479530334, 101.44499969482422, 102, 7, "N", "Asia/Jakarta"}, + "DUM": {"Pinang Kampai Airport", "Dumai", "Indonesia", "DUM", "WIBD", 1.60919, 101.433998, 55, 7, "N", "Asia/Jakarta"}, + "CGK": {"Soekarno-Hatta International Airport", "Jakarta", "Indonesia", "CGK", "WIII", -6.1255698204, 106.65599823, 34, 7, "N", "Asia/Jakarta"}, + "GNS": {"Binaka Airport", "Gunung Sitoli", "Indonesia", "GNS", "WIMB", 1.1663800477981567, 97.70469665527344, 20, 7, "N", "Asia/Jakarta"}, + "MES": {"Soewondo Air Force Base", "Medan", "Indonesia", "MES", "WIMK", 3.559167, 98.671111, 114, 7, "N", "Asia/Jakarta"}, + "KTG": {"Ketapang(Rahadi Usman) Airport", "Ketapang", "Indonesia", "KTG", "WIOK", -1.816640019416809, 109.96299743652344, 46, 7, "N", "Asia/Jakarta"}, + "PNK": {"Supadio Airport", "Pontianak", "Indonesia", "PNK", "WIOO", -0.15071099996566772, 109.40399932861328, 10, 7, "N", "Asia/Jakarta"}, + "DJB": {"Sultan Thaha Airport", "Jambi", "Indonesia", "DJB", "WIPA", -1.6380200386047363, 103.64399719238281, 82, 7, "N", "Asia/Jakarta"}, + "BKS": {"Fatmawati Soekarno Airport", "Bengkulu", "Indonesia", "BKS", "WIPL", -3.8637, 102.338997, 50, 7, "N", "Asia/Jakarta"}, + "PLM": {"Sultan Mahmud Badaruddin II Airport", "Palembang", "Indonesia", "PLM", "WIPP", -2.8982501029968, 104.69999694824, 49, 7, "N", "Asia/Jakarta"}, + "RGT": {"Japura Airport", "Rengat", "Indonesia", "RGT", "WIPR", -0.35280799865722656, 102.33499908447266, 62, 7, "N", "Asia/Jakarta"}, + "BTJ": {"Sultan Iskandar Muda International Airport", "Banda Aceh", "Indonesia", "BTJ", "WITT", 5.522872024010001, 95.42063713070002, 65, 7, "N", "Asia/Jakarta"}, + "AOR": {"Sultan Abdul Halim Airport", "Alor Setar", "Malaysia", "AOR", "WMKA", 6.189670085906982, 100.39800262451172, 15, 8, "N", "Asia/Kuala_Lumpur"}, + "KBR": {"Sultan Ismail Petra Airport", "Kota Bahru", "Malaysia", "KBR", "WMKC", 6.1668500900268555, 102.29299926757812, 16, 8, "N", "Asia/Kuala_Lumpur"}, + "KUA": {"Kuantan Airport", "Kuantan", "Malaysia", "KUA", "WMKD", 3.7753899097442627, 103.20899963378906, 58, 8, "N", "Asia/Kuala_Lumpur"}, + "KTE": {"Kerteh Airport", "Kerteh", "Malaysia", "KTE", "WMKE", 4.537220001220703, 103.427001953125, 18, 8, "N", "Asia/Kuala_Lumpur"}, + "IPH": {"Sultan Azlan Shah Airport", "Ipoh", "Malaysia", "IPH", "WMKI", 4.567969799041748, 101.09200286865234, 130, 8, "N", "Asia/Kuala_Lumpur"}, + "JHB": {"Senai International Airport", "Johor Bahru", "Malaysia", "JHB", "WMKJ", 1.6413099765777588, 103.66999816894531, 135, 8, "N", "Asia/Kuala_Lumpur"}, + "KUL": {"Kuala Lumpur International Airport", "Kuala Lumpur", "Malaysia", "KUL", "WMKK", 2.745579957962, 101.70999908447, 69, 8, "N", "Asia/Kuala_Lumpur"}, + "LGK": {"Langkawi International Airport", "Langkawi", "Malaysia", "LGK", "WMKL", 6.329730033874512, 99.72869873046875, 29, 8, "N", "Asia/Kuala_Lumpur"}, + "MKZ": {"Malacca Airport", "Malacca", "Malaysia", "MKZ", "WMKM", 2.2633600235, 102.251998901, 35, 8, "N", "Asia/Kuala_Lumpur"}, + "TGG": {"Sultan Mahmud Airport", "Kuala Terengganu", "Malaysia", "TGG", "WMKN", 5.3826398849487305, 103.10299682617188, 21, 8, "N", "Asia/Kuala_Lumpur"}, + "PEN": {"Penang International Airport", "Penang", "Malaysia", "PEN", "WMKP", 5.297140121459961, 100.2770004272461, 11, 8, "N", "Asia/Kuala_Lumpur"}, + "DIL": {"Presidente Nicolau Lobato International Airport", "Dili", "East Timor", "DIL", "WPDL", -8.54640007019, 125.526000977, 154, 9, "U", "Asia/Dili"}, + "QPG": {"Paya Lebar Air Base", "Paya Lebar", "Singapore", "QPG", "WSAP", 1.3604199886322021, 103.91000366210938, 65, 8, "N", "Asia/Singapore"}, + "XSP": {"Seletar Airport", "Singapore", "Singapore", "XSP", "WSSL", 1.416949987411499, 103.86799621582031, 36, 8, "N", "Asia/Singapore"}, + "SIN": {"Singapore Changi Airport", "Singapore", "Singapore", "SIN", "WSSS", 1.35019, 103.994003, 22, 8, "N", "Asia/Singapore"}, + "ABM": {"Northern Peninsula Airport", "Amberley", "Australia", "ABM", "YBAM", -10.9508, 142.459, 34, 10, "O", "Australia/Brisbane"}, + "ASP": {"Alice Springs Airport", "Alice Springs", "Australia", "ASP", "YBAS", -23.806699752807617, 133.90199279785156, 1789, 9.5, "N", "Australia/Darwin"}, + "BNE": {"Brisbane International Airport", "Brisbane", "Australia", "BNE", "YBBN", -27.384199142456055, 153.11700439453125, 13, 10, "N", "Australia/Brisbane"}, + "OOL": {"Gold Coast Airport", "Coolangatta", "Australia", "OOL", "YBCG", -28.1644001007, 153.505004883, 21, 10, "N", "Australia/Brisbane"}, + "CNS": {"Cairns International Airport", "Cairns", "Australia", "CNS", "YBCS", -16.885799408, 145.755004883, 10, 10, "N", "Australia/Brisbane"}, + "CTL": {"Charleville Airport", "Charlieville", "Australia", "CTL", "YBCV", -26.4132995605, 146.261993408, 1003, 10, "O", "Australia/Brisbane"}, + "ISA": {"Mount Isa Airport", "Mount Isa", "Australia", "ISA", "YBMA", -20.663900375399997, 139.488998413, 1121, 10, "O", "Australia/Brisbane"}, + "MCY": {"Sunshine Coast Airport", "Maroochydore", "Australia", "MCY", "YBMC", -26.603300094599998, 153.091003418, 15, 10, "O", "Australia/Brisbane"}, + "MKY": {"Mackay Airport", "Mackay", "Australia", "MKY", "YBMK", -21.171699523900003, 149.179992676, 19, 10, "O", "Australia/Brisbane"}, + "PPP": {"Proserpine Whitsunday Coast Airport", "Prosserpine", "Australia", "PPP", "YBPN", -20.4950008392, 148.552001953, 82, 10, "O", "Australia/Brisbane"}, + "ROK": {"Rockhampton Airport", "Rockhampton", "Australia", "ROK", "YBRK", -23.3819007874, 150.475006104, 34, 10, "O", "Australia/Brisbane"}, + "TSV": {"Townsville Airport", "Townsville", "Australia", "TSV", "YBTL", -19.252500534057617, 146.76499938964844, 18, 10, "N", "Australia/Brisbane"}, + "WEI": {"Weipa Airport", "Weipa", "Australia", "WEI", "YBWP", -12.6786003113, 141.925003052, 63, 10, "O", "Australia/Brisbane"}, + "AVV": {"Avalon Airport", "Avalon", "Australia", "AVV", "YMAV", -38.0393981934, 144.468994141, 35, 10, "O", "Australia/Hobart"}, + "ABX": {"Albury Airport", "Albury", "Australia", "ABX", "YMAY", -36.06779861450195, 146.95799255371094, 539, 10, "O", "Australia/Sydney"}, + "MEB": {"Melbourne Essendon Airport", "Melbourne", "Australia", "MEB", "YMEN", -37.72809982299805, 144.90199279785156, 282, 10, "O", "Australia/Hobart"}, + "HBA": {"Hobart International Airport", "Hobart", "Australia", "HBA", "YMHB", -42.836101532, 147.509994507, 13, 10, "O", "Australia/Melbourne"}, + "LST": {"Launceston Airport", "Launceston", "Australia", "LST", "YMLT", -41.54529953, 147.214004517, 562, 10, "O", "Australia/Melbourne"}, + "MBW": {"Melbourne Moorabbin Airport", "Melbourne", "Australia", "MBW", "YMMB", -37.975799560546875, 145.1020050048828, 50, 10, "O", "Australia/Hobart"}, + "MEL": {"Melbourne International Airport", "Melbourne", "Australia", "MEL", "YMML", -37.673301696777344, 144.84300231933594, 434, 10, "O", "Australia/Hobart"}, + "ADL": {"Adelaide International Airport", "Adelaide", "Australia", "ADL", "YPAD", -34.94499969482422, 138.531005859375, 20, 9.5, "O", "Australia/Adelaide"}, + "JAD": {"Perth Jandakot Airport", "Perth", "Australia", "JAD", "YPJT", -32.09749984741211, 115.88099670410156, 99, 8, "O", "Australia/Perth"}, + "KTA": {"Karratha Airport", "Karratha", "Australia", "KTA", "YPKA", -20.712200164799995, 116.773002625, 29, 8, "O", "Australia/Perth"}, + "KGI": {"Kalgoorlie Boulder Airport", "Kalgoorlie", "Australia", "KGI", "YPKG", -30.789400100699996, 121.461997986, 1203, 8, "O", "Australia/Perth"}, + "KNX": {"Kununurra Airport", "Kununurra", "Australia", "KNX", "YPKU", -15.7781000137, 128.707992554, 145, 8, "O", "Australia/Perth"}, + "LEA": {"Learmonth Airport", "Learmonth", "Australia", "LEA", "YPLM", -22.235599517799997, 114.088996887, 19, 8, "O", "Australia/Perth"}, + "PHE": {"Port Hedland International Airport", "Port Hedland", "Australia", "PHE", "YPPD", -20.3777999878, 118.625999451, 33, 8, "O", "Australia/Perth"}, + "PER": {"Perth International Airport", "Perth", "Australia", "PER", "YPPH", -31.94029998779297, 115.96700286865234, 67, 8, "N", "Australia/Perth"}, + "UMR": {"Woomera Airfield", "Woomera", "Australia", "UMR", "YPWR", -31.14419937133789, 136.81700134277344, 548, 9.5, "O", "Australia/Adelaide"}, + "XCH": {"Christmas Island Airport", "Christmas Island", "Christmas Island", "XCH", "YPXM", -10.450599670410156, 105.69000244140625, 916, 7, "U", "Indian/Christmas"}, + "BWU": {"Sydney Bankstown Airport", "Sydney", "Australia", "BWU", "YSBK", -33.924400329589844, 150.98800659179688, 29, 10, "O", "Australia/Sydney"}, + "CBR": {"Canberra International Airport", "Canberra", "Australia", "CBR", "YSCB", -35.30690002441406, 149.19500732421875, 1886, 10, "O", "Australia/Sydney"}, + "CFS": {"Coffs Harbour Airport", "Coff's Harbour", "Australia", "CFS", "YSCH", -30.3206005096, 153.115997314, 18, 10, "O", "Australia/Sydney"}, + "CDU": {"Camden Airport", "Camden", "Australia", "CDU", "YSCN", -34.04029846191406, 150.68699645996094, 230, 10, "O", "Australia/Sydney"}, + "DBO": {"Dubbo City Regional Airport", "Dubbo", "Australia", "DBO", "YSDU", -32.2167015076, 148.574996948, 935, 10, "O", "Australia/Sydney"}, + "NLK": {"Norfolk Island International Airport", "Norfolk Island", "Norfolk Island", "NLK", "YSNF", -29.04159927368164, 167.93899536132812, 371, 11, "U", "Pacific/Norfolk"}, + "SYD": {"Sydney Kingsford Smith International Airport", "Sydney", "Australia", "SYD", "YSSY", -33.94609832763672, 151.177001953125, 21, 10, "O", "Australia/Sydney"}, + "TMW": {"Tamworth Airport", "Tamworth", "Australia", "TMW", "YSTW", -31.0839004517, 150.847000122, 1334, 10, "O", "Australia/Sydney"}, + "WGA": {"Wagga Wagga City Airport", "Wagga Wagga", "Australia", "WGA", "YSWG", -35.1652984619, 147.466003418, 724, 10, "O", "Australia/Sydney"}, + "PEK": {"Beijing Capital International Airport", "Beijing", "China", "PEK", "ZBAA", 40.080101013183594, 116.58499908447266, 116, 8, "U", "Asia/Shanghai"}, + "HLD": {"Dongshan Airport", "Hailar", "China", "HLD", "ZBLA", 49.2050018311, 119.824996948, 2169, 8, "U", "Asia/Shanghai"}, + "TSN": {"Tianjin Binhai International Airport", "Tianjin", "China", "TSN", "ZBTJ", 39.124401092499994, 117.346000671, 10, 8, "U", "Asia/Shanghai"}, + "TYN": {"Taiyuan Wusu Airport", "Taiyuan", "China", "TYN", "ZBYN", 37.74689865112305, 112.62799835205078, 2575, 8, "U", "Asia/Shanghai"}, + "CAN": {"Guangzhou Baiyun International Airport", "Guangzhou", "China", "CAN", "ZGGG", 23.39240074157715, 113.29900360107422, 50, 8, "U", "Asia/Shanghai"}, + "CSX": {"Changsha Huanghua International Airport", "Changcha", "China", "CSX", "ZGHA", 28.189199447599997, 113.220001221, 217, 8, "U", "Asia/Shanghai"}, + "KWL": {"Guilin Liangjiang International Airport", "Guilin", "China", "KWL", "ZGKL", 25.21809959411621, 110.03900146484375, 570, 8, "U", "Asia/Shanghai"}, + "NNG": {"Nanning Wuxu Airport", "Nanning", "China", "NNG", "ZGNN", 22.608299255371094, 108.1719970703125, 421, 8, "U", "Asia/Shanghai"}, + "SZX": {"Shenzhen Bao'an International Airport", "Shenzhen", "China", "SZX", "ZGSZ", 22.639299392700195, 113.81099700927734, 13, 8, "U", "Asia/Shanghai"}, + "CGO": {"Zhengzhou Xinzheng International Airport", "Zhengzhou", "China", "CGO", "ZHCC", 34.519699096699995, 113.841003418, 495, 8, "U", "Asia/Shanghai"}, + "WUH": {"Wuhan Tianhe International Airport", "Wuhan", "China", "WUH", "ZHHH", 30.78380012512207, 114.20800018310547, 113, 8, "U", "Asia/Shanghai"}, + "FNJ": {"Pyongyang Sunan International Airport", "Pyongyang", "North Korea", "FNJ", "ZKPY", 39.224098, 125.669998, 117, 8.5, "U", "Asia/Pyongyang"}, + "LHW": {"Lanzhou Zhongchuan Airport", "Lanzhou", "China", "LHW", "ZLLL", 36.5152015686, 103.620002747, 6388, 8, "U", "Asia/Shanghai"}, + "XIY": {"Xi'an Xianyang International Airport", "Xi'an", "China", "XIY", "ZLXY", 34.44710159301758, 108.75199890136719, 1572, 8, "U", "Asia/Shanghai"}, + "ULN": {"Chinggis Khaan International Airport", "Ulan Bator", "Mongolia", "ULN", "ZMUB", 47.843101501464844, 106.76699829101562, 4364, 8, "U", "Asia/Ulaanbaatar"}, + "JHG": {"Xishuangbanna Gasa Airport", "Jinghonggasa", "China", "JHG", "ZPJH", 21.973899841308594, 100.76000213623047, 1815, 8, "U", "Asia/Shanghai"}, + "KMG": {"Kunming Changshui International Airport", "Kunming", "China", "KMG", "ZPPP", 25.1019444, 102.9291667, 6903, 8, "N", "Asia/Shanghai"}, + "XMN": {"Xiamen Gaoqi International Airport", "Xiamen", "China", "XMN", "ZSAM", 24.54400062561035, 118.12799835205078, 59, 8, "U", "Asia/Shanghai"}, + "KHN": {"Nanchang Changbei International Airport", "Nanchang", "China", "KHN", "ZSCN", 28.864999771118164, 115.9000015258789, 143, 8, "U", "Asia/Shanghai"}, + "FOC": {"Fuzhou Changle International Airport", "Fuzhou", "China", "FOC", "ZSFZ", 25.935100555419922, 119.66300201416016, 46, 8, "U", "Asia/Shanghai"}, + "HGH": {"Hangzhou Xiaoshan International Airport", "Hangzhou", "China", "HGH", "ZSHC", 30.22949981689453, 120.43399810791016, 23, 8, "U", "Asia/Shanghai"}, + "NGB": {"Ningbo Lishe International Airport", "Ninbo", "China", "NGB", "ZSNB", 29.82670021057129, 121.46199798583984, 13, 8, "U", "Asia/Shanghai"}, + "NKG": {"Nanjing Lukou Airport", "Nanjing", "China", "NKG", "ZSNJ", 31.742000579833984, 118.86199951171875, 49, 8, "U", "Asia/Shanghai"}, + "HFE": {"Hefei Luogang International Airport", "Hefei", "China", "HFE", "ZSOF", 31.780000686645508, 117.2979965209961, 108, 8, "U", "Asia/Shanghai"}, + "TAO": {"Liuting Airport", "Qingdao", "China", "TAO", "ZSQD", 36.2661018372, 120.374000549, 33, 8, "U", "Asia/Shanghai"}, + "SHA": {"Shanghai Hongqiao International Airport", "Shanghai", "China", "SHA", "ZSSS", 31.197900772094727, 121.33599853515625, 10, 8, "U", "Asia/Shanghai"}, + "YNT": {"Yantai Laishan Airport", "Yantai", "China", "YNT", "ZSYT", 37.40169906616211, 121.37200164794922, 59, 8, "U", "Asia/Shanghai"}, + "CKG": {"Chongqing Jiangbei International Airport", "Chongqing", "China", "CKG", "ZUCK", 29.719200134277344, 106.64199829101562, 1365, 8, "U", "Asia/Shanghai"}, + "KWE": {"Longdongbao Airport", "Guiyang", "China", "KWE", "ZUGY", 26.53849983215332, 106.8010025024414, 3736, 8, "U", "Asia/Shanghai"}, + "CTU": {"Chengdu Shuangliu International Airport", "Chengdu", "China", "CTU", "ZUUU", 30.578500747680664, 103.9469985961914, 1625, 8, "U", "Asia/Shanghai"}, + "XIC": {"Xichang Qingshan Airport", "Xichang", "China", "XIC", "ZUXC", 27.989099502563477, 102.18399810791016, 5112, 8, "U", "Asia/Shanghai"}, + "KHG": {"Kashgar Airport", "Kashi", "China", "KHG", "ZWSH", 39.5429000854, 76.0199966431, 4529, 8, "U", "Asia/Shanghai"}, + "HTN": {"Hotan Airport", "Hotan", "China", "HTN", "ZWTN", 37.03850173950195, 79.86489868164062, 4672, 8, "U", "Asia/Shanghai"}, + "URC": {"Ürümqi Diwopu International Airport", "Urumqi", "China", "URC", "ZWWW", 43.907100677490234, 87.47419738769531, 2125, 8, "U", "Asia/Shanghai"}, + "HRB": {"Taiping Airport", "Harbin", "China", "HRB", "ZYHB", 45.6234016418457, 126.25, 457, 8, "U", "Asia/Shanghai"}, + "MDG": {"Mudanjiang Hailang International Airport", "Mudanjiang", "China", "MDG", "ZYMD", 44.5241012573, 129.569000244, 883, 8, "U", "Asia/Shanghai"}, + "DLC": {"Zhoushuizi Airport", "Dalian", "China", "DLC", "ZYTL", 38.9656982421875, 121.53900146484375, 107, 8, "U", "Asia/Shanghai"}, + "PVG": {"Shanghai Pudong International Airport", "Shanghai", "China", "PVG", "ZSPD", 31.143400192260742, 121.80500030517578, 13, 8, "U", "Asia/Shanghai"}, + "TOD": {"Pulau Tioman Airport", "Tioman", "Malaysia", "TOD", "WMBT", 2.8181800842285156, 104.16000366210938, 15, 8, "N", "Asia/Kuala_Lumpur"}, + "SZB": {"Sultan Abdul Aziz Shah International Airport", "Kuala Lumpur", "Malaysia", "SZB", "WMSA", 3.130579948425293, 101.54900360107422, 90, 8, "N", "Asia/Kuala_Lumpur"}, + "NTQ": {"Noto Airport", "Wajima", "Japan", "NTQ", "RJNW", 37.2930984497, 136.962005615, 718, 9, "U", "Asia/Tokyo"}, + "HBE": {"Borg El Arab International Airport", "Alexandria", "Egypt", "HBE", "HEBA", 30.917699813842773, 29.696399688720703, 177, 2, "U", "Africa/Cairo"}, + "BTI": {"Barter Island LRRS Airport", "Barter Island", "United States", "BTI", "PABA", 70.1340026855, -143.582000732, 2, -9, "A", "America/Anchorage"}, + "LUR": {"Cape Lisburne LRRS Airport", "Cape Lisburne", "United States", "LUR", "PALU", 68.87509918, -166.1100006, 16, -9, "A", "America/Anchorage"}, + "PIZ": {"Point Lay LRRS Airport", "Point Lay", "United States", "PIZ", "PPIZ", 69.73290253, -163.0050049, 22, -9, "A", "America/Anchorage"}, + "ITO": {"Hilo International Airport", "Hilo", "United States", "ITO", "PHTO", 19.721399307250977, -155.04800415039062, 38, -10, "N", "Pacific/Honolulu"}, + "ORL": {"Orlando Executive Airport", "Orlando", "United States", "ORL", "KORL", 28.545499801636, -81.332901000977, 113, -5, "A", "America/New_York"}, + "BTT": {"Bettles Airport", "Bettles", "United States", "BTT", "PABT", 66.91390228, -151.529007, 647, -9, "A", "America/Anchorage"}, + "Z84": {"Clear Airport", "Clear Mews", "United States", "Z84", "PACL", 64.301201, -149.119995, 552, -9, "A", "America/Anchorage"}, + "UTO": {"Indian Mountain LRRS Airport", "Indian Mountains", "United States", "UTO", "PAIM", 65.99279785, -153.7039948, 1273, -9, "A", "America/Anchorage"}, + "FYU": {"Fort Yukon Airport", "Fort Yukon", "United States", "FYU", "PFYU", 66.57150268554688, -145.25, 433, -9, "A", "America/Anchorage"}, + "SVW": {"Sparrevohn LRRS Airport", "Sparrevohn", "United States", "SVW", "PASV", 61.09740067, -155.5740051, 1585, -9, "A", "America/Anchorage"}, + "FRN": {"Bryant Army Heliport", "Fort Richardson", "United States", "FRN", "PAFR", 61.26639938, -149.6529999, 378, -9, "A", "America/Anchorage"}, + "TLJ": {"Tatalina LRRS Airport", "Tatalina", "United States", "TLJ", "PATL", 62.894401550299996, -155.977005005, 964, -9, "A", "America/Anchorage"}, + "CZF": {"Cape Romanzof LRRS Airport", "Cape Romanzof", "United States", "CZF", "PACZ", 61.78030014, -166.0390015, 464, -9, "A", "America/Anchorage"}, + "BED": {"Laurence G Hanscom Field", "Bedford", "United States", "BED", "KBED", 42.47000122, -71.28900146, 133, -5, "A", "America/New_York"}, + "SNP": {"St Paul Island Airport", "St. Paul Island", "United States", "SNP", "PASN", 57.167301177978516, -170.22000122070312, 63, -9, "A", "America/Anchorage"}, + "EHM": {"Cape Newenham LRRS Airport", "Cape Newenham", "United States", "EHM", "PAEH", 58.646400451699996, -162.06300354, 541, -9, "A", "America/Anchorage"}, + "STG": {"St George Airport", "Point Barrow", "United States", "STG", "PAPB", 56.578300476100004, -169.662002563, 125, -9, "A", "America/Anchorage"}, + "ILI": {"Iliamna Airport", "Iliamna", "United States", "ILI", "PAIL", 59.75439835, -154.9109955, 192, -9, "A", "America/Anchorage"}, + "PTU": {"Platinum Airport", "Port Moller", "United States", "PTU", "PAPM", 59.01139831542969, -161.82000732421875, 15, -9, "A", "America/Anchorage"}, + "BMX": {"Big Mountain Airport", "Big Mountain", "United States", "BMX", "PABM", 59.3611984253, -155.259002686, 663, -9, "A", "America/Anchorage"}, + "OSC": {"Oscoda Wurtsmith Airport", "Oscoda", "United States", "OSC", "KOSC", 44.45159912, -83.39409637, 633, -5, "A", "America/New_York"}, + "OAR": {"Marina Municipal Airport", "Fort Ord", "United States", "OAR", "KOAR", 36.68190002, -121.762001, 137, -8, "A", "America/Los_Angeles"}, + "MHR": {"Sacramento Mather Airport", "Sacramento", "United States", "MHR", "KMHR", 38.55390167, -121.2979965, 98, -8, "A", "America/Los_Angeles"}, + "BYS": {"Bicycle Lake Army Air Field", "Fort Irwin", "United States", "BYS", "KBYS", 35.2804985046, -116.629997253, 2350, -8, "A", "America/Los_Angeles"}, + "NXP": {"Twentynine Palms (Self) Airport", "Twenty Nine Palms", "United States", "NXP", "KNXP", 34.2961998, -116.1620026, 2051, -8, "A", "America/Los_Angeles"}, + "FSM": {"Fort Smith Regional Airport", "Fort Smith", "United States", "FSM", "KFSM", 35.33660125732422, -94.36740112304688, 469, -6, "A", "America/Chicago"}, + "MRI": {"Merrill Field", "Anchorage", "United States", "MRI", "PAMR", 61.2135009765625, -149.843994140625, 137, -9, "A", "America/Anchorage"}, + "GNT": {"Grants-Milan Municipal Airport", "Grants", "United States", "GNT", "KGNT", 35.167301178, -107.902000427, 6537, -7, "A", "America/Denver"}, + "PNC": {"Ponca City Regional Airport", "Ponca City", "United States", "PNC", "KPNC", 36.73199844, -97.09980011, 1008, -6, "A", "America/Chicago"}, + "SVN": {"Hunter Army Air Field", "Hunter Aaf", "United States", "SVN", "KSVN", 32.00999832, -81.14569855, 41, -5, "A", "America/New_York"}, + "GFK": {"Grand Forks International Airport", "Grand Forks", "United States", "GFK", "KGFK", 47.949299, -97.176102, 845, -6, "A", "America/Chicago"}, + "PBF": {"Grider Field", "Pine Bluff", "United States", "PBF", "KPBF", 34.1730995178, -91.9356002808, 206, -6, "A", "America/Chicago"}, + "NSE": {"Whiting Field Naval Air Station - North", "Milton", "United States", "NSE", "KNSE", 30.7241993, -87.02189636, 199, -6, "A", "America/Chicago"}, + "HNM": {"Hana Airport", "Hana", "United States", "HNM", "PHHN", 20.79560089111328, -156.01400756835938, 78, -10, "A", "Pacific/Honolulu"}, + "PRC": {"Ernest A. Love Field", "Prescott", "United States", "PRC", "KPRC", 34.65449905, -112.4199982, 5045, -7, "A", "America/Phoenix"}, + "TTN": {"Trenton Mercer Airport", "Trenton", "United States", "TTN", "KTTN", 40.27669906616211, -74.8134994506836, 213, -5, "A", "America/New_York"}, + "BOS": {"General Edward Lawrence Logan International Airport", "Boston", "United States", "BOS", "KBOS", 42.36429977, -71.00520325, 20, -5, "A", "America/New_York"}, + "SUU": {"Travis Air Force Base", "Fairfield", "United States", "SUU", "KSUU", 38.262699127197, -121.92700195312, 62, -8, "A", "America/Los_Angeles"}, + "RME": {"Griffiss International Airport", "Rome", "United States", "RME", "KRME", 43.23379898, -75.40699768, 504, -5, "A", "America/New_York"}, + "ENV": {"Wendover Airport", "Wendover", "United States", "ENV", "KENV", 40.7187004089, -114.03099823, 4237, -7, "A", "America/Denver"}, + "BFM": {"Mobile Downtown Airport", "Mobile", "United States", "BFM", "KBFM", 30.626800537100003, -88.06809997559999, 26, -6, "A", "America/Chicago"}, + "OAK": {"Metropolitan Oakland International Airport", "Oakland", "United States", "OAK", "KOAK", 37.72129821777344, -122.22100067138672, 9, -8, "A", "America/Los_Angeles"}, + "OMA": {"Eppley Airfield", "Omaha", "United States", "OMA", "KOMA", 41.303199768066406, -95.89409637451172, 984, -6, "A", "America/Chicago"}, + "NOW": {"Port Angeles Cgas Airport", "Port Angeles", "United States", "NOW", "KNOW", 48.14149856567383, -123.41400146484375, 13, -8, "A", "America/Los_Angeles"}, + "OGG": {"Kahului Airport", "Kahului", "United States", "OGG", "PHOG", 20.89859962463379, -156.42999267578125, 54, -10, "N", "Pacific/Honolulu"}, + "ICT": {"Wichita Mid Continent Airport", "Wichita", "United States", "ICT", "KICT", 37.649898529052734, -97.43309783935547, 1333, -6, "A", "America/Chicago"}, + "MCI": {"Kansas City International Airport", "Kansas City", "United States", "MCI", "KMCI", 39.2976, -94.713898, 1026, -6, "A", "America/Chicago"}, + "MSN": {"Dane County Regional Truax Field", "Madison", "United States", "MSN", "KMSN", 43.13990020751953, -89.3375015258789, 887, -6, "A", "America/Chicago"}, + "DLG": {"Dillingham Airport", "Dillingham", "United States", "DLG", "PADL", 59.04470062, -158.5050049, 81, -9, "A", "America/Anchorage"}, + "HRO": {"Boone County Airport", "Harrison", "United States", "HRO", "KHRO", 36.26150131225586, -93.15470123291016, 1365, -6, "A", "America/Chicago"}, + "PHX": {"Phoenix Sky Harbor International Airport", "Phoenix", "United States", "PHX", "KPHX", 33.43429946899414, -112.01200103759766, 1135, -7, "N", "America/Phoenix"}, + "BGR": {"Bangor International Airport", "Bangor", "United States", "BGR", "KBGR", 44.80739974975586, -68.8281021118164, 192, -5, "A", "America/New_York"}, + "FXE": {"Fort Lauderdale Executive Airport", "Fort Lauderdale", "United States", "FXE", "KFXE", 26.1972999573, -80.1707000732, 13, -5, "A", "America/New_York"}, + "GGG": {"East Texas Regional Airport", "Longview", "United States", "GGG", "KGGG", 32.38399887084961, -94.71150207519531, 365, -6, "A", "America/Chicago"}, + "AND": {"Anderson Regional Airport", "Andersen", "United States", "AND", "KAND", 34.4945983887, -82.70939636230001, 782, -5, "A", "America/New_York"}, + "GEG": {"Spokane International Airport", "Spokane", "United States", "GEG", "KGEG", 47.61989974975586, -117.53399658203125, 2376, -8, "A", "America/Los_Angeles"}, + "HWO": {"North Perry Airport", "Hollywood", "United States", "HWO", "KHWO", 26.001199722299997, -80.24069976810001, 8, -5, "A", "America/New_York"}, + "SFO": {"San Francisco International Airport", "San Francisco", "United States", "SFO", "KSFO", 37.61899948120117, -122.375, 13, -8, "A", "America/Los_Angeles"}, + "CTB": {"Cut Bank International Airport", "Cutbank", "United States", "CTB", "KCTB", 48.6083984375, -112.375999451, 3854, -7, "A", "America/Denver"}, + "ARA": {"Acadiana Regional Airport", "Louisiana", "United States", "ARA", "KARA", 30.0378, -91.883904, 24, -6, "A", "America/Chicago"}, + "GNV": {"Gainesville Regional Airport", "Gainesville", "United States", "GNV", "KGNV", 29.6900997162, -82.2717971802, 152, -5, "A", "America/New_York"}, + "MEM": {"Memphis International Airport", "Memphis", "United States", "MEM", "KMEM", 35.04240036010742, -89.97669982910156, 341, -6, "A", "America/Chicago"}, + "DUG": {"Bisbee Douglas International Airport", "Douglas", "United States", "DUG", "KDUG", 31.4689998627, -109.603996277, 4154, -7, "A", "America/Phoenix"}, + "BIG": {"Allen Army Airfield", "Delta Junction", "United States", "BIG", "PABI", 63.9944992065, -145.722000122, 1291, -9, "A", "America/Anchorage"}, + "CNW": {"TSTC Waco Airport", "Waco", "United States", "CNW", "KCNW", 31.637800216699997, -97.0740966797, 470, -6, "A", "America/Chicago"}, + "ANN": {"Annette Island Airport", "Annette Island", "United States", "ANN", "PANT", 55.04240036010742, -131.57200622558594, 119, -9, "A", "America/Anchorage"}, + "CAR": {"Caribou Municipal Airport", "Caribou", "United States", "CAR", "KCAR", 46.871498107899995, -68.0178985596, 626, -5, "A", "America/New_York"}, + "LRF": {"Little Rock Air Force Base", "Jacksonville", "United States", "LRF", "KLRF", 34.916900634799994, -92.14969635010002, 311, -6, "A", "America/Chicago"}, + "HUA": {"Redstone Army Air Field", "Redstone", "United States", "HUA", "KHUA", 34.67869949, -86.68479919, 684, -6, "A", "America/Chicago"}, + "POB": {"Pope Field", "Fort Bragg", "United States", "POB", "KPOB", 35.1708984375, -79.014503479004, 217, -5, "A", "America/New_York"}, + "DHT": {"Dalhart Municipal Airport", "Dalhart", "United States", "DHT", "KDHT", 36.0225982666, -102.54699707, 3991, -6, "A", "America/Chicago"}, + "DLF": {"Laughlin Air Force Base", "Del Rio", "United States", "DLF", "KDLF", 29.359500885, -100.777999878, 1082, -6, "A", "America/Chicago"}, + "LAX": {"Los Angeles International Airport", "Los Angeles", "United States", "LAX", "KLAX", 33.94250107, -118.4079971, 125, -8, "A", "America/Los_Angeles"}, + "ANB": {"Anniston Metropolitan Airport", "Anniston", "United States", "ANB", "KANB", 33.58819962, -85.85810089, 612, -6, "A", "America/Chicago"}, + "CLE": {"Cleveland Hopkins International Airport", "Cleveland", "United States", "CLE", "KCLE", 41.4117012024, -81.8498001099, 791, -5, "A", "America/New_York"}, + "DOV": {"Dover Air Force Base", "Dover", "United States", "DOV", "KDOV", 39.12950134, -75.46600342, 24, -5, "A", "America/New_York"}, + "CVG": {"Cincinnati Northern Kentucky International Airport", "Cincinnati", "United States", "CVG", "KCVG", 39.0488014221, -84.6678009033, 896, -5, "A", "America/New_York"}, + "FME": {"Tipton Airport", "Fort Meade", "United States", "FME", "KFME", 39.08539962769999, -76.7593994141, 150, -5, "A", "America/New_York"}, + "NID": {"China Lake Naws (Armitage Field) Airport", "China Lake", "United States", "NID", "KNID", 35.6853981, -117.6920013, 2283, -8, "A", "America/Los_Angeles"}, + "HON": {"Huron Regional Airport", "Huron", "United States", "HON", "KHON", 44.38520050048828, -98.22850036621094, 1289, -6, "A", "America/Chicago"}, + "JNU": {"Juneau International Airport", "Juneau", "United States", "JNU", "PAJN", 58.35499954223633, -134.5760040283203, 21, -9, "A", "America/Anchorage"}, + "LFT": {"Lafayette Regional Airport", "Lafayette", "United States", "LFT", "KLFT", 30.20529938, -91.98760223, 42, -6, "A", "America/Chicago"}, + "EWR": {"Newark Liberty International Airport", "Newark", "United States", "EWR", "KEWR", 40.692501068115234, -74.168701171875, 18, -5, "A", "America/New_York"}, + "BOI": {"Boise Air Terminal/Gowen field", "Boise", "United States", "BOI", "KBOI", 43.56439972, -116.2229996, 2871, -7, "A", "America/Denver"}, + "INS": {"Creech Air Force Base", "Indian Springs", "United States", "INS", "KINS", 36.587200164799995, -115.672996521, 3133, -8, "A", "America/Los_Angeles"}, + "GCK": {"Garden City Regional Airport", "Garden City", "United States", "GCK", "KGCK", 37.9275016785, -100.723999023, 2891, -6, "A", "America/Chicago"}, + "MOT": {"Minot International Airport", "Minot", "United States", "MOT", "KMOT", 48.2593994140625, -101.27999877929688, 1716, -6, "A", "America/Chicago"}, + "HHI": {"Wheeler Army Airfield", "Wahiawa", "United States", "HHI", "PHHI", 21.48349953, -158.0399933, 837, -10, "A", "Pacific/Honolulu"}, + "MXF": {"Maxwell Air Force Base", "Montgomery", "United States", "MXF", "KMXF", 32.38290023803711, -86.36579895019531, 171, -6, "A", "America/Chicago"}, + "DAL": {"Dallas Love Field", "Dallas", "United States", "DAL", "KDAL", 32.84709930419922, -96.85179901123047, 487, -6, "A", "America/Chicago"}, + "FCS": {"Butts AAF (Fort Carson) Air Field", "Fort Carson", "United States", "FCS", "KFCS", 38.67839813, -104.7570038, 5838, -7, "A", "America/Denver"}, + "HLN": {"Helena Regional Airport", "Helena", "United States", "HLN", "KHLN", 46.6068000793457, -111.98300170898438, 3877, -7, "A", "America/Denver"}, + "NKX": {"Miramar Marine Corps Air Station - Mitscher Field", "Miramar", "United States", "NKX", "KNKX", 32.86840057, -117.1429977, 477, -8, "A", "America/Los_Angeles"}, + "LUF": {"Luke Air Force Base", "Phoenix", "United States", "LUF", "KLUF", 33.534999847399995, -112.383003235, 1085, -7, "A", "America/Phoenix"}, + "HHR": {"Jack Northrop Field Hawthorne Municipal Airport", "Hawthorne", "United States", "HHR", "KHHR", 33.922798, -118.334999, 66, -8, "A", "America/Los_Angeles"}, + "HUL": {"Houlton International Airport", "Houlton", "United States", "HUL", "KHUL", 46.1231002808, -67.792098999, 489, -5, "A", "America/New_York"}, + "END": {"Vance Air Force Base", "Enid", "United States", "END", "KEND", 36.339199066199996, -97.9164962769, 1307, -6, "A", "America/Chicago"}, + "NTD": {"Point Mugu Naval Air Station (Naval Base Ventura Co)", "Point Mugu", "United States", "NTD", "KNTD", 34.120300293, -119.121002197, 13, -8, "A", "America/Los_Angeles"}, + "EDW": {"Edwards Air Force Base", "Edwards Afb", "United States", "EDW", "KEDW", 34.905399, -117.884003, 2312, -8, "A", "America/Los_Angeles"}, + "LCH": {"Lake Charles Regional Airport", "Lake Charles", "United States", "LCH", "KLCH", 30.126100540161133, -93.22329711914062, 15, -6, "A", "America/Chicago"}, + "KOA": {"Kona International At Keahole Airport", "Kona", "United States", "KOA", "PHKO", 19.738800048828125, -156.04600524902344, 47, -10, "N", "Pacific/Honolulu"}, + "MYR": {"Myrtle Beach International Airport", "Myrtle Beach", "United States", "MYR", "KMYR", 33.6796989441, -78.9282989502, 25, -5, "A", "America/New_York"}, + "NLC": {"Lemoore Naval Air Station (Reeves Field) Airport", "Lemoore", "United States", "NLC", "KNLC", 36.33300018, -119.9520035, 232, -8, "A", "America/Los_Angeles"}, + "ACK": {"Nantucket Memorial Airport", "Nantucket", "United States", "ACK", "KACK", 41.25310135, -70.06020355, 47, -5, "A", "America/New_York"}, + "FAF": {"Felker Army Air Field", "Fort Eustis", "United States", "FAF", "KFAF", 37.132499694799996, -76.60880279540001, 12, -5, "A", "America/New_York"}, + "HOP": {"Campbell AAF (Fort Campbell) Air Field", "Hopkinsville", "United States", "HOP", "KHOP", 36.668598175, -87.49620056150002, 573, -6, "A", "America/Chicago"}, + "DCA": {"Ronald Reagan Washington National Airport", "Washington", "United States", "DCA", "KDCA", 38.8521, -77.037697, 15, -5, "A", "America/New_York"}, + "NHK": {"Patuxent River Naval Air Station/Trapnell Field Aiport", "Patuxent River", "United States", "NHK", "KNHK", 38.2859993, -76.41179657, 39, -5, "A", "America/New_York"}, + "PSX": {"Palacios Municipal Airport", "Palacios", "United States", "PSX", "KPSX", 28.727500915527, -96.250999450684, 14, -6, "A", "America/Chicago"}, + "BYH": {"Arkansas International Airport", "Blytheville", "United States", "BYH", "KBYH", 35.9642982483, -89.94400024410001, 254, -6, "A", "America/Chicago"}, + "ACY": {"Atlantic City International Airport", "Atlantic City", "United States", "ACY", "KACY", 39.45759963989258, -74.57720184326172, 75, -5, "A", "America/New_York"}, + "TIK": {"Tinker Air Force Base", "Oklahoma City", "United States", "TIK", "KTIK", 35.414699554443, -97.386596679688, 1291, -6, "A", "America/Chicago"}, + "PUB": {"Pueblo Memorial Airport", "Pueblo", "United States", "PUB", "KPUB", 38.289100646972656, -104.49700164794922, 4726, -7, "A", "America/Denver"}, + "PQI": {"Northern Maine Regional Airport at Presque Isle", "Presque Isle", "United States", "PQI", "KPQI", 46.68899918, -68.0447998, 534, -5, "A", "America/New_York"}, + "GRF": {"Gray Army Air Field", "Fort Lewis", "United States", "GRF", "KGRF", 47.07920074, -122.5810013, 300, -8, "A", "America/Los_Angeles"}, + "ADQ": {"Kodiak Airport", "Kodiak", "United States", "ADQ", "PADQ", 57.75, -152.4940033, 78, -9, "A", "America/Anchorage"}, + "UPP": {"Upolu Airport", "Opolu", "United States", "UPP", "PHUP", 20.265300750732422, -155.86000061035156, 96, -10, "A", "Pacific/Honolulu"}, + "FLL": {"Fort Lauderdale Hollywood International Airport", "Fort Lauderdale", "United States", "FLL", "KFLL", 26.072599411010742, -80.15270233154297, 9, -5, "A", "America/New_York"}, + "MKO": {"Davis Field", "Muskogee", "United States", "MKO", "KMKO", 35.65650177, -95.36669922, 611, -6, "A", "America/Chicago"}, + "INL": {"Falls International Airport", "International Falls", "United States", "INL", "KINL", 48.566200256347656, -93.4030990600586, 1185, -6, "A", "America/Chicago"}, + "SLC": {"Salt Lake City International Airport", "Salt Lake City", "United States", "SLC", "KSLC", 40.78839874267578, -111.97799682617188, 4227, -7, "A", "America/Denver"}, + "CDS": {"Childress Municipal Airport", "Childress", "United States", "CDS", "KCDS", 34.4337997437, -100.288002014, 1954, -6, "A", "America/Chicago"}, + "BIX": {"Keesler Air Force Base", "Biloxi", "United States", "BIX", "KBIX", 30.4104003906, -88.92440032959999, 33, -6, "A", "America/Chicago"}, + "LSF": {"Lawson Army Air Field (Fort Benning)", "Fort Benning", "United States", "LSF", "KLSF", 32.337299346900004, -84.9913024902, 232, -5, "A", "America/New_York"}, + "FRI": {"Marshall Army Air Field", "Fort Riley", "United States", "FRI", "KFRI", 39.05530167, -96.76450348, 1065, -6, "A", "America/Chicago"}, + "MDT": {"Harrisburg International Airport", "Harrisburg", "United States", "MDT", "KMDT", 40.1935005188, -76.7633972168, 310, -5, "A", "America/New_York"}, + "LNK": {"Lincoln Airport", "Lincoln", "United States", "LNK", "KLNK", 40.85100173950195, -96.75920104980469, 1219, -6, "A", "America/Chicago"}, + "LAN": {"Capital City Airport", "Lansing", "United States", "LAN", "KLAN", 42.77870178222656, -84.58740234375, 861, -5, "A", "America/New_York"}, + "MUE": {"Waimea Kohala Airport", "Kamuela", "United States", "MUE", "PHMU", 20.001300811767578, -155.66799926757812, 2671, -10, "A", "Pacific/Honolulu"}, + "MSS": {"Massena International Richards Field", "Massena", "United States", "MSS", "KMSS", 44.93579864501953, -74.84559631347656, 215, -5, "A", "America/New_York"}, + "HKY": {"Hickory Regional Airport", "Hickory", "United States", "HKY", "KHKY", 35.74110031, -81.38950348, 1190, -5, "A", "America/New_York"}, + "SPG": {"Albert Whitted Airport", "St. Petersburg", "United States", "SPG", "KSPG", 27.765100479125977, -82.62699890136719, 7, -5, "A", "America/New_York"}, + "FMY": {"Page Field", "Fort Myers", "United States", "FMY", "KFMY", 26.58659935, -81.86329650879999, 17, -5, "A", "America/New_York"}, + "IAH": {"George Bush Intercontinental Houston Airport", "Houston", "United States", "IAH", "KIAH", 29.984399795532227, -95.34140014648438, 97, -6, "A", "America/Chicago"}, + "MLT": {"Millinocket Municipal Airport", "Millinocket", "United States", "MLT", "KMLT", 45.64780044555664, -68.68560028076172, 408, -5, "A", "America/New_York"}, + "ADW": {"Andrews Air Force Base", "Camp Springs", "United States", "ADW", "KADW", 38.810798645, -76.86699676510001, 280, -5, "A", "America/New_York"}, + "INT": {"Smith Reynolds Airport", "Winston-salem", "United States", "INT", "KINT", 36.13370132446289, -80.22200012207031, 969, -5, "A", "America/New_York"}, + "VCV": {"Southern California Logistics Airport", "Victorville", "United States", "VCV", "KVCV", 34.597499847399995, -117.383003235, 2885, -8, "A", "America/Los_Angeles"}, + "CEW": {"Bob Sikes Airport", "Crestview", "United States", "CEW", "KCEW", 30.778799057, -86.522102356, 213, -6, "A", "America/Chicago"}, + "GTB": {"Wheeler Sack Army Air Field", "Fort Drum", "United States", "GTB", "KGTB", 44.05559921, -75.71949768, 688, -5, "A", "America/New_York"}, + "PHN": {"St Clair County International Airport", "Port Huron", "United States", "PHN", "KPHN", 42.9109993, -82.52890015, 650, -5, "A", "America/New_York"}, + "BFL": {"Meadows Field", "Bakersfield", "United States", "BFL", "KBFL", 35.43360138, -119.0569992, 510, -8, "A", "America/Los_Angeles"}, + "ELP": {"El Paso International Airport", "El Paso", "United States", "ELP", "KELP", 31.80719948, -106.3779984, 3959, -7, "A", "America/Denver"}, + "HRL": {"Valley International Airport", "Harlingen", "United States", "HRL", "KHRL", 26.228500366210938, -97.65440368652344, 36, -6, "A", "America/Chicago"}, + "CAE": {"Columbia Metropolitan Airport", "Columbia", "United States", "CAE", "KCAE", 33.93880081176758, -81.11949920654297, 236, -5, "A", "America/New_York"}, + "DMA": {"Davis Monthan Air Force Base", "Tucson", "United States", "DMA", "KDMA", 32.1665000916, -110.883003235, 2704, -7, "A", "America/Phoenix"}, + "NPA": {"Pensacola Naval Air Station/Forrest Sherman Field", "Pensacola", "United States", "NPA", "KNPA", 30.35269928, -87.31860352, 28, -6, "A", "America/Chicago"}, + "PNS": {"Pensacola Regional Airport", "Pensacola", "United States", "PNS", "KPNS", 30.473400115967, -87.186599731445, 121, -6, "A", "America/Chicago"}, + "RDR": {"Grand Forks Air Force Base", "Red River", "United States", "RDR", "KRDR", 47.961101532, -97.4011993408, 913, -6, "A", "America/Chicago"}, + "HOU": {"William P Hobby Airport", "Houston", "United States", "HOU", "KHOU", 29.64539909, -95.27890015, 46, -6, "A", "America/Chicago"}, + "BKF": {"Buckley Air Force Base", "Buckley", "United States", "BKF", "KBKF", 39.701698303200004, -104.751998901, 5662, -7, "A", "America/Denver"}, + "ORT": {"Northway Airport", "Northway", "United States", "ORT", "PAOR", 62.9612999, -141.9290009, 1715, -9, "A", "America/Anchorage"}, + "PAQ": {"Palmer Municipal Airport", "Palmer", "United States", "PAQ", "PAAQ", 61.59489822387695, -149.08900451660156, 242, -9, "A", "America/Anchorage"}, + "PIT": {"Pittsburgh International Airport", "Pittsburgh", "United States", "PIT", "KPIT", 40.49150085, -80.23290253, 1203, -5, "A", "America/New_York"}, + "BRW": {"Wiley Post Will Rogers Memorial Airport", "Barrow", "United States", "BRW", "PABR", 71.285402, -156.766008, 44, -9, "A", "America/Anchorage"}, + "EFD": {"Ellington Airport", "Houston", "United States", "EFD", "KEFD", 29.607299804700002, -95.1587982178, 32, -6, "A", "America/Chicago"}, + "NUW": {"Whidbey Island Naval Air Station /Ault Field/ Airport", "Whidbey Island", "United States", "NUW", "KNUW", 48.35179901, -122.6559982, 47, -8, "A", "America/Los_Angeles"}, + "ALI": {"Alice International Airport", "Alice", "United States", "ALI", "KALI", 27.740900039699998, -98.02690124510002, 178, -6, "A", "America/Chicago"}, + "VAD": {"Moody Air Force Base", "Valdosta", "United States", "VAD", "KVAD", 30.9678001404, -83.1930007935, 233, -5, "A", "America/New_York"}, + "MIA": {"Miami International Airport", "Miami", "United States", "MIA", "KMIA", 25.79319953918457, -80.29060363769531, 8, -5, "A", "America/New_York"}, + "SEA": {"Seattle Tacoma International Airport", "Seattle", "United States", "SEA", "KSEA", 47.44900131225586, -122.30899810791016, 433, -8, "A", "America/Los_Angeles"}, + "CHA": {"Lovell Field", "Chattanooga", "United States", "CHA", "KCHA", 35.035301208496094, -85.20379638671875, 683, -5, "A", "America/New_York"}, + "BDR": {"Igor I Sikorsky Memorial Airport", "Stratford", "United States", "BDR", "KBDR", 41.16350173950195, -73.1261978149414, 9, -5, "A", "America/New_York"}, + "JAN": {"Jackson-Medgar Wiley Evers International Airport", "Jackson", "United States", "JAN", "KJAN", 32.3111991882, -90.0758972168, 346, -6, "A", "America/Chicago"}, + "GLS": {"Scholes International At Galveston Airport", "Galveston", "United States", "GLS", "KGLS", 29.265300750732422, -94.86039733886719, 6, -6, "A", "America/Chicago"}, + "LGB": {"Long Beach /Daugherty Field/ Airport", "Long Beach", "United States", "LGB", "KLGB", 33.81769943, -118.1520004, 60, -8, "A", "America/Los_Angeles"}, + "HDH": {"Dillingham Airfield", "Dillingham", "United States", "HDH", "PHDH", 21.5795001984, -158.197006226, 14, -10, "A", "Pacific/Honolulu"}, + "IPT": {"Williamsport Regional Airport", "Williamsport", "United States", "IPT", "KIPT", 41.241798400878906, -76.92109680175781, 529, -5, "A", "America/New_York"}, + "IND": {"Indianapolis International Airport", "Indianapolis", "United States", "IND", "KIND", 39.7173, -86.294403, 797, -5, "A", "America/New_York"}, + "SZL": {"Whiteman Air Force Base", "Knobnoster", "United States", "SZL", "KSZL", 38.73030090332, -93.547897338867, 870, -6, "A", "America/Chicago"}, + "AKC": {"Akron Fulton International Airport", "Akron", "United States", "AKC", "KAKR", 41.0374984741, -81.4669036865, 1067, -5, "A", "America/New_York"}, + "GWO": {"Greenwood–Leflore Airport", "Greenwood", "United States", "GWO", "KGWO", 33.4943008423, -90.0847015381, 162, -6, "A", "America/Chicago"}, + "HPN": {"Westchester County Airport", "White Plains", "United States", "HPN", "KHPN", 41.06700134277344, -73.70760345458984, 439, -5, "A", "America/New_York"}, + "FOK": {"Francis S Gabreski Airport", "West Hampton Beach", "United States", "FOK", "KFOK", 40.8437004089, -72.6317977905, 67, -5, "A", "America/New_York"}, + "JBR": {"Jonesboro Municipal Airport", "Jonesboro", "United States", "JBR", "KJBR", 35.83169937133789, -90.64640045166016, 262, -6, "A", "America/Chicago"}, + "LNA": {"Palm Beach County Park Airport", "West Palm Beach", "United States", "LNA", "KLNA", 26.59300041, -80.08509827, 14, -5, "A", "America/New_York"}, + "NZY": {"North Island Naval Air Station-Halsey Field", "San Diego", "United States", "NZY", "KNZY", 32.69919968, -117.2149963, 26, -8, "A", "America/Los_Angeles"}, + "BIF": {"Biggs Army Air Field (Fort Bliss)", "El Paso", "United States", "BIF", "KBIF", 31.84950066, -106.3799973, 3946, -7, "A", "America/Denver"}, + "YUM": {"Yuma MCAS/Yuma International Airport", "Yuma", "United States", "YUM", "KNYL", 32.65660095, -114.6060028, 213, -7, "N", "America/Phoenix"}, + "CNM": {"Cavern City Air Terminal", "Carlsbad", "United States", "CNM", "KCNM", 32.337501525878906, -104.26300048828125, 3295, -7, "A", "America/Denver"}, + "DLH": {"Duluth International Airport", "Duluth", "United States", "DLH", "KDLH", 46.8420982361, -92.19360351559999, 1428, -6, "A", "America/Chicago"}, + "BET": {"Bethel Airport", "Bethel", "United States", "BET", "PABE", 60.77980042, -161.8379974, 126, -9, "A", "America/Anchorage"}, + "LOU": {"Bowman Field", "Louisville", "United States", "LOU", "KLOU", 38.2280006409, -85.6636962891, 546, -5, "A", "America/New_York"}, + "FHU": {"Sierra Vista Municipal Libby Army Air Field", "Fort Huachuca", "United States", "FHU", "KFHU", 31.588499069213867, -110.34400177001953, 4719, -7, "A", "America/Phoenix"}, + "LIH": {"Lihue Airport", "Lihue", "United States", "LIH", "PHLI", 21.97599983215332, -159.33900451660156, 153, -10, "N", "Pacific/Honolulu"}, + "HUF": {"Terre Haute International Hulman Field", "Terre Haute", "United States", "HUF", "KHUF", 39.451499938964844, -87.30760192871094, 589, -5, "A", "America/New_York"}, + "HVR": {"Havre City County Airport", "Havre", "United States", "HVR", "KHVR", 48.54299927, -109.762001, 2591, -7, "A", "America/Denver"}, + "MWH": {"Grant County International Airport", "Grant County Airport", "United States", "MWH", "KMWH", 47.20769882, -119.3199997, 1189, -8, "A", "America/Los_Angeles"}, + "MPV": {"Edward F Knapp State Airport", "Montpelier", "United States", "MPV", "KMPV", 44.20349884, -72.56230164, 1166, -5, "A", "America/New_York"}, + "RIC": {"Richmond International Airport", "Richmond", "United States", "RIC", "KRIC", 37.50519943237305, -77.3197021484375, 167, -5, "A", "America/New_York"}, + "SHV": {"Shreveport Regional Airport", "Shreveport", "United States", "SHV", "KSHV", 32.44660186767578, -93.82559967041016, 258, -6, "A", "America/Chicago"}, + "CDV": {"Merle K (Mudhole) Smith Airport", "Cordova", "United States", "CDV", "PACV", 60.4917984, -145.4779968, 54, -9, "A", "America/Anchorage"}, + "ORF": {"Norfolk International Airport", "Norfolk", "United States", "ORF", "KORF", 36.89459991455078, -76.20120239257812, 26, -5, "A", "America/New_York"}, + "BPT": {"Southeast Texas Regional Airport", "Beaumont", "United States", "BPT", "KBPT", 29.9507999420166, -94.02069854736328, 15, -6, "A", "America/Chicago"}, + "SAV": {"Savannah Hilton Head International Airport", "Savannah", "United States", "SAV", "KSAV", 32.12760162, -81.20210266, 50, -5, "A", "America/New_York"}, + "HIF": {"Hill Air Force Base", "Ogden", "United States", "HIF", "KHIF", 41.12403, -111.973086, 4789, -7, "A", "America/Denver"}, + "OME": {"Nome Airport", "Nome", "United States", "OME", "PAOM", 64.51219940185547, -165.44500732421875, 37, -9, "A", "America/Anchorage"}, + "PIE": {"St Petersburg Clearwater International Airport", "St. Petersburg", "United States", "PIE", "KPIE", 27.91020012, -82.68740082, 11, -5, "A", "America/New_York"}, + "MNM": {"Menominee Marinette Twin County Airport", "Macon", "United States", "MNM", "KMNM", 45.12670135498047, -87.63839721679688, 625, -6, "A", "America/Chicago"}, + "CXO": {"Lone Star Executive Airport", "Conroe", "United States", "CXO", "KCXO", 30.3518009186, -95.4144973755, 245, -6, "A", "America/Chicago"}, + "SCC": {"Deadhorse Airport", "Deadhorse", "United States", "SCC", "PASC", 70.19470215, -148.4649963, 65, -9, "A", "America/Anchorage"}, + "SAT": {"San Antonio International Airport", "San Antonio", "United States", "SAT", "KSAT", 29.533700942993164, -98.46980285644531, 809, -6, "A", "America/Chicago"}, + "ROC": {"Greater Rochester International Airport", "Rochester", "United States", "ROC", "KROC", 43.118900299072266, -77.67240142822266, 559, -5, "A", "America/New_York"}, + "COF": {"Patrick Air Force Base", "Coco Beach", "United States", "COF", "KCOF", 28.2348995209, -80.6100997925, 8, -5, "A", "America/New_York"}, + "TEB": {"Teterboro Airport", "Teterboro", "United States", "TEB", "KTEB", 40.85010147089999, -74.060798645, 9, -5, "A", "America/New_York"}, + "RCA": {"Ellsworth Air Force Base", "Rapid City", "United States", "RCA", "KRCA", 44.14500046, -103.1039963, 3276, -7, "A", "America/Denver"}, + "RDU": {"Raleigh Durham International Airport", "Raleigh-durham", "United States", "RDU", "KRDU", 35.877601623535156, -78.7874984741211, 435, -5, "A", "America/New_York"}, + "DAY": {"James M Cox Dayton International Airport", "Dayton", "United States", "DAY", "KDAY", 39.902400970458984, -84.21939849853516, 1009, -5, "A", "America/New_York"}, + "ENA": {"Kenai Municipal Airport", "Kenai", "United States", "ENA", "PAEN", 60.57310104370117, -151.2449951171875, 99, -9, "A", "America/Anchorage"}, + "MLC": {"Mc Alester Regional Airport", "Mcalester", "United States", "MLC", "KMLC", 34.88240051, -95.78350067, 770, -6, "A", "America/Chicago"}, + "IAG": {"Niagara Falls International Airport", "Niagara Falls", "United States", "IAG", "KIAG", 43.1072998046875, -78.94619750976562, 589, -5, "A", "America/New_York"}, + "CFD": {"Coulter Field", "Bryan", "United States", "CFD", "KCFD", 30.715700149499998, -96.3313980103, 367, -6, "A", "America/Chicago"}, + "PHF": {"Newport News Williamsburg International Airport", "Newport News", "United States", "PHF", "KPHF", 37.13190079, -76.49299622, 42, -5, "A", "America/New_York"}, + "ESF": {"Esler Regional Airport", "Alexandria", "United States", "ESF", "KESF", 31.3948993683, -92.2957992554, 112, -6, "A", "America/Chicago"}, + "LTS": {"Altus Air Force Base", "Altus", "United States", "LTS", "KLTS", 34.667098999, -99.2667007446, 1382, -6, "A", "America/Chicago"}, + "TUS": {"Tucson International Airport", "Tucson", "United States", "TUS", "KTUS", 32.1161003112793, -110.94100189208984, 2643, -7, "N", "America/Phoenix"}, + "MIB": {"Minot Air Force Base", "Minot", "United States", "MIB", "KMIB", 48.41559982, -101.3580017, 1667, -6, "A", "America/Chicago"}, + "BAB": {"Beale Air Force Base", "Marysville", "United States", "BAB", "KBAB", 39.136100769, -121.43699646, 113, -8, "A", "America/Los_Angeles"}, + "IKK": {"Greater Kankakee Airport", "Kankakee", "United States", "IKK", "KIKK", 41.07139968869999, -87.8462982178, 630, -6, "A", "America/Chicago"}, + "GSB": {"Seymour Johnson Air Force Base", "Goldsboro", "United States", "GSB", "KGSB", 35.33940125, -77.96060181, 109, -5, "A", "America/New_York"}, + "PVD": {"Theodore Francis Green State Airport", "Providence", "United States", "PVD", "KPVD", 41.732601165771484, -71.42040252685547, 55, -5, "A", "America/New_York"}, + "SBY": {"Salisbury Ocean City Wicomico Regional Airport", "Salisbury", "United States", "SBY", "KSBY", 38.34049987792969, -75.51029968261719, 52, -5, "A", "America/New_York"}, + "RIU": {"Rancho Murieta Airport", "Rancho Murieta", "United States", "RIU", "KRIU", 38.48680114746094, -121.10299682617188, 141, -8, "A", "America/Los_Angeles"}, + "BUR": {"Bob Hope Airport", "Burbank", "United States", "BUR", "KBUR", 34.20069885253906, -118.35900115966797, 778, -8, "A", "America/Los_Angeles"}, + "DTW": {"Detroit Metropolitan Wayne County Airport", "Detroit", "United States", "DTW", "KDTW", 42.212398529052734, -83.35340118408203, 645, -5, "A", "America/New_York"}, + "TPA": {"Tampa International Airport", "Tampa", "United States", "TPA", "KTPA", 27.975500106811523, -82.533203125, 26, -5, "A", "America/New_York"}, + "PMB": {"Pembina Municipal Airport", "Pembina", "United States", "PMB", "KPMB", 48.9425010681, -97.2407989502, 795, -6, "A", "America/Chicago"}, + "POE": {"Polk Army Air Field", "Fort Polk", "United States", "POE", "KPOE", 31.0447998, -93.1917038, 330, -6, "A", "America/Chicago"}, + "EIL": {"Eielson Air Force Base", "Fairbanks", "United States", "EIL", "PAEI", 64.66570282, -147.102005, 547, -9, "A", "America/Anchorage"}, + "HIB": {"Range Regional Airport", "Hibbing", "United States", "HIB", "KHIB", 47.38660049, -92.83899689, 1354, -6, "A", "America/Chicago"}, + "LFK": {"Angelina County Airport", "Lufkin", "United States", "LFK", "KLFK", 31.2339992523, -94.75, 296, -6, "A", "America/Chicago"}, + "MAF": {"Midland International Airport", "Midland", "United States", "MAF", "KMAF", 31.9424991607666, -102.2020034790039, 2871, -6, "A", "America/Chicago"}, + "GRB": {"Austin Straubel International Airport", "Green Bay", "United States", "GRB", "KGRB", 44.48509979248047, -88.12960052490234, 695, -6, "A", "America/Chicago"}, + "ADM": {"Ardmore Municipal Airport", "Ardmore", "United States", "ADM", "KADM", 34.30301, -97.0196342, 777, -6, "A", "America/Chicago"}, + "WRI": {"Mc Guire Air Force Base", "Wrightstown", "United States", "WRI", "KWRI", 40.0155983, -74.59169769, 131, -5, "A", "America/New_York"}, + "SBO": {"Emanuel County Airport", "Santa Barbara", "United States", "SBO", "KSBO", 32.609100341796875, -82.36990356445312, 327, -5, "A", "America/New_York"}, + "AGS": {"Augusta Regional At Bush Field", "Bush Field", "United States", "AGS", "KAGS", 33.36989974975586, -81.9645004272461, 144, -5, "A", "America/New_York"}, + "ISN": {"Sloulin Field International Airport", "Williston", "United States", "ISN", "KISN", 48.177898407, -103.641998291, 1982, -6, "A", "America/Chicago"}, + "LIT": {"Bill & Hillary Clinton National Airport/Adams Field", "Little Rock", "United States", "LIT", "KLIT", 34.729400634799994, -92.2242965698, 262, -6, "A", "America/Chicago"}, + "SWF": {"Stewart International Airport", "Newburgh", "United States", "SWF", "KSWF", 41.50410079956055, -74.10479736328125, 491, -5, "A", "America/New_York"}, + "BDE": {"Baudette International Airport", "Baudette", "United States", "BDE", "KBDE", 48.7284011841, -94.612197876, 1086, -6, "A", "America/Chicago"}, + "SAC": {"Sacramento Executive Airport", "Sacramento", "United States", "SAC", "KSAC", 38.5125007629, -121.492996216, 24, -8, "A", "America/Los_Angeles"}, + "HOM": {"Homer Airport", "Homer", "United States", "HOM", "PAHO", 59.645599365234375, -151.4770050048828, 84, -9, "A", "America/Anchorage"}, + "TBN": {"Waynesville-St. Robert Regional Forney field", "Fort Leonardwood", "United States", "TBN", "KTBN", 37.74160004, -92.14070129, 1159, -6, "A", "America/Chicago"}, + "MGE": {"Dobbins Air Reserve Base", "Marietta", "United States", "MGE", "KMGE", 33.91540146, -84.51629639, 1068, -5, "A", "America/New_York"}, + "SKA": {"Fairchild Air Force Base", "Spokane", "United States", "SKA", "KSKA", 47.6151008606, -117.65599823, 2461, -8, "A", "America/Los_Angeles"}, + "HTL": {"Roscommon County - Blodgett Memorial Airport", "Houghton Lake", "United States", "HTL", "KHTL", 44.359798, -84.671095, 1150, -5, "A", "America/New_York"}, + "PAM": {"Tyndall Air Force Base", "Panama City", "United States", "PAM", "KPAM", 30.0695991516, -85.57540130619999, 17, -6, "A", "America/Chicago"}, + "DFW": {"Dallas Fort Worth International Airport", "Dallas-Fort Worth", "United States", "DFW", "KDFW", 32.89680099487305, -97.03800201416016, 607, -6, "A", "America/Chicago"}, + "MLB": {"Melbourne International Airport", "Melbourne", "United States", "MLB", "KMLB", 28.102800369262695, -80.64530181884766, 33, -5, "A", "America/New_York"}, + "TCM": {"McChord Air Force Base", "Tacoma", "United States", "TCM", "KTCM", 47.1376991272, -122.475997925, 322, -8, "A", "America/Los_Angeles"}, + "AUS": {"Austin Bergstrom International Airport", "Austin", "United States", "AUS", "KAUS", 30.194499969482422, -97.6698989868164, 542, -6, "A", "America/Chicago"}, + "LCK": {"Rickenbacker International Airport", "Columbus", "United States", "LCK", "KLCK", 39.813801, -82.927803, 744, -5, "A", "America/New_York"}, + "MQT": {"Sawyer International Airport", "Gwinn", "United States", "MQT", "KSAW", 46.353599548300004, -87.395401001, 1221, -5, "A", "America/New_York"}, + "TYS": {"McGhee Tyson Airport", "Knoxville", "United States", "TYS", "KTYS", 35.81100082, -83.9940033, 981, -5, "A", "America/New_York"}, + "HLR": {"Hood Army Air Field", "Fort Hood", "United States", "HLR", "KHLR", 31.138700485199998, -97.71450042720001, 924, -6, "A", "America/Chicago"}, + "STL": {"Lambert St Louis International Airport", "St. Louis", "United States", "STL", "KSTL", 38.74869918823242, -90.37000274658203, 618, -6, "A", "America/Chicago"}, + "MIV": {"Millville Municipal Airport", "Millville", "United States", "MIV", "KMIV", 39.367801666259766, -75.07219696044922, 85, -5, "A", "America/New_York"}, + "SPS": {"Sheppard Air Force Base-Wichita Falls Municipal Airport", "Wichita Falls", "United States", "SPS", "KSPS", 33.98880005, -98.49189758, 1019, -6, "A", "America/Chicago"}, + "LUK": {"Cincinnati Municipal Airport Lunken Field", "Cincinnati", "United States", "LUK", "KLUK", 39.10329819, -84.41860199, 483, -5, "A", "America/New_York"}, + "ATL": {"Hartsfield Jackson Atlanta International Airport", "Atlanta", "United States", "ATL", "KATL", 33.63669967651367, -84.4281005859375, 1026, -5, "A", "America/New_York"}, + "MER": {"Castle Airport", "Merced", "United States", "MER", "KMER", 37.38050079, -120.5680008, 191, -8, "A", "America/Los_Angeles"}, + "MCC": {"Mc Clellan Airfield", "Sacramento", "United States", "MCC", "KMCC", 38.66759872, -121.401001, 77, -8, "A", "America/Los_Angeles"}, + "GRR": {"Gerald R. Ford International Airport", "Grand Rapids", "United States", "GRR", "KGRR", 42.88079834, -85.52279663, 794, -5, "A", "America/New_York"}, + "INK": {"Winkler County Airport", "Wink", "United States", "INK", "KINK", 31.779600143399996, -103.200996399, 2822, -6, "A", "America/Chicago"}, + "FAT": {"Fresno Yosemite International Airport", "Fresno", "United States", "FAT", "KFAT", 36.77619934082031, -119.71800231933594, 336, -8, "A", "America/Los_Angeles"}, + "VRB": {"Vero Beach Municipal Airport", "Vero Beach", "United States", "VRB", "KVRB", 27.655599594116, -80.417900085449, 24, -5, "A", "America/New_York"}, + "IPL": {"Imperial County Airport", "Imperial", "United States", "IPL", "KIPL", 32.834201812699995, -115.57900238, -54, -8, "A", "America/Los_Angeles"}, + "BNA": {"Nashville International Airport", "Nashville", "United States", "BNA", "KBNA", 36.1245002746582, -86.6781997680664, 599, -6, "A", "America/Chicago"}, + "LRD": {"Laredo International Airport", "Laredo", "United States", "LRD", "KLRD", 27.543800354003906, -99.46160125732422, 508, -6, "A", "America/Chicago"}, + "EDF": {"Elmendorf Air Force Base", "Anchorage", "United States", "EDF", "PAED", 61.250999450683594, -149.8070068359375, 212, -9, "A", "America/Anchorage"}, + "OTZ": {"Ralph Wien Memorial Airport", "Kotzebue", "United States", "OTZ", "PAOT", 66.88469696, -162.598999, 14, -9, "A", "America/Anchorage"}, + "AOO": {"Altoona Blair County Airport", "Altoona", "United States", "AOO", "KAOO", 40.29639816, -78.31999969, 1503, -5, "A", "America/New_York"}, + "DYS": {"Dyess Air Force Base", "Abilene", "United States", "DYS", "KDYS", 32.4207992554, -99.854598999, 1789, -6, "A", "America/Chicago"}, + "ELD": {"South Arkansas Regional At Goodwin Field", "El Dorado", "United States", "ELD", "KELD", 33.22100067138672, -92.81330108642578, 277, -6, "A", "America/Chicago"}, + "LGA": {"La Guardia Airport", "New York", "United States", "LGA", "KLGA", 40.77719879, -73.87259674, 21, -5, "A", "America/New_York"}, + "TLH": {"Tallahassee Regional Airport", "Tallahassee", "United States", "TLH", "KTLH", 30.396499633789062, -84.35030364990234, 81, -5, "A", "America/New_York"}, + "DPA": {"Dupage Airport", "West Chicago", "United States", "DPA", "KDPA", 41.90779877, -88.24859619, 759, -6, "A", "America/Chicago"}, + "ACT": {"Waco Regional Airport", "Waco", "United States", "ACT", "KACT", 31.611299514770508, -97.23049926757812, 516, -6, "A", "America/Chicago"}, + "AUG": {"Augusta State Airport", "Augusta", "United States", "AUG", "KAUG", 44.320598602299995, -69.7973022461, 352, -5, "A", "America/New_York"}, + "INJ": {"Hillsboro Municipal Airport", "Hillsboro", "United States", "INJ", "KINJ", 32.08349991, -97.09719849, 686, -6, "A", "America/Chicago"}, + "MKL": {"Mc Kellar Sipes Regional Airport", "Jackson", "United States", "MKL", "KMKL", 35.59989929, -88.91560364, 434, -6, "A", "America/Chicago"}, + "MKK": {"Molokai Airport", "Molokai", "United States", "MKK", "PHMK", 21.15290069580078, -157.0959930419922, 454, -10, "N", "Pacific/Honolulu"}, + "FTK": {"Godman Army Air Field", "Fort Knox", "United States", "FTK", "KFTK", 37.907100677500004, -85.9720993042, 756, -5, "A", "America/New_York"}, + "SJT": {"San Angelo Regional Mathis Field", "San Angelo", "United States", "SJT", "KSJT", 31.35770034790039, -100.49600219726562, 1919, -6, "A", "America/Chicago"}, + "CXL": {"Calexico International Airport", "Calexico", "United States", "CXL", "KCXL", 32.6694984436, -115.513000488, 4, -8, "A", "America/Los_Angeles"}, + "CIC": {"Chico Municipal Airport", "Chico", "United States", "CIC", "KCIC", 39.79539871, -121.8580017, 240, -8, "A", "America/Los_Angeles"}, + "BTV": {"Burlington International Airport", "Burlington", "United States", "BTV", "KBTV", 44.471900939899996, -73.15329742429999, 335, -5, "A", "America/New_York"}, + "JAX": {"Jacksonville International Airport", "Jacksonville", "United States", "JAX", "KJAX", 30.49410057067871, -81.68789672851562, 30, -5, "A", "America/New_York"}, + "DRO": {"Durango La Plata County Airport", "Durango", "United States", "DRO", "KDRO", 37.1515007019, -107.753997803, 6685, -7, "A", "America/Denver"}, + "IAD": {"Washington Dulles International Airport", "Washington", "United States", "IAD", "KIAD", 38.94449997, -77.45580292, 312, -5, "A", "America/New_York"}, + "CLL": {"Easterwood Field", "College Station", "United States", "CLL", "KCLL", 30.58860016, -96.36380005, 320, -6, "A", "America/Chicago"}, + "SFF": {"Felts Field", "Spokane", "United States", "SFF", "KSFF", 47.682800292969, -117.32299804688, 1953, -8, "A", "America/Los_Angeles"}, + "MKE": {"General Mitchell International Airport", "Milwaukee", "United States", "MKE", "KMKE", 42.947200775146484, -87.89659881591797, 723, -6, "A", "America/Chicago"}, + "ABI": {"Abilene Regional Airport", "Abilene", "United States", "ABI", "KABI", 32.4113006592, -99.68190002440001, 1791, -6, "A", "America/Chicago"}, + "COU": {"Columbia Regional Airport", "Columbia", "United States", "COU", "KCOU", 38.81809997558594, -92.21959686279297, 889, -6, "A", "America/Chicago"}, + "PDX": {"Portland International Airport", "Portland", "United States", "PDX", "KPDX", 45.58869934, -122.5979996, 31, -8, "A", "America/Los_Angeles"}, + "TNT": {"Dade Collier Training and Transition Airport", "Miami", "United States", "TNT", "KTNT", 25.861799240112, -80.897003173828, 13, -5, "A", "America/New_York"}, + "PBI": {"Palm Beach International Airport", "West Palm Beach", "United States", "PBI", "KPBI", 26.68320083618164, -80.09559631347656, 19, -5, "A", "America/New_York"}, + "FTW": {"Fort Worth Meacham International Airport", "Fort Worth", "United States", "FTW", "KFTW", 32.8198013306, -97.36239624019998, 710, -6, "A", "America/Chicago"}, + "OGS": {"Ogdensburg International Airport", "Ogdensburg", "United States", "OGS", "KOGS", 44.6819000244, -75.46549987790002, 297, -5, "A", "America/New_York"}, + "BFI": {"Boeing Field King County International Airport", "Seattle", "United States", "BFI", "KBFI", 47.529998779296875, -122.302001953125, 21, -8, "A", "America/Los_Angeles"}, + "SKF": {"Lackland Air Force Base", "San Antonio", "United States", "SKF", "KSKF", 29.38419914, -98.58110046, 691, -6, "A", "America/Chicago"}, + "HNL": {"Honolulu International Airport", "Honolulu", "United States", "HNL", "PHNL", 21.318700790405273, -157.9219970703125, 13, -10, "N", "Pacific/Honolulu"}, + "DSM": {"Des Moines International Airport", "Des Moines", "United States", "DSM", "KDSM", 41.534000396728516, -93.66310119628906, 958, -6, "A", "America/Chicago"}, + "EWN": {"Coastal Carolina Regional Airport", "New Bern", "United States", "EWN", "KEWN", 35.0730018616, -77.04290008539999, 18, -5, "A", "America/New_York"}, + "SAN": {"San Diego International Airport", "San Diego", "United States", "SAN", "KSAN", 32.7336006165, -117.190002441, 17, -8, "A", "America/Los_Angeles"}, + "MLU": {"Monroe Regional Airport", "Monroe", "United States", "MLU", "KMLU", 32.51089859008789, -92.0376968383789, 79, -6, "A", "America/Chicago"}, + "SSC": {"Shaw Air Force Base", "Sumter", "United States", "SSC", "KSSC", 33.97269821, -80.47059631, 241, -5, "A", "America/New_York"}, + "ONT": {"Ontario International Airport", "Ontario", "United States", "ONT", "KONT", 34.055999755859375, -117.60099792480469, 944, -8, "A", "America/Los_Angeles"}, + "GVT": {"Majors Airport", "Greenvile", "United States", "GVT", "KGVT", 33.0677986145, -96.0652999878, 535, -6, "A", "America/Chicago"}, + "ROW": {"Roswell International Air Center Airport", "Roswell", "United States", "ROW", "KROW", 33.30160140991211, -104.53099822998047, 3671, -7, "A", "America/Denver"}, + "DET": {"Coleman A. Young Municipal Airport", "Detroit", "United States", "DET", "KDET", 42.40919876, -83.00990295, 626, -5, "A", "America/New_York"}, + "BRO": {"Brownsville South Padre Island International Airport", "Brownsville", "United States", "BRO", "KBRO", 25.90679931640625, -97.4259033203125, 22, -6, "A", "America/Chicago"}, + "DHN": {"Dothan Regional Airport", "Dothan", "United States", "DHN", "KDHN", 31.321300506591797, -85.44960021972656, 401, -6, "A", "America/Chicago"}, + "WWD": {"Cape May County Airport", "Wildwood", "United States", "WWD", "KWWD", 39.008499145500004, -74.9083023071, 23, -5, "A", "America/New_York"}, + "MTC": {"Selfridge Angb Airport", "Mount Clemens", "United States", "MTC", "KMTC", 42.608299255371094, -82.83550262451172, 580, -5, "A", "America/New_York"}, + "FMN": {"Four Corners Regional Airport", "Farmington", "United States", "FMN", "KFMN", 36.741199493399996, -108.230003357, 5506, -7, "A", "America/Denver"}, + "CRP": {"Corpus Christi International Airport", "Corpus Christi", "United States", "CRP", "KCRP", 27.77039909362793, -97.5011978149414, 44, -6, "A", "America/Chicago"}, + "SYR": {"Syracuse Hancock International Airport", "Syracuse", "United States", "SYR", "KSYR", 43.11119842529297, -76.1063003540039, 421, -5, "A", "America/New_York"}, + "NQX": {"Naval Air Station Key West/Boca Chica Field", "Key West", "United States", "NQX", "KNQX", 24.57579994, -81.68890381, 6, -5, "A", "America/New_York"}, + "MDW": {"Chicago Midway International Airport", "Chicago", "United States", "MDW", "KMDW", 41.7859992980957, -87.75240325927734, 620, -6, "A", "America/Chicago"}, + "SJC": {"Norman Y. Mineta San Jose International Airport", "San Jose", "United States", "SJC", "KSJC", 37.36259841918945, -121.92900085449219, 62, -8, "A", "America/Los_Angeles"}, + "HOB": {"Lea County Regional Airport", "Hobbs", "United States", "HOB", "KHOB", 32.6875, -103.2170029, 3661, -7, "A", "America/Denver"}, + "PNE": {"Northeast Philadelphia Airport", "Philadelphia", "United States", "PNE", "KPNE", 40.08190155, -75.01059723, 120, -5, "A", "America/New_York"}, + "DEN": {"Denver International Airport", "Denver", "United States", "DEN", "KDEN", 39.861698150635, -104.672996521, 5431, -7, "A", "America/Denver"}, + "PHL": {"Philadelphia International Airport", "Philadelphia", "United States", "PHL", "KPHL", 39.87189865112305, -75.24109649658203, 36, -5, "A", "America/New_York"}, + "SUX": {"Sioux Gateway Col. Bud Day Field", "Sioux City", "United States", "SUX", "KSUX", 42.40259933, -96.38439941, 1098, -6, "A", "America/Chicago"}, + "MCN": {"Middle Georgia Regional Airport", "Macon", "United States", "MCN", "KMCN", 32.69279861450195, -83.64920043945312, 354, -5, "A", "America/New_York"}, + "TCS": {"Truth Or Consequences Municipal Airport", "Truth Or Consequences", "United States", "TCS", "KTCS", 33.2369003296, -107.272003174, 4853, -7, "A", "America/Denver"}, + "PMD": {"Palmdale Regional/USAF Plant 42 Airport", "Palmdale", "United States", "PMD", "KPMD", 34.62939835, -118.0849991, 2543, -8, "A", "America/Los_Angeles"}, + "RND": {"Randolph Air Force Base", "San Antonio", "United States", "RND", "KRND", 29.52969933, -98.27890015, 761, -6, "A", "America/Chicago"}, + "NJK": {"El Centro Naf Airport", "El Centro", "United States", "NJK", "KNJK", 32.829200744628906, -115.6719970703125, -42, -8, "A", "America/Los_Angeles"}, + "CMH": {"Port Columbus International Airport", "Columbus", "United States", "CMH", "KCMH", 39.99800109863281, -82.89189910888672, 815, -5, "A", "America/New_York"}, + "FYV": {"Drake Field", "Fayetteville", "United States", "FYV", "KFYV", 36.00510025024414, -94.17009735107422, 1251, -6, "A", "America/Chicago"}, + "FSI": {"Henry Post Army Air Field (Fort Sill)", "Fort Sill", "United States", "FSI", "KFSI", 34.64979935, -98.40219879, 1189, -6, "A", "America/Chicago"}, + "PNM": {"Princeton Municipal Airport", "Princeton", "United States", "PNM", "KPNM", 45.55989838, -93.60820007, 980, -6, "A", "America/Chicago"}, + "FFO": {"Wright-Patterson Air Force Base", "Dayton", "United States", "FFO", "KFFO", 39.8260993958, -84.0483016968, 823, -5, "A", "America/New_York"}, + "GAL": {"Edward G. Pitka Sr Airport", "Galena", "United States", "GAL", "PAGA", 64.73619843, -156.9369965, 153, -9, "A", "America/Anchorage"}, + "MWL": {"Mineral Wells Airport", "Mineral Wells", "United States", "MWL", "KMWL", 32.7816009521, -98.0602035522, 974, -6, "A", "America/Chicago"}, + "IAB": {"Mc Connell Air Force Base", "Wichita", "United States", "IAB", "KIAB", 37.62189865, -97.26820374, 1371, -6, "A", "America/Chicago"}, + "NBG": {"New Orleans NAS JRB/Alvin Callender Field", "New Orleans", "United States", "NBG", "KNBG", 29.82530022, -90.03500366, 2, -6, "A", "America/Chicago"}, + "BFT": {"Beaufort County Airport", "Beaufort", "United States", "BFT", "KARW", 32.4122009277, -80.6343994141, 10, -5, "A", "America/New_York"}, + "TXK": {"Texarkana Regional Webb Field", "Texarkana", "United States", "TXK", "KTXK", 33.45370101928711, -93.99099731445312, 390, -6, "A", "America/Chicago"}, + "PBG": {"Plattsburgh International Airport", "Plattsburgh", "United States", "PBG", "KPBG", 44.650901794433594, -73.46810150146484, 234, -5, "A", "America/New_York"}, + "APG": {"Phillips Army Air Field", "Aberdeen", "United States", "APG", "KAPG", 39.466202, -76.1688, 57, -5, "A", "America/New_York"}, + "TCC": {"Tucumcari Municipal Airport", "Tucumcari", "United States", "TCC", "KTCC", 35.182800293, -103.602996826, 4065, -7, "A", "America/Denver"}, + "ANC": {"Ted Stevens Anchorage International Airport", "Anchorage", "United States", "ANC", "PANC", 61.174400329589844, -149.99600219726562, 152, -9, "A", "America/Anchorage"}, + "GRK": {"Robert Gray Army Air Field Airport", "Killeen", "United States", "GRK", "KGRK", 31.067199707, -97.82890319820001, 1015, -6, "A", "America/Chicago"}, + "ZUN": {"Black Rock Airport", "Zuni Pueblo", "United States", "ZUN", "KZUN", 35.08319854736328, -108.79199981689453, 6454, -7, "A", "America/Denver"}, + "BLI": {"Bellingham International Airport", "Bellingham", "United States", "BLI", "KBLI", 48.79280090332031, -122.53800201416016, 170, -8, "A", "America/Los_Angeles"}, + "NQA": {"Millington Regional Jetport Airport", "Millington", "United States", "NQA", "KNQA", 35.356700897217, -89.870300292969, 320, -6, "A", "America/Chicago"}, + "EKN": {"Elkins-Randolph Co-Jennings Randolph Field", "Elkins", "United States", "EKN", "KEKN", 38.88940048, -79.85710144, 1987, -5, "A", "America/New_York"}, + "HFD": {"Hartford Brainard Airport", "Hartford", "United States", "HFD", "KHFD", 41.736698150635, -72.649398803711, 18, -5, "A", "America/New_York"}, + "SFZ": {"North Central State Airport", "Smithfield", "United States", "SFZ", "KSFZ", 41.9207992554, -71.49140167239999, 441, -5, "A", "America/New_York"}, + "MOB": {"Mobile Regional Airport", "Mobile", "United States", "MOB", "KMOB", 30.691200256348, -88.242797851562, 219, -6, "A", "America/Chicago"}, + "NUQ": {"Moffett Federal Airfield", "Mountain View", "United States", "NUQ", "KNUQ", 37.416099548339844, -122.04900360107422, 32, -8, "A", "America/Los_Angeles"}, + "SAF": {"Santa Fe Municipal Airport", "Santa Fe", "United States", "SAF", "KSAF", 35.617099762, -106.088996887, 6348, -7, "A", "America/Denver"}, + "BKH": {"Barking Sands Airport", "Barking Sands", "United States", "BKH", "PHBK", 22.022800445599998, -159.785003662, 23, -10, "A", "Pacific/Honolulu"}, + "DRI": {"Beauregard Regional Airport", "Deridder", "United States", "DRI", "KDRI", 30.8316993713, -93.33989715579999, 202, -6, "A", "America/Chicago"}, + "BSF": {"Bradshaw Army Airfield", "Bradshaw Field", "United States", "BSF", "PHSF", 19.760099411, -155.554000854, 6190, -10, "A", "Pacific/Honolulu"}, + "OLS": {"Nogales International Airport", "Nogales", "United States", "OLS", "KOLS", 31.417699813842773, -110.8479995727539, 3955, -7, "A", "America/Phoenix"}, + "MCF": {"Mac Dill Air Force Base", "Tampa", "United States", "MCF", "KMCF", 27.84930038, -82.52120209, 14, -5, "A", "America/New_York"}, + "BLV": {"Scott AFB/Midamerica Airport", "Belleville", "United States", "BLV", "KBLV", 38.5452, -89.835197, 459, -6, "A", "America/Chicago"}, + "OPF": {"Opa-locka Executive Airport", "Miami", "United States", "OPF", "KOPF", 25.90699959, -80.27839661, 8, -5, "A", "America/New_York"}, + "DRT": {"Del Rio International Airport", "Del Rio", "United States", "DRT", "KDRT", 29.3742008209, -100.927001953, 1002, -6, "A", "America/Chicago"}, + "RSW": {"Southwest Florida International Airport", "Fort Myers", "United States", "RSW", "KRSW", 26.53619956970215, -81.75520324707031, 30, -5, "A", "America/New_York"}, + "AKN": {"King Salmon Airport", "King Salmon", "United States", "AKN", "PAKN", 58.67679977, -156.6490021, 73, -9, "A", "America/Anchorage"}, + "MUI": {"Muir Army Air Field (Fort Indiantown Gap) Airport", "Muir", "United States", "MUI", "KMUI", 40.43479919, -76.56939697, 488, -5, "A", "America/New_York"}, + "JHM": {"Kapalua Airport", "Lahania-kapalua", "United States", "JHM", "PHJH", 20.962900161743164, -156.67300415039062, 256, -10, "N", "Pacific/Honolulu"}, + "JFK": {"John F Kennedy International Airport", "New York", "United States", "JFK", "KJFK", 40.63980103, -73.77890015, 13, -5, "A", "America/New_York"}, + "HST": {"Homestead ARB Airport", "Homestead", "United States", "HST", "KHST", 25.48859978, -80.38359833, 5, -5, "A", "America/New_York"}, + "RAL": {"Riverside Municipal Airport", "Riverside", "United States", "RAL", "KRAL", 33.95190048, -117.4449997, 819, -8, "A", "America/Los_Angeles"}, + "FLV": {"Sherman Army Air Field", "Fort Leavenworth", "United States", "FLV", "KFLV", 39.3683013916, -94.9147033691, 772, -6, "A", "America/Chicago"}, + "WAL": {"Wallops Flight Facility Airport", "Wallops Island", "United States", "WAL", "KWAL", 37.9402008057, -75.4664001465, 40, -5, "A", "America/New_York"}, + "HMN": {"Holloman Air Force Base", "Alamogordo", "United States", "HMN", "KHMN", 32.8525009155, -106.107002258, 4093, -7, "A", "America/Denver"}, + "NXX": {"Willow Grove Naval Air Station/Joint Reserve Base", "Willow Grove", "United States", "NXX", "KNXX", 40.19979858, -75.14820099, 358, -5, "A", "America/New_York"}, + "CYS": {"Cheyenne Regional Jerry Olson Field", "Cheyenne", "United States", "CYS", "KCYS", 41.15570068, -104.8119965, 6159, -7, "A", "America/Denver"}, + "SCK": {"Stockton Metropolitan Airport", "Stockton", "United States", "SCK", "KSCK", 37.894199371338, -121.2379989624, 33, -8, "A", "America/Los_Angeles"}, + "CHS": {"Charleston Air Force Base-International Airport", "Charleston", "United States", "CHS", "KCHS", 32.89860153, -80.04049683, 46, -5, "A", "America/New_York"}, + "RNO": {"Reno Tahoe International Airport", "Reno", "United States", "RNO", "KRNO", 39.49909973144531, -119.76799774169922, 4415, -8, "A", "America/Los_Angeles"}, + "KTN": {"Ketchikan International Airport", "Ketchikan", "United States", "KTN", "PAKT", 55.35559845, -131.7140045, 89, -9, "A", "America/Anchorage"}, + "YIP": {"Willow Run Airport", "Detroit", "United States", "YIP", "KYIP", 42.23789978, -83.53040314, 716, -5, "A", "America/New_York"}, + "VBG": {"Vandenberg Air Force Base", "Lompoc", "United States", "VBG", "KVBG", 34.7373008728, -120.583999634, 369, -8, "A", "America/Los_Angeles"}, + "BHM": {"Birmingham-Shuttlesworth International Airport", "Birmingham", "United States", "BHM", "KBHM", 33.56290054, -86.75350189, 650, -6, "A", "America/Chicago"}, + "NEL": {"Lakehurst Maxfield Field Airport", "Lakehurst", "United States", "NEL", "KNEL", 40.03329849, -74.353302, 101, -5, "A", "America/New_York"}, + "LSV": {"Nellis Air Force Base", "Las Vegas", "United States", "LSV", "KLSV", 36.2361984253, -115.033996582, 1870, -8, "A", "America/Los_Angeles"}, + "RIV": {"March ARB Airport", "Riverside", "United States", "RIV", "KRIV", 33.88069916, -117.2590027, 1536, -8, "A", "America/Los_Angeles"}, + "MOD": {"Modesto City Co-Harry Sham Field", "Modesto", "United States", "MOD", "KMOD", 37.62580109, -120.9540024, 97, -8, "A", "America/Los_Angeles"}, + "SMF": {"Sacramento International Airport", "Sacramento", "United States", "SMF", "KSMF", 38.69540023803711, -121.59100341796875, 27, -8, "A", "America/Los_Angeles"}, + "UGN": {"Waukegan National Airport", "Chicago", "United States", "UGN", "KUGN", 42.422199249268, -87.867897033691, 727, -6, "A", "America/Chicago"}, + "COS": {"City of Colorado Springs Municipal Airport", "Colorado Springs", "United States", "COS", "KCOS", 38.805801391602, -104.70099639893, 6187, -7, "A", "America/Denver"}, + "BUF": {"Buffalo Niagara International Airport", "Buffalo", "United States", "BUF", "KBUF", 42.94049835, -78.73220062, 728, -5, "A", "America/New_York"}, + "SKY": {"Griffing Sandusky Airport", "Sandusky", "United States", "SKY", "KSKY", 41.4333992004, -82.6522979736, 580, -5, "A", "America/New_York"}, + "PAE": {"Snohomish County (Paine Field) Airport", "Everett", "United States", "PAE", "KPAE", 47.90629959, -122.2819977, 606, -8, "A", "America/Los_Angeles"}, + "MUO": {"Mountain Home Air Force Base", "Mountain Home", "United States", "MUO", "KMUO", 43.043598, -115.872002, 2996, -7, "A", "America/Denver"}, + "CDC": {"Cedar City Regional Airport", "Cedar City", "United States", "CDC", "KCDC", 37.70100021362305, -113.0989990234375, 5622, -7, "A", "America/Denver"}, + "BDL": {"Bradley International Airport", "Windsor Locks", "United States", "BDL", "KBDL", 41.9388999939, -72.68319702149999, 173, -5, "A", "America/New_York"}, + "MFE": {"Mc Allen Miller International Airport", "Mcallen", "United States", "MFE", "KMFE", 26.17580032, -98.23860168, 107, -6, "A", "America/Chicago"}, + "NGU": {"Norfolk Ns (Chambers Fld) Airport", "Norfolk", "United States", "NGU", "KNGU", 36.93759918, -76.28929901, 17, -5, "A", "America/New_York"}, + "CEF": {"Westover ARB/Metropolitan Airport", "Chicopee Falls", "United States", "CEF", "KCEF", 42.19400024, -72.53479767, 241, -5, "A", "America/New_York"}, + "LBB": {"Lubbock Preston Smith International Airport", "Lubbock", "United States", "LBB", "KLBB", 33.66360092163086, -101.822998046875, 3282, -6, "A", "America/Chicago"}, + "ORD": {"Chicago O'Hare International Airport", "Chicago", "United States", "ORD", "KORD", 41.97859955, -87.90480042, 672, -6, "A", "America/Chicago"}, + "BCT": {"Boca Raton Airport", "Boca Raton", "United States", "BCT", "KBCT", 26.3784999847, -80.1076965332, 13, -5, "A", "America/New_York"}, + "FAI": {"Fairbanks International Airport", "Fairbanks", "United States", "FAI", "PAFA", 64.81510162, -147.8560028, 439, -9, "A", "America/Anchorage"}, + "NYG": {"Quantico MCAF /Turner field", "Quantico", "United States", "NYG", "KNYG", 38.50170135, -77.30529785, 10, -5, "A", "America/New_York"}, + "CVS": {"Cannon Air Force Base", "Clovis", "United States", "CVS", "KCVS", 34.3828010559, -103.321998596, 4295, -7, "A", "America/Denver"}, + "NGF": {"Kaneohe Bay MCAS (Marion E. Carl Field) Airport", "Kaneohe Bay", "United States", "NGF", "PHNG", 21.4505004883, -157.768005371, 24, -10, "A", "Pacific/Honolulu"}, + "OFF": {"Offutt Air Force Base", "Omaha", "United States", "OFF", "KOFF", 41.118301391602, -95.912498474121, 1052, -6, "A", "America/Chicago"}, + "GKN": {"Gulkana Airport", "Gulkana", "United States", "GKN", "PAGK", 62.1548996, -145.4570007, 1586, -9, "A", "America/Anchorage"}, + "ART": {"Watertown International Airport", "Watertown", "United States", "ART", "KART", 43.99190139770508, -76.02169799804688, 325, -5, "A", "America/New_York"}, + "PSP": {"Palm Springs International Airport", "Palm Springs", "United States", "PSP", "KPSP", 33.8297004699707, -116.50700378417969, 477, -8, "A", "America/Los_Angeles"}, + "AMA": {"Rick Husband Amarillo International Airport", "Amarillo", "United States", "AMA", "KAMA", 35.219398498535156, -101.70600128173828, 3607, -6, "A", "America/Chicago"}, + "FOD": {"Fort Dodge Regional Airport", "Fort Dodge", "United States", "FOD", "KFOD", 42.55149841, -94.19259644, 1156, -6, "A", "America/Chicago"}, + "BAD": {"Barksdale Air Force Base", "Shreveport", "United States", "BAD", "KBAD", 32.5018005371, -93.6626968384, 166, -6, "A", "America/Chicago"}, + "FOE": {"Topeka Regional Airport - Forbes Field", "Topeka", "United States", "FOE", "KFOE", 38.950901031499995, -95.66359710690001, 1078, -6, "A", "America/Chicago"}, + "COT": {"Cotulla-La Salle County Airport", "Cotulla", "United States", "COT", "KCOT", 28.45669937, -99.22029877, 474, -6, "A", "America/Chicago"}, + "ILM": {"Wilmington International Airport", "Wilmington", "United States", "ILM", "KILM", 34.270599365234375, -77.90260314941406, 32, -5, "A", "America/New_York"}, + "BTR": {"Baton Rouge Metropolitan, Ryan Field", "Baton Rouge", "United States", "BTR", "KBTR", 30.53319931, -91.14959717, 70, -6, "A", "America/Chicago"}, + "TYR": {"Tyler Pounds Regional Airport", "Tyler", "United States", "TYR", "KTYR", 32.35409927368164, -95.40239715576172, 544, -6, "A", "America/Chicago"}, + "BWI": {"Baltimore/Washington International Thurgood Marshall Airport", "Baltimore", "United States", "BWI", "KBWI", 39.17539978, -76.66829681, 146, -5, "A", "America/New_York"}, + "HBR": {"Hobart Regional Airport", "Hobart", "United States", "HBR", "KHBR", 34.991317, -99.051313, 1563, -6, "A", "America/Chicago"}, + "LNY": {"Lanai Airport", "Lanai", "United States", "LNY", "PHNY", 20.785600662231445, -156.9510040283203, 1308, -10, "N", "Pacific/Honolulu"}, + "AEX": {"Alexandria International Airport", "Alexandria", "United States", "AEX", "KAEX", 31.32740020751953, -92.54979705810547, 89, -6, "A", "America/Chicago"}, + "WSD": {"Condron Army Air Field", "White Sands", "United States", "WSD", "KWSD", 32.34149933, -106.4029999, 3934, -7, "A", "America/Denver"}, + "CDB": {"Cold Bay Airport", "Cold Bay", "United States", "CDB", "PACD", 55.20610046386719, -162.72500610351562, 96, -9, "A", "America/Anchorage"}, + "TUL": {"Tulsa International Airport", "Tulsa", "United States", "TUL", "KTUL", 36.19839859008789, -95.88809967041016, 677, -6, "A", "America/Chicago"}, + "SIT": {"Sitka Rocky Gutierrez Airport", "Sitka", "United States", "SIT", "PASI", 57.04710006713867, -135.36199951171875, 21, -9, "A", "America/Anchorage"}, + "ISP": {"Long Island Mac Arthur Airport", "Islip", "United States", "ISP", "KISP", 40.79520035, -73.10019684, 99, -5, "A", "America/New_York"}, + "MSP": {"Minneapolis-St Paul International/Wold-Chamberlain Airport", "Minneapolis", "United States", "MSP", "KMSP", 44.881999969499994, -93.22180175780001, 841, -6, "A", "America/Chicago"}, + "ILG": {"New Castle Airport", "Wilmington", "United States", "ILG", "KILG", 39.67869949, -75.60649872, 80, -5, "A", "America/New_York"}, + "DUT": {"Unalaska Airport", "Unalaska", "United States", "DUT", "PADU", 53.900100708, -166.544006348, 22, -9, "A", "America/Anchorage"}, + "MSY": {"Louis Armstrong New Orleans International Airport", "New Orleans", "United States", "MSY", "KMSY", 29.99340057373047, -90.25800323486328, 4, -6, "A", "America/Chicago"}, + "PWM": {"Portland International Jetport Airport", "Portland", "United States", "PWM", "KPWM", 43.64619827, -70.30930328, 76, -5, "A", "America/New_York"}, + "OKC": {"Will Rogers World Airport", "Oklahoma City", "United States", "OKC", "KOKC", 35.39310073852539, -97.60070037841797, 1295, -6, "A", "America/Chicago"}, + "ALB": {"Albany International Airport", "Albany", "United States", "ALB", "KALB", 42.74829864501953, -73.80169677734375, 285, -5, "A", "America/New_York"}, + "VDZ": {"Valdez Pioneer Field", "Valdez", "United States", "VDZ", "PAVD", 61.13389969, -146.2480011, 121, -9, "A", "America/Anchorage"}, + "LFI": {"Langley Air Force Base", "Hampton", "United States", "LFI", "KLFI", 37.082901001, -76.360496521, 11, -5, "A", "America/New_York"}, + "SNA": {"John Wayne Airport-Orange County Airport", "Santa Ana", "United States", "SNA", "KSNA", 33.67570114, -117.8679962, 56, -8, "A", "America/Los_Angeles"}, + "CBM": {"Columbus Air Force Base", "Colombus", "United States", "CBM", "KCBM", 33.6437988281, -88.44380187990001, 219, -6, "A", "America/Chicago"}, + "TMB": {"Kendall-Tamiami Executive Airport", "Kendall-tamiami", "United States", "TMB", "KTMB", 25.6478996277, -80.432800293, 8, -5, "A", "America/New_York"}, + "NTU": {"Oceana NAS", "Oceana", "United States", "NTU", "KNTU", 36.8207016, -76.03350067, 23, -5, "A", "America/New_York"}, + "GUS": {"Grissom Air Reserve Base", "Peru", "United States", "GUS", "KGUS", 40.648101806599996, -86.1520996094, 812, -5, "A", "America/New_York"}, + "CPR": {"Casper-Natrona County International Airport", "Casper", "United States", "CPR", "KCPR", 42.90800095, -106.4639969, 5350, -7, "A", "America/Denver"}, + "VPS": {"Destin-Ft Walton Beach Airport", "Valparaiso", "United States", "VPS", "KVPS", 30.4832, -86.525398, 87, -6, "A", "America/Chicago"}, + "SEM": {"Craig Field", "Selma", "United States", "SEM", "KSEM", 32.343898773193, -86.987800598145, 166, -6, "A", "America/Chicago"}, + "EYW": {"Key West International Airport", "Key West", "United States", "EYW", "KEYW", 24.556100845336914, -81.75959777832031, 3, -5, "A", "America/New_York"}, + "CLT": {"Charlotte Douglas International Airport", "Charlotte", "United States", "CLT", "KCLT", 35.2140007019043, -80.94309997558594, 748, -5, "A", "America/New_York"}, + "LAS": {"McCarran International Airport", "Las Vegas", "United States", "LAS", "KLAS", 36.08010101, -115.1520004, 2181, -8, "A", "America/Los_Angeles"}, + "MCO": {"Orlando International Airport", "Orlando", "United States", "MCO", "KMCO", 28.429399490356445, -81.30899810791016, 96, -5, "A", "America/New_York"}, + "FLO": {"Florence Regional Airport", "Florence", "United States", "FLO", "KFLO", 34.18539810180664, -79.7238998413086, 146, -5, "A", "America/New_York"}, + "GTF": {"Great Falls International Airport", "Great Falls", "United States", "GTF", "KGTF", 47.48199844, -111.3710022, 3680, -7, "A", "America/Denver"}, + "YNG": {"Youngstown Warren Regional Airport", "Youngstown", "United States", "YNG", "KYNG", 41.26070023, -80.67910004, 1192, -5, "A", "America/New_York"}, + "FBK": {"Ladd AAF Airfield", "Fort Wainwright", "United States", "FBK", "PAFB", 64.83750153, -147.6139984, 454, -9, "A", "America/Anchorage"}, + "MMV": {"Mc Minnville Municipal Airport", "Mackminnville", "United States", "MMV", "KMMV", 45.19440079, -123.1360016, 163, -8, "A", "America/Los_Angeles"}, + "WRB": {"Robins Air Force Base", "Macon", "United States", "WRB", "KWRB", 32.6400985718, -83.5919036865, 294, -5, "A", "America/New_York"}, + "BKK": {"Suvarnabhumi Airport", "Bangkok", "Thailand", "BKK", "VTBS", 13.681099891662598, 100.74700164794922, 5, 7, "U", "Asia/Bangkok"}, + "NAH": {"Naha Airport", "Naha", "Indonesia", "NAH", "WAMH", 3.6832098960876465, 125.52799987792969, 16, 8, "N", "Asia/Makassar"}, + "TTR": {"Pongtiku Airport", "Makale", "Indonesia", "TTR", "WAWT", -3.0447399616241, 119.82199859619, 2884, 8, "N", "Asia/Makassar"}, + "KDI": {"Wolter Monginsidi Airport", "Kendari", "Indonesia", "KDI", "WAWW", -4.081610202789307, 122.41799926757812, 538, 8, "N", "Asia/Makassar"}, + "SBG": {"Maimun Saleh Airport", "Sabang", "Indonesia", "SBG", "WITB", 5.87412977219, 95.33969879150001, 393, 7, "N", "Asia/Jakarta"}, + "MLG": {"Abdul Rachman Saleh Airport", "Malang", "Indonesia", "MLG", "WARA", -7.926559925079999, 112.714996338, 1726, 7, "N", "Asia/Jakarta"}, + "BDO": {"Husein Sastranegara International Airport", "Bandung", "Indonesia", "BDO", "WICC", -6.900629997253418, 107.57599639892578, 2436, 7, "N", "Asia/Jakarta"}, + "CBN": {"Penggung Airport", "Cirebon", "Indonesia", "CBN", "WICD", -6.756140232090001, 108.540000916, 89, 7, "N", "Asia/Jakarta"}, + "JOG": {"Adi Sutjipto International Airport", "Yogyakarta", "Indonesia", "JOG", "WARJ", -7.788179874420166, 110.43199920654297, 350, 7, "N", "Asia/Jakarta"}, + "CXP": {"Tunggul Wulung Airport", "Cilacap", "Indonesia", "CXP", "WIHL", -7.645060062410001, 109.033996582, 69, 7, "N", "Asia/Jakarta"}, + "PCB": {"Pondok Cabe Air Base", "Jakarta", "Indonesia", "PCB", "WIHP", -6.3369598388671875, 106.76499938964844, 200, 7, "N", "Asia/Jakarta"}, + "SRG": {"Achmad Yani Airport", "Semarang", "Indonesia", "SRG", "WARS", -6.97273, 110.375, 10, 7, "N", "Asia/Jakarta"}, + "BTH": {"Hang Nadim International Airport", "Batam", "Indonesia", "BTH", "WIDD", 1.12102997303, 104.119003296, 126, 7, "N", "Asia/Jakarta"}, + "TJQ": {"Buluh Tumbang (H A S Hanandjoeddin) Airport", "Tanjung Pandan", "Indonesia", "TJQ", "WIOD", -2.74571990967, 107.754997253, 164, 7, "N", "Asia/Jakarta"}, + "PGK": {"Pangkal Pinang (Depati Amir) Airport", "Pangkal Pinang", "Indonesia", "PGK", "WIPK", -2.16219997406, 106.138999939, 109, 7, "N", "Asia/Jakarta"}, + "TNJ": {"Raja Haji Fisabilillah International Airport", "Tanjung Pinang", "Indonesia", "TNJ", "WIDN", 0.922683000565, 104.531997681, 52, 7, "N", "Asia/Jakarta"}, + "SIQ": {"Dabo Airport", "Singkep", "Indonesia", "SIQ", "WIDS", -0.47918900847435, 104.5790023803711, 95, 7, "N", "Asia/Jakarta"}, + "BDJ": {"Syamsudin Noor Airport", "Banjarmasin", "Indonesia", "BDJ", "WAOO", -3.4423599243164062, 114.76300048828125, 66, 8, "N", "Asia/Makassar"}, + "PKN": {"Iskandar Airport", "Pangkalan Bun", "Indonesia", "PKN", "WAOI", -2.70519995689, 111.672996521, 75, 7, "N", "Asia/Jakarta"}, + "PKY": {"Tjilik Riwut Airport", "Palangkaraya", "Indonesia", "PKY", "WAOP", -2.22513008118, 113.943000793, 82, 7, "N", "Asia/Jakarta"}, + "MOF": {"Maumere(Wai Oti) Airport", "Maumere", "Indonesia", "MOF", "WATC", -8.64064979553, 122.236999512, 115, 8, "N", "Asia/Makassar"}, + "ENE": {"Ende (H Hasan Aroeboesman) Airport", "Ende", "Indonesia", "ENE", "WATE", -8.8492898941, 121.661003113, 49, 8, "N", "Asia/Makassar"}, + "RTG": {"Frans Sales Lega Airport", "Ruteng", "Indonesia", "RTG", "WATG", -8.5970096588135, 120.47699737549, 3510, 8, "N", "Asia/Makassar"}, + "KOE": {"El Tari Airport", "Kupang", "Indonesia", "KOE", "WATT", -10.171600341796875, 123.6709976196289, 335, 8, "N", "Asia/Makassar"}, + "LBJ": {"Komodo (Mutiara II) Airport", "Labuhan Bajo", "Indonesia", "LBJ", "WATO", -8.48666000366211, 119.88899993896484, 66, 8, "N", "Asia/Makassar"}, + "BPN": {"Sultan Aji Muhamad Sulaiman Airport", "Balikpapan", "Indonesia", "BPN", "WALL", -1.26827001572, 116.893997192, 12, 8, "N", "Asia/Makassar"}, + "TRK": {"Juwata Airport", "Taraken", "Indonesia", "TRK", "WALR", 3.326667, 117.569444, 23, 8, "N", "Asia/Makassar"}, + "SRI": {"Temindung Airport", "Samarinda", "Indonesia", "SRI", "WALS", -0.484530985355, 117.156997681, 33, 8, "N", "Asia/Makassar"}, + "AMI": {"Selaparang Airport", "Mataram", "Indonesia", "AMI", "WADA", -8.560709953309999, 116.095001221, 52, 8, "N", "Asia/Makassar"}, + "BMU": {"Muhammad Salahuddin Airport", "Bima", "Indonesia", "BMU", "WADB", -8.5396499633789, 118.68699645996, 3, 8, "N", "Asia/Makassar"}, + "WGP": {"Waingapu Airport", "Waingapu", "Indonesia", "WGP", "WADW", -9.669219970699999, 120.302001953, 33, 8, "N", "Asia/Makassar"}, + "SUB": {"Juanda International Airport", "Surabaya", "Indonesia", "SUB", "WARR", -7.3798298835754395, 112.78700256347656, 9, 7, "N", "Asia/Jakarta"}, + "SOC": {"Adi Sumarmo Wiryokusumo Airport", "Solo City", "Indonesia", "SOC", "WARQ", -7.516089916229248, 110.75700378417969, 421, 7, "N", "Asia/Jakarta"}, + "ICN": {"Incheon International Airport", "Seoul", "South Korea", "ICN", "RKSI", 37.46910095214844, 126.45099639892578, 23, 9, "U", "Asia/Seoul"}, + "CNX": {"Chiang Mai International Airport", "Chiang Mai", "Thailand", "CNX", "VTCC", 18.766799926799997, 98.962600708, 1036, 7, "U", "Asia/Bangkok"}, + "CEI": {"Chiang Rai International Airport", "Chiang Rai", "Thailand", "CEI", "VTCT", 19.952299118, 99.88289642330001, 1280, 7, "U", "Asia/Bangkok"}, + "NST": {"Nakhon Si Thammarat Airport", "Nakhon Si Thammarat", "Thailand", "NST", "VTSF", 8.539620399475098, 99.9447021484375, 13, 7, "U", "Asia/Bangkok"}, + "NAK": {"Nakhon Ratchasima Airport", "Nakhon Ratchasima", "Thailand", "NAK", "VTUQ", 14.94950008392334, 102.31300354003906, 765, 7, "U", "Asia/Bangkok"}, + "KOP": {"Nakhon Phanom Airport", "Nakhon Phanom", "Thailand", "KOP", "VTUW", 17.383800506591797, 104.64299774169922, 587, 7, "U", "Asia/Bangkok"}, + "UBP": {"Ubon Ratchathani Airport", "Ubon Ratchathani", "Thailand", "UBP", "VTUU", 15.2512998581, 104.870002747, 406, 7, "U", "Asia/Bangkok"}, + "KKC": {"Khon Kaen Airport", "Khon Kaen", "Thailand", "KKC", "VTUK", 16.466600418099997, 102.783996582, 670, 7, "U", "Asia/Bangkok"}, + "THS": {"Sukhothai Airport", "Sukhothai", "Thailand", "THS", "VTPO", 17.238000869750977, 99.81819915771484, 179, 7, "U", "Asia/Bangkok"}, + "DPS": {"Ngurah Rai (Bali) International Airport", "Denpasar", "Indonesia", "DPS", "WADD", -8.7481698989868, 115.16699981689, 14, 8, "N", "Asia/Makassar"}, + "ATH": {"Eleftherios Venizelos International Airport", "Athens", "Greece", "ATH", "LGAV", 37.9364013672, 23.9444999695, 308, 2, "E", "Europe/Athens"}, + "NGO": {"Chubu Centrair International Airport", "Nagoya", "Japan", "NGO", "RJGG", 34.8583984375, 136.80499267578125, 15, 9, "U", "Asia/Tokyo"}, + "UKB": {"Kobe Airport", "Kobe", "Japan", "UKB", "RJBE", 34.6328010559082, 135.2239990234375, 22, 9, "U", "Asia/Tokyo"}, + "PUW": {"Pullman Moscow Regional Airport", "Pullman", "United States", "PUW", "KPUW", 46.7439, -117.110001, 2556, -8, "A", "America/Los_Angeles"}, + "LWS": {"Lewiston Nez Perce County Airport", "Lewiston", "United States", "LWS", "KLWS", 46.3745002746582, -117.01499938964844, 1442, -8, "A", "America/Los_Angeles"}, + "ELM": {"Elmira Corning Regional Airport", "Elmira", "United States", "ELM", "KELM", 42.1599006652832, -76.8916015625, 954, -5, "A", "America/New_York"}, + "ITH": {"Ithaca Tompkins Regional Airport", "Ithaca", "United States", "ITH", "KITH", 42.49100112915039, -76.4583969116211, 1099, -5, "A", "America/New_York"}, + "MRY": {"Monterey Peninsula Airport", "Monterey", "United States", "MRY", "KMRY", 36.58700180053711, -121.84300231933594, 257, -8, "A", "America/Los_Angeles"}, + "SBA": {"Santa Barbara Municipal Airport", "Santa Barbara", "United States", "SBA", "KSBA", 34.42620087, -119.8399963, 13, -8, "A", "America/Los_Angeles"}, + "DAB": {"Daytona Beach International Airport", "Daytona Beach", "United States", "DAB", "KDAB", 29.179899, -81.058098, 34, -5, "A", "America/New_York"}, + "LPX": {"Liepāja International Airport", "Liepaja", "Latvia", "LPX", "EVLA", 56.51750183105469, 21.096900939941406, 16, 2, "E", "Europe/Riga"}, + "RIX": {"Riga International Airport", "Riga", "Latvia", "RIX", "EVRA", 56.92359924316406, 23.971099853515625, 36, 2, "E", "Europe/Riga"}, + "SQQ": {"Šiauliai International Airport", "Siauliai", "Lithuania", "SQQ", "EYSA", 55.89390182495117, 23.395000457763672, 443, 2, "E", "Europe/Vilnius"}, + "HLJ": {"Barysiai Airport", "Barysiai", "Lithuania", "HLJ", "EYSB", 56.07059860229492, 23.5580997467041, 270, 2, "E", "Europe/Vilnius"}, + "KUN": {"Kaunas International Airport", "Kaunas", "Lithuania", "KUN", "EYKA", 54.96390151977539, 24.084800720214844, 256, 2, "E", "Europe/Vilnius"}, + "PLQ": {"Palanga International Airport", "Palanga", "Lithuania", "PLQ", "EYPA", 55.973201751708984, 21.093900680541992, 33, 2, "E", "Europe/Vilnius"}, + "VNO": {"Vilnius International Airport", "Vilnius", "Lithuania", "VNO", "EYVI", 54.63410186767578, 25.28580093383789, 646, 2, "E", "Europe/Vilnius"}, + "PNV": {"Panevėžys Air Base", "Panevezys", "Lithuania", "PNV", "EYPP", 55.729400634765625, 24.460800170898438, 197, 2, "E", "Europe/Vilnius"}, + "EVN": {"Zvartnots International Airport", "Yerevan", "Armenia", "EVN", "UDYZ", 40.1473007202, 44.3959007263, 2838, 4, "E", "Asia/Yerevan"}, + "LWN": {"Gyumri Shirak Airport", "Gyumri", "Armenia", "LWN", "UDSG", 40.7504005432, 43.859298706100006, 5000, 4, "E", "Asia/Yerevan"}, + "ASA": {"Assab International Airport", "Assab", "Eritrea", "ASA", "HHSB", 13.071800231933594, 42.64500045776367, 46, 3, "U", "Africa/Asmera"}, + "ASM": {"Asmara International Airport", "Asmara", "Eritrea", "ASM", "HHAS", 15.291899681091309, 38.910701751708984, 7661, 3, "U", "Africa/Asmera"}, + "MSW": {"Massawa International Airport", "Massawa", "Eritrea", "MSW", "HHMS", 15.670000076293945, 39.37009811401367, 194, 3, "U", "Africa/Asmera"}, + "GZA": {"Yasser Arafat International Airport", "Gaza", "Palestine", "GZA", "LVGZ", 31.24640083313, 34.276100158691, 320, 2, "U", "Asia/Gaza"}, + "BUS": {"Batumi International Airport", "Batumi", "Georgia", "BUS", "UGSB", 41.6102981567, 41.5997009277, 105, 4, "N", "Asia/Tbilisi"}, + "KUT": {"Kopitnari Airport", "Kutaisi", "Georgia", "KUT", "UGKO", 42.176700592, 42.4826011658, 223, 4, "N", "Asia/Tbilisi"}, + "TBS": {"Tbilisi International Airport", "Tbilisi", "Georgia", "TBS", "UGTB", 41.6692008972, 44.95470047, 1624, 4, "N", "Asia/Tbilisi"}, + "RIY": {"Mukalla International Airport", "Mukalla", "Yemen", "RIY", "OYRN", 14.662599563598633, 49.375, 54, 3, "U", "Asia/Aden"}, + "TAI": {"Ta'izz International Airport", "Taiz", "Yemen", "TAI", "OYTZ", 13.6859998703, 44.139099121099996, 4838, 3, "U", "Asia/Aden"}, + "HOD": {"Hodeidah International Airport", "Hodeidah", "Yemen", "HOD", "OYHD", 14.753000259399414, 42.97629928588867, 41, 3, "U", "Asia/Aden"}, + "ADE": {"Aden International Airport", "Aden", "Yemen", "ADE", "OYAA", 12.829500198364258, 45.02880096435547, 7, 3, "U", "Asia/Aden"}, + "AXK": {"Ataq Airport", "Ataq", "Yemen", "AXK", "OYAT", 14.551300048828125, 46.82619857788086, 3735, 3, "U", "Asia/Aden"}, + "AAY": {"Al Ghaidah International Airport", "Al Ghaidah Intl", "Yemen", "AAY", "OYGD", 16.191699981689453, 52.17499923706055, 134, 3, "U", "Asia/Aden"}, + "SAH": {"Sana'a International Airport", "Sanaa", "Yemen", "SAH", "OYSN", 15.476300239562988, 44.21969985961914, 7216, 3, "U", "Asia/Aden"}, + "BHN": {"Beihan Airport", "Beihan", "Yemen", "BHN", "OYBN", 14.781999588012695, 45.72010040283203, 3800, 3, "U", "Asia/Aden"}, + "SCT": {"Socotra International Airport", "Socotra", "Yemen", "SCT", "OYSQ", 12.63070011138916, 53.905799865722656, 146, 3, "U", "Asia/Aden"}, + "FMM": {"Memmingen Allgau Airport", "Memmingen", "Germany", "FMM", "EDJA", 47.988800048799995, 10.2395000458, 2077, 1, "E", "Europe/Berlin"}, + "NAV": {"Nevşehir Kapadokya Airport", "Nevsehir", "Turkey", "NAV", "LTAZ", 38.7719, 34.5345, 3100, 3, "E", "Europe/Istanbul"}, + "EZE": {"Ministro Pistarini International Airport", "Buenos Aires", "Argentina", "EZE", "SAEZ", -34.8222, -58.5358, 67, -3, "N", "America/Buenos_Aires"}, + "EBL": {"Erbil International Airport", "Erbil", "Iraq", "EBL", "ORER", 36.23759841918945, 43.963199615478516, 1341, 3, "U", "Asia/Baghdad"}, + "EMD": {"Emerald Airport", "Emerald", "Australia", "EMD", "YEML", -23.5674991608, 148.179000854, 624, 10, "O", "Australia/Brisbane"}, + "HEW": {"Athen Helenikon Airport", "Athens", "Greece", "HEW", "LGAT", 37.893299, 23.726101, 69, 2, "E", "Europe/Athens"}, + "KIX": {"Kansai International Airport", "Osaka", "Japan", "KIX", "RJBB", 34.42729949951172, 135.24400329589844, 26, 9, "U", "Asia/Tokyo"}, + "TAG": {"Tagbilaran Airport", "Tagbilaran", "Philippines", "TAG", "RPVT", 9.664079666137695, 123.85299682617188, 38, 8, "N", "Asia/Manila"}, + "JAV": {"Ilulissat Airport", "Ilulissat", "Greenland", "JAV", "BGJN", 69.2432022095, -51.0570983887, 95, -3, "E", "America/Godthab"}, + "JCH": {"Qasigiannguit Heliport", "Qasigiannguit", "Greenland", "JCH", "BGCH", 68.822815547, -51.1734473705, 70, -3, "E", "America/Godthab"}, + "JEG": {"Aasiaat Airport", "Aasiaat", "Greenland", "JEG", "BGAA", 68.7218017578, -52.7846984863, 74, -3, "E", "America/Godthab"}, + "PMI": {"Palma De Mallorca Airport", "Palma de Mallorca", "Spain", "PMI", "LEPA", 39.551700592, 2.73881006241, 27, 1, "E", "Europe/Madrid"}, + "DRW": {"Darwin International Airport", "Darwin", "Australia", "DRW", "YPDN", -12.41469955444336, 130.8769989013672, 103, 9.5, "N", "Australia/Darwin"}, + "URT": {"Surat Thani Airport", "Surat Thani", "Thailand", "URT", "VTSB", 9.13259983063, 99.135597229, 20, 7, "U", "Asia/Bangkok"}, + "TKA": {"Talkeetna Airport", "Talkeetna", "United States", "TKA", "PATK", 62.320499420166, -150.09399414062, 358, -9, "A", "America/Anchorage"}, + "GZM": {"Xewkija Heliport", "Gozo", "Malta", "GZM", "LMMG", 36.027199, 14.2728, 0, 1, "E", "Europe/Malta"}, + "HVN": {"Tweed New Haven Airport", "New Haven", "United States", "HVN", "KHVN", 41.26369858, -72.88680267, 12, -5, "A", "America/New_York"}, + "AVL": {"Asheville Regional Airport", "Asheville", "United States", "AVL", "KAVL", 35.43619918823242, -82.54180145263672, 2165, -5, "A", "America/New_York"}, + "GSO": {"Piedmont Triad International Airport", "Greensboro", "United States", "GSO", "KGSO", 36.097801208496094, -79.93730163574219, 925, -5, "A", "America/New_York"}, + "FSD": {"Joe Foss Field Airport", "Sioux Falls", "United States", "FSD", "KFSD", 43.582000732400004, -96.741897583, 1429, -6, "A", "America/Chicago"}, + "AYQ": {"Ayers Rock Connellan Airport", "Uluru", "Australia", "AYQ", "YAYE", -25.1861, 130.975998, 1626, 9.5, "N", "Australia/Darwin"}, + "MHT": {"Manchester Airport", "Manchester NH", "United States", "MHT", "KMHT", 42.93259811401367, -71.43569946289062, 266, -5, "A", "America/New_York"}, + "APF": {"Naples Municipal Airport", "Naples", "United States", "APF", "KAPF", 26.1525993347, -81.7752990723, 8, -5, "A", "America/New_York"}, + "RDN": {"LTS Pulau Redang Airport", "Redang", "Malaysia", "RDN", "WMPR", 5.765279769897461, 103.00700378417969, 36, 8, "N", "Asia/Kuala_Lumpur"}, + "SDF": {"Louisville International Standiford Field", "Louisville", "United States", "SDF", "KSDF", 38.1744, -85.736, 501, -5, "A", "America/New_York"}, + "CHO": {"Charlottesville Albemarle Airport", "Charlottesville VA", "United States", "CHO", "KCHO", 38.13859939575195, -78.4529037475586, 639, -5, "A", "America/New_York"}, + "ROA": {"Roanoke–Blacksburg Regional Airport", "Roanoke VA", "United States", "ROA", "KROA", 37.325500488299994, -79.975402832, 1175, -5, "A", "America/New_York"}, + "LEX": {"Blue Grass Airport", "Lexington KY", "United States", "LEX", "KLEX", 38.0364990234375, -84.60590362548828, 979, -5, "A", "America/New_York"}, + "EVV": {"Evansville Regional Airport", "Evansville", "United States", "EVV", "KEVV", 38.0369987488, -87.5324020386, 418, -6, "A", "America/Chicago"}, + "ABQ": {"Albuquerque International Sunport Airport", "Albuquerque", "United States", "ABQ", "KABQ", 35.040199279785156, -106.60900115966797, 5355, -7, "A", "America/Denver"}, + "BZN": {"Gallatin Field", "Bozeman", "United States", "BZN", "KBZN", 45.77750015, -111.1529999, 4473, -7, "A", "America/Denver"}, + "BIL": {"Billings Logan International Airport", "Billings", "United States", "BIL", "KBIL", 45.807701110839844, -108.54299926757812, 3652, -7, "A", "America/Denver"}, + "BTM": {"Bert Mooney Airport", "Butte", "United States", "BTM", "KBTM", 45.95479965209961, -112.49700164794922, 5550, -7, "A", "America/Denver"}, + "TVC": {"Cherry Capital Airport", "Traverse City", "United States", "TVC", "KTVC", 44.74140167236328, -85.58219909667969, 624, -5, "A", "America/New_York"}, + "FRS": {"Mundo Maya International Airport", "Flores", "Guatemala", "FRS", "MGTK", 16.913799285899998, -89.86640167239999, 427, -6, "U", "America/Guatemala"}, + "BHB": {"Hancock County-Bar Harbor Airport", "Bar Harbor", "United States", "BHB", "KBHB", 44.45000076, -68.3615036, 83, -5, "A", "America/New_York"}, + "RKD": {"Knox County Regional Airport", "Rockland", "United States", "RKD", "KRKD", 44.06010056, -69.09919739, 56, -5, "A", "America/New_York"}, + "JAC": {"Jackson Hole Airport", "Jacksn Hole", "United States", "JAC", "KJAC", 43.6072998046875, -110.73799896240234, 6451, -7, "A", "America/Denver"}, + "RFD": {"Chicago Rockford International Airport", "Rockford", "United States", "RFD", "KRFD", 42.19540023803711, -89.09719848632812, 742, -6, "A", "America/Chicago"}, + "DME": {"Domodedovo International Airport", "Moscow", "Russia", "DME", "UUDD", 55.40879821777344, 37.90629959106445, 588, 3, "N", "Europe/Moscow"}, + "SYX": {"Sanya Phoenix International Airport", "Sanya", "China", "SYX", "ZJSY", 18.302900314331055, 109.41200256347656, 92, 8, "U", "Asia/Shanghai"}, + "MFN": {"Milford Sound Airport", "Milford Sound", "New Zealand", "MFN", "NZMF", -44.673301696777344, 167.92300415039062, 10, 12, "Z", "Pacific/Auckland"}, + "LJG": {"Lijiang Airport", "Lijiang", "China", "LJG", "ZPLJ", 26.6800003052, 100.246002197, 0, 8, "U", "Asia/Shanghai"}, + "GSP": {"Greenville Spartanburg International Airport", "Greenville", "United States", "GSP", "KGSP", 34.8956985474, -82.2189025879, 964, -5, "A", "America/New_York"}, + "BMI": {"Central Illinois Regional Airport at Bloomington-Normal", "Bloomington", "United States", "BMI", "KBMI", 40.47710037, -88.91590118, 871, -6, "A", "America/Chicago"}, + "GPT": {"Gulfport Biloxi International Airport", "Gulfport", "United States", "GPT", "KGPT", 30.40730094909668, -89.07009887695312, 28, -6, "A", "America/Chicago"}, + "AZO": {"Kalamazoo Battle Creek International Airport", "Kalamazoo", "United States", "AZO", "KAZO", 42.234901428222656, -85.5521011352539, 874, -5, "A", "America/New_York"}, + "TOL": {"Toledo Express Airport", "Toledo", "United States", "TOL", "KTOL", 41.58679962, -83.80780029, 683, -5, "A", "America/New_York"}, + "FWA": {"Fort Wayne International Airport", "Fort Wayne", "United States", "FWA", "KFWA", 40.97850037, -85.19509888, 814, -5, "A", "America/New_York"}, + "DEC": {"Decatur Airport", "Decatur", "United States", "DEC", "KDEC", 39.834598541259766, -88.8656997680664, 682, -6, "A", "America/Chicago"}, + "CID": {"The Eastern Iowa Airport", "Cedar Rapids", "United States", "CID", "KCID", 41.884700775146484, -91.71080017089844, 869, -6, "A", "America/Chicago"}, + "LSE": {"La Crosse Municipal Airport", "La Crosse", "United States", "LSE", "KLSE", 43.879002, -91.256699, 655, -6, "A", "America/Chicago"}, + "CWA": {"Central Wisconsin Airport", "Wassau", "United States", "CWA", "KCWA", 44.7775993347, -89.6668014526, 1277, -6, "A", "America/Chicago"}, + "PIA": {"General Wayne A. Downing Peoria International Airport", "Peoria", "United States", "PIA", "KPIA", 40.664199829100006, -89.6932983398, 660, -6, "A", "America/Chicago"}, + "ATW": {"Appleton International Airport", "Appleton", "United States", "ATW", "KATW", 44.258098602299995, -88.5190963745, 918, -6, "A", "America/Chicago"}, + "RST": {"Rochester International Airport", "Rochester", "United States", "RST", "KRST", 43.90829849243164, -92.5, 1317, -6, "A", "America/Chicago"}, + "CMI": {"University of Illinois Willard Airport", "Champaign", "United States", "CMI", "KCMI", 40.03919983, -88.27809906, 755, -6, "A", "America/Chicago"}, + "MHK": {"Manhattan Regional Airport", "Manhattan", "United States", "MHK", "KMHK", 39.14099884033203, -96.6707992553711, 1057, -6, "A", "America/Chicago"}, + "KGC": {"Kingscote Airport", "Kingscote", "Australia", "KGC", "YKSC", -35.71390151977539, 137.52099609375, 24, 9.5, "O", "Australia/Adelaide"}, + "HVB": {"Hervey Bay Airport", "Hervey Bay", "Australia", "HVB", "YHBA", -25.3188991547, 152.880004883, 60, 10, "O", "Australia/Brisbane"}, + "DLU": {"Dali Airport", "Dali", "China", "DLU", "ZPDL", 25.649401, 100.319, 7050, 8, "U", "Asia/Shanghai"}, + "MZV": {"Mulu Airport", "Mulu", "Malaysia", "MZV", "WBMU", 4.048329830169678, 114.80500030517578, 80, 8, "N", "Asia/Kuala_Lumpur"}, + "SSH": {"Sharm El Sheikh International Airport", "Sharm El Sheikh", "Egypt", "SSH", "HESH", 27.9773006439, 34.3950004578, 143, 2, "N", "Africa/Cairo"}, + "FKL": {"Venango Regional Airport", "Franklin", "United States", "FKL", "KFKL", 41.3778991699, -79.8603973389, 1540, -5, "A", "America/New_York"}, + "NBO": {"Jomo Kenyatta International Airport", "Nairobi", "Kenya", "NBO", "HKJK", -1.31923997402, 36.9277992249, 5330, 3, "N", "Africa/Nairobi"}, + "SEU": {"Seronera Airport", "Seronera", "Tanzania", "SEU", "HTSN", -2.4580600261688232, 34.8224983215332, 5080, 3, "U", "Africa/Dar_es_Salaam"}, + "FTE": {"El Calafate Airport", "El Calafate", "Argentina", "FTE", "SAWC", -50.2803, -72.053101, 669, -3, "N", "America/Argentina/Rio_Gallegos"}, + "ARM": {"Armidale Airport", "Armidale", "Australia", "ARM", "YARM", -30.528099060099997, 151.617004395, 3556, 10, "O", "Australia/Sydney"}, + "GJT": {"Grand Junction Regional Airport", "Grand Junction", "United States", "GJT", "KGJT", 39.1223983765, -108.527000427, 4858, -7, "A", "America/Denver"}, + "SGU": {"St George Municipal Airport", "Saint George", "United States", "SGU", "KSGU", 37.0363888889, -113.510305556, 2941, -7, "A", "America/Denver"}, + "DWH": {"David Wayne Hooks Memorial Airport", "Houston", "United States", "DWH", "KDWH", 30.0618000031, -95.55280303960001, 152, -6, "A", "America/Chicago"}, + "S46": {"Port O'Connor Private Airport", "Port O\\\\'Connor", "United States", "S46", "XS46", 28.42970085144043, -96.44439697265625, 8, -6, "A", "America/Chicago"}, + "SRQ": {"Sarasota Bradenton International Airport", "Sarasota", "United States", "SRQ", "KSRQ", 27.39539909362793, -82.55439758300781, 30, -5, "A", "America/New_York"}, + "BDA": {"L.F. Wade International International Airport", "Bermuda", "Bermuda", "BDA", "TXKF", 32.36399841308594, -64.67870330810547, 12, -4, "A", "Atlantic/Bermuda"}, + "VNY": {"Van Nuys Airport", "Van Nuys", "United States", "VNY", "KVNY", 34.209800720215, -118.48999786377, 802, -8, "A", "America/Los_Angeles"}, + "MLI": {"Quad City International Airport", "Moline", "United States", "MLI", "KMLI", 41.44850158691406, -90.50749969482422, 590, -6, "A", "America/Chicago"}, + "PFN": {"Panama City-Bay Co International Airport", "Panama City", "United States", "PFN", "KPFN", 30.212099, -85.6828, 20, -6, "A", "America/Chicago"}, + "HIR": {"Honiara International Airport", "Honiara", "Solomon Islands", "HIR", "AGGH", -9.4280004501343, 160.05499267578, 28, 11, "U", "Pacific/Guadalcanal"}, + "PPT": {"Faa'a International Airport", "Papeete", "French Polynesia", "PPT", "NTAA", -17.5536994934, -149.606994629, 5, -10, "U", "Pacific/Tahiti"}, + "INU": {"Nauru International Airport", "Nauru", "Nauru", "INU", "ANYN", -0.547458, 166.919006, 22, 12, "U", "Pacific/Nauru"}, + "FUN": {"Funafuti International Airport", "Funafuti", "Tuvalu", "FUN", "NGFU", -8.525, 179.195999, 9, 12, "U", "Pacific/Funafuti"}, + "OVB": {"Tolmachevo Airport", "Novosibirsk", "Russia", "OVB", "UNNT", 55.012599945068, 82.650703430176, 365, 7, "N", "Asia/Krasnoyarsk"}, + "XKH": {"Xieng Khouang Airport", "Phon Savan", "Laos", "XKH", "VLXK", 19.450000762939453, 103.15799713134766, 3445, 7, "U", "Asia/Vientiane"}, + "BIS": {"Bismarck Municipal Airport", "Bismarck", "United States", "BIS", "KBIS", 46.772701263427734, -100.74600219726562, 1661, -6, "A", "America/Chicago"}, + "TEX": {"Telluride Regional Airport", "Telluride", "United States", "TEX", "KTEX", 37.9538002, -107.9079971, 9070, -7, "A", "America/Denver"}, + "INC": {"Yinchuan Airport", "Yinchuan", "China", "INC", "ZLIC", 38.481899, 106.009003, 0, 8, "U", "Asia/Shanghai"}, + "HGN": {"Mae Hong Son Airport", "Mae Hong Son", "Thailand", "HGN", "VTCH", 19.301300048828125, 97.97579956054688, 929, 7, "U", "Asia/Bangkok"}, + "RAP": {"Rapid City Regional Airport", "Rapid City", "United States", "RAP", "KRAP", 44.0452995300293, -103.05699920654297, 3204, -7, "A", "America/Denver"}, + "CLD": {"Mc Clellan-Palomar Airport", "Carlsbad", "United States", "CLD", "KCRQ", 33.12829971, -117.2799988, 331, -8, "A", "America/Los_Angeles"}, + "FNT": {"Bishop International Airport", "Flint", "United States", "FNT", "KFNT", 42.96540069580078, -83.74359893798828, 782, -5, "A", "America/New_York"}, + "DVO": {"Francisco Bangoy International Airport", "Davao", "Philippines", "DVO", "RPMD", 7.1255202293396, 125.64600372314453, 96, 8, "N", "Asia/Manila"}, + "FNC": {"Madeira Airport", "Funchal", "Portugal", "FNC", "LPMA", 32.697898864746, -16.774499893188, 192, 0, "E", "Europe/Lisbon"}, + "STM": {"Maestro Wilson Fonseca Airport", "Santarem", "Brazil", "STM", "SBSN", -2.4247219562530518, -54.785831451416016, 198, -3, "S", "America/Belem"}, + "KOS": {"Sihanoukville International Airport", "Sihanoukville", "Cambodia", "KOS", "VDSV", 10.57970047, 103.637001038, 33, 7, "N", "Asia/Phnom_Penh"}, + "YOA": {"Ekati Airport", "Ekati", "Canada", "YOA", "CYOA", 64.6988983154, -110.614997864, 1536, -7, "A", "America/Edmonton"}, + "NPE": {"Hawke's Bay Airport", "NAPIER", "New Zealand", "NPE", "NZNR", -39.465801, 176.869995, 6, 12, "Z", "Pacific/Auckland"}, + "LEV": {"Levuka Airfield", "Levuka", "Fiji", "LEV", "NFNB", -17.7110996246, 178.759002686, 11, 12, "N", "Pacific/Fiji"}, + "LXA": {"Lhasa Gonggar Airport", "Lhasa", "China", "LXA", "ZULS", 29.2978000641, 90.91190338130001, 11713, 8, "U", "Asia/Shanghai"}, + "RDD": {"Redding Municipal Airport", "Redding", "United States", "RDD", "KRDD", 40.50899887, -122.2929993, 505, -8, "A", "America/Los_Angeles"}, + "EUG": {"Mahlon Sweet Field", "Eugene", "United States", "EUG", "KEUG", 44.12459945678711, -123.21199798583984, 374, -8, "A", "America/Los_Angeles"}, + "IDA": {"Idaho Falls Regional Airport", "Idaho Falls", "United States", "IDA", "KIDA", 43.51459884643555, -112.07099914550781, 4744, -7, "A", "America/Denver"}, + "MFR": {"Rogue Valley International Medford Airport", "Medford", "United States", "MFR", "KMFR", 42.37419891357422, -122.87300109863281, 1335, -8, "A", "America/Los_Angeles"}, + "KBZ": {"Kaikoura Airport", "Kaikoura", "New Zealand", "KBZ", "NZKI", -42.42499923706055, 173.60499572753906, 20, 12, "Z", "Pacific/Auckland"}, + "RDM": {"Roberts Field", "Redmond-Bend", "United States", "RDM", "KRDM", 44.2541008, -121.1500015, 3080, -8, "A", "America/Los_Angeles"}, + "PCN": {"Picton Aerodrome", "Picton", "New Zealand", "PCN", "NZPN", -41.346099853516, 173.95599365234, 161, 12, "Z", "Pacific/Auckland"}, + "WDH": {"Hosea Kutako International Airport", "Windhoek", "Namibia", "WDH", "FYWH", -22.4799, 17.4709, 5640, 1, "S", "Africa/Windhoek"}, + "YWH": {"Victoria Harbour Seaplane Base", "Victoria", "Canada", "YWH", "CYWH", 48.4249858939, -123.388867378, 0, -8, "A", "America/Vancouver"}, + "TNA": {"Yaoqiang Airport", "Jinan", "China", "TNA", "ZSJN", 36.857200622558594, 117.21600341796875, 76, 8, "U", "Asia/Shanghai"}, + "CZX": {"Changzhou Benniu Airport", "Changzhou", "China", "CZX", "ZSCG", 31.919701, 119.778999, 0, 8, "U", "Asia/Shanghai"}, + "YBP": {"Yibin Caiba Airport", "Yibin", "China", "YBP", "ZUYB", 28.8005555556, 104.545, 924, 8, "U", "Asia/Shanghai"}, + "TJM": {"Roshchino International Airport", "Tyumen", "Russia", "TJM", "USTR", 57.189601898199996, 65.3243026733, 378, 5, "N", "Asia/Yekaterinburg"}, + "CAK": {"Akron Canton Regional Airport", "Akron", "United States", "CAK", "KCAK", 40.916099548339844, -81.44219970703125, 1228, -5, "A", "America/New_York"}, + "HSV": {"Huntsville International Carl T Jones Field", "Huntsville", "United States", "HSV", "KHSV", 34.637199401855, -86.775100708008, 629, -6, "A", "America/Chicago"}, + "PKB": {"Mid Ohio Valley Regional Airport", "PARKERSBURG", "United States", "PKB", "KPKB", 39.34510040283203, -81.43920135498047, 858, -5, "A", "America/New_York"}, + "MGM": {"Montgomery Regional (Dannelly Field) Airport", "MONTGOMERY", "United States", "MGM", "KMGM", 32.30059814, -86.39399719, 221, -6, "A", "America/Chicago"}, + "TRI": {"Tri Cities Regional Tn Va Airport", "BRISTOL", "United States", "TRI", "KTRI", 36.47520065307617, -82.40740203857422, 1519, -5, "A", "America/New_York"}, + "PAH": {"Barkley Regional Airport", "PADUCAH", "United States", "PAH", "KPAH", 37.06079864501953, -88.7738037109375, 410, -6, "A", "America/Chicago"}, + "JIB": {"Djibouti-Ambouli Airport", "Djibouti", "Djibouti", "JIB", "HDAM", 11.547300338745117, 43.15950012207031, 49, 3, "U", "Africa/Djibouti"}, + "HAK": {"Haikou Meilan International Airport", "Haikou", "China", "HAK", "ZJHK", 19.934900283813477, 110.45899963378906, 75, 8, "U", "Asia/Shanghai"}, + "MFA": {"Mafia Island Airport", "Mafia Island", "Tanzania", "MFA", "HTMA", -7.917478, 39.668502, 60, 3, "U", "Africa/Dar_es_Salaam"}, + "PGA": {"Page Municipal Airport", "Page", "United States", "PGA", "KPGA", 36.92610168, -111.447998, 4316, -7, "A", "America/Phoenix"}, + "UII": {"Utila Airport", "Utila", "Honduras", "UII", "MHUT", 16.1131, -86.880302, 29, -6, "U", "America/Tegucigalpa"}, + "FCA": {"Glacier Park International Airport", "Kalispell", "United States", "FCA", "KGPI", 48.31050109863281, -114.25599670410156, 2977, -7, "A", "America/Denver"}, + "MBS": {"MBS International Airport", "Saginaw", "United States", "MBS", "KMBS", 43.532901763916016, -84.07959747314453, 668, -5, "A", "America/New_York"}, + "BGM": {"Greater Binghamton/Edwin A Link field", "Binghamton", "United States", "BGM", "KBGM", 42.20869827, -75.97979736, 1636, -5, "A", "America/New_York"}, + "BGW": {"Baghdad International Airport", "Baghdad", "Iraq", "BGW", "ORBI", 33.262500762900004, 44.2346000671, 114, 3, "U", "Asia/Baghdad"}, + "NNT": {"Nan Airport", "Nan", "Thailand", "NNT", "VTCN", 18.807899475097656, 100.78299713134766, 685, 7, "U", "Asia/Bangkok"}, + "ROI": {"Roi Et Airport", "Roi Et", "Thailand", "ROI", "VTUV", 16.11680030822754, 103.77400207519531, 451, 7, "U", "Asia/Bangkok"}, + "BFV": {"Buri Ram Airport", "Buri Ram", "Thailand", "BFV", "VTUO", 15.229499816894531, 103.25299835205078, 590, 7, "U", "Asia/Bangkok"}, + "TDX": {"Trat Airport", "Trat", "Thailand", "TDX", "VTBO", 12.274600029, 102.319000244, 105, 7, "U", "Asia/Bangkok"}, + "BLH": {"Blythe Airport", "Blythe", "United States", "BLH", "KBLH", 33.6192016602, -114.717002869, 399, -8, "A", "America/Los_Angeles"}, + "CRK": {"Clark International Airport", "Angeles City", "Philippines", "CRK", "RPLC", 15.1859998703, 120.559997559, 484, 8, "N", "Asia/Manila"}, + "SDK": {"Sandakan Airport", "Sandakan", "Malaysia", "SDK", "WBKS", 5.900899887084961, 118.05899810791016, 46, 8, "N", "Asia/Kuala_Lumpur"}, + "LXG": {"Luang Namtha Airport", "Luang Namtha", "Laos", "LXG", "VLLN", 20.966999053955078, 101.4000015258789, 1968, 7, "U", "Asia/Vientiane"}, + "ODY": {"Oudomsay Airport", "Muang Xay", "Laos", "ODY", "VLOS", 20.68269920349121, 101.99400329589844, 1804, 7, "N", "Asia/Vientiane"}, + "SHE": {"Taoxian Airport", "Shenyang", "China", "SHE", "ZYTX", 41.639801025390625, 123.48300170898438, 198, 8, "U", "Asia/Shanghai"}, + "MNI": {"John A. Osborne Airport", "Geralds", "Montserrat", "MNI", "TRPG", 16.791400909423828, -62.19329833984375, 550, -4, "N", "America/Montserrat"}, + "PSG": {"Petersburg James A Johnson Airport", "Petersburg", "United States", "PSG", "PAPG", 56.80170059, -132.9450073, 111, -9, "A", "America/Anchorage"}, + "LYA": {"Luoyang Airport", "Luoyang", "China", "LYA", "ZHLY", 34.741100311299995, 112.388000488, 840, 8, "U", "Asia/Shanghai"}, + "XUZ": {"Xuzhou Guanyin Airport", "Xuzhou", "China", "XUZ", "ZSXZ", 34.059056, 117.555278, 0, 8, "U", "Asia/Shanghai"}, + "MWQ": {"Magway Airport", "Magwe", "Burma", "MWQ", "VYMW", 20.165599822998047, 94.94139862060547, 279, 6.5, "U", "Asia/Rangoon"}, + "KHM": {"Kanti Airport", "Khamti", "Burma", "KHM", "VYKI", 25.988300323486328, 95.67440032958984, 6000, 6.5, "U", "Asia/Rangoon"}, + "DLI": {"Lien Khuong Airport", "Dalat", "Vietnam", "DLI", "VVDL", 11.75, 108.36699676513672, 3156, 7, "U", "Asia/Saigon"}, + "VKG": {"Rach Gia Airport", "Rach Gia", "Vietnam", "VKG", "VVRG", 9.95802997234, 105.132379532, 7, 7, "U", "Asia/Saigon"}, + "CAH": {"Cà Mau Airport", "Ca Mau", "Vietnam", "CAH", "VVCM", 9.177667, 105.177778, 6, 7, "U", "Asia/Saigon"}, + "VCL": {"Chu Lai International Airport", "Chu Lai", "Vietnam", "VCL", "VVCA", 15.403300285299999, 108.706001282, 10, 7, "U", "Asia/Saigon"}, + "TBB": {"Dong Tac Airport", "Tuy Hoa", "Vietnam", "TBB", "VVTH", 13.049599647500001, 109.333999634, 20, 7, "U", "Asia/Saigon"}, + "PYY": {"Mae Hong Son Airport", "Pai", "Thailand", "PYY", "VTCI", 19.3719997406, 98.43699646, 1271, 7, "U", "Asia/Bangkok"}, + "BWK": {"Bol Airport", "Brac", "Croatia", "BWK", "LDSB", 43.285701751708984, 16.67970085144043, 1776, 1, "E", "Europe/Zagreb"}, + "NSI": {"Yaoundé Nsimalen International Airport", "Yaounde", "Cameroon", "NSI", "FKYS", 3.722559928894043, 11.553299903869629, 2278, 1, "N", "Africa/Douala"}, + "CKY": {"Conakry International Airport", "Conakry", "Guinea", "CKY", "GUCY", 9.57689, -13.612, 72, 0, "N", "Africa/Conakry"}, + "AAH": {"Aachen-Merzbrück Airport", "Aachen", "Germany", "AAH", "EDKA", 50.823055267333984, 6.186388969421387, 623, 1, "E", "Europe/Berlin"}, + "FKB": {"Karlsruhe Baden-Baden Airport", "Karlsruhe/Baden-Baden", "Germany", "FKB", "EDSB", 48.7793998718, 8.08049964905, 408, 1, "E", "Europe/Berlin"}, + "SFB": {"Orlando Sanford International Airport", "Sanford", "United States", "SFB", "KSFB", 28.777599334716797, -81.23750305175781, 55, -5, "A", "America/New_York"}, + "JST": {"John Murtha Johnstown Cambria County Airport", "Johnstown", "United States", "JST", "KJST", 40.31610107421875, -78.83390045166016, 2284, -5, "A", "America/New_York"}, + "LUA": {"Lukla Airport", "Lukla", "Nepal", "LUA", "VNLK", 27.686899185180664, 86.72969818115234, 9380, 5.75, "N", "Asia/Katmandu"}, + "BHP": {"Bhojpur Airport", "Bhojpur", "Nepal", "BHP", "VNBJ", 27.14739990234375, 87.05079650878906, 4000, 5.75, "N", "Asia/Katmandu"}, + "LDN": {"Lamidanda Airport", "Lamidanda", "Nepal", "LDN", "VNLD", 27.25309944152832, 86.66999816894531, 4100, 5.75, "N", "Asia/Katmandu"}, + "JMO": {"Jomsom Airport", "Jomsom", "Nepal", "JMO", "VNJS", 28.780426, 83.723, 9000, 5.75, "N", "Asia/Katmandu"}, + "NGX": {"Manang Airport", "Manang", "Nepal", "NGX", "VNMA", 28.641399383544922, 84.08920288085938, 11001, 5.75, "N", "Asia/Katmandu"}, + "PPL": {"Phaplu Airport", "Phaplu", "Nepal", "PPL", "VNPL", 27.5177868809, 86.5844535828, 7918, 5.75, "N", "Asia/Katmandu"}, + "RUM": {"Rumjatar Airport", "Rumjatar", "Nepal", "RUM", "VNRT", 27.303499221801758, 86.55039978027344, 4500, 5.75, "N", "Asia/Katmandu"}, + "DNP": {"Tulsipur Airport", "Dang", "Nepal", "DNP", "VNDG", 28.111099243164062, 82.29419708251953, 2100, 5.75, "N", "Asia/Katmandu"}, + "RUK": {"Rukumkot Airport", "Rukumkot", "Nepal", "RUK", "VNRK", 28.627000808699997, 82.19499969479999, 2500, 5.75, "N", "Asia/Katmandu"}, + "JUM": {"Jumla Airport", "Jumla", "Nepal", "JUM", "VNJL", 29.274200439453125, 82.19329833984375, 7700, 5.75, "N", "Asia/Katmandu"}, + "TPJ": {"Taplejung Airport", "Taplejung", "Nepal", "TPJ", "VNTJ", 27.3509, 87.69525, 7990, 5.75, "N", "Asia/Katmandu"}, + "TMI": {"Tumling Tar Airport", "Tumling Tar", "Nepal", "TMI", "VNTR", 27.315000534057617, 87.19329833984375, 1700, 5.75, "N", "Asia/Katmandu"}, + "SKH": {"Surkhet Airport", "Surkhet", "Nepal", "SKH", "VNSK", 28.586000442504883, 81.63600158691406, 2400, 5.75, "N", "Asia/Katmandu"}, + "IMK": {"Simikot Airport", "Simikot", "Nepal", "IMK", "VNST", 29.971099853515625, 81.81890106201172, 9246, 5.75, "N", "Asia/Katmandu"}, + "DOP": {"Dolpa Airport", "Dolpa", "Nepal", "DOP", "VNDP", 28.985700607299805, 82.81909942626953, 8200, 5.75, "N", "Asia/Katmandu"}, + "BJH": {"Bajhang Airport", "Bajhang", "Nepal", "BJH", "VNBG", 29.538999557495117, 81.1854019165039, 4100, 5.75, "N", "Asia/Katmandu"}, + "DHI": {"Dhangarhi Airport", "Dhangarhi", "Nepal", "DHI", "VNDH", 28.753299713134766, 80.58190155029297, 690, 5.75, "N", "Asia/Katmandu"}, + "MWX": {"Muan International Airport", "Muan", "South Korea", "MWX", "RKJB", 34.991406, 126.382814, 35, 9, "U", "Asia/Seoul"}, + "JTY": {"Astypalaia Airport", "Astypalaia", "Greece", "JTY", "LGPL", 36.5798988342, 26.3757991791, 165, 2, "E", "Europe/Athens"}, + "JIK": {"Ikaria Airport", "Ikaria", "Greece", "JIK", "LGIK", 37.6827011108, 26.3470993042, 79, 2, "E", "Europe/Athens"}, + "JKL": {"Kalymnos Airport", "Kalymnos", "Greece", "JKL", "LGKY", 36.9632987976, 26.9405994415, 771, 2, "E", "Europe/Athens"}, + "MLO": {"Milos Airport", "Milos", "Greece", "MLO", "LGML", 36.6968994141, 24.476900100699996, 10, 2, "E", "Europe/Athens"}, + "JNX": {"Naxos Airport", "Cyclades Islands", "Greece", "JNX", "LGNX", 37.0811004639, 25.3680992126, 10, 2, "E", "Europe/Athens"}, + "PAS": {"Paros Airport", "Paros", "Greece", "PAS", "LGPA", 37.020495, 25.113195, 131, 2, "E", "Europe/Athens"}, + "KZS": {"Kastelorizo Airport", "Kastelorizo", "Greece", "KZS", "LGKJ", 36.1417007446, 29.576400756799995, 489, 2, "E", "Europe/Athens"}, + "RMF": {"Marsa Alam International Airport", "Marsa Alam", "Egypt", "RMF", "HEMA", 25.557100296, 34.5836982727, 251, 2, "U", "Africa/Cairo"}, + "NRN": {"Weeze Airport", "Weeze", "Germany", "NRN", "EDLV", 51.6024017334, 6.14216995239, 106, 1, "E", "Europe/Berlin"}, + "USU": {"Francisco B. Reyes Airport", "Busuanga", "Philippines", "USU", "RPVV", 12.1215000153, 120.099998474, 148, 8, "N", "Asia/Manila"}, + "BXU": {"Bancasi Airport", "Butuan", "Philippines", "BXU", "RPME", 8.9515, 125.4788, 141, 8, "N", "Asia/Manila"}, + "DPL": {"Dipolog Airport", "Dipolog", "Philippines", "DPL", "RPMG", 8.60198349877, 123.341875076, 12, 8, "N", "Asia/Manila"}, + "LAO": {"Laoag International Airport", "Laoag", "Philippines", "LAO", "RPLI", 18.1781005859375, 120.53199768066406, 25, 8, "N", "Asia/Manila"}, + "LGP": {"Legazpi City International Airport", "Legazpi", "Philippines", "LGP", "RPLP", 13.1575, 123.735, 66, 8, "N", "Asia/Manila"}, + "OZC": {"Labo Airport", "Ozamis", "Philippines", "OZC", "RPMO", 8.178509712219238, 123.84200286865234, 75, 8, "N", "Asia/Manila"}, + "CEB": {"Mactan Cebu International Airport", "Cebu", "Philippines", "CEB", "RPVM", 10.307499885559, 123.97899627686, 31, 8, "N", "Asia/Manila"}, + "NOE": {"Norden-Norddeich Airport", "Norden", "Germany", "NOE", "EDWS", 53.633056640599996, 7.19027805328, 3, 1, "E", "Europe/Berlin"}, + "JUI": {"Juist Airport", "Juist", "Germany", "JUI", "EDWJ", 53.68111038208008, 7.055832862854004, 7, 1, "E", "Europe/Berlin"}, + "BPS": {"Porto Seguro Airport", "Porto Seguro", "Brazil", "BPS", "SBPS", -16.438600540161133, -39.08089828491211, 168, -3, "S", "America/Fortaleza"}, + "PMW": {"Brigadeiro Lysias Rodrigues Airport", "Palmas", "Brazil", "PMW", "SBPJ", -10.291500091600001, -48.35699844359999, 774, -3, "S", "America/Fortaleza"}, + "CLV": {"Nelson Ribeiro Guimarães Airport", "Caldas Novas", "Brazil", "CLV", "SBCN", -17.725299835205, -48.607498168945, 2247, -3, "S", "America/Sao_Paulo"}, + "MSO": {"Missoula International Airport", "Missoula", "United States", "MSO", "KMSO", 46.91630173, -114.0910034, 3206, -7, "A", "America/Denver"}, + "BKQ": {"Blackall Airport", "Blackall", "Australia", "BKQ", "YBCK", -24.427799224900003, 145.429000854, 928, 10, "O", "Australia/Brisbane"}, + "BDB": {"Bundaberg Airport", "Bundaberg", "Australia", "BDB", "YBUD", -24.903900146499996, 152.319000244, 107, 10, "O", "Australia/Brisbane"}, + "GCN": {"Grand Canyon National Park Airport", "Grand Canyon", "United States", "GCN", "KGCN", 35.95240020751953, -112.14700317382812, 6609, -7, "N", "America/Phoenix"}, + "SGR": {"Sugar Land Regional Airport", "Sugar Land", "United States", "SGR", "KSGR", 29.622299194336, -95.65650177002, 82, -6, "A", "America/Chicago"}, + "HIS": {"Hayman Island Heliport", "Hayman Island", "Australia", "HIS", "YHYN", -20.0599, 148.8834, 8, 10, "O", "Australia/Brisbane"}, + "APA": {"Centennial Airport", "Denver", "United States", "APA", "KAPA", 39.57009888, -104.848999, 5885, -7, "A", "America/Denver"}, + "CVN": {"Clovis Municipal Airport", "Clovis", "United States", "CVN", "KCVN", 34.4250984192, -103.07900238, 4216, -7, "A", "America/Denver"}, + "FST": {"Fort Stockton Pecos County Airport", "Fort Stockton", "United States", "FST", "KFST", 30.9157009125, -102.916000366, 3011, -6, "A", "America/Chicago"}, + "LVS": {"Las Vegas Municipal Airport", "Las Vegas", "United States", "LVS", "KLVS", 35.6542015076, -105.141998291, 6877, -7, "A", "America/Denver"}, + "IWS": {"West Houston Airport", "Houston", "United States", "IWS", "KIWS", 29.818199157699997, -95.67259979250001, 111, -6, "A", "America/Chicago"}, + "LHX": {"La Junta Municipal Airport", "La Junta", "United States", "LHX", "KLHX", 38.04970169, -103.5090027, 4229, -7, "A", "America/Denver"}, + "LRU": {"Las Cruces International Airport", "Las Cruces", "United States", "LRU", "KLRU", 32.289398193359375, -106.9219970703125, 4456, -7, "A", "America/Denver"}, + "BKD": {"Stephens County Airport", "Breckenridge", "United States", "BKD", "KBKD", 32.71900177, -98.89099884030001, 1284, -6, "A", "America/Chicago"}, + "TPL": {"Draughon Miller Central Texas Regional Airport", "Temple", "United States", "TPL", "KTPL", 31.15250015258789, -97.40779876708984, 682, -6, "A", "America/Chicago"}, + "OZA": {"Ozona Municipal Airport", "Ozona", "United States", "OZA", "KOZA", 30.735300064087, -101.20300292969, 2381, -6, "A", "America/Chicago"}, + "KDM": {"Kaadedhdhoo Airport", "Kaadedhdhoo", "Maldives", "KDM", "VRMT", 0.48813098669052124, 72.99690246582031, 2, 5, "U", "Indian/Maldives"}, + "LAK": {"Aklavik/Freddie Carmichael Airport", "Aklavik", "Canada", "LAK", "CYKD", 68.223297, -135.00599, 23, -7, "A", "America/Edmonton"}, + "YWJ": {"Déline Airport", "Deline", "Canada", "YWJ", "CYWJ", 65.21109771728516, -123.43599700927734, 703, -7, "A", "America/Edmonton"}, + "ZFN": {"Tulita Airport", "Tulita", "Canada", "ZFN", "CZFN", 64.90969848632812, -125.572998046875, 332, -7, "A", "America/Edmonton"}, + "YGH": {"Fort Good Hope Airport", "Fort Good Hope", "Canada", "YGH", "CYGH", 66.24079895019531, -128.6510009765625, 268, -7, "A", "America/Edmonton"}, + "TAH": {"Tanna Airport", "Tanna", "Vanuatu", "TAH", "NVVW", -19.45509910583496, 169.2239990234375, 19, 11, "U", "Pacific/Efate"}, + "YPC": {"Paulatuk (Nora Aliqatchialuk Ruben) Airport", "Paulatuk", "Canada", "YPC", "CYPC", 69.3608381154, -124.075469971, 15, -7, "A", "America/Edmonton"}, + "SRZ": {"El Trompillo Airport", "Santa Cruz", "Bolivia", "SRZ", "SLET", -17.8115997314, -63.1715011597, 1371, -4, "U", "America/La_Paz"}, + "SAB": {"Juancho E. Yrausquin Airport", "Saba", "Netherlands Antilles", "SAB", "TNCS", 17.645000457763672, -63.220001220703125, 60, -4, "U", "America/Curacao"}, + "EGE": {"Eagle County Regional Airport", "Vail", "United States", "EGE", "KEGE", 39.64260101, -106.9179993, 6548, -7, "A", "America/Denver"}, + "SKN": {"Stokmarknes Skagen Airport", "Stokmarknes", "Norway", "SKN", "ENSK", 68.578826904297, 15.033416748047, 11, 1, "E", "Europe/Oslo"}, + "CGF": {"Cuyahoga County Airport", "Richmond Heights", "United States", "CGF", "KCGF", 41.5651016235, -81.4863967896, 879, -5, "A", "America/New_York"}, + "MFD": {"Mansfield Lahm Regional Airport", "Mansfield", "United States", "MFD", "KMFD", 40.82139968869999, -82.5166015625, 1297, -5, "A", "America/New_York"}, + "CSG": {"Columbus Metropolitan Airport", "Columbus", "United States", "CSG", "KCSG", 32.516300201416016, -84.93890380859375, 397, -5, "A", "America/New_York"}, + "LAW": {"Lawton Fort Sill Regional Airport", "Lawton", "United States", "LAW", "KLAW", 34.5676994324, -98.4166030884, 1110, -6, "A", "America/Chicago"}, + "FNL": {"Fort Collins Loveland Municipal Airport", "Fort Collins", "United States", "FNL", "KFNL", 40.4518013, -105.011001587, 5016, -7, "A", "America/Denver"}, + "FLG": {"Flagstaff Pulliam Airport", "Flagstaff", "United States", "FLG", "KFLG", 35.13850021, -111.6709976, 7014, -7, "N", "America/Phoenix"}, + "TVL": {"Lake Tahoe Airport", "South Lake Tahoe", "United States", "TVL", "KTVL", 38.89390182495117, -119.99500274658203, 6264, -8, "A", "America/Los_Angeles"}, + "TWF": {"Joslin Field Magic Valley Regional Airport", "Twin Falls", "United States", "TWF", "KTWF", 42.48180008, -114.487999, 4154, -7, "A", "America/Denver"}, + "MVY": {"Martha's Vineyard Airport", "Vineyard Haven MA", "United States", "MVY", "KMVY", 41.3931007385, -70.6143035889, 67, -5, "A", "America/New_York"}, + "CON": {"Concord Municipal Airport", "Concord NH", "United States", "CON", "KCON", 43.20270157, -71.50229645, 342, -5, "A", "America/New_York"}, + "GON": {"Groton New London Airport", "Groton CT", "United States", "GON", "KGON", 41.330101013183594, -72.04509735107422, 9, -5, "A", "America/New_York"}, + "STC": {"St Cloud Regional Airport", "Saint Cloud", "United States", "STC", "KSTC", 45.546600341796875, -94.05989837646484, 1031, -6, "A", "America/Chicago"}, + "BPE": {"Qinhuangdao Beidaihe Airport", "Bagan", "Burma", "BPE", "ZBDH", 39.666389, 119.058889, 46, 8, "U", "Asia/Shanghai"}, + "GTR": {"Golden Triangle Regional Airport", "Columbus Mississippi", "United States", "GTR", "KGTR", 33.450298309299995, -88.5914001465, 264, -6, "A", "America/Chicago"}, + "GOJ": {"Nizhny Novgorod Strigino International Airport", "Nizhniy Novgorod", "Russia", "GOJ", "UWGG", 56.230098724365, 43.784000396729, 256, 3, "N", "Europe/Moscow"}, + "HQM": {"Bowerman Airport", "Hoquiam", "United States", "HQM", "KHQM", 46.971199035599994, -123.93699646, 18, -8, "A", "America/Los_Angeles"}, + "ERI": {"Erie International Tom Ridge Field", "Erie", "United States", "ERI", "KERI", 42.0831270134, -80.1738667488, 732, -5, "A", "America/New_York"}, + "HYA": {"Barnstable Municipal Boardman Polando Field", "Barnstable", "United States", "HYA", "KHYA", 41.66930008, -70.28040314, 54, -5, "A", "America/New_York"}, + "SDX": {"Sedona Airport", "Sedona", "United States", "SDX", "KSEZ", 34.848598480225, -111.78800201416, 4830, -7, "A", "America/Phoenix"}, + "MGW": {"Morgantown Municipal Walter L. Bill Hart Field", "Morgantown", "United States", "MGW", "KMGW", 39.64289856, -79.91629791, 1248, -5, "A", "America/New_York"}, + "CRW": {"Yeager Airport", "Charleston", "United States", "CRW", "KCRW", 38.37310028076172, -81.59320068359375, 981, -5, "A", "America/New_York"}, + "AVP": {"Wilkes Barre Scranton International Airport", "Scranton", "United States", "AVP", "KAVP", 41.338500976599995, -75.72339630130001, 962, -5, "A", "America/New_York"}, + "BJI": {"Bemidji Regional Airport", "Bemidji", "United States", "BJI", "KBJI", 47.50939941, -94.93370056, 1391, -6, "A", "America/Chicago"}, + "THG": {"Thangool Airport", "Biloela", "Australia", "THG", "YTNG", -24.493900299072266, 150.5760040283203, 644, 10, "O", "Australia/Brisbane"}, + "FGI": {"Fagali'i Airport", "Apia", "Samoa", "FGI", "NSFI", -13.848699569699999, -171.740005493, 131, 13, "U", "Pacific/Apia"}, + "BNK": {"Ballina Byron Gateway Airport", "Ballina Byron Bay", "Australia", "BNK", "YBNA", -28.8339004517, 153.56199646, 7, 10, "O", "Australia/Sydney"}, + "FAR": {"Hector International Airport", "Fargo", "United States", "FAR", "KFAR", 46.92070007324219, -96.81580352783203, 902, -6, "A", "America/Chicago"}, + "MKC": {"Charles B. Wheeler Downtown Airport", "Kansas City", "United States", "MKC", "KMKC", 39.123199462890625, -94.5927963256836, 759, -6, "A", "America/Chicago"}, + "RBE": {"Ratanakiri Airport", "Ratanakiri", "Cambodia", "RBE", "VDRK", 13.729999542236328, 106.98699951171875, 0, 7, "U", "Asia/Phnom_Penh"}, + "GCC": {"Gillette Campbell County Airport", "Gillette", "United States", "GCC", "KGCC", 44.348899841299996, -105.539001465, 4365, -7, "A", "America/Denver"}, + "TOF": {"Bogashevo Airport", "Tomsk", "Russia", "TOF", "UNTT", 56.380298614502, 85.208297729492, 597, 7, "N", "Asia/Krasnoyarsk"}, + "PHY": {"Phetchabun Airport", "Phetchabun", "Thailand", "PHY", "VTPB", 16.6760005951, 101.194999695, 450, 7, "U", "Asia/Bangkok"}, + "CJM": {"Chumphon Airport", "Chumphon", "Thailand", "CJM", "VTSE", 10.711199760437012, 99.36170196533203, 18, 7, "U", "Asia/Bangkok"}, + "JZH": {"Jiuzhai Huanglong Airport", "Jiuzhaigou", "China", "JZH", "ZUJZ", 32.8533333333, 103.682222222, 11327, 8, "U", "Asia/Shanghai"}, + "SWA": {"Jieyang Chaoshan International Airport", "Shantou", "China", "SWA", "ZGOW", 23.552, 116.5033, 0, 8, "U", "Asia/Shanghai"}, + "GEO": {"Cheddi Jagan International Airport", "Georgetown", "Guyana", "GEO", "SYCJ", 6.498549938201904, -58.25410079956055, 95, -4, "U", "America/Guyana"}, + "AGT": {"Guarani International Airport", "Ciudad del Este", "Paraguay", "AGT", "SGES", -25.454516, -54.842682, 846, -4, "S", "America/Asuncion"}, + "OGL": {"Ogle Airport", "Georgetown", "Guyana", "OGL", "SYGO", 6.80628013611, -58.105899810800004, 10, -4, "U", "America/Guyana"}, + "KAI": {"Kaieteur International Airport", "Kaieteur", "Guyana", "KAI", "PKSA", 5.17275476456, -59.491481781, 1520, -4, "U", "America/Guyana"}, + "DNH": {"Dunhuang Airport", "Dunhuang", "China", "DNH", "ZLDH", 40.16109848022461, 94.80919647216797, 0, 8, "U", "Asia/Shanghai"}, + "AOI": {"Ancona Falconara Airport", "Ancona", "Italy", "AOI", "LIPY", 43.616299, 13.3623, 49, 1, "E", "Europe/Rome"}, + "CPO": {"Chamonate Airport", "Copiapo", "Chile", "CPO", "SCHA", -27.2968997955, -70.4131011963, 984, -4, "S", "America/Santiago"}, + "TCP": {"Taba International Airport", "Taba", "Egypt", "TCP", "HETB", 29.587799072299998, 34.7780990601, 2415, 2, "U", "Africa/Cairo"}, + "LYB": {"Edward Bodden Airfield", "Little Cayman", "Cayman Islands", "LYB", "MWCL", 19.66699981689453, -80.0999984741211, 3, -5, "N", "America/Cayman"}, + "BJV": {"Milas Bodrum International Airport", "Bodrum", "Turkey", "BJV", "LTFE", 37.25059890749999, 27.6643009186, 21, 3, "E", "Europe/Istanbul"}, + "TBJ": {"Tabarka 7 Novembre Airport", "Tabarka", "Tunisia", "TBJ", "DTKA", 36.97999954223633, 8.87693977355957, 230, 1, "E", "Africa/Tunis"}, + "SAW": {"Sabiha Gökçen International Airport", "Istanbul", "Turkey", "SAW", "LTFJ", 40.898601532, 29.3092002869, 312, 3, "E", "Europe/Istanbul"}, + "SCE": {"University Park Airport", "State College Pennsylvania", "United States", "SCE", "KUNV", 40.8493003845, -77.84870147710001, 1239, -5, "A", "America/New_York"}, + "BME": {"Broome International Airport", "Broome", "Australia", "BME", "YBRM", -17.944700241088867, 122.23200225830078, 56, 8, "O", "Australia/Perth"}, + "NTL": {"Newcastle Airport", "Newcastle", "Australia", "NTL", "YWLM", -32.79499816894531, 151.83399963378906, 31, 10, "O", "Australia/Sydney"}, + "KLU": {"Klagenfurt Airport", "Klagenfurt", "Austria", "KLU", "LOWK", 46.642502, 14.3377, 1472, 1, "E", "Europe/Vienna"}, + "HFT": {"Hammerfest Airport", "Hammerfest", "Norway", "HFT", "ENHF", 70.679702758789, 23.668600082397, 266, 1, "E", "Europe/Oslo"}, + "HVG": {"Valan Airport", "Honningsvag", "Norway", "HVG", "ENHV", 71.009696960449, 25.983600616455, 44, 1, "E", "Europe/Oslo"}, + "MEH": {"Mehamn Airport", "Mehamn", "Norway", "MEH", "ENMH", 71.02970123291, 27.826700210571, 39, 1, "E", "Europe/Oslo"}, + "VDS": {"Vadsø Airport", "Vadsø", "Norway", "VDS", "ENVD", 70.065299987793, 29.844699859619, 127, 1, "E", "Europe/Oslo"}, + "IKA": {"Imam Khomeini International Airport", "Tehran", "Iran", "IKA", "OIIE", 35.416099548339844, 51.152198791503906, 3305, 3.5, "E", "Asia/Tehran"}, + "MHD": {"Mashhad International Airport", "Mashhad", "Iran", "MHD", "OIMM", 36.235198974609375, 59.64099884033203, 3263, 3.5, "E", "Asia/Tehran"}, + "UIK": {"Ust-Ilimsk Airport", "Ust Ilimsk", "Russia", "UIK", "UIBS", 58.13610076904297, 102.56500244140625, 1339, 8, "N", "Asia/Irkutsk"}, + "MEI": {"Key Field", "Meridian", "United States", "MEI", "KMEI", 32.33259963989258, -88.75189971923828, 297, -6, "A", "America/Chicago"}, + "SPI": {"Abraham Lincoln Capital Airport", "Springfield", "United States", "SPI", "KSPI", 39.84410095, -89.67790222, 598, -6, "A", "America/Chicago"}, + "CEZ": {"Cortez Municipal Airport", "Cortez", "United States", "CEZ", "KCEZ", 37.3030014038, -108.627998352, 5918, -7, "A", "America/Denver"}, + "HDN": {"Yampa Valley Airport", "Hayden", "United States", "HDN", "KHDN", 40.48120117, -107.2180023, 6606, -7, "A", "America/Denver"}, + "GUP": {"Gallup Municipal Airport", "Gallup", "United States", "GUP", "KGUP", 35.511100769, -108.789001465, 6472, -7, "A", "America/Denver"}, + "LBL": {"Liberal Mid-America Regional Airport", "Liberal", "United States", "LBL", "KLBL", 37.0442009, -100.9599991, 2885, -6, "A", "America/Chicago"}, + "LAA": {"Lamar Municipal Airport", "Lamar", "United States", "LAA", "KLAA", 38.069698333699996, -102.68800354, 3706, -7, "A", "America/Denver"}, + "GLD": {"Renner Field-Goodland Municipal Airport", "Goodland", "United States", "GLD", "KGLD", 39.37060165, -101.6989975, 3656, -7, "A", "America/Denver"}, + "COD": {"Yellowstone Regional Airport", "Cody", "United States", "COD", "KCOD", 44.520198822, -109.024002075, 5102, -7, "A", "America/Denver"}, + "HOV": {"Ørsta-Volda Airport, Hovden", "Orsta-Volda", "Norway", "HOV", "ENOV", 62.180000305176, 6.0741000175476, 243, 1, "E", "Europe/Oslo"}, + "ISC": {"St. Mary's Airport", "ST MARY\\\\'S", "United Kingdom", "ISC", "EGHE", 49.913299560546875, -6.291669845581055, 116, 0, "E", "Europe/London"}, + "SGF": {"Springfield Branson National Airport", "Springfield", "United States", "SGF", "KSGF", 37.24570084, -93.38860321, 1268, -6, "A", "America/Chicago"}, + "NVK": {"Narvik Framnes Airport", "Narvik", "Norway", "NVK", "ENNK", 68.436897277832, 17.386699676514, 95, 1, "E", "Europe/Oslo"}, + "BVG": {"Berlevåg Airport", "Berlevag", "Norway", "BVG", "ENBV", 70.871398925781, 29.034200668335, 42, 1, "E", "Europe/Oslo"}, + "FBU": {"Oslo, Fornebu Airport", "Oslo", "Norway", "FBU", "ENFB", 59.89580154418945, 10.617199897766113, 0, 1, "E", "Europe/Oslo"}, + "NSK": {"Norilsk-Alykel Airport", "Norilsk", "Russia", "NSK", "UOOO", 69.31109619140625, 87.33219909667969, 574, 7, "N", "Asia/Krasnoyarsk"}, + "AAQ": {"Anapa Vityazevo Airport", "Anapa", "Russia", "AAQ", "URKA", 45.002101898193, 37.347301483154, 174, 3, "N", "Europe/Moscow"}, + "JLN": {"Joplin Regional Airport", "Joplin", "United States", "JLN", "KJLN", 37.151798248291016, -94.49829864501953, 981, -6, "A", "America/Chicago"}, + "ABE": {"Lehigh Valley International Airport", "Allentown", "United States", "ABE", "KABE", 40.652099609375, -75.44080352783203, 393, -5, "A", "America/New_York"}, + "XNA": {"Northwest Arkansas Regional Airport", "Bentonville", "United States", "XNA", "KXNA", 36.281898, -94.306801, 1287, -6, "A", "America/Chicago"}, + "GUW": {"Atyrau Airport", "Atyrau", "Kazakhstan", "GUW", "UATG", 47.12189865112305, 51.8213996887207, -72, 5, "U", "Asia/Oral"}, + "KZO": {"Kzyl-Orda Southwest Airport", "Kzyl-Orda", "Kazakhstan", "KZO", "UAOO", 44.70690155029297, 65.59249877929688, 433, 6, "U", "Asia/Qyzylorda"}, + "SBN": {"South Bend Regional Airport", "South Bend", "United States", "SBN", "KSBN", 41.70869827270508, -86.31729888916016, 799, -5, "A", "America/New_York"}, + "BKA": {"Bykovo Airport", "Moscow", "Russia", "BKA", "UUBB", 55.6171989441, 38.0600013733, 427, 3, "N", "Europe/Moscow"}, + "ARH": {"Talagi Airport", "Arkhangelsk", "Russia", "ARH", "ULAA", 64.60030364990234, 40.71670150756836, 62, 3, "N", "Europe/Moscow"}, + "RTW": {"Saratov Central Airport", "Saratov", "Russia", "RTW", "UWSS", 51.564998626708984, 46.04669952392578, 499, 3, "N", "Europe/Moscow"}, + "NUX": {"Novy Urengoy Airport", "Novy Urengoy", "Russia", "NUX", "USMU", 66.06939697265625, 76.52030181884766, 210, 5, "N", "Asia/Yekaterinburg"}, + "NOJ": {"Noyabrsk Airport", "Noyabrsk", "Russia", "NOJ", "USRO", 63.18330001831055, 75.2699966430664, 446, 5, "N", "Asia/Yekaterinburg"}, + "SCO": {"Aktau Airport", "Aktau", "Kazakhstan", "SCO", "UATE", 43.86009979248047, 51.09199905395508, 73, 5, "U", "Asia/Oral"}, + "UCT": {"Ukhta Airport", "Ukhta", "Russia", "UCT", "UUYH", 63.566898345947266, 53.8046989440918, 482, 3, "N", "Europe/Moscow"}, + "USK": {"Usinsk Airport", "Usinsk", "Russia", "USK", "UUYS", 66.00469970703125, 57.3671989440918, 262, 3, "N", "Europe/Moscow"}, + "PEX": {"Pechora Airport", "Pechora", "Russia", "PEX", "UUYP", 65.12110137939453, 57.13079833984375, 98, 3, "N", "Europe/Moscow"}, + "NNM": {"Naryan Mar Airport", "Naryan-Mar", "Russia", "NNM", "ULAM", 67.63999938964844, 53.12189865112305, 36, 3, "N", "Europe/Moscow"}, + "PKV": {"Pskov Airport", "Pskov", "Russia", "PKV", "ULOO", 57.78390121459961, 28.395599365234375, 154, 3, "N", "Europe/Moscow"}, + "KGP": {"Kogalym International Airport", "Kogalym", "Russia", "KGP", "USRK", 62.190399169921875, 74.53379821777344, 220, 5, "N", "Asia/Yekaterinburg"}, + "KJA": {"Yemelyanovo Airport", "Krasnoyarsk", "Russia", "KJA", "UNKL", 56.172901153564, 92.493301391602, 942, 7, "N", "Asia/Krasnoyarsk"}, + "KGF": {"Sary-Arka Airport", "Karaganda", "Kazakhstan", "KGF", "UAKK", 49.670799255371094, 73.33439636230469, 1765, 6, "U", "Asia/Qyzylorda"}, + "URJ": {"Uray Airport", "Uraj", "Russia", "URJ", "USHU", 60.10329818725586, 64.82669830322266, 190, 5, "N", "Asia/Yekaterinburg"}, + "IWA": {"Ivanovo South Airport", "Ivanovo", "Russia", "IWA", "UUBI", 56.93939971923828, 40.940799713134766, 410, 3, "N", "Europe/Moscow"}, + "CGQ": {"Longjia Airport", "Changchun", "China", "CGQ", "ZYCC", 43.9962005615, 125.684997559, 706, 8, "U", "Asia/Shanghai"}, + "KIJ": {"Niigata Airport", "Niigata", "Japan", "KIJ", "RJSN", 37.9558982849, 139.121002197, 29, 9, "U", "Asia/Tokyo"}, + "JON": {"Johnston Atoll Airport", "Johnston Island", "Johnston Atoll", "JON", "PJON", 16.7285995483, -169.533996582, 7, -10, "U", "Pacific/Johnston"}, + "SMD": {"Smith Field", "Fort Wayne IN", "United States", "SMD", "KSMD", 41.14339828, -85.15280151, 835, -5, "A", "America/New_York"}, + "ACV": {"Arcata Airport", "Arcata CA", "United States", "ACV", "KACV", 40.97809982299805, -124.10900115966797, 221, -8, "A", "America/Los_Angeles"}, + "OAJ": {"Albert J Ellis Airport", "Jacksonville NC", "United States", "OAJ", "KOAJ", 34.8292007446, -77.61209869380001, 94, -5, "A", "America/New_York"}, + "TCL": {"Tuscaloosa Regional Airport", "Tuscaloosa AL", "United States", "TCL", "KTCL", 33.220600128174, -87.611396789551, 170, -6, "A", "America/Chicago"}, + "DBQ": {"Dubuque Regional Airport", "Dubuque IA", "United States", "DBQ", "KDBQ", 42.40200043, -90.70950317, 1077, -6, "A", "America/Chicago"}, + "ATD": {"Uru Harbour Airport", "Atoifi", "Solomon Islands", "ATD", "AGAT", -8.87333, 161.011002, 0, 11, "U", "Pacific/Guadalcanal"}, + "AKS": {"Auki Airport", "Auki", "Solomon Islands", "AKS", "AGGA", -8.70256996155, 160.682006836, 5, 11, "U", "Pacific/Guadalcanal"}, + "BAS": {"Ballalae Airport", "Ballalae", "Solomon Islands", "BAS", "AGGE", -6.990745, 155.886656, 5, 11, "U", "Pacific/Guadalcanal"}, + "FRE": {"Fera/Maringe Airport", "Fera Island", "Solomon Islands", "FRE", "AGGF", -8.1075, 159.576996, 0, 11, "U", "Pacific/Guadalcanal"}, + "MBU": {"Babanakira Airport", "Mbambanakira", "Solomon Islands", "MBU", "AGGI", -9.7475004196167, 159.83900451660156, 0, 11, "U", "Pacific/Guadalcanal"}, + "IRA": {"Ngorangora Airport", "Kirakira", "Solomon Islands", "IRA", "AGGK", -10.449700355500001, 161.897994995, 54, 11, "U", "Pacific/Guadalcanal"}, + "SCZ": {"Santa Cruz/Graciosa Bay/Luova Airport", "Santa Cruz/Graciosa Bay/Luova", "Solomon Islands", "SCZ", "AGGL", -10.72029972076416, 165.7949981689453, 18, 11, "U", "Pacific/Guadalcanal"}, + "MUA": {"Munda Airport", "Munda", "Solomon Islands", "MUA", "AGGM", -8.327969551086426, 157.26300048828125, 10, 11, "U", "Pacific/Guadalcanal"}, + "GZO": {"Nusatupe Airport", "Gizo", "Solomon Islands", "GZO", "AGGN", -8.09778022766, 156.863998413, 13, 11, "U", "Pacific/Guadalcanal"}, + "MNY": {"Mono Airport", "Stirling Island", "Solomon Islands", "MNY", "AGGO", -7.416940212249756, 155.56500244140625, 0, 11, "U", "Pacific/Guadalcanal"}, + "RNL": {"Rennell/Tingoa Airport", "Rennell Island", "Solomon Islands", "RNL", "AGGR", -11.533900260925293, 160.06300354003906, 0, 11, "U", "Pacific/Guadalcanal"}, + "RUS": {"Marau Airport", "Marau", "Solomon Islands", "RUS", "AGGU", -9.861669540409999, 160.824996948, 0, 11, "U", "Pacific/Guadalcanal"}, + "VAO": {"Suavanao Airport", "Suavanao", "Solomon Islands", "VAO", "AGGV", -7.585559844970703, 158.7310028076172, 0, 11, "U", "Pacific/Guadalcanal"}, + "KGE": {"Kaghau Airport", "Kagau Island", "Solomon Islands", "KGE", "AGKG", -7.3305, 157.585, 30, 11, "U", "Pacific/Guadalcanal"}, + "RBV": {"Ramata Airport", "Ramata", "Solomon Islands", "RBV", "AGRM", -8.168060302734375, 157.64300537109375, 0, 11, "U", "Pacific/Guadalcanal"}, + "BUA": {"Buka Airport", "Buka Island", "Papua New Guinea", "BUA", "AYBK", -5.4223198890686035, 154.67300415039062, 11, 10, "U", "Pacific/Port_Moresby"}, + "CMU": {"Chimbu Airport", "Kundiawa", "Papua New Guinea", "CMU", "AYCH", -6.024290084838867, 144.9709930419922, 4974, 10, "U", "Pacific/Port_Moresby"}, + "DAU": {"Daru Airport", "Daru", "Papua New Guinea", "DAU", "AYDU", -9.08675956726, 143.207992554, 20, 10, "U", "Pacific/Port_Moresby"}, + "GUR": {"Gurney Airport", "Gurney", "Papua New Guinea", "GUR", "AYGN", -10.3114995956, 150.333999634, 88, 10, "U", "Pacific/Port_Moresby"}, + "PNP": {"Girua Airport", "Girua", "Papua New Guinea", "PNP", "AYGR", -8.80453968048, 148.309005737, 311, 10, "U", "Pacific/Port_Moresby"}, + "HKN": {"Kimbe Airport", "Hoskins", "Papua New Guinea", "HKN", "AYHK", -5.462170124053955, 150.40499877929688, 66, 10, "U", "Pacific/Port_Moresby"}, + "UNG": {"Kiunga Airport", "Kiunga", "Papua New Guinea", "UNG", "AYKI", -6.1257100105285645, 141.28199768066406, 88, 10, "U", "Pacific/Port_Moresby"}, + "KRI": {"Kikori Airport", "Kikori", "Papua New Guinea", "KRI", "AYKK", -7.424379825592041, 144.2500762939453, 50, 10, "U", "Pacific/Port_Moresby"}, + "KMA": {"Kerema Airport", "Kerema", "Papua New Guinea", "KMA", "AYKM", -7.96361017227, 145.770996094, 10, 10, "U", "Pacific/Port_Moresby"}, + "KVG": {"Kavieng Airport", "Kavieng", "Papua New Guinea", "KVG", "AYKV", -2.57940006256, 150.807998657, 7, 10, "U", "Pacific/Port_Moresby"}, + "MDU": {"Mendi Airport", "Mendi", "Papua New Guinea", "MDU", "AYMN", -6.14774, 143.656998, 5680, 10, "U", "Pacific/Port_Moresby"}, + "MAS": {"Momote Airport", "Momote", "Papua New Guinea", "MAS", "AYMO", -2.06189, 147.423996, 12, 10, "U", "Pacific/Port_Moresby"}, + "MXH": {"Moro Airport", "Moro", "Papua New Guinea", "MXH", "AYMR", -6.36332988739, 143.238006592, 2740, 10, "U", "Pacific/Port_Moresby"}, + "MIS": {"Misima Island Airport", "Misima Island", "Papua New Guinea", "MIS", "AYMS", -10.689200401299999, 152.837997437, 26, 10, "U", "Pacific/Port_Moresby"}, + "TIZ": {"Tari Airport", "Tari", "Papua New Guinea", "TIZ", "AYTA", -5.84499979019, 142.947998047, 5500, 10, "U", "Pacific/Port_Moresby"}, + "TBG": {"Tabubil Airport", "Tabubil", "Papua New Guinea", "TBG", "AYTB", -5.2786102294921875, 141.2259979248047, 1570, 10, "U", "Pacific/Port_Moresby"}, + "RAB": {"Tokua Airport", "Tokua", "Papua New Guinea", "RAB", "AYTK", -4.34045982361, 152.380004883, 32, 10, "U", "Pacific/Port_Moresby"}, + "VAI": {"Vanimo Airport", "Vanimo", "Papua New Guinea", "VAI", "AYVN", -2.6926, 141.3028, 10, 10, "U", "Pacific/Port_Moresby"}, + "WBM": {"Wapenamanda Airport", "Wapenamanda", "Papua New Guinea", "WBM", "AYWD", -5.6433000564575195, 143.89500427246094, 5889, 10, "U", "Pacific/Port_Moresby"}, + "LLU": {"Alluitsup Paa Heliport", "Alluitsup Paa", "Greenland", "LLU", "BGAP", 60.46445, -45.56917, 54, -3, "E", "America/Godthab"}, + "CNP": {"Neerlerit Inaat Airport", "Neerlerit Inaat", "Greenland", "CNP", "BGCO", 70.7431030273, -22.6504993439, 45, -1, "E", "America/Scoresbysund"}, + "JFR": {"Paamiut Heliport", "Paamiut", "Greenland", "JFR", "BGFH", 61.9921989441, -49.6624984741, 63, -3, "E", "America/Godthab"}, + "JGO": {"Qeqertarsuaq Heliport", "Qeqertarsuaq Airport", "Greenland", "JGO", "BGGN", 69.251181993, -53.5148763657, 9, -3, "E", "America/Godthab"}, + "JJU": {"Qaqortoq Heliport", "Qaqortoq", "Greenland", "JJU", "BGJH", 60.715684155299996, -46.0299186409, 53, -3, "E", "America/Godthab"}, + "JSU": {"Maniitsoq Airport", "Maniitsoq", "Greenland", "JSU", "BGMQ", 65.4124984741, -52.9393997192, 91, -3, "E", "America/Godthab"}, + "JNN": {"Nanortalik Heliport", "Nanortalik", "Greenland", "JNN", "BGNN", 60.141883975899994, -45.232976675, 17, -3, "E", "America/Godthab"}, + "JNS": {"Narsaq Heliport", "Narsaq", "Greenland", "JNS", "BGNS", 60.9172827256, -46.059923172, 83, -3, "E", "America/Godthab"}, + "NAQ": {"Qaanaaq Airport", "Qaanaaq", "Greenland", "NAQ", "BGQQ", 77.4886016846, -69.3887023926, 51, -4, "E", "America/Thule"}, + "JHS": {"Sisimiut Airport", "Sisimiut", "Greenland", "JHS", "BGSS", 66.9513015747, -53.7293014526, 33, -3, "E", "America/Godthab"}, + "JUV": {"Upernavik Airport", "Upernavik", "Greenland", "JUV", "BGUK", 72.7901992798, -56.1305999756, 414, -3, "E", "America/Godthab"}, + "JQA": {"Qaarsut Airport", "Uummannaq", "Greenland", "JQA", "BGUQ", 70.7341995239, -52.6962013245, 289, -3, "E", "America/Godthab"}, + "GRY": {"Grímsey Airport", "Grímsey", "Iceland", "GRY", "BIGR", 66.5458, -18.0173, 66, 0, "N", "Atlantic/Reykjavik"}, + "THO": {"Thorshofn Airport", "Thorshofn", "Iceland", "THO", "BITN", 66.21849822998047, -15.335599899291992, 65, 0, "N", "Atlantic/Reykjavik"}, + "VPN": {"Vopnafjörður Airport", "Vopnafjörður", "Iceland", "VPN", "BIVO", 65.72059631347656, -14.850600242614746, 16, 0, "N", "Atlantic/Reykjavik"}, + "YWS": {"Whistler/Green Lake Water Aerodrome", "Whistler", "Canada", "YWS", "CAE5", 50.1436004639, -122.948997498, 2100, -8, "A", "America/Vancouver"}, + "YAA": {"Anahim Lake Airport", "Anahim Lake", "Canada", "YAA", "CAJ4", 52.45249938964844, -125.3030014038086, 3635, -8, "A", "America/Vancouver"}, + "YWM": {"Williams Harbour Airport", "Williams Harbour", "Canada", "YWM", "CCA6", 52.566898345947266, -55.784698486328125, 70, -3.5, "A", "America/St_Johns"}, + "YFX": {"St. Lewis (Fox Harbour) Airport", "St. Lewis", "Canada", "YFX", "CCK4", 52.372798919677734, -55.67390060424805, 74, -3.5, "A", "America/St_Johns"}, + "YHA": {"Port Hope Simpson Airport", "Port Hope Simpson", "Canada", "YHA", "CCP4", 52.528099060058594, -56.28609848022461, 347, -3.5, "A", "America/St_Johns"}, + "YRG": {"Rigolet Airport", "Rigolet", "Canada", "YRG", "CCZ2", 54.1796989440918, -58.45750045776367, 180, -4, "A", "America/Halifax"}, + "YCK": {"Colville Lake Airport", "Colville Lake", "Canada", "YCK", "CEB3", 67.0392, -126.08, 850, -7, "A", "America/Edmonton"}, + "YLE": {"Whatì Airport", "Whatì", "Canada", "YLE", "CEM3", 63.13169860839844, -117.24600219726562, 882, -7, "A", "America/Edmonton"}, + "SUR": {"Summer Beaver Airport", "Summer Beaver", "Canada", "SUR", "CJV7", 52.70859909057617, -88.54190063476562, 832, -5, "A", "America/Toronto"}, + "YAX": {"Wapekeka Airport", "Angling Lake", "Canada", "YAX", "CKB6", 53.84920120239258, -89.57939910888672, 712, -6, "A", "America/Winnipeg"}, + "WNN": {"Wunnumin Lake Airport", "Wunnumin Lake", "Canada", "WNN", "CKL3", 52.89390182495117, -89.28919982910156, 819, -5, "A", "America/Toronto"}, + "YNO": {"North Spirit Lake Airport", "North Spirit Lake", "Canada", "YNO", "CKQ3", 52.4900016784668, -92.97109985351562, 1082, -6, "A", "America/Winnipeg"}, + "XBE": {"Bearskin Lake Airport", "Bearskin Lake", "Canada", "XBE", "CNE3", 53.965599060058594, -91.0271987915039, 800, -6, "A", "America/Winnipeg"}, + "KIF": {"Kingfisher Lake Airport", "Kingfisher Lake", "Canada", "KIF", "CNM5", 53.01250076293945, -89.85530090332031, 866, -5, "A", "America/Toronto"}, + "YOG": {"Ogoki Post Airport", "Ogoki Post", "Canada", "YOG", "CNT3", 51.6585998535, -85.9017028809, 594, -5, "A", "America/Toronto"}, + "YHP": {"Poplar Hill Airport", "Poplar Hill", "Canada", "YHP", "CPV7", 52.11330032348633, -94.25559997558594, 1095, -6, "A", "America/Winnipeg"}, + "YKU": {"Chisasibi Airport", "Chisasibi", "Canada", "YKU", "CSU2", 53.805599212646484, -78.91690063476562, 43, -5, "A", "America/Toronto"}, + "ZTB": {"Tête-à-la-Baleine Airport", "Tête-à-la-Baleine", "Canada", "ZTB", "CTB6", 50.674400329589844, -59.38359832763672, 107, -4, "A", "America/Blanc-Sablon"}, + "ZLT": {"La Tabatière Airport", "La Tabatière", "Canada", "ZLT", "CTU5", 50.8307991027832, -58.97560119628906, 102, -4, "A", "America/Blanc-Sablon"}, + "YAC": {"Cat Lake Airport", "Cat Lake", "Canada", "YAC", "CYAC", 51.72719955444336, -91.82440185546875, 1344, -6, "A", "America/Winnipeg"}, + "YAG": {"Fort Frances Municipal Airport", "Fort Frances", "Canada", "YAG", "CYAG", 48.65420150756836, -93.439697265625, 1125, -6, "A", "America/Winnipeg"}, + "XKS": {"Kasabonika Airport", "Kasabonika", "Canada", "XKS", "CYAQ", 53.52470016479492, -88.6427993774414, 672, -5, "A", "America/Toronto"}, + "YKG": {"Kangirsuk Airport", "Kangirsuk", "Canada", "YKG", "CYAS", 60.027198791503906, -69.99919891357422, 403, -5, "A", "America/Toronto"}, + "YAT": {"Attawapiskat Airport", "Attawapiskat", "Canada", "YAT", "CYAT", 52.9275016784668, -82.43190002441406, 31, -5, "A", "America/Toronto"}, + "YBE": {"Uranium City Airport", "Uranium City", "Canada", "YBE", "CYBE", 59.5614013671875, -108.48100280761719, 1044, -6, "N", "America/Regina"}, + "YBX": {"Lourdes de Blanc Sablon Airport", "Lourdes-De-Blanc-Sablon", "Canada", "YBX", "CYBX", 51.443599700899995, -57.185298919699996, 121, -4, "A", "America/Blanc-Sablon"}, + "YRF": {"Cartwright Airport", "Cartwright", "Canada", "YRF", "CYCA", 53.68280029296875, -57.041900634765625, 40, -4, "A", "America/Halifax"}, + "YCS": {"Chesterfield Inlet Airport", "Chesterfield Inlet", "Canada", "YCS", "CYCS", 63.346900939899996, -90.73110198970001, 32, -6, "A", "America/Winnipeg"}, + "YDP": {"Nain Airport", "Nain", "Canada", "YDP", "CYDP", 56.549198150634766, -61.680301666259766, 22, -4, "A", "America/Halifax"}, + "YER": {"Fort Severn Airport", "Fort Severn", "Canada", "YER", "CYER", 56.01890182495117, -87.67610168457031, 48, -5, "A", "America/Toronto"}, + "YFA": {"Fort Albany Airport", "Fort Albany", "Canada", "YFA", "CYFA", 52.20140075683594, -81.6968994140625, 48, -5, "A", "America/Toronto"}, + "YFH": {"Fort Hope Airport", "Fort Hope", "Canada", "YFH", "CYFH", 51.5619010925293, -87.90779876708984, 899, -5, "A", "America/Toronto"}, + "YMN": {"Makkovik Airport", "Makkovik", "Canada", "YMN", "CYFT", 55.076900482177734, -59.1864013671875, 234, -4, "A", "America/Halifax"}, + "YGB": {"Texada Gillies Bay Airport", "Texada", "Canada", "YGB", "CYGB", 49.69419860839844, -124.51799774169922, 326, -8, "A", "America/Vancouver"}, + "YGO": {"Gods Lake Narrows Airport", "Gods Lake Narrows", "Canada", "YGO", "CYGO", 54.55889892578125, -94.49140167236328, 617, -6, "A", "America/Winnipeg"}, + "YGT": {"Igloolik Airport", "Igloolik", "Canada", "YGT", "CYGT", 69.3647003174, -81.8161010742, 174, -5, "A", "America/Toronto"}, + "YGW": {"Kuujjuarapik Airport", "Kuujjuarapik", "Canada", "YGW", "CYGW", 55.281898498535156, -77.76529693603516, 34, -5, "A", "America/Toronto"}, + "YGX": {"Gillam Airport", "Gillam", "Canada", "YGX", "CYGX", 56.35749816894531, -94.71060180664062, 476, -6, "A", "America/Winnipeg"}, + "YGZ": {"Grise Fiord Airport", "Grise Fiord", "Canada", "YGZ", "CYGZ", 76.4261016846, -82.90920257570001, 146, -5, "A", "America/Toronto"}, + "YQC": {"Quaqtaq Airport", "Quaqtaq", "Canada", "YQC", "CYHA", 61.0463981628418, -69.6177978515625, 103, -5, "A", "America/Toronto"}, + "CXH": {"Vancouver Harbour Water Aerodrome", "Vancouver", "Canada", "CXH", "CYHC", 49.2943992615, -123.111000061, 0, -8, "A", "America/Vancouver"}, + "YNS": {"Nemiscau Airport", "Nemiscau", "Canada", "YNS", "CYHH", 51.69110107421875, -76.1355972290039, 802, -5, "A", "America/Toronto"}, + "YHO": {"Hopedale Airport", "Hopedale", "Canada", "YHO", "CYHO", 55.448299407958984, -60.228599548339844, 39, -4, "A", "America/Halifax"}, + "YHR": {"Chevery Airport", "Chevery", "Canada", "YHR", "CYHR", 50.46889877319336, -59.63669967651367, 39, -4, "A", "America/Blanc-Sablon"}, + "YIK": {"Ivujivik Airport", "Ivujivik", "Canada", "YIK", "CYIK", 62.417301177978516, -77.92530059814453, 126, -5, "A", "America/Toronto"}, + "YIV": {"Island Lake Airport", "Island Lake", "Canada", "YIV", "CYIV", 53.857200622558594, -94.65360260009766, 770, -6, "A", "America/Winnipeg"}, + "AKV": {"Akulivik Airport", "Akulivik", "Canada", "AKV", "CYKO", 60.818599700927734, -78.14859771728516, 75, -5, "A", "America/Toronto"}, + "YKQ": {"Waskaganish Airport", "Waskaganish", "Canada", "YKQ", "CYKQ", 51.47330093383789, -78.75830078125, 80, -5, "A", "America/Toronto"}, + "YPJ": {"Aupaluk Airport", "Aupaluk", "Canada", "YPJ", "CYLA", 59.29669952392578, -69.59970092773438, 119, -5, "A", "America/Toronto"}, + "YLC": {"Kimmirut Airport", "Kimmirut", "Canada", "YLC", "CYLC", 62.8499984741, -69.88330078119999, 175, -5, "A", "America/Toronto"}, + "YLH": {"Lansdowne House Airport", "Lansdowne House", "Canada", "YLH", "CYLH", 52.19559860229492, -87.93419647216797, 834, -5, "A", "America/Toronto"}, + "YSG": {"St Georges Airport", "Lutselk'e", "Canada", "YSG", "CYSG", 46.09640121459999, -70.7146987915, 893, -5, "A", "America/Toronto"}, + "XGR": {"Kangiqsualujjuaq (Georges River) Airport", "Kangiqsualujjuaq", "Canada", "XGR", "CYLU", 58.71139907836914, -65.9927978515625, 215, -5, "A", "America/Toronto"}, + "YMH": {"Mary's Harbour Airport", "Mary's Harbour", "Canada", "YMH", "CYMH", 52.302799224853516, -55.847198486328125, 38, -3.5, "A", "America/St_Johns"}, + "YMT": {"Chapais Airport", "Chibougamau", "Canada", "YMT", "CYMT", 49.77190017700195, -74.5280990600586, 1270, -5, "A", "America/Toronto"}, + "YUD": {"Umiujaq Airport", "Umiujaq", "Canada", "YUD", "CYMU", 56.53609848022461, -76.51830291748047, 250, -5, "A", "America/Toronto"}, + "YNC": {"Wemindji Airport", "Wemindji", "Canada", "YNC", "CYNC", 53.01060104370117, -78.83110046386719, 66, -5, "A", "America/Toronto"}, + "YNE": {"Norway House Airport", "Norway House", "Canada", "YNE", "CYNE", 53.95830154418945, -97.84420013427734, 734, -6, "A", "America/Winnipeg"}, + "YNL": {"Points North Landing Airport", "Points North Landing", "Canada", "YNL", "CYNL", 58.27669906616211, -104.08200073242188, 1605, -6, "N", "America/Regina"}, + "YOH": {"Oxford House Airport", "Oxford House", "Canada", "YOH", "CYOH", 54.93330001831055, -95.27890014648438, 663, -6, "A", "America/Winnipeg"}, + "YPH": {"Inukjuak Airport", "Inukjuak", "Canada", "YPH", "CYPH", 58.471900939941406, -78.07689666748047, 83, -5, "A", "America/Toronto"}, + "YPM": {"Pikangikum Airport", "Pikangikum", "Canada", "YPM", "CYPM", 51.819698333740234, -93.97329711914062, 1114, -6, "A", "America/Winnipeg"}, + "YPO": {"Peawanuck Airport", "Peawanuck", "Canada", "YPO", "CYPO", 54.98809814453125, -85.44329833984375, 173, -5, "A", "America/Toronto"}, + "YPW": {"Powell River Airport", "Powell River", "Canada", "YPW", "CYPW", 49.83420181274414, -124.5, 425, -8, "A", "America/Vancouver"}, + "YQD": {"The Pas Airport", "The Pas", "Canada", "YQD", "CYQD", 53.97140121459961, -101.09100341796875, 887, -6, "A", "America/Winnipeg"}, + "YQN": {"Nakina Airport", "Nakina", "Canada", "YQN", "CYQN", 50.18280029296875, -86.69640350341797, 1057, -5, "A", "America/Toronto"}, + "YRA": {"Rae Lakes Airport", "Gamètì", "Canada", "YRA", "CYRA", 64.11609649658203, -117.30999755859375, 723, -7, "A", "America/Edmonton"}, + "YRL": {"Red Lake Airport", "Red Lake", "Canada", "YRL", "CYRL", 51.066898345947266, -93.79309844970703, 1265, -6, "A", "America/Winnipeg"}, + "YSF": {"Stony Rapids Airport", "Stony Rapids", "Canada", "YSF", "CYSF", 59.250301361083984, -105.84100341796875, 805, -6, "N", "America/Regina"}, + "YST": {"St. Theresa Point Airport", "St. Theresa Point", "Canada", "YST", "CYST", 53.84560012817383, -94.85189819335938, 773, -6, "A", "America/Winnipeg"}, + "YTL": {"Big Trout Lake Airport", "Big Trout Lake", "Canada", "YTL", "CYTL", 53.81779861450195, -89.89689636230469, 729, -6, "A", "America/Winnipeg"}, + "YVZ": {"Deer Lake Airport", "Deer Lake", "Canada", "YVZ", "CYVZ", 52.655799865722656, -94.0614013671875, 1092, -6, "A", "America/Winnipeg"}, + "YWP": {"Webequie Airport", "Webequie", "Canada", "YWP", "CYWP", 52.9593933975, -87.3748683929, 685, -5, "A", "America/Toronto"}, + "YXN": {"Whale Cove Airport", "Whale Cove", "Canada", "YXN", "CYXN", 62.24000167849999, -92.59809875490001, 40, -6, "A", "America/Winnipeg"}, + "YZG": {"Salluit Airport", "Salluit", "Canada", "YZG", "CYZG", 62.17940139770508, -75.66719818115234, 743, -5, "A", "America/Toronto"}, + "ZAC": {"York Landing Airport", "York Landing", "Canada", "ZAC", "CZAC", 56.08940124511719, -96.08920288085938, 621, -6, "A", "America/Winnipeg"}, + "ILF": {"Ilford Airport", "Ilford", "Canada", "ILF", "CZBD", 56.0614013672, -95.613899231, 642, -6, "A", "America/Winnipeg"}, + "ZBF": {"Bathurst Airport", "Bathurst", "Canada", "ZBF", "CZBF", 47.629699707, -65.738899231, 193, -4, "A", "America/Halifax"}, + "ZEM": {"Eastmain River Airport", "Eastmain River", "Canada", "ZEM", "CZEM", 52.22639846801758, -78.52249908447266, 24, -5, "A", "America/Toronto"}, + "ZFD": {"Fond-Du-Lac Airport", "Fond-Du-Lac", "Canada", "ZFD", "CZFD", 59.33440017700195, -107.18199920654297, 814, -6, "N", "America/Regina"}, + "ZGI": {"Gods River Airport", "Gods River", "Canada", "ZGI", "CZGI", 54.839698791503906, -94.07859802246094, 627, -6, "A", "America/Winnipeg"}, + "ZJN": {"Swan River Airport", "Swan River", "Canada", "ZJN", "CZJN", 52.120601654052734, -101.23600006103516, 1100, -6, "A", "America/Winnipeg"}, + "ZKE": {"Kashechewan Airport", "Kashechewan", "Canada", "ZKE", "CZKE", 52.282501220703125, -81.67780303955078, 35, -5, "A", "America/Toronto"}, + "MSA": {"Muskrat Dam Airport", "Muskrat Dam", "Canada", "MSA", "CZMD", 53.44139862060547, -91.76280212402344, 911, -6, "A", "America/Winnipeg"}, + "ZMT": {"Masset Airport", "Masset", "Canada", "ZMT", "CZMT", 54.02750015258789, -132.125, 25, -8, "A", "America/Vancouver"}, + "ZPB": {"Sachigo Lake Airport", "Sachigo Lake", "Canada", "ZPB", "CZPB", 53.8911018371582, -92.19640350341797, 876, -6, "A", "America/Winnipeg"}, + "ZRJ": {"Round Lake (Weagamow Lake) Airport", "Round Lake", "Canada", "ZRJ", "CZRJ", 52.943599700927734, -91.31279754638672, 974, -6, "A", "America/Winnipeg"}, + "ZSJ": {"Sandy Lake Airport", "Sandy Lake", "Canada", "ZSJ", "CZSJ", 53.06420135498047, -93.34439849853516, 951, -6, "A", "America/Winnipeg"}, + "ZTM": {"Shamattawa Airport", "Shamattawa", "Canada", "ZTM", "CZTM", 55.8656005859375, -92.0813980102539, 289, -6, "A", "America/Winnipeg"}, + "ZUM": {"Churchill Falls Airport", "Churchill Falls", "Canada", "ZUM", "CZUM", 53.5619010925293, -64.10639953613281, 1442, -4, "A", "America/Halifax"}, + "ZWL": {"Wollaston Lake Airport", "Wollaston Lake", "Canada", "ZWL", "CZWL", 58.10689926147461, -103.1719970703125, 1360, -6, "N", "America/Regina"}, + "BLJ": {"Batna Airport", "Batna", "Algeria", "BLJ", "DABT", 35.752101898199996, 6.308589935300001, 2697, 1, "N", "Africa/Algiers"}, + "CBH": {"Béchar Boudghene Ben Ali Lotfi Airport", "Béchar", "Algeria", "CBH", "DAOR", 31.645700454711914, -2.269860029220581, 2661, 1, "N", "Africa/Algiers"}, + "BMW": {"Bordj Badji Mokhtar Airport", "Bordj Badji Mokhtar", "Algeria", "BMW", "DATM", 21.375, 0.923888981342, 1303, 1, "N", "Africa/Algiers"}, + "ELU": {"Guemar Airport", "Guemar", "Algeria", "ELU", "DAUO", 33.5113983154, 6.77679014206, 203, 1, "N", "Africa/Algiers"}, + "KMS": {"Kumasi Airport", "Kumasi", "Ghana", "KMS", "DGSI", 6.714560031890869, -1.5908199548721313, 942, 0, "N", "Africa/Accra"}, + "HDF": {"Heringsdorf Airport", "Heringsdorf", "Germany", "HDF", "EDAH", 53.8787002563, 14.152299881, 93, 1, "E", "Europe/Berlin"}, + "HEI": {"Heide-Büsum Airport", "Büsum", "Germany", "HEI", "EDXB", 54.153331756600004, 8.90166664124, 7, 1, "E", "Europe/Berlin"}, + "HGL": {"Helgoland-Düne Airport", "Helgoland", "Germany", "HGL", "EDXH", 54.185279846200004, 7.91583299637, 8, 1, "E", "Europe/Berlin"}, + "SJY": {"Seinäjoki Airport", "Seinäjoki / Ilmajoki", "Finland", "SJY", "EFSI", 62.692100524902344, 22.832300186157227, 302, 2, "E", "Europe/Helsinki"}, + "NQT": {"Nottingham Airport", "Nottingham", "United Kingdom", "NQT", "EGBN", 52.91999816894531, -1.0791699886322021, 138, 0, "E", "Europe/London"}, + "DSA": {"Robin Hood Doncaster Sheffield Airport", "Doncaster, Sheffield", "United Kingdom", "DSA", "EGCN", 53.4805378105, -1.01065635681, 55, 0, "E", "Europe/London"}, + "CAL": {"Campbeltown Airport", "Campbeltown", "United Kingdom", "CAL", "EGEC", 55.437198638916016, -5.686389923095703, 42, 0, "E", "Europe/London"}, + "EOI": {"Eday Airport", "Eday", "United Kingdom", "EOI", "EGED", 59.19060134887695, -2.7722198963165283, 10, 0, "E", "Europe/London"}, + "FIE": {"Fair Isle Airport", "Fair Isle", "United Kingdom", "FIE", "EGEF", 59.53580093383789, -1.628059983253479, 223, 0, "E", "Europe/London"}, + "NRL": {"North Ronaldsay Airport", "North Ronaldsay", "United Kingdom", "NRL", "EGEN", 59.3675003052, -2.43443989754, 40, 0, "E", "Europe/London"}, + "PPW": {"Papa Westray Airport", "Papa Westray", "United Kingdom", "PPW", "EGEP", 59.351699829100006, -2.9002799987800003, 91, 0, "E", "Europe/London"}, + "SOY": {"Stronsay Airport", "Stronsay", "United Kingdom", "SOY", "EGER", 59.1553001404, -2.64139008522, 39, 0, "E", "Europe/London"}, + "NDY": {"Sanday Airport", "Sanday", "United Kingdom", "NDY", "EGES", 59.250301361083984, -2.576669931411743, 68, 0, "E", "Europe/London"}, + "LWK": {"Lerwick / Tingwall Airport", "Lerwick", "United Kingdom", "LWK", "EGET", 60.192199707, -1.24361002445, 43, 0, "E", "Europe/London"}, + "WRY": {"Westray Airport", "Westray", "United Kingdom", "WRY", "EGEW", 59.3502998352, -2.95000004768, 29, 0, "E", "Europe/London"}, + "LEQ": {"Land's End Airport", "Land's End", "United Kingdom", "LEQ", "EGHC", 50.10279846191406, -5.670559883117676, 401, 0, "E", "Europe/London"}, + "PZE": {"Penzance Heliport", "Penzance", "United Kingdom", "PZE", "EGHK", 50.128101, -5.51845, 14, 0, "E", "Europe/London"}, + "VLY": {"Anglesey Airport", "Angelsey", "United Kingdom", "VLY", "EGOV", 53.2481002808, -4.53533983231, 37, 0, "E", "Europe/London"}, + "BRR": {"Barra Airport", "Barra", "United Kingdom", "BRR", "EGPR", 57.02280044555664, -7.443059921264648, 5, 0, "E", "Europe/London"}, + "CFN": {"Donegal Airport", "Dongloe", "Ireland", "CFN", "EIDL", 55.0442008972168, -8.340999603271484, 30, 0, "E", "Europe/Dublin"}, + "CNL": {"Sindal Airport", "Sindal", "Denmark", "CNL", "EKSN", 57.5035018921, 10.229399681099999, 92, 1, "N", "Europe/Copenhagen"}, + "LKN": {"Leknes Airport", "Leknes", "Norway", "LKN", "ENLK", 68.152496337891, 13.609399795532, 78, 1, "E", "Europe/Oslo"}, + "OSY": {"Namsos Høknesøra Airport", "Namsos", "Norway", "OSY", "ENNM", 64.472198486328, 11.57859992981, 7, 1, "E", "Europe/Oslo"}, + "MQN": {"Mo i Rana Airport, Røssvoll", "Mo i Rana", "Norway", "MQN", "ENRA", 66.363899230957, 14.301400184631, 229, 1, "E", "Europe/Oslo"}, + "RVK": {"Rørvik Airport, Ryum", "Rørvik", "Norway", "RVK", "ENRM", 64.838302612305, 11.14610004425, 14, 1, "E", "Europe/Oslo"}, + "RET": {"Røst Airport", "Røst", "Norway", "RET", "ENRS", 67.527801513672, 12.103300094604, 7, 1, "E", "Europe/Oslo"}, + "SDN": {"Sandane Airport (Anda)", "Sandane", "Norway", "SDN", "ENSD", 61.830001831055, 6.1058301925659, 196, 1, "E", "Europe/Oslo"}, + "SOG": {"Sogndal Airport", "Sogndal", "Norway", "SOG", "ENSG", 61.156101, 7.13778, 1633, 1, "E", "Europe/Oslo"}, + "SVJ": {"Svolvær Helle Airport", "Svolvær", "Norway", "SVJ", "ENSH", 68.243301391602, 14.669199943542, 27, 1, "E", "Europe/Oslo"}, + "SOJ": {"Sørkjosen Airport", "Sorkjosen", "Norway", "SOJ", "ENSR", 69.786796569824, 20.959400177002, 16, 1, "E", "Europe/Oslo"}, + "VAW": {"Vardø Airport, Svartnes", "Vardø", "Norway", "VAW", "ENSS", 70.355400085449, 31.044900894165, 42, 1, "E", "Europe/Oslo"}, + "VRY": {"Værøy Heliport", "Værøy", "Norway", "VRY", "ENVR", 67.654555, 12.727257, 12, 1, "E", "Europe/Oslo"}, + "BZG": {"Bydgoszcz Ignacy Jan Paderewski Airport", "Bydgoszcz", "Poland", "BZG", "EPBY", 53.096801757799994, 17.9776992798, 235, 1, "E", "Europe/Warsaw"}, + "LCJ": {"Łódź Władysław Reymont Airport", "Lodz", "Poland", "LCJ", "EPLL", 51.721900939899996, 19.3980998993, 604, 1, "E", "Europe/Warsaw"}, + "OSD": {"Åre Östersund Airport", "Östersund", "Sweden", "OSD", "ESNZ", 63.194400787354, 14.50030040741, 1233, 1, "E", "Europe/Stockholm"}, + "HFS": {"Hagfors Airport", "Hagfors", "Sweden", "HFS", "ESOH", 60.02009963989258, 13.578900337219238, 474, 1, "E", "Europe/Stockholm"}, + "KSD": {"Karlstad Airport", "Karlstad", "Sweden", "KSD", "ESOK", 59.444698333699996, 13.337400436400001, 352, 1, "E", "Europe/Stockholm"}, + "TYF": {"Torsby Airport", "Torsby", "Sweden", "TYF", "ESST", 60.1576004028, 12.991299629199998, 393, 1, "E", "Europe/Stockholm"}, + "AGH": {"Ängelholm-Helsingborg Airport", "Ängelholm", "Sweden", "AGH", "ESTA", 56.29610061645508, 12.847100257873535, 68, 1, "E", "Europe/Stockholm"}, + "SQO": {"Storuman Airport", "Mohed", "Sweden", "SQO", "ESUD", 64.96089935302734, 17.69659996032715, 915, 1, "E", "Europe/Stockholm"}, + "HMV": {"Hemavan Airport", "Hemavan", "Sweden", "HMV", "ESUT", 65.80609893798828, 15.082799911499023, 1503, 1, "E", "Europe/Stockholm"}, + "VTS": {"Ventspils International Airport", "Ventspils", "Latvia", "VTS", "EVVA", 57.35779953, 21.5442008972, 19, 2, "E", "Europe/Riga"}, + "QRA": {"Rand Airport", "Johannesburg", "South Africa", "QRA", "FAGM", -26.2425003052, 28.1511993408, 5483, 2, "U", "Africa/Johannesburg"}, + "MQP": {"Kruger Mpumalanga International Airport", "Mpumalanga", "South Africa", "MQP", "FAKN", -25.3831996918, 31.1056003571, 2829, 2, "U", "Africa/Johannesburg"}, + "AAM": {"Malamala Airport", "Malamala", "South Africa", "AAM", "FAMD", -24.818099975585938, 31.544599533081055, 1124, 2, "U", "Africa/Johannesburg"}, + "MBD": {"Mmabatho International Airport", "Mafeking", "South Africa", "MBD", "FAMM", -25.798400878900004, 25.548000335699996, 4181, 2, "U", "Africa/Johannesburg"}, + "GNZ": {"Ghanzi Airport", "Ghanzi", "Botswana", "GNZ", "FBGZ", -21.6924991607666, 21.658100128173828, 3730, 2, "U", "Africa/Gaborone"}, + "ORP": {"Orapa Airport", "Orapa", "Botswana", "ORP", "FBOR", -21.266700744628906, 25.316699981689453, 3100, 2, "U", "Africa/Gaborone"}, + "SWX": {"Shakawe Airport", "Shakawe", "Botswana", "SWX", "FBSW", -18.373899459838867, 21.832599639892578, 3379, 2, "U", "Africa/Gaborone"}, + "TLD": {"Limpopo Valley Airport", "Tuli Lodge", "Botswana", "TLD", "FBTL", -22.189199447599997, 29.126899719199997, 1772, 2, "U", "Africa/Gaborone"}, + "DIS": {"Ngot Nzoungou Airport", "Loubomo", "Congo (Brazzaville)", "DIS", "FCPL", -4.20635, 12.6599, 1079, 1, "N", "Africa/Brazzaville"}, + "CIP": {"Chipata Airport", "Chipata", "Zambia", "CIP", "FLCP", -13.558300018310547, 32.58720016479492, 3360, 2, "U", "Africa/Lusaka"}, + "SLI": {"Los Alamitos Army Air Field", "Solwesi", "Zambia", "SLI", "KSLI", 33.79000092, -118.052002, 32, -8, "U", "America/Los_Angeles"}, + "YVA": {"Iconi Airport", "Moroni", "Comoros", "YVA", "FMCN", -11.710800170899999, 43.2439002991, 33, 3, "U", "Indian/Comoro"}, + "WAQ": {"Antsalova Airport", "Antsalova", "Madagascar", "WAQ", "FMMG", -18.7012732424, 44.614920616099994, 551, 3, "U", "Indian/Antananarivo"}, + "JVA": {"Ankavandra Airport", "Ankavandra", "Madagascar", "JVA", "FMMK", -18.8050095209, 45.2734673023, 427, 3, "U", "Indian/Antananarivo"}, + "BMD": {"Belo sur Tsiribihina Airport", "Belo sur Tsiribihina", "Madagascar", "BMD", "FMML", -19.6867008209, 44.541900634799994, 154, 3, "U", "Indian/Antananarivo"}, + "MXT": {"Maintirano Airport", "Maintirano", "Madagascar", "MXT", "FMMO", -18.049999237060547, 44.03300094604492, 95, 3, "U", "Indian/Antananarivo"}, + "TVA": {"Morafenobe Airport", "Morafenobe", "Madagascar", "TVA", "FMMR", -17.850083459, 44.920467138300005, 748, 3, "U", "Indian/Antananarivo"}, + "WTA": {"Tambohorano Airport", "Tambohorano", "Madagascar", "WTA", "FMMU", -17.47610092163086, 43.972801208496094, 23, 3, "U", "Indian/Antananarivo"}, + "WTS": {"Tsiroanomandidy Airport", "Tsiroanomandidy", "Madagascar", "WTS", "FMMX", -18.759676556400002, 46.0540652275, 2776, 3, "U", "Indian/Antananarivo"}, + "WAM": {"Ambatondrazaka Airport", "Ambatondrazaka", "Madagascar", "WAM", "FMMZ", -17.7953776085, 48.4425830841, 2513, 3, "U", "Indian/Antananarivo"}, + "WPB": {"Port Bergé Airport", "Port Bergé", "Madagascar", "WPB", "FMNG", -15.584286474099999, 47.6235866547, 213, 3, "U", "Indian/Antananarivo"}, + "DWB": {"Soalala Airport", "Soalala", "Madagascar", "DWB", "FMNO", -16.1016904207, 45.358836650799994, 141, 3, "U", "Indian/Antananarivo"}, + "WMP": {"Mampikony Airport", "Mampikony", "Madagascar", "WMP", "FMNP", -16.0722693402, 47.644164562200004, 0, 3, "U", "Indian/Antananarivo"}, + "TTS": {"Nasa Shuttle Landing Facility Airport", "Tsaratanana", "Madagascar", "TTS", "KTTS", 28.614999771118164, -80.69450378417969, 10, -5, "U", "America/New_York"}, + "WMA": {"Mandritsara Airport", "Mandritsara", "Madagascar", "WMA", "FMNX", -15.8330494086, 48.8332843781, 1007, 3, "U", "Indian/Antananarivo"}, + "MJA": {"Manja Airport", "Manja", "Madagascar", "MJA", "FMSJ", -21.4261052506, 44.31650877, 787, 3, "U", "Indian/Antananarivo"}, + "CBT": {"Catumbela Airport", "Catumbela", "Angola", "CBT", "FNCT", -12.4792, 13.4869, 23, 1, "N", "Africa/Luanda"}, + "DUE": {"Dundo Airport", "Dundo", "Angola", "DUE", "FNDU", -7.400889873504639, 20.818500518798828, 2451, 1, "N", "Africa/Luanda"}, + "VPE": {"Ngjiva Pereira Airport", "Ondjiva", "Angola", "VPE", "FNGI", -17.0435009003, 15.683799743700002, 3566, 1, "N", "Africa/Luanda"}, + "MSZ": {"Namibe Airport", "Mocamedes", "Angola", "MSZ", "FNMO", -15.261199951171875, 12.14680004119873, 210, 1, "N", "Africa/Luanda"}, + "KOU": {"Koulamoutou Mabimbi Airport", "Koulamoutou", "Gabon", "KOU", "FOGK", -1.1846100091934, 12.441300392151, 1070, 1, "N", "Africa/Libreville"}, + "MJL": {"Mouilla Ville Airport", "Mouila", "Gabon", "MJL", "FOGM", -1.845139980316162, 11.056699752807617, 295, 1, "N", "Africa/Libreville"}, + "TCH": {"Tchibanga Airport", "Tchibanga", "Gabon", "TCH", "FOOT", -2.8499999046325684, 11.017000198364258, 269, 1, "N", "Africa/Libreville"}, + "VPY": {"Chimoio Airport", "Chimoio", "Mozambique", "VPY", "FQCH", -19.15130043029785, 33.42900085449219, 2287, 2, "U", "Africa/Maputo"}, + "SRH": {"Sarh Airport", "Sarh", "Chad", "SRH", "FTTA", 9.144439697265625, 18.374399185180664, 1198, 1, "N", "Africa/Ndjamena"}, + "CMK": {"Club Makokola Airport", "Club Makokola", "Malawi", "CMK", "FWCM", -14.306900024414062, 35.13249969482422, 1587, 2, "U", "Africa/Blantyre"}, + "LUD": {"Luderitz Airport", "Luderitz", "Namibia", "LUD", "FYLZ", -26.687400817871094, 15.242899894714355, 457, 1, "S", "Africa/Windhoek"}, + "OND": {"Ondangwa Airport", "Ondangwa", "Namibia", "OND", "FYOA", -17.878201, 15.9526, 3599, 1, "S", "Africa/Windhoek"}, + "OMD": {"Oranjemund Airport", "Oranjemund", "Namibia", "OMD", "FYOG", -28.584699630737305, 16.446699142456055, 14, 1, "S", "Africa/Windhoek"}, + "SWP": {"Swakopmund Airport", "Swakopmund", "Namibia", "SWP", "FYSM", -22.66189956665, 14.568099975586, 207, 1, "S", "Africa/Windhoek"}, + "ERS": {"Eros Airport", "Windhoek", "Namibia", "ERS", "FYWE", -22.612199783325195, 17.080400466918945, 5575, 1, "S", "Africa/Windhoek"}, + "BOA": {"Boma Airport", "Boma", "Congo (Kinshasa)", "BOA", "FZAJ", -5.854000091552734, 13.064000129699707, 26, 1, "N", "Africa/Kinshasa"}, + "MAT": {"Tshimpi Airport", "Matadi", "Congo (Kinshasa)", "MAT", "FZAM", -5.799610137939453, 13.440400123596191, 1115, 1, "N", "Africa/Kinshasa"}, + "INO": {"Inongo Airport", "Inongo", "Congo (Kinshasa)", "INO", "FZBA", -1.947219967842102, 18.28580093383789, 1040, 1, "N", "Africa/Kinshasa"}, + "NIO": {"Nioki Airport", "Nioki", "Congo (Kinshasa)", "NIO", "FZBI", -2.7174999713897705, 17.68470001220703, 1043, 1, "N", "Africa/Kinshasa"}, + "KRZ": {"Basango Mboliasa Airport", "Kiri", "Congo (Kinshasa)", "KRZ", "FZBT", -1.434999942779541, 19.02400016784668, 1013, 1, "N", "Africa/Kinshasa"}, + "BSU": {"Basankusu Airport", "Basankusu", "Congo (Kinshasa)", "BSU", "FZEN", 1.2247200012207031, 19.78890037536621, 1217, 1, "N", "Africa/Kinshasa"}, + "TSH": {"Tshikapa Airport", "Tshikapa", "Congo (Kinshasa)", "TSH", "FZUK", -6.438330173492432, 20.794700622558594, 1595, 2, "N", "Africa/Lubumbashi"}, + "LJA": {"Lodja Airport", "Lodja", "Congo (Kinshasa)", "LJA", "FZVA", -3.4170000553131104, 23.450000762939453, 1647, 2, "N", "Africa/Lubumbashi"}, + "PFR": {"Ilebo Airport", "Ilebo", "Congo (Kinshasa)", "PFR", "FZVS", -4.329919, 20.590124, 1450, 2, "N", "Africa/Lubumbashi"}, + "GMZ": {"La Gomera Airport", "La Gomera", "Spain", "GMZ", "GCGM", 28.029600143432617, -17.214599609375, 716, 0, "E", "Atlantic/Canary"}, + "BTE": {"Sherbro International Airport", "Bonthe", "Sierra Leone", "BTE", "GFBN", 7.5324201583862305, -12.518899917602539, 14, 0, "N", "Africa/Freetown"}, + "KBS": {"Bo Airport", "Bo", "Sierra Leone", "KBS", "GFBO", 7.944399833679199, -11.76099967956543, 328, 0, "N", "Africa/Freetown"}, + "KEN": {"Kenema Airport", "Kenema", "Sierra Leone", "KEN", "GFKE", 7.891290187835693, -11.176600456237793, 485, 0, "N", "Africa/Freetown"}, + "OXB": {"Osvaldo Vieira International Airport", "Bissau", "Guinea-Bissau", "OXB", "GGOV", 11.894800186157227, -15.65369987487793, 129, 0, "N", "Africa/Bissau"}, + "SMW": {"Smara Airport", "Smara", "Western Sahara", "SMW", "GMMA", 26.7318, -11.6847, 350, 0, "N", "Africa/El_Aaiun"}, + "VIL": {"Dakhla Airport", "Dakhla", "Western Sahara", "VIL", "GMMH", 23.7183, -15.932, 36, 0, "N", "Africa/El_Aaiun"}, + "ESU": {"Mogador Airport", "Essadouira", "Morocco", "ESU", "GMMI", 31.3974990845, -9.6816701889, 384, 0, "N", "Africa/Casablanca"}, + "EUN": {"Hassan I Airport", "El Aaiún", "Western Sahara", "EUN", "GMML", 27.151699, -13.2192, 207, 0, "N", "Africa/El_Aaiun"}, + "NDR": {"Nador International Airport", "El Aroui", "Morocco", "NDR", "GMMW", 34.988800048799995, -3.0282099247, 574, 0, "N", "Africa/Casablanca"}, + "RAI": {"Praia International Airport", "Praia, Santiago Island", "Cape Verde", "RAI", "GVNP", 14.924500465393066, -23.493499755859375, 230, -1, "U", "Atlantic/Cape_Verde"}, + "SFL": {"São Filipe Airport", "Sao Filipe, Fogo Island", "Cape Verde", "SFL", "GVSF", 14.8850002289, -24.4799995422, 617, -1, "U", "Atlantic/Cape_Verde"}, + "BCO": {"Baco Airport", "Baco", "Ethiopia", "BCO", "HABC", 5.78287, 36.562, 4580, 3, "U", "Africa/Addis_Ababa"}, + "BEI": {"Beica Airport", "Beica", "Ethiopia", "BEI", "HABE", 9.38638973236084, 34.52190017700195, 5410, 3, "U", "Africa/Addis_Ababa"}, + "DSE": {"Combolcha Airport", "Dessie", "Ethiopia", "DSE", "HADC", 11.082500457763672, 39.71139907836914, 6117, 3, "U", "Africa/Addis_Ababa"}, + "DEM": {"Dembidollo Airport", "Dembidollo", "Ethiopia", "DEM", "HADD", 8.553999900817871, 34.858001708984375, 5200, 3, "U", "Africa/Addis_Ababa"}, + "GDE": {"Gode Airport", "Gode", "Ethiopia", "GDE", "HAGO", 5.93513011932, 43.5786018372, 834, 3, "U", "Africa/Addis_Ababa"}, + "GOR": {"Gore Airport", "Gore", "Ethiopia", "GOR", "HAGR", 8.1614, 35.5529, 6580, 3, "U", "Africa/Addis_Ababa"}, + "ABK": {"Kabri Dehar Airport", "Kabri Dehar", "Ethiopia", "ABK", "HAKD", 6.734000205993652, 44.25299835205078, 1800, 3, "U", "Africa/Addis_Ababa"}, + "MTF": {"Mizan Teferi Airport", "Mizan Teferi", "Ethiopia", "MTF", "HAMT", 6.9571, 35.5547, 4396, 3, "U", "Africa/Addis_Ababa"}, + "TIE": {"Tippi Airport", "Tippi", "Ethiopia", "TIE", "HATP", 7.2024, 35.415, 1100, 3, "U", "Africa/Addis_Ababa"}, + "ALU": {"Alula Airport", "Alula", "Somalia", "ALU", "HCMA", 11.9582, 50.748, 6, 3, "U", "Africa/Mogadishu"}, + "BSA": {"Bosaso Airport", "Bosaso", "Somalia", "BSA", "HCMF", 11.275300025939941, 49.14939880371094, 3, 3, "U", "Africa/Mogadishu"}, + "MGQ": {"Aden Adde International Airport", "Mogadishu", "Somalia", "MGQ", "HCMM", 2.0144400596618652, 45.3046989440918, 29, 3, "U", "Africa/Mogadishu"}, + "GLK": {"Galcaio Airport", "Galcaio", "Somalia", "GLK", "HCMR", 6.78082990646, 47.45470047, 975, 3, "U", "Africa/Mogadishu"}, + "BUO": {"Burao Airport", "Burao", "Somalia", "BUO", "HCMV", 9.5275, 45.5549, 3400, 3, "U", "Africa/Mogadishu"}, + "AAC": {"El Arish International Airport", "El Arish", "Egypt", "AAC", "HEAR", 31.073299408, 33.8358001709, 121, 2, "U", "Africa/Cairo"}, + "ATZ": {"Assiut International Airport", "Asyut", "Egypt", "ATZ", "HEAT", 27.0464992523, 31.0119991302, 772, 2, "U", "Africa/Cairo"}, + "ASV": {"Amboseli Airport", "Amboseli National Park", "Kenya", "ASV", "HKAM", -2.645050048828125, 37.25310134887695, 3755, 3, "U", "Africa/Nairobi"}, + "LKG": {"Lokichoggio Airport", "Lokichoggio", "Kenya", "LKG", "HKLK", 4.20412015914917, 34.348201751708984, 2074, 3, "U", "Africa/Nairobi"}, + "MYD": {"Malindi Airport", "Malindi", "Kenya", "MYD", "HKML", -3.2293100357055664, 40.10169982910156, 80, 3, "U", "Africa/Nairobi"}, + "NYK": {"Nanyuki Airport", "Nanyuki", "Kenya", "NYK", "HKNY", -0.06239889934659004, 37.04100799560547, 6250, 3, "U", "Africa/Nairobi"}, + "SRX": {"Gardabya Airport", "Sirt", "Libya", "SRX", "HLGD", 31.063499450699997, 16.5949993134, 267, 2, "N", "Africa/Tripoli"}, + "TOB": {"Gamal Abdel Nasser Airport", "Tobruk", "Libya", "TOB", "HLGN", 31.861, 23.907, 519, 2, "N", "Africa/Tripoli"}, + "MJI": {"Mitiga Airport", "Tripoli", "Libya", "MJI", "HLLM", 32.894100189208984, 13.276000022888184, 36, 2, "N", "Africa/Tripoli"}, + "LAQ": {"La Abraq Airport", "Al Bayda'", "Libya", "LAQ", "HLLQ", 32.788700103759766, 21.96430015563965, 2157, 2, "N", "Africa/Tripoli"}, + "ATB": {"Atbara Airport", "Atbara", "Sudan", "ATB", "HSAT", 17.710344314575195, 34.0570182800293, 1181, 3, "U", "Africa/Khartoum"}, + "UYL": {"Nyala Airport", "Nyala", "Sudan", "UYL", "HSNN", 12.053500175476074, 24.956199645996094, 2106, 3, "U", "Africa/Khartoum"}, + "PZU": {"Port Sudan New International Airport", "Port Sudan", "Sudan", "PZU", "HSPN", 19.4335994720459, 37.234100341796875, 135, 3, "U", "Africa/Khartoum"}, + "BKZ": {"Bukoba Airport", "Bukoba", "Tanzania", "BKZ", "HTBU", -1.332, 31.8212, 3745, 3, "U", "Africa/Dar_es_Salaam"}, + "TKQ": {"Kigoma Airport", "Kigoma", "Tanzania", "TKQ", "HTKA", -4.8862, 29.6709, 2700, 3, "U", "Africa/Dar_es_Salaam"}, + "LDI": {"Kikwetu Airport", "Lindi", "Tanzania", "LDI", "HTLI", -9.851110458374023, 39.7578010559082, 100, 3, "U", "Africa/Dar_es_Salaam"}, + "MUZ": {"Musoma Airport", "Musoma", "Tanzania", "MUZ", "HTMU", -1.503, 33.8021, 3806, 3, "U", "Africa/Dar_es_Salaam"}, + "SHY": {"Shinyanga Airport", "Shinyanga", "Tanzania", "SHY", "HTSY", -3.6093, 33.5035, 3800, 3, "U", "Africa/Dar_es_Salaam"}, + "TBO": {"Tabora Airport", "Tabora", "Tanzania", "TBO", "HTTB", -5.076389789581299, 32.83330154418945, 3868, 3, "U", "Africa/Dar_es_Salaam"}, + "RUA": {"Arua Airport", "Arua", "Uganda", "RUA", "HUAR", 3.049999952316284, 30.91699981689453, 3951, 3, "U", "Africa/Kampala"}, + "ULU": {"Gulu Airport", "Gulu", "Uganda", "ULU", "HUGU", 2.8055601119995117, 32.27180099487305, 3510, 3, "U", "Africa/Kampala"}, + "DIU": {"Diu Airport", "Diu", "India", "DIU", "VA1P", 20.71310043334961, 70.92109680175781, 31, 5.5, "N", "Asia/Calcutta"}, + "ABR": {"Aberdeen Regional Airport", "Aberdeen", "United States", "ABR", "KABR", 45.449100494384766, -98.42179870605469, 1302, -6, "A", "America/Chicago"}, + "ABY": {"Southwest Georgia Regional Airport", "Albany", "United States", "ABY", "KABY", 31.535499572753906, -84.19450378417969, 197, -5, "A", "America/New_York"}, + "AHN": {"Athens Ben Epps Airport", "Athens", "United States", "AHN", "KAHN", 33.94860076904297, -83.32630157470703, 808, -5, "A", "America/New_York"}, + "ALM": {"Alamogordo White Sands Regional Airport", "Alamogordo", "United States", "ALM", "KALM", 32.8399009705, -105.990997314, 4200, -7, "A", "America/Denver"}, + "ALO": {"Waterloo Regional Airport", "Waterloo", "United States", "ALO", "KALO", 42.557098388671875, -92.40029907226562, 873, -6, "A", "America/Chicago"}, + "ALW": {"Walla Walla Regional Airport", "Walla Walla", "United States", "ALW", "KALW", 46.09489822, -118.288002, 1194, -8, "A", "America/Los_Angeles"}, + "APN": {"Alpena County Regional Airport", "Alpena", "United States", "APN", "KAPN", 45.0780983, -83.56030273, 690, -5, "A", "America/New_York"}, + "ATY": {"Watertown Regional Airport", "Watertown", "United States", "ATY", "KATY", 44.91400146, -97.15470123, 1749, -6, "A", "America/Chicago"}, + "BFD": {"Bradford Regional Airport", "Bradford", "United States", "BFD", "KBFD", 41.8031005859375, -78.64009857177734, 2143, -5, "A", "America/New_York"}, + "BFF": {"Western Neb. Rgnl/William B. Heilig Airport", "Scottsbluff", "United States", "BFF", "KBFF", 41.87400055, -103.5960007, 3967, -7, "A", "America/Denver"}, + "BKW": {"Raleigh County Memorial Airport", "Beckley", "United States", "BKW", "KBKW", 37.787300109899995, -81.1241989136, 2504, -5, "A", "America/New_York"}, + "BQK": {"Brunswick Golden Isles Airport", "Brunswick", "United States", "BQK", "KBQK", 31.258800506591797, -81.46649932861328, 26, -5, "A", "America/New_York"}, + "BRL": {"Southeast Iowa Regional Airport", "Burlington", "United States", "BRL", "KBRL", 40.783199310302734, -91.12550354003906, 698, -6, "A", "America/Chicago"}, + "CEC": {"Jack Mc Namara Field Airport", "Crescent City", "United States", "CEC", "KCEC", 41.78020096, -124.2369995, 61, -8, "A", "America/Los_Angeles"}, + "CGI": {"Cape Girardeau Regional Airport", "Cape Girardeau", "United States", "CGI", "KCGI", 37.22529983520508, -89.57080078125, 342, -6, "A", "America/Chicago"}, + "CIU": {"Chippewa County International Airport", "Sault Ste Marie", "United States", "CIU", "KCIU", 46.25080108642578, -84.47239685058594, 800, -5, "A", "America/New_York"}, + "CKB": {"North Central West Virginia Airport", "Clarksburg", "United States", "CKB", "KCKB", 39.2966003418, -80.2281036377, 1217, -5, "A", "America/New_York"}, + "CLM": {"William R Fairchild International Airport", "Port Angeles", "United States", "CLM", "KCLM", 48.120201110839844, -123.5, 291, -8, "A", "America/Los_Angeles"}, + "CMX": {"Houghton County Memorial Airport", "Hancock", "United States", "CMX", "KCMX", 47.168399810791016, -88.48909759521484, 1095, -5, "A", "America/New_York"}, + "DDC": {"Dodge City Regional Airport", "Dodge City", "United States", "DDC", "KDDC", 37.76340103149414, -99.9655990600586, 2594, -6, "A", "America/Chicago"}, + "DUJ": {"DuBois Regional Airport", "Du Bois", "United States", "DUJ", "KDUJ", 41.17829895, -78.8986969, 1817, -5, "A", "America/New_York"}, + "EAU": {"Chippewa Valley Regional Airport", "Eau Claire", "United States", "EAU", "KEAU", 44.86579895019531, -91.48429870605469, 913, -6, "A", "America/Chicago"}, + "EKO": {"Elko Regional Airport", "Elko", "United States", "EKO", "KEKO", 40.82490158081055, -115.79199981689453, 5140, -8, "A", "America/Los_Angeles"}, + "EWB": {"New Bedford Regional Airport", "New Bedford", "United States", "EWB", "KEWB", 41.67610168457031, -70.95690155029297, 80, -5, "A", "America/New_York"}, + "FAY": {"Fayetteville Regional Grannis Field", "Fayetteville", "United States", "FAY", "KFAY", 34.9911994934082, -78.88030242919922, 189, -5, "A", "America/New_York"}, + "GGW": {"Wokal Field Glasgow International Airport", "Glasgow", "United States", "GGW", "KGGW", 48.212501525878906, -106.61499786376953, 2296, -7, "A", "America/Denver"}, + "GRI": {"Central Nebraska Regional Airport", "Grand Island", "United States", "GRI", "KGRI", 40.967498779296875, -98.30960083007812, 1847, -6, "A", "America/Chicago"}, + "HOT": {"Memorial Field", "Hot Springs", "United States", "HOT", "KHOT", 34.47800064086914, -93.09619903564453, 540, -6, "A", "America/Chicago"}, + "HTS": {"Tri-State/Milton J. Ferguson Field", "Huntington", "United States", "HTS", "KHTS", 38.36669922, -82.55799866, 828, -5, "A", "America/New_York"}, + "KIO": {"Kili Airport", "Kili Island", "Marshall Islands", "KIO", "Q51", 5.644515037536621, 169.1195068359375, 5, 12, "U", "Pacific/Majuro"}, + "IRK": {"Kirksville Regional Airport", "Kirksville", "United States", "IRK", "KIRK", 40.09349822998047, -92.5448989868164, 966, -6, "A", "America/Chicago"}, + "JMS": {"Jamestown Regional Airport", "Jamestown", "United States", "JMS", "KJMS", 46.92969894, -98.67819977, 1500, -6, "A", "America/Chicago"}, + "LAR": {"Laramie Regional Airport", "Laramie", "United States", "LAR", "KLAR", 41.31209945678711, -105.67500305175781, 7284, -7, "A", "America/Denver"}, + "LBE": {"Arnold Palmer Regional Airport", "Latrobe", "United States", "LBE", "KLBE", 40.27590179, -79.40480042, 1199, -5, "A", "America/New_York"}, + "LBF": {"North Platte Regional Airport Lee Bird Field", "North Platte", "United States", "LBF", "KLBF", 41.12620163, -100.6839981, 2777, -6, "A", "America/Chicago"}, + "LEB": {"Lebanon Municipal Airport", "Lebanon", "United States", "LEB", "KLEB", 43.626098632799994, -72.30419921880001, 603, -5, "A", "America/New_York"}, + "LMT": {"Klamath Falls Airport", "Klamath Falls", "United States", "LMT", "KLMT", 42.15610122680664, -121.73300170898438, 4095, -8, "A", "America/Los_Angeles"}, + "LNS": {"Lancaster Airport", "Lancaster", "United States", "LNS", "KLNS", 40.121700286865234, -76.29609680175781, 403, -5, "A", "America/New_York"}, + "LWT": {"Lewistown Municipal Airport", "Lewistown", "United States", "LWT", "KLWT", 47.04930114746094, -109.46700286865234, 4170, -7, "A", "America/Denver"}, + "LYH": {"Lynchburg Regional Preston Glenn Field", "Lynchburg", "United States", "LYH", "KLYH", 37.326698303222656, -79.20040130615234, 938, -5, "A", "America/New_York"}, + "MKG": {"Muskegon County Airport", "Muskegon", "United States", "MKG", "KMKG", 43.16949844, -86.23819733, 629, -5, "A", "America/New_York"}, + "MLS": {"Frank Wiley Field", "Miles City", "United States", "MLS", "KMLS", 46.428001403808594, -105.88600158691406, 2630, -7, "A", "America/Denver"}, + "MSL": {"Northwest Alabama Regional Airport", "Muscle Shoals", "United States", "MSL", "KMSL", 34.74530029, -87.61019897, 551, -6, "A", "America/Chicago"}, + "OTH": {"Southwest Oregon Regional Airport", "North Bend", "United States", "OTH", "KOTH", 43.41709899902344, -124.24600219726562, 17, -8, "A", "America/Los_Angeles"}, + "OWB": {"Owensboro Daviess County Airport", "Owensboro", "United States", "OWB", "KOWB", 37.74010086, -87.16680145, 407, -6, "A", "America/Chicago"}, + "PIB": {"Hattiesburg Laurel Regional Airport", "Hattiesburg/Laurel", "United States", "PIB", "KPIB", 31.467100143432617, -89.33709716796875, 298, -6, "A", "America/Chicago"}, + "PIH": {"Pocatello Regional Airport", "Pocatello", "United States", "PIH", "KPIH", 42.9098014831543, -112.59600067138672, 4452, -7, "A", "America/Denver"}, + "PIR": {"Pierre Regional Airport", "Pierre", "United States", "PIR", "KPIR", 44.38270187, -100.2860031, 1744, -6, "A", "America/Chicago"}, + "PLN": {"Pellston Regional Airport of Emmet County Airport", "Pellston", "United States", "PLN", "KPLN", 45.57089996, -84.79669952, 721, -5, "A", "America/New_York"}, + "PSM": {"Portsmouth International at Pease Airport", "Portsmouth", "United States", "PSM", "KPSM", 43.0778999329, -70.8233032227, 100, -5, "A", "America/New_York"}, + "RDG": {"Reading Regional Carl A Spaatz Field", "Reading", "United States", "RDG", "KRDG", 40.378501892089844, -75.96520233154297, 344, -5, "A", "America/New_York"}, + "RHI": {"Rhinelander Oneida County Airport", "Rhinelander", "United States", "RHI", "KRHI", 45.63119888305664, -89.46749877929688, 1624, -6, "A", "America/Chicago"}, + "RKS": {"Rock Springs Sweetwater County Airport", "Rock Springs", "United States", "RKS", "KRKS", 41.59420013, -109.0650024, 6764, -7, "A", "America/Denver"}, + "RUT": {"Rutland - Southern Vermont Regional Airport", "Rutland", "United States", "RUT", "KRUT", 43.52939987, -72.94960022, 787, -5, "A", "America/New_York"}, + "SBP": {"San Luis County Regional Airport", "San Luis Obispo", "United States", "SBP", "KSBP", 35.236801147499996, -120.641998291, 212, -8, "A", "America/Los_Angeles"}, + "SHR": {"Sheridan County Airport", "Sheridan", "United States", "SHR", "KSHR", 44.76919937133789, -106.9800033569336, 4021, -7, "A", "America/Denver"}, + "SLK": {"Adirondack Regional Airport", "Saranac Lake", "United States", "SLK", "KSLK", 44.38529968261719, -74.2061996459961, 1663, -5, "A", "America/New_York"}, + "SLN": {"Salina Municipal Airport", "Salina", "United States", "SLN", "KSLN", 38.79100036621094, -97.6521987915039, 1288, -6, "A", "America/Chicago"}, + "SMX": {"Santa Maria Pub/Capt G Allan Hancock Field", "Santa Maria", "United States", "SMX", "KSMX", 34.89889908, -120.4570007, 261, -8, "A", "America/Los_Angeles"}, + "TUP": {"Tupelo Regional Airport", "Tupelo", "United States", "TUP", "KTUP", 34.26810073852539, -88.7698974609375, 346, -6, "A", "America/Chicago"}, + "UIN": {"Quincy Regional Baldwin Field", "Quincy", "United States", "UIN", "KUIN", 39.94269943, -91.19460297, 768, -6, "A", "America/Chicago"}, + "VCT": {"Victoria Regional Airport", "Victoria", "United States", "VCT", "KVCT", 28.85260009765625, -96.91850280761719, 115, -6, "A", "America/Chicago"}, + "VLD": {"Valdosta Regional Airport", "Valdosta", "United States", "VLD", "KVLD", 30.782499313354492, -83.27670288085938, 203, -5, "A", "America/New_York"}, + "WRL": {"Worland Municipal Airport", "Worland", "United States", "WRL", "KWRL", 43.9656982421875, -107.95099639892578, 4227, -7, "A", "America/Denver"}, + "YKM": {"Yakima Air Terminal McAllister Field", "Yakima", "United States", "YKM", "KYKM", 46.56819916, -120.5439987, 1099, -8, "A", "America/Los_Angeles"}, + "ECN": {"Ercan International Airport", "Nicosia", "Cyprus", "ECN", "LCEN", 35.154701232910156, 33.49610137939453, 404, 2, "E", "Asia/Nicosia"}, + "RJL": {"Logroño-Agoncillo Airport", "Logroño-Agoncillo", "Spain", "RJL", "LELO", 42.4609534888, -2.32223510742, 1161, 1, "E", "Europe/Madrid"}, + "IDY": {"Île d'Yeu Airport", "Île d'Yeu", "France", "IDY", "LFEY", 46.71860122680664, -2.3911099433898926, 79, 1, "E", "Europe/Paris"}, + "ANE": {"Angers-Loire Airport", "Angers/Marcé", "France", "ANE", "LFJR", 47.560298919677734, -0.3122220039367676, 194, 1, "E", "Europe/Paris"}, + "LTT": {"La Môle Airport", "La Môle", "France", "LTT", "LFTZ", 43.20539855957031, 6.48199987411499, 59, 1, "E", "Europe/Paris"}, + "JSY": {"Syros Airport", "Syros Island", "Greece", "JSY", "LGSO", 37.4227981567, 24.950899124099998, 236, 2, "E", "Europe/Athens"}, + "PEV": {"Pécs-Pogány Airport", "Pécs-Pogány", "Hungary", "PEV", "LHPP", 45.990898, 18.240996, 1000, 1, "N", "Europe/Budapest"}, + "QGY": {"Győr-Pér International Airport", "Győr", "Hungary", "QGY", "LHPR", 47.624401, 17.813601, 424, 1, "N", "Europe/Budapest"}, + "SOB": {"Sármellék International Airport", "Sármellék", "Hungary", "SOB", "LHSM", 46.686391, 17.159084, 408, 1, "N", "Europe/Budapest"}, + "AOT": {"Aosta Airport", "Aosta", "Italy", "AOT", "LIMW", 45.738499, 7.36872, 1791, 1, "E", "Europe/Rome"}, + "QSR": {"Salerno Costa d'Amalfi Airport", "Salerno", "Italy", "QSR", "LIRI", 40.620399, 14.9113, 119, 1, "E", "Europe/Rome"}, + "CVU": {"Corvo Airport", "Corvo", "Portugal", "CVU", "LPCR", 39.67150115966797, -31.11359977722168, 0, -1, "E", "Atlantic/Azores"}, + "BNX": {"Banja Luka International Airport", "Banja Luka", "Bosnia and Herzegovina", "BNX", "LQBK", 44.94139862060547, 17.297500610351562, 400, 1, "E", "Europe/Sarajevo"}, + "USQ": {"Uşak Airport", "Usak", "Turkey", "USQ", "LTBO", 38.68149948120117, 29.47170066833496, 2897, 3, "E", "Europe/Istanbul"}, + "KSY": {"Kars Airport", "Kars", "Turkey", "KSY", "LTCF", 40.562198638916016, 43.1150016784668, 5889, 3, "E", "Europe/Istanbul"}, + "SFQ": {"Şanlıurfa Airport", "Sanliurfa", "Turkey", "SFQ", "LTCH", 37.09429931640625, 38.84709930419922, 1483, 3, "E", "Europe/Istanbul"}, + "KCM": {"Kahramanmaraş Airport", "Kahramanmaras", "Turkey", "KCM", "LTCN", 37.5388259888, 36.9535217285, 1723, 3, "E", "Europe/Istanbul"}, + "AJI": {"Ağrı Airport", "Agri", "Turkey", "AJI", "LTCO", 39.654541015625, 43.025978088378906, 5462, 3, "E", "Europe/Istanbul"}, + "ADF": {"Adıyaman Airport", "Adiyaman", "Turkey", "ADF", "LTCP", 37.7313995361, 38.4688987732, 2216, 3, "E", "Europe/Istanbul"}, + "ISE": {"Süleyman Demirel International Airport", "Isparta", "Turkey", "ISE", "LTFC", 37.8554000854, 30.368400573699997, 2835, 3, "E", "Europe/Istanbul"}, + "EDO": {"Balıkesir Körfez Airport", "Balikesir Korfez", "Turkey", "EDO", "LTFD", 39.554599762, 27.0137996674, 50, 3, "E", "Europe/Istanbul"}, + "SZF": {"Samsun Çarşamba Airport", "Samsun", "Turkey", "SZF", "LTFH", 41.254501, 36.567101, 18, 3, "E", "Europe/Istanbul"}, + "ILZ": {"Žilina Airport", "Žilina", "Slovakia", "ILZ", "LZZI", 49.231498718299996, 18.6135005951, 1020, 1, "E", "Europe/Bratislava"}, + "GDT": {"JAGS McCartney International Airport", "Cockburn Town", "Turks and Caicos Islands", "GDT", "MBGT", 21.444499969482422, -71.14230346679688, 13, -4, "U", "America/Grand_Turk"}, + "MDS": {"Middle Caicos Airport", "Middle Caicos", "Turks and Caicos Islands", "MDS", "MBMC", 21.82602, -71.8025, 9, -4, "U", "America/Grand_Turk"}, + "SLX": {"Salt Cay Airport", "Salt Cay", "Turks and Caicos Islands", "SLX", "MBSY", 21.333000183099998, -71.1999969482, 3, -4, "U", "America/Grand_Turk"}, + "AZS": {"Samaná El Catey International Airport", "Samana", "Dominican Republic", "AZS", "MDCY", 19.2670001984, -69.7419967651, 30, -4, "U", "America/Santo_Domingo"}, + "JBQ": {"La Isabela International Airport", "La Isabela", "Dominican Republic", "JBQ", "MDJB", 18.572500228881836, -69.98560333251953, 98, -4, "U", "America/Santo_Domingo"}, + "PBR": {"Puerto Barrios Airport", "Puerto Barrios", "Guatemala", "PBR", "MGPB", 15.730899810791016, -88.58380126953125, 33, -6, "U", "America/Guatemala"}, + "AAZ": {"Quezaltenango Airport", "Quezaltenango", "Guatemala", "AAZ", "MGQZ", 14.865599632263184, -91.50199890136719, 7779, -6, "U", "America/Guatemala"}, + "UTK": {"Utirik Airport", "Utirik Island", "Marshall Islands", "UTK", "03N", 11.222, 169.852005, 4, 12, "U", "Pacific/Majuro"}, + "AHS": {"Ahuas Airport", "Ahuas", "Honduras", "AHS", "MHAH", 15.4722, -84.352203, 249, -6, "U", "America/Tegucigalpa"}, + "PEU": {"Puerto Lempira Airport", "Puerto Lempira", "Honduras", "PEU", "MHPL", 15.2622, -83.781197, 33, -6, "U", "America/Tegucigalpa"}, + "MIJ": {"Mili Island Airport", "Mili Island", "Marshall Islands", "MIJ", "MLIP", 6.083330154418945, 171.73300170898438, 4, 12, "U", "Pacific/Majuro"}, + "CYW": {"Captain Rogelio Castillo National Airport", "Celaya", "Mexico", "CYW", "MMCY", 20.546, -100.887001, 5709, -6, "S", "America/Mexico_City"}, + "CUA": {"Ciudad Constitución Airport", "Ciudad Constitución", "Mexico", "CUA", "MMDA", 25.053800582886, -111.61499786377, 213, -7, "S", "America/Mazatlan"}, + "GUB": {"Guerrero Negro Airport", "Guerrero Negro", "Mexico", "GUB", "MMGR", 28.026100158691406, -114.02400207519531, 59, -8, "S", "America/Tijuana"}, + "JAL": {"El Lencero Airport", "Jalapa", "Mexico", "JAL", "MMJA", 19.4750995636, -96.7975006104, 3127, -6, "S", "America/Mexico_City"}, + "CTD": {"Alonso Valderrama Airport", "Chitré", "Panama", "CTD", "MPCE", 7.987840175628662, -80.40969848632812, 33, -5, "U", "America/Panama"}, + "ONX": {"Enrique Adolfo Jimenez Airport", "Colón", "Panama", "ONX", "MPEJ", 9.356639862060547, -79.86740112304688, 25, -5, "U", "America/Panama"}, + "JQE": {"Jaqué Airport", "Jaqué", "Panama", "JQE", "MPJE", 7.51777982711792, -78.1572036743164, 29, -5, "U", "America/Panama"}, + "PLP": {"Captain Ramon Xatruch Airport", "La Palma", "Panama", "PLP", "MPLP", 8.406669616699219, -78.1417007446289, 30, -5, "U", "America/Panama"}, + "TTQ": {"Aerotortuguero Airport", "Roxana", "Costa Rica", "TTQ", "MRAO", 10.42, -83.6095, 92, -6, "U", "America/Costa_Rica"}, + "BCL": {"Barra del Colorado Airport", "Pococi", "Costa Rica", "BCL", "MRBC", 10.768699645996094, -83.58560180664062, 3, -6, "U", "America/Costa_Rica"}, + "TNO": {"Cabo Velas Airport", "Nicoya", "Costa Rica", "TNO", "MRCV", 10.355699539185, -85.852897644043, 33, -6, "U", "America/Costa_Rica"}, + "PBP": {"Islita Airport", "Nandayure", "Costa Rica", "PBP", "MRIA", 9.856109619140625, -85.37079620361328, 7, -6, "U", "America/Costa_Rica"}, + "PJM": {"Puerto Jimenez Airport", "Puerto Jimenez", "Costa Rica", "PJM", "MRPJ", 8.533329963684082, -83.30000305175781, 7, -6, "U", "America/Costa_Rica"}, + "SYQ": {"Tobias Bolanos International Airport", "San Jose", "Costa Rica", "SYQ", "MRPV", 9.957050323486328, -84.13980102539062, 3287, -6, "U", "America/Costa_Rica"}, + "JEE": {"Jérémie Airport", "Jeremie", "Haiti", "JEE", "MTJE", 18.66309928894043, -74.17030334472656, 147, -5, "U", "America/Port-au-Prince"}, + "PAX": {"Port-de-Paix Airport", "Port-de-Paix", "Haiti", "PAX", "MTPX", 19.9335994720459, -72.84860229492188, 9, -5, "U", "America/Port-au-Prince"}, + "TND": {"Alberto Delgado Airport", "Trinidad", "Cuba", "TND", "MUTD", 21.788299560546875, -79.99720001220703, 125, -5, "U", "America/Havana"}, + "COX": {"Congo Town Airport", "Andros", "Bahamas", "COX", "MYAK", 24.158700943, -77.5897979736, 15, -5, "U", "America/Nassau"}, + "ATC": {"Arthur's Town Airport", "Arthur's Town", "Bahamas", "ATC", "MYCA", 24.6294002533, -75.6737976074, 18, -5, "U", "America/Nassau"}, + "CAT": {"New Bight Airport", "Cat Island", "Bahamas", "CAT", "MYCB", 24.31529998779297, -75.45230102539062, 5, -5, "U", "America/Nassau"}, + "CRI": {"Colonel Hill Airport", "Colonel Hill", "Bahamas", "CRI", "MYCI", 22.745599746699998, -74.1824035645, 5, -5, "U", "America/Nassau"}, + "PID": {"Nassau Paradise Island Airport", "Nassau", "Bahamas", "PID", "MYPI", 25.08300018310547, -77.30000305175781, 0, -5, "U", "America/Nassau"}, + "AIU": {"Enua Airport", "Atiu Island", "Cook Islands", "AIU", "NCAT", -19.96780014038086, -158.11900329589844, 36, -10, "U", "Pacific/Rarotonga"}, + "MGS": {"Mangaia Island Airport", "Mangaia Island", "Cook Islands", "MGS", "NCMG", -21.895986557006836, -157.9066619873047, 45, -10, "U", "Pacific/Rarotonga"}, + "MHX": {"Manihiki Island Airport", "Manihiki Island", "Cook Islands", "MHX", "NCMH", -10.376700401306152, -161.0019989013672, 0, -10, "U", "Pacific/Rarotonga"}, + "MUK": {"Mauke Airport", "Mauke Island", "Cook Islands", "MUK", "NCMK", -20.13610076904297, -157.34500122070312, 26, -10, "U", "Pacific/Rarotonga"}, + "MOI": {"Mitiaro Island Airport", "Mitiaro Island", "Cook Islands", "MOI", "NCMR", -19.842500686645508, -157.7030029296875, 25, -10, "U", "Pacific/Rarotonga"}, + "PYE": {"Tongareva Airport", "Penrhyn Island", "Cook Islands", "PYE", "NCPY", -9.01436996459961, -158.03240966796875, 8, -10, "U", "Pacific/Rarotonga"}, + "ICI": {"Cicia Airport", "Cicia", "Fiji", "ICI", "NFCI", -17.7432994843, -179.341995239, 13, 12, "U", "Pacific/Fiji"}, + "PTF": {"Malolo Lailai Island Airport", "Malolo Lailai Island", "Fiji", "PTF", "NFFO", -17.7779006958, 177.197006226, 10, 12, "U", "Pacific/Fiji"}, + "KDV": {"Vunisea Airport", "Vunisea", "Fiji", "KDV", "NFKD", -19.058099746699998, 178.156997681, 6, 12, "U", "Pacific/Fiji"}, + "MNF": {"Mana Island Airport", "Mana Island", "Fiji", "MNF", "NFMA", -17.6730995178, 177.098007202, 0, 12, "U", "Pacific/Fiji"}, + "MFJ": {"Moala Airport", "Moala", "Fiji", "MFJ", "NFMO", -18.566699981699998, 179.951004028, 13, 12, "U", "Pacific/Fiji"}, + "NGI": {"Ngau Airport", "Ngau", "Fiji", "NGI", "NFNG", -18.115600585899998, 179.339996338, 50, 12, "U", "Pacific/Fiji"}, + "LKB": {"Lakeba Island Airport", "Lakeba Island", "Fiji", "LKB", "NFNK", -18.1991996765, -178.817001343, 280, 12, "U", "Pacific/Fiji"}, + "LBS": {"Labasa Airport", "Lambasa", "Fiji", "LBS", "NFNL", -16.466699600219727, 179.33999633789062, 44, 12, "U", "Pacific/Fiji"}, + "TVU": {"Matei Airport", "Matei", "Fiji", "TVU", "NFNM", -16.6905994415, -179.876998901, 60, 12, "U", "Pacific/Fiji"}, + "KXF": {"Koro Island Airport", "Koro Island", "Fiji", "KXF", "NFNO", -17.3458003998, 179.42199707, 358, 12, "U", "Pacific/Fiji"}, + "RTA": {"Rotuma Airport", "Rotuma", "Fiji", "RTA", "NFNR", -12.482500076293945, 177.0709991455078, 22, 12, "U", "Pacific/Fiji"}, + "SVU": {"Savusavu Airport", "Savusavu", "Fiji", "SVU", "NFNS", -16.8027992249, 179.341003418, 17, 12, "U", "Pacific/Fiji"}, + "EUA": {"Kaufana Airport", "Eua Island", "Tonga", "EUA", "NFTE", -21.378299713100002, -174.957992554, 325, 13, "U", "Pacific/Tongatapu"}, + "HPA": {"Lifuka Island Airport", "Lifuka", "Tonga", "HPA", "NFTL", -19.777000427246094, -174.34100341796875, 31, 13, "U", "Pacific/Tongatapu"}, + "NFO": {"Mata'aho Airport", "Angaha, Niuafo'ou Island", "Tonga", "NFO", "NFTO", -15.5707998276, -175.632995605, 160, 13, "U", "Pacific/Tongatapu"}, + "NTT": {"Kuini Lavenia Airport", "Niuatoputapu", "Tonga", "NTT", "NFTP", -15.977337651900001, -173.791029453, 30, 13, "U", "Pacific/Tongatapu"}, + "VBV": {"Vanua Balavu Airport", "Vanua Balavu", "Fiji", "VBV", "NFVB", -17.268999099731445, -178.9759979248047, 76, 12, "U", "Pacific/Fiji"}, + "IUE": {"Niue International Airport", "Alofi", "Niue", "IUE", "NIUE", -19.079030990600586, -169.92559814453125, 209, -11, "U", "Pacific/Niue"}, + "FUT": {"Pointe Vele Airport", "Futuna Island", "Wallis and Futuna", "FUT", "NLWF", -14.3114004135, -178.065994263, 20, 12, "U", "Pacific/Wallis"}, + "MXS": {"Maota Airport", "Savaii Island", "Samoa", "MXS", "NSMA", -13.742300033569336, -172.25799560546875, 0, 13, "U", "Pacific/Apia"}, + "APK": {"Apataki Airport", "Apataki", "French Polynesia", "APK", "NTGD", -15.573599815368652, -146.4149932861328, 8, -10, "U", "Pacific/Tahiti"}, + "AHE": {"Ahe Airport", "Ahe", "French Polynesia", "AHE", "NTHE", -14.428099632263184, -146.2570037841797, 11, -10, "U", "Pacific/Tahiti"}, + "AUQ": {"Hiva Oa-Atuona Airport", "Hiva-oa", "French Polynesia", "AUQ", "NTMN", -9.76879024506, -139.011001587, 1481, -9.5, "U", "Pacific/Marquesas"}, + "UAP": {"Ua Pou Airport", "Ua Pou", "French Polynesia", "UAP", "NTMP", -9.351670265197754, -140.0780029296875, 16, -9.5, "U", "Pacific/Marquesas"}, + "UAH": {"Ua Huka Airport", "Ua Huka", "French Polynesia", "UAH", "NTMU", -8.93610954284668, -139.552001953125, 160, -9.5, "U", "Pacific/Marquesas"}, + "MTV": {"Mota Lava Airport", "Ablow", "Vanuatu", "MTV", "NVSA", -13.6660003662, 167.712005615, 63, 11, "U", "Pacific/Efate"}, + "SLH": {"Sola Airport", "Sola", "Vanuatu", "SLH", "NVSC", -13.8516998291, 167.537002563, 7, 11, "U", "Pacific/Efate"}, + "TOH": {"Torres Airstrip", "Loh/Linua", "Vanuatu", "TOH", "NVSD", -13.3280000687, 166.638000488, 75, 11, "U", "Pacific/Efate"}, + "EAE": {"Siwo Airport", "Sangafa", "Vanuatu", "EAE", "NVSE", -17.0902996063, 168.343002319, 7, 11, "U", "Pacific/Efate"}, + "CCV": {"Craig Cove Airport", "Craig Cove", "Vanuatu", "CCV", "NVSF", -16.264999389648438, 167.9239959716797, 69, 11, "U", "Pacific/Efate"}, + "LOD": {"Longana Airport", "Longana", "Vanuatu", "LOD", "NVSG", -15.3066997528, 167.966995239, 167, 11, "U", "Pacific/Efate"}, + "SSR": {"Sara Airport", "Pentecost Island", "Vanuatu", "SSR", "NVSH", -15.4708003998, 168.151992798, 493, 11, "U", "Pacific/Efate"}, + "PBJ": {"Tavie Airport", "Paama Island", "Vanuatu", "PBJ", "NVSI", -16.438999176, 168.257003784, 160, 11, "U", "Pacific/Efate"}, + "LPM": {"Lamap Airport", "Lamap", "Vanuatu", "LPM", "NVSL", -16.45400047302246, 167.822998046875, 7, 11, "U", "Pacific/Efate"}, + "LNB": {"Lamen Bay Airport", "Lamen Bay", "Vanuatu", "LNB", "NVSM", -16.584199905400002, 168.158996582, 7, 11, "U", "Pacific/Efate"}, + "MWF": {"Maewo-Naone Airport", "Maewo Island", "Vanuatu", "MWF", "NVSN", -15, 168.082992554, 509, 11, "U", "Pacific/Efate"}, + "LNE": {"Lonorore Airport", "Lonorore", "Vanuatu", "LNE", "NVSO", -15.865599632299999, 168.17199707, 43, 11, "U", "Pacific/Efate"}, + "NUS": {"Norsup Airport", "Norsup", "Vanuatu", "NUS", "NVSP", -16.079700469970703, 167.4010009765625, 23, 11, "U", "Pacific/Efate"}, + "ZGU": {"Gaua Island Airport", "Gaua Island", "Vanuatu", "ZGU", "NVSQ", -14.218099594099998, 167.587005615, 100, 11, "U", "Pacific/Efate"}, + "RCL": {"Redcliffe Airport", "Redcliffe", "Vanuatu", "RCL", "NVSR", -15.472000122099999, 167.835006714, 36, 11, "U", "Pacific/Efate"}, + "SON": {"Santo Pekoa International Airport", "Santo", "Vanuatu", "SON", "NVSS", -15.505000114399998, 167.220001221, 184, 11, "U", "Pacific/Efate"}, + "TGH": {"Tongoa Airport", "Tongoa Island", "Vanuatu", "TGH", "NVST", -16.8910999298, 168.550994873, 443, 11, "U", "Pacific/Efate"}, + "ULB": {"Uléi Airport", "Ambryn Island", "Vanuatu", "ULB", "NVSU", -16.3297, 168.3011, 170, 11, "U", "Pacific/Efate"}, + "VLS": {"Valesdir Airport", "Valesdir", "Vanuatu", "VLS", "NVSV", -16.796100616500002, 168.177001953, 10, 11, "U", "Pacific/Efate"}, + "SWJ": {"Southwest Bay Airport", "Malekula Island", "Vanuatu", "SWJ", "NVSX", -16.4864, 167.4472, 68, 11, "U", "Pacific/Efate"}, + "OLZ": {"North West Santo Airport", "Olpoi", "Vanuatu", "OLZ", "NVSZ", -14.881699562099998, 166.557998657, 50, 11, "U", "Pacific/Efate"}, + "AUY": {"Aneityum Airport", "Anelghowhat", "Vanuatu", "AUY", "NVVA", -20.2492008209, 169.770996094, 7, 11, "U", "Pacific/Efate"}, + "AWD": {"Aniwa Airport", "Aniwa", "Vanuatu", "AWD", "NVVB", -19.2346, 169.6009, 69, 11, "U", "Pacific/Efate"}, + "DLY": {"Dillon's Bay Airport", "Dillon's Bay", "Vanuatu", "DLY", "NVVD", -18.7693996429, 169.00100708, 630, 11, "U", "Pacific/Efate"}, + "FTA": {"Futuna Airport", "Futuna Island", "Vanuatu", "FTA", "NVVF", -19.516399383499998, 170.231994629, 95, 11, "U", "Pacific/Efate"}, + "IPA": {"Ipota Airport", "Ipota", "Vanuatu", "IPA", "NVVI", -18.856389, 169.283333, 23, 11, "U", "Pacific/Efate"}, + "TGJ": {"Tiga Airport", "Tiga", "New Caledonia", "TGJ", "NWWA", -21.096099853515625, 167.8040008544922, 128, 11, "U", "Pacific/Noumea"}, + "BMY": {"Île Art - Waala Airport", "Waala", "New Caledonia", "BMY", "NWWC", -19.720600128173828, 163.66099548339844, 306, 11, "U", "Pacific/Noumea"}, + "ILP": {"Île des Pins Airport", "Île des Pins", "New Caledonia", "ILP", "NWWE", -22.588899612426758, 167.45599365234375, 315, 11, "U", "Pacific/Noumea"}, + "FBD": {"Fayzabad Airport", "Faizabad", "Afghanistan", "FBD", "OAFZ", 37.121101, 70.518097, 3872, 4.5, "U", "Asia/Kabul"}, + "DWD": {"Dawadmi Domestic Airport", "Dawadmi", "Saudi Arabia", "DWD", "OEDW", 24.5, 44.400001525878906, 3429, 3, "U", "Asia/Riyadh"}, + "AJF": {"Al-Jawf Domestic Airport", "Al-Jawf", "Saudi Arabia", "AJF", "OESK", 29.78510093688965, 40.099998474121094, 2261, 3, "U", "Asia/Riyadh"}, + "EWD": {"Wadi Al Dawasir Airport", "Wadi-al-dawasir", "Saudi Arabia", "EWD", "OEWD", 20.504299163800003, 45.199600219699995, 2062, 3, "U", "Asia/Riyadh"}, + "KHD": {"Khoram Abad Airport", "Khorram Abad", "Iran", "KHD", "OICK", 33.43539810180664, 48.282901763916016, 3782, 3.5, "E", "Asia/Tehran"}, + "BXR": {"Bam Airport", "Bam", "Iran", "BXR", "OIKM", 29.084199905395508, 58.45000076293945, 3231, 3.5, "E", "Asia/Tehran"}, + "RJN": {"Rafsanjan Airport", "Rafsanjan", "Iran", "RJN", "OIKR", 30.297700881958008, 56.05110168457031, 5298, 3.5, "E", "Asia/Tehran"}, + "BJB": {"Bojnord Airport", "Bojnourd", "Iran", "BJB", "OIMN", 37.49300003051758, 57.30820083618164, 3499, 3.5, "E", "Asia/Tehran"}, + "AFZ": {"Sabzevar National Airport", "Sabzevar", "Iran", "AFZ", "OIMS", 36.16809844970703, 57.59519958496094, 3010, 3.5, "E", "Asia/Tehran"}, + "NSH": {"Noshahr Airport", "Noshahr", "Iran", "NSH", "OINN", 36.663299560546875, 51.464698791503906, -61, 3.5, "E", "Asia/Tehran"}, + "SRY": {"Dasht-e Naz Airport", "Dasht-e-naz", "Iran", "SRY", "OINZ", 36.635799408, 53.193599700899995, 35, 3.5, "E", "Asia/Tehran"}, + "LRR": {"Lar Airport", "Lar", "Iran", "LRR", "OISL", 27.6746997833, 54.3833007812, 2641, 3.5, "E", "Asia/Tehran"}, + "ADU": {"Ardabil Airport", "Ardabil", "Iran", "ADU", "OITL", 38.3256988525, 48.4244003296, 4315, 3.5, "E", "Asia/Tehran"}, + "OMH": {"Urmia Airport", "Uromiyeh", "Iran", "OMH", "OITR", 37.6680984497, 45.0686988831, 4343, 3.5, "E", "Asia/Tehran"}, + "AAN": {"Al Ain International Airport", "Al Ain", "United Arab Emirates", "AAN", "OMAL", 24.261699676513672, 55.60919952392578, 869, 4, "U", "Asia/Dubai"}, + "BNP": {"Bannu Airport", "Bannu", "Pakistan", "BNP", "OPBN", 32.972900390625, 70.52790069580078, 1325, 5, "N", "Asia/Karachi"}, + "BHV": {"Bahawalpur Airport", "Bahawalpur", "Pakistan", "BHV", "OPBW", 29.348100662231445, 71.71800231933594, 392, 5, "N", "Asia/Karachi"}, + "CJL": {"Chitral Airport", "Chitral", "Pakistan", "CJL", "OPCH", 35.886600494384766, 71.80059814453125, 4920, 5, "N", "Asia/Karachi"}, + "DBA": {"Dalbandin Airport", "Dalbandin", "Pakistan", "DBA", "OPDB", 28.878299713100002, 64.3998031616, 2800, 5, "N", "Asia/Karachi"}, + "DEA": {"Dera Ghazi Khan Airport", "Dera Ghazi Khan", "Pakistan", "DEA", "OPDG", 29.961000442504883, 70.48590087890625, 492, 5, "N", "Asia/Karachi"}, + "DSK": {"Dera Ismael Khan Airport", "Dera Ismael Khan", "Pakistan", "DSK", "OPDI", 31.909400939941406, 70.89659881591797, 594, 5, "N", "Asia/Karachi"}, + "JIW": {"Jiwani Airport", "Jiwani", "Pakistan", "JIW", "OPJI", 25.067800521900004, 61.8054008484, 186, 5, "N", "Asia/Karachi"}, + "HDD": {"Hyderabad Airport", "Hyderabad", "Pakistan", "HDD", "OPKD", 25.318099975599996, 68.3660964966, 130, 5, "N", "Asia/Karachi"}, + "KDD": {"Khuzdar Airport", "Khuzdar", "Pakistan", "KDD", "OPKH", 27.790599823, 66.6473007202, 4012, 5, "N", "Asia/Karachi"}, + "ORW": {"Ormara Airport", "Ormara Raik", "Pakistan", "ORW", "OPOR", 25.274700164799995, 64.58599853519999, 10, 5, "N", "Asia/Karachi"}, + "PAJ": {"Parachinar Airport", "Parachinar", "Pakistan", "PAJ", "OPPC", 33.902099609400004, 70.0716018677, 5800, 5, "N", "Asia/Karachi"}, + "KDU": {"Skardu Airport", "Skardu", "Pakistan", "KDU", "OPSD", 35.33549880981445, 75.53600311279297, 7316, 5, "N", "Asia/Karachi"}, + "SYW": {"Sehwan Sharif Airport", "Sehwan Sharif", "Pakistan", "SYW", "OPSN", 26.473100662231445, 67.71720123291016, 121, 5, "N", "Asia/Karachi"}, + "TUK": {"Turbat International Airport", "Turbat", "Pakistan", "TUK", "OPTU", 25.986400604248047, 63.03020095825195, 498, 5, "N", "Asia/Karachi"}, + "ISU": {"Sulaymaniyah International Airport", "Sulaymaniyah", "Iraq", "ISU", "ORSU", 35.5617485046, 45.316738128699996, 2494, 3, "U", "Asia/Baghdad"}, + "KAC": {"Kamishly Airport", "Kamishly", "Syria", "KAC", "OSKL", 37.020599365234375, 41.19139862060547, 1480, 2, "E", "Asia/Damascus"}, + "GXF": {"Sayun International Airport", "Sayun Intl", "Yemen", "GXF", "OYSY", 15.9660997391, 48.78829956049999, 2097, 3, "U", "Asia/Aden"}, + "ADK": {"Adak Airport", "Adak Island", "United States", "ADK", "PADK", 51.87799835205078, -176.64599609375, 18, -10, "A", "America/Adak"}, + "GST": {"Gustavus Airport", "Gustavus", "United States", "GST", "PAGS", 58.4253006, -135.7070007, 35, -9, "A", "America/Anchorage"}, + "SGY": {"Skagway Airport", "Skagway", "United States", "SGY", "PAGY", 59.46009826660156, -135.3159942626953, 44, -9, "A", "America/Anchorage"}, + "HCR": {"Holy Cross Airport", "Holy Cross", "United States", "HCR", "PAHC", 62.18830108642578, -159.77499389648438, 70, -9, "A", "America/Anchorage"}, + "HNS": {"Haines Airport", "Haines", "United States", "HNS", "PAHN", 59.24380111694336, -135.5240020751953, 15, -9, "A", "America/Anchorage"}, + "KLG": {"Kalskag Airport", "Kalskag", "United States", "KLG", "PALG", 61.53630065917969, -160.34100341796875, 55, -9, "A", "America/Anchorage"}, + "MCG": {"McGrath Airport", "Mcgrath", "United States", "MCG", "PAMC", 62.95289993, -155.6060028, 341, -9, "A", "America/Anchorage"}, + "MOU": {"Mountain Village Airport", "Mountain Village", "United States", "MOU", "PAMO", 62.095401763916016, -163.6820068359375, 337, -9, "A", "America/Anchorage"}, + "ANI": {"Aniak Airport", "Aniak", "United States", "ANI", "PANI", 61.581600189208984, -159.54299926757812, 88, -9, "A", "America/Anchorage"}, + "VAK": {"Chevak Airport", "Chevak", "United States", "VAK", "PAVA", 61.5409, -165.6005, 75, -9, "A", "America/Anchorage"}, + "WRG": {"Wrangell Airport", "Wrangell", "United States", "WRG", "PAWG", 56.48429871, -132.3699951, 49, -9, "A", "America/Anchorage"}, + "LUP": {"Kalaupapa Airport", "Molokai", "United States", "LUP", "PHLU", 21.21100044, -156.973999, 24, -10, "A", "Pacific/Honolulu"}, + "ENT": {"Eniwetok Airport", "Eniwetok Atoll", "Marshall Islands", "ENT", "PKMA", 11.340700149536133, 162.3280029296875, 13, 12, "U", "Pacific/Majuro"}, + "LZN": {"Matsu Nangan Airport", "Matsu Islands", "Taiwan", "LZN", "RCFG", 26.159799575805664, 119.95800018310547, 232, 8, "U", "Asia/Taipei"}, + "HCN": {"Hengchun Airport", "Hengchun", "Taiwan", "HCN", "RCKW", 22.041099548339844, 120.7300033569336, 46, 8, "U", "Asia/Taipei"}, + "MFK": {"Matsu Beigan Airport", "Matsu Islands", "Taiwan", "MFK", "RCMT", 26.224199295043945, 120.00299835205078, 41, 8, "U", "Asia/Taipei"}, + "KUH": {"Kushiro Airport", "Kushiro", "Japan", "KUH", "RJCK", 43.041000366199995, 144.192993164, 327, 9, "U", "Asia/Tokyo"}, + "OKD": {"Okadama Airport", "Sapporo", "Japan", "OKD", "RJCO", 43.1161003112793, 141.3800048828125, 25, 9, "U", "Asia/Tokyo"}, + "HSG": {"Saga Airport", "Saga", "Japan", "HSG", "RJFS", 33.149700164799995, 130.302001953, 6, 9, "N", "Asia/Tokyo"}, + "NKM": {"Nagoya Airport", "Nagoya", "Japan", "NKM", "RJNA", 35.255001068115234, 136.9239959716797, 52, 9, "U", "Asia/Tokyo"}, + "IWJ": {"Iwami Airport", "Iwami", "Japan", "IWJ", "RJOW", 34.676399231, 131.789993286, 184, 9, "U", "Asia/Tokyo"}, + "FKS": {"Fukushima Airport", "Fukushima", "Japan", "FKS", "RJSF", 37.22740173339844, 140.43099975585938, 1221, 9, "U", "Asia/Tokyo"}, + "ONJ": {"Odate Noshiro Airport", "Odate Noshiro", "Japan", "ONJ", "RJSR", 40.1918983459, 140.371002197, 292, 9, "U", "Asia/Tokyo"}, + "SYO": {"Shonai Airport", "Shonai", "Japan", "SYO", "RJSY", 38.81219863889999, 139.787002563, 86, 9, "U", "Asia/Tokyo"}, + "MYE": {"Miyakejima Airport", "Miyakejima", "Japan", "MYE", "RJTQ", 34.073600769, 139.559997559, 67, 9, "U", "Asia/Tokyo"}, + "KUV": {"Kunsan Air Base", "Kunsan", "South Korea", "KUV", "RKJK", 35.90380096435547, 126.61599731445312, 29, 9, "U", "Asia/Seoul"}, + "MPK": {"Mokpo Heliport", "Mokpo", "South Korea", "MPK", "RKJM", 34.7588996887, 126.379997253, 23, 9, "U", "Asia/Seoul"}, + "WJU": {"Wonju Airport", "Wonju", "South Korea", "WJU", "RKNW", 37.43809890749999, 127.959999084, 329, 9, "U", "Asia/Seoul"}, + "YNY": {"Yangyang International Airport", "Sokcho / Gangneung", "South Korea", "YNY", "RKNY", 38.06129837036133, 128.66900634765625, 241, 9, "U", "Asia/Seoul"}, + "HIN": {"Sacheon Air Base", "Sacheon", "South Korea", "HIN", "RKPS", 35.0885009765625, 128.07000732421875, 25, 9, "U", "Asia/Seoul"}, + "CJJ": {"Cheongju International Airport", "Chongju", "South Korea", "CJJ", "RKTU", 36.7165985107, 127.499000549, 191, 9, "U", "Asia/Seoul"}, + "SFS": {"Subic Bay International Airport", "Olongapo City", "Philippines", "SFS", "RPLB", 14.794400215148926, 120.27100372314453, 64, 8, "N", "Asia/Manila"}, + "CYU": {"Cuyo Airport", "Cuyo", "Philippines", "CYU", "RPLO", 10.858099937438965, 121.06900024414062, 0, 8, "N", "Asia/Manila"}, + "CGM": {"Camiguin Airport", "Camiguin", "Philippines", "CGM", "RPMH", 9.253520011901855, 124.70700073242188, 53, 8, "N", "Asia/Manila"}, + "JOL": {"Jolo Airport", "Jolo", "Philippines", "JOL", "RPMJ", 6.0536699295043945, 121.01100158691406, 118, 8, "N", "Asia/Manila"}, + "SGS": {"Sanga Sanga Airport", "Sanga Sanga", "Philippines", "SGS", "RPMN", 5.046989917755127, 119.74299621582031, 15, 8, "N", "Asia/Manila"}, + "SUG": {"Surigao Airport", "Sangley Point", "Philippines", "SUG", "RPMS", 9.755838325629998, 125.480947495, 20, 8, "N", "Asia/Manila"}, + "TDG": {"Tandag Airport", "Tandag", "Philippines", "TDG", "RPMW", 9.072110176086426, 126.1709976196289, 16, 8, "N", "Asia/Manila"}, + "WNP": {"Naga Airport", "Naga", "Philippines", "WNP", "RPUN", 13.58489990234375, 123.2699966430664, 142, 8, "N", "Asia/Manila"}, + "SFE": {"San Fernando Airport", "San Fernando", "Philippines", "SFE", "RPUS", 16.595600128173828, 120.3030014038086, 13, 8, "N", "Asia/Manila"}, + "TUG": {"Tuguegarao Airport", "Tuguegarao", "Philippines", "TUG", "RPUT", 17.6433676823, 121.733150482, 70, 8, "N", "Asia/Manila"}, + "VRC": {"Virac Airport", "Virac", "Philippines", "VRC", "RPUV", 13.576399803161621, 124.20600128173828, 121, 8, "N", "Asia/Manila"}, + "CYP": {"Calbayog Airport", "Calbayog City", "Philippines", "CYP", "RPVC", 12.072699546813965, 124.54499816894531, 12, 8, "N", "Asia/Manila"}, + "CRM": {"Catarman National Airport", "Catarman", "Philippines", "CRM", "RPVF", 12.502400398254395, 124.63600158691406, 6, 8, "N", "Asia/Manila"}, + "MBT": {"Moises R. Espinosa Airport", "Masbate", "Philippines", "MBT", "RPVJ", 12.369400024399999, 123.628997803, 26, 8, "N", "Asia/Manila"}, + "RXS": {"Roxas Airport", "Roxas City", "Philippines", "RXS", "RPVR", 11.597700119018555, 122.75199890136719, 10, 8, "N", "Asia/Manila"}, + "TTG": {"General Enrique Mosconi Airport", "Tartagal", "Argentina", "TTG", "SAST", -22.619600296, -63.7937011719, 1472, -3, "N", "America/Argentina/Salta"}, + "LHS": {"Las Heras Airport", "Las Heras", "Argentina", "LHS", "SAVH", -46.53829956049999, -68.9653015137, 1082, -3, "N", "America/Argentina/Rio_Gallegos"}, + "OES": {"Antoine De St Exupery Airport", "San Antonio Oeste", "Argentina", "OES", "SAVN", -40.7512, -65.0343, 85, -3, "N", "America/Argentina/Salta"}, + "ING": {"Lago Argentino Airport", "El Calafate", "Argentina", "ING", "SAWA", -50.336102, -72.248596, 732, -3, "N", "America/Argentina/Rio_Gallegos"}, + "GGS": {"Gobernador Gregores Airport", "Gobernador Gregores", "Argentina", "GGS", "SAWR", -48.7831001282, -70.1500015259, 356, -3, "N", "America/Argentina/Rio_Gallegos"}, + "SST": {"Santa Teresita Airport", "Santa Teresita", "Argentina", "SST", "SAZL", -36.5423, -56.7218, 9, -3, "N", "America/Buenos_Aires"}, + "NEC": {"Necochea Airport", "Necochea", "Argentina", "NEC", "SAZO", -38.4831, -58.8172, 72, -3, "N", "America/Buenos_Aires"}, + "JDO": {"Orlando Bezerra de Menezes Airport", "Juazeiro Do Norte", "Brazil", "JDO", "SBJU", -7.21895980835, -39.270099639899996, 1392, -3, "S", "America/Fortaleza"}, + "LEC": {"Coronel Horácio de Mattos Airport", "Lençóis", "Brazil", "LEC", "SBLE", -12.4822998047, -41.2770004272, 1676, -3, "S", "America/Fortaleza"}, + "MEA": {"Macaé Airport", "Macaé", "Brazil", "MEA", "SBME", -22.343000412, -41.7659988403, 8, -3, "S", "America/Sao_Paulo"}, + "MII": {"Frank Miloye Milenkowichi–Marília State Airport", "Marília", "Brazil", "MII", "SBML", -22.1968994141, -49.926399231, 2122, -3, "S", "America/Sao_Paulo"}, + "VDC": {"Vitória da Conquista Airport", "Vitória Da Conquista", "Brazil", "VDC", "SBQV", -14.8627996445, -40.8630981445, 3002, -3, "S", "America/Fortaleza"}, + "RIA": {"Santa Maria Airport", "Santa Maria", "Brazil", "RIA", "SBSM", -29.71139907836914, -53.688201904296875, 287, -3, "S", "America/Sao_Paulo"}, + "TOW": {"Toledo Airport", "Toledo", "Brazil", "TOW", "SBTD", -24.68630027770996, -53.6974983215332, 1843, -3, "S", "America/Sao_Paulo"}, + "ESR": {"Ricardo García Posada Airport", "El Salvador", "Chile", "ESR", "SCES", -26.311100006103516, -69.76519775390625, 5240, -4, "S", "America/Santiago"}, + "ZPC": {"Pucón Airport", "Pucon", "Chile", "ZPC", "SCPC", -39.29280090332031, -71.91590118408203, 853, -4, "S", "America/Santiago"}, + "SOD": {"Sorocaba Airport", "Sorocaba", "Brazil", "SOD", "SDCO", -23.47800064086914, -47.4900016784668, 2077, -3, "S", "America/Sao_Paulo"}, + "SCY": {"San Cristóbal Airport", "San Cristóbal", "Ecuador", "SCY", "SEST", -0.9102060198783875, -89.61740112304688, 62, -6, "U", "Pacific/Galapagos"}, + "LOH": {"Camilo Ponce Enriquez Airport", "La Toma (Catamayo)", "Ecuador", "LOH", "SETM", -3.995889902114868, -79.37190246582031, 4056, -5, "U", "America/Guayaquil"}, + "ESM": {"General Rivadeneira Airport", "Esmeraldas", "Ecuador", "ESM", "SETN", 0.9785190224647522, -79.62660217285156, 32, -5, "U", "America/Guayaquil"}, + "PSY": {"Port Stanley Airport", "Stanley", "Falkland Islands", "PSY", "SFAL", -51.685699462891, -57.777599334717, 75, -3, "U", "Atlantic/Stanley"}, + "CRC": {"Santa Ana Airport", "Cartago", "Colombia", "CRC", "SKGO", 4.75818, -75.9557, 2979, -5, "U", "America/Bogota"}, + "GLJ": {"La Jagua Airport", "Garzón", "Colombia", "GLJ", "SKGZ", 2.1464, -75.6944, 2620, -5, "U", "America/Bogota"}, + "LQM": {"Caucaya Airport", "Puerto Leguízamo", "Colombia", "LQM", "SKLG", -0.182278, -74.7708, 573, -5, "U", "America/Bogota"}, + "LPD": {"La Pedrera Airport", "La Pedrera", "Colombia", "LPD", "SKLP", -1.32861, -69.5797, 590, -5, "U", "America/Bogota"}, + "NQU": {"Reyes Murillo Airport", "Nuquí", "Colombia", "NQU", "SKNQ", 5.6964, -77.2806, 12, -5, "U", "America/Bogota"}, + "PDA": {"Obando Airport", "Puerto Inírida", "Colombia", "PDA", "SKPD", 3.85353, -67.9062, 460, -5, "U", "America/Bogota"}, + "EYP": {"El Yopal Airport", "Yopal", "Colombia", "EYP", "SKYP", 5.31911, -72.384, 1028, -5, "U", "America/Bogota"}, + "GYA": {"Capitán de Av. Emilio Beltrán Airport", "Guayaramerín", "Bolivia", "GYA", "SLGY", -10.820599556, -65.3455963135, 557, -4, "U", "America/La_Paz"}, + "PUR": {"Puerto Rico Airport", "Puerto Rico/Manuripi", "Bolivia", "PUR", "SLPR", -11.10766315460205, -67.55115509033203, 597, -4, "U", "America/La_Paz"}, + "RIB": {"Capitán Av. Selin Zeitun Lopez Airport", "Riberalta", "Bolivia", "RIB", "SLRI", -11, -66, 462, -4, "U", "America/La_Paz"}, + "REY": {"Reyes Airport", "Reyes", "Bolivia", "REY", "SLRY", -14.304400444030762, -67.35340118408203, 935, -4, "U", "America/La_Paz"}, + "SRJ": {"Capitán Av. German Quiroga G. Airport", "San Borja", "Bolivia", "SRJ", "SLSB", -14.859199523925781, -66.73750305175781, 633, -4, "U", "America/La_Paz"}, + "ORG": {"Zorg en Hoop Airport", "Paramaribo", "Suriname", "ORG", "SMZO", 5.811079978942871, -55.19070053100586, 10, -3, "U", "America/Paramaribo"}, + "MVS": {"Mucuri Airport", "Mucuri", "Brazil", "MVS", "SNMU", -18.048900604248047, -39.864200592041016, 276, -3, "S", "America/Fortaleza"}, + "LHC": {"Caballococha Airport", "Caballococha", "Peru", "LHC", "SPBC", -3.91686010361, -70.5082015991, 328, -5, "U", "America/Lima"}, + "CJA": {"Mayor General FAP Armando Revoredo Iglesias Airport", "Cajamarca", "Peru", "CJA", "SPJR", -7.1391801834106445, -78.4894027709961, 8781, -5, "U", "America/Lima"}, + "HUU": {"Alferez Fap David Figueroa Fernandini Airport", "Huánuco", "Peru", "HUU", "SPNC", -9.878809928894043, -76.20480346679688, 6070, -5, "U", "America/Lima"}, + "NZC": {"Maria Reiche Neuman Airport", "Nazca", "Peru", "NZC", "SPZA", -14.854000091600001, -74.9615020752, 1860, -5, "U", "America/Lima"}, + "SRA": {"Santa Rosa Airport", "Santa Rosa", "Brazil", "SRA", "SSZR", -27.906700134277344, -54.52040100097656, 984, -3, "S", "America/Sao_Paulo"}, + "MDO": {"El Jagüel / Punta del Este Airport", "Maldonado", "Uruguay", "MDO", "SUPE", -34.9169998169, -54.916999816899995, 66, -3, "S", "America/Montevideo"}, + "MYC": {"Escuela Mariscal Sucre Airport", "Maracay", "Venezuela", "MYC", "SVBS", 10.249978065490723, -67.64942169189453, 1338, -4, "U", "America/Caracas"}, + "VIG": {"Juan Pablo Pérez Alfonso Airport", "El Vigía", "Venezuela", "VIG", "SVVG", 8.624138832092285, -71.67266845703125, 250, -4, "U", "America/Caracas"}, + "JPR": {"Ji-Paraná Airport", "Ji-Paraná", "Brazil", "JPR", "SWJI", -10.870800018299999, -61.8465003967, 598, -4, "S", "America/Boa_Vista"}, + "BBQ": {"Codrington Airport", "Codrington", "Antigua and Barbuda", "BBQ", "TAPH", 17.635799, -61.828602, 15, -4, "U", "America/Antigua"}, + "DSD": {"La Désirade Airport", "Grande Anse", "Guadeloupe", "DSD", "TFFA", 16.296899795532227, -61.08440017700195, 10, -4, "U", "America/Guadeloupe"}, + "BBR": {"Baillif Airport", "Basse Terre", "Guadeloupe", "BBR", "TFFB", 16.0132999420166, -61.7421989440918, 59, -4, "U", "America/Guadeloupe"}, + "SFC": {"St-François Airport", "St-François", "Guadeloupe", "SFC", "TFFC", 16.25779914855957, -61.26250076293945, 10, -4, "U", "America/Guadeloupe"}, + "GBJ": {"Les Bases Airport", "Grand Bourg", "Guadeloupe", "GBJ", "TFFM", 15.86870002746582, -61.27000045776367, 16, -4, "U", "America/Guadeloupe"}, + "NEV": {"Vance W. Amory International Airport", "Charlestown", "Saint Kitts and Nevis", "NEV", "TKPN", 17.205699920654297, -62.589900970458984, 14, -4, "U", "America/St_Kitts"}, + "VIJ": {"Virgin Gorda Airport", "Spanish Town", "British Virgin Islands", "VIJ", "TUPW", 18.446399688720703, -64.42749786376953, 9, -4, "U", "America/Tortola"}, + "BQU": {"J F Mitchell Airport", "Bequia", "Saint Vincent and the Grenadines", "BQU", "TVSB", 12.9884004593, -61.2620010376, 15, -4, "U", "America/St_Vincent"}, + "UNI": {"Union Island International Airport", "Union Island", "Saint Vincent and the Grenadines", "UNI", "TVSU", 12.60013484954834, -61.41194534301758, 16, -4, "U", "America/St_Vincent"}, + "KOV": {"Kokshetau Airport", "Kokshetau", "Kazakhstan", "KOV", "UACK", 53.3291015625, 69.59459686279297, 900, 6, "U", "Asia/Qyzylorda"}, + "PPK": {"Petropavlosk South Airport", "Petropavlosk", "Kazakhstan", "PPK", "UACP", 54.77470016479492, 69.18389892578125, 453, 6, "U", "Asia/Qyzylorda"}, + "DZN": {"Zhezkazgan Airport", "Zhezkazgan", "Kazakhstan", "DZN", "UAKD", 47.708302, 67.733299, 1250, 6, "U", "Asia/Qyzylorda"}, + "UKK": {"Ust-Kamennogorsk Airport", "Ust Kamenogorsk", "Kazakhstan", "UKK", "UASK", 50.036598205566406, 82.49420166015625, 939, 6, "U", "Asia/Qyzylorda"}, + "KSN": {"Kostanay West Airport", "Kostanay", "Kazakhstan", "KSN", "UAUU", 53.20690155029297, 63.55030059814453, 595, 6, "U", "Asia/Qyzylorda"}, + "KVD": {"Ganja Airport", "Ganja", "Azerbaijan", "KVD", "UBBG", 40.737701416015625, 46.31760025024414, 1083, 4, "E", "Asia/Baku"}, + "NAJ": {"Nakhchivan Airport", "Nakhchivan", "Azerbaijan", "NAJ", "UBBN", 39.18880081176758, 45.45840072631836, 2863, 4, "E", "Asia/Baku"}, + "CNN": {"Chulman Airport", "Neryungri", "Russia", "CNN", "UELL", 56.913898468018, 124.91400146484, 2812, 9, "N", "Asia/Yakutsk"}, + "PYJ": {"Polyarny Airport", "Yakutia", "Russia", "PYJ", "UERP", 66.4003982544, 112.029998779, 1660, 9, "N", "Asia/Yakutsk"}, + "CKH": {"Chokurdakh Airport", "Chokurdah", "Russia", "CKH", "UESO", 70.62310028076172, 147.90199279785156, 151, 11, "N", "Asia/Srednekolymsk"}, + "CYX": {"Cherskiy Airport", "Cherskiy", "Russia", "CYX", "UESS", 68.7406005859375, 161.33799743652344, 20, 11, "N", "Asia/Srednekolymsk"}, + "IKS": {"Tiksi Airport", "Tiksi", "Russia", "IKS", "UEST", 71.697700500488, 128.90299987793, 26, 9, "N", "Asia/Yakutsk"}, + "KXK": {"Komsomolsk-on-Amur Airport", "Komsomolsk-on-Amur", "Russia", "KXK", "UHKK", 50.409000396728516, 136.9340057373047, 92, 10, "N", "Asia/Vladivostok"}, + "DYR": {"Ugolny Airport", "Anadyr", "Russia", "DYR", "UHMA", 64.73490142822266, 177.74099731445312, 194, 12, "N", "Asia/Anadyr"}, + "OHO": {"Okhotsk Airport", "Okhotsk", "Russia", "OHO", "UHOO", 59.410064697265625, 143.05650329589844, 0, 10, "N", "Asia/Vladivostok"}, + "UJE": {"Ujae Atoll Airport", "Ujae Atoll", "Marshall Islands", "UJE", "UJAP", 8.92805957794, 165.761993408, 29, 12, "U", "Pacific/Majuro"}, + "MPW": {"Mariupol International Airport", "Mariupol International", "Ukraine", "MPW", "UKCM", 47.07609939575195, 37.44960021972656, 251, 2, "E", "Europe/Kiev"}, + "VSG": {"Luhansk International Airport", "Lugansk", "Ukraine", "VSG", "UKCW", 48.4174003601, 39.3740997314, 636, 2, "E", "Europe/Kiev"}, + "OZH": {"Zaporizhzhia International Airport", "Zaporozhye", "Ukraine", "OZH", "UKDE", 47.867000579833984, 35.31570053100586, 373, 2, "E", "Europe/Kiev"}, + "KWG": {"Kryvyi Rih International Airport", "Krivoy Rog", "Ukraine", "KWG", "UKDR", 48.04330062866211, 33.209999084472656, 408, 2, "E", "Europe/Kiev"}, + "HRK": {"Kharkiv International Airport", "Kharkov", "Ukraine", "HRK", "UKHH", 49.924800872802734, 36.290000915527344, 508, 2, "E", "Europe/Kiev"}, + "IFO": {"Ivano-Frankivsk International Airport", "Ivano-Frankivsk", "Ukraine", "IFO", "UKLI", 48.88420104980469, 24.686100006103516, 919, 2, "E", "Europe/Kiev"}, + "CWC": {"Chernivtsi International Airport", "Chernovtsk", "Ukraine", "CWC", "UKLN", 48.259300231933594, 25.98080062866211, 826, 2, "E", "Europe/Kiev"}, + "RWN": {"Rivne International Airport", "Rivne", "Ukraine", "RWN", "UKLR", 50.60710144042969, 26.141599655151367, 755, 2, "E", "Europe/Kiev"}, + "UDJ": {"Uzhhorod International Airport", "Uzhgorod", "Ukraine", "UDJ", "UKLU", 48.634300231933594, 22.263399124145508, 383, 2, "E", "Europe/Kiev"}, + "CSH": {"Solovki Airport", "Solovetsky Islands", "Russia", "CSH", "ULAS", 65.0299987793, 35.7333335876, 60, 3, "N", "Europe/Moscow"}, + "CEE": {"Cherepovets Airport", "Cherepovets", "Russia", "CEE", "ULBC", 59.273601532, 38.015800476100004, 377, 3, "N", "Europe/Moscow"}, + "AMV": {"Amderma Airport", "Amderma", "Russia", "AMV", "ULDD", 69.76329803466797, 61.556400299072266, 13, 3, "N", "Europe/Moscow"}, + "KSZ": {"Kotlas Airport", "Kotlas", "Russia", "KSZ", "ULKK", 61.235801696777344, 46.6974983215332, 184, 3, "N", "Europe/Moscow"}, + "PES": {"Petrozavodsk Airport", "Petrozavodsk", "Russia", "PES", "ULPB", 61.88520050048828, 34.154701232910156, 151, 3, "N", "Europe/Moscow"}, + "GNA": {"Hrodna Airport", "Hrodna", "Belarus", "GNA", "UMMG", 53.60200119018555, 24.053800582885742, 443, 3, "E", "Europe/Minsk"}, + "MVQ": {"Mogilev Airport", "Mogilev", "Belarus", "MVQ", "UMOO", 53.954898834228516, 30.09510040283203, 637, 3, "E", "Europe/Minsk"}, + "EIE": {"Yeniseysk Airport", "Yeniseysk", "Russia", "EIE", "UNII", 58.47420120239258, 92.11250305175781, 253, 7, "N", "Asia/Krasnoyarsk"}, + "KYZ": {"Kyzyl Airport", "Kyzyl", "Russia", "KYZ", "UNKY", 51.66939926147461, 94.40059661865234, 2123, 7, "N", "Asia/Krasnoyarsk"}, + "NOZ": {"Spichenkovo Airport", "Novokuznetsk", "Russia", "NOZ", "UNWW", 53.8114013671875, 86.877197265625, 1024, 7, "N", "Asia/Krasnoyarsk"}, + "HTG": {"Khatanga Airport", "Khatanga", "Russia", "HTG", "UOHH", 71.97810363769531, 102.49099731445312, 95, 7, "N", "Asia/Krasnoyarsk"}, + "IAA": {"Igarka Airport", "Igarka", "Russia", "IAA", "UOII", 67.43720245361328, 86.62190246582031, 82, 7, "N", "Asia/Krasnoyarsk"}, + "GRV": {"Khankala Air Base", "Grozny", "Russia", "GRV", "URMG", 43.298099517822266, 45.78409957885742, 548, 3, "N", "Europe/Moscow"}, + "NAL": {"Nalchik Airport", "Nalchik", "Russia", "NAL", "URMN", 43.512901306152344, 43.636600494384766, 1461, 3, "N", "Europe/Moscow"}, + "OGZ": {"Beslan Airport", "Beslan", "Russia", "OGZ", "URMO", 43.2051010132, 44.6066017151, 1673, 3, "N", "Europe/Moscow"}, + "ESL": {"Elista Airport", "Elista", "Russia", "ESL", "URWI", 46.3739013671875, 44.33089828491211, 501, 3, "N", "Europe/Moscow"}, + "WKK": {"Aleknagik / New Airport", "Aleknagik", "United States", "WKK", "5A8", 59.2826004028, -158.617996216, 66, -9, "A", "America/Anchorage"}, + "BLF": {"Mercer County Airport", "Bluefield", "United States", "BLF", "KBLF", 37.295799255371094, -81.20770263671875, 2857, -5, "A", "America/New_York"}, + "GLH": {"Mid Delta Regional Airport", "Greenville", "United States", "GLH", "KGLH", 33.4828987121582, -90.98560333251953, 131, -6, "A", "America/Chicago"}, + "PSC": {"Tri Cities Airport", "Pasco", "United States", "PSC", "KPSC", 46.26470184326172, -119.11900329589844, 410, -8, "A", "America/Los_Angeles"}, + "KQA": {"Akutan Seaplane Base", "Akutan", "United States", "KQA", "KQA", 54.1337704415, -165.778895617, 0, -9, "A", "America/Anchorage"}, + "LPS": {"Lopez Island Airport", "Lopez", "United States", "LPS", "S31", 48.4838981628418, -122.93800354003906, 209, -8, "A", "America/Los_Angeles"}, + "SLY": {"Salekhard Airport", "Salekhard", "Russia", "SLY", "USDD", 66.5907974243164, 66.61100006103516, 218, 5, "N", "Asia/Yekaterinburg"}, + "HMA": {"Khanty Mansiysk Airport", "Khanty-Mansiysk", "Russia", "HMA", "USHH", 61.028499603271484, 69.08609771728516, 76, 5, "N", "Asia/Yekaterinburg"}, + "NYA": {"Nyagan Airport", "Nyagan", "Russia", "NYA", "USHN", 62.11000061035156, 65.61499786376953, 361, 5, "N", "Asia/Yekaterinburg"}, + "OVS": {"Sovetskiy Airport", "Sovetskiy", "Russia", "OVS", "USHS", 61.326622009277344, 63.60191345214844, 351, 5, "N", "Asia/Yekaterinburg"}, + "IJK": {"Izhevsk Airport", "Izhevsk", "Russia", "IJK", "USII", 56.82809829711914, 53.45750045776367, 531, 4, "N", "Europe/Samara"}, + "KVX": {"Pobedilovo Airport", "Kirov", "Russia", "KVX", "USKK", 58.503299713135, 49.348300933838, 479, 3, "N", "Europe/Moscow"}, + "NYM": {"Nadym Airport", "Nadym", "Russia", "NYM", "USMM", 65.48090362548828, 72.69889831542969, 49, 5, "N", "Asia/Yekaterinburg"}, + "RAT": {"Raduzhny Airport", "Raduzhnyi", "Russia", "RAT", "USNR", 62.1585998535, 77.32890319820001, 250, 5, "N", "Asia/Yekaterinburg"}, + "NFG": {"Nefteyugansk Airport", "Nefteyugansk", "Russia", "NFG", "USRN", 61.108299255371094, 72.6500015258789, 115, 5, "N", "Asia/Yekaterinburg"}, + "KRO": {"Kurgan Airport", "Kurgan", "Russia", "KRO", "USUU", 55.47529983520508, 65.41560363769531, 240, 5, "N", "Asia/Yekaterinburg"}, + "LBD": {"Khudzhand Airport", "Khudzhand", "Tajikistan", "LBD", "UTDL", 40.21540069580078, 69.6947021484375, 1450, 5, "U", "Asia/Dushanbe"}, + "AZN": {"Andizhan Airport", "Andizhan", "Uzbekistan", "AZN", "UTKA", 40.7276992798, 72.2939987183, 1515, 5, "U", "Asia/Samarkand"}, + "FEG": {"Fergana International Airport", "Fergana", "Uzbekistan", "FEG", "UTKF", 40.358798980699994, 71.7450027466, 1980, 5, "U", "Asia/Samarkand"}, + "NMA": {"Namangan Airport", "Namangan", "Uzbekistan", "NMA", "UTKN", 40.9846000671, 71.5567016602, 1555, 5, "U", "Asia/Samarkand"}, + "NCU": {"Nukus Airport", "Nukus", "Uzbekistan", "NCU", "UTNN", 42.488399505615234, 59.62329864501953, 246, 5, "U", "Asia/Samarkand"}, + "UGC": {"Urgench Airport", "Urgench", "Uzbekistan", "UGC", "UTNU", 41.58430099487305, 60.641700744628906, 320, 5, "U", "Asia/Samarkand"}, + "KSQ": {"Karshi Khanabad Airport", "Khanabad", "Uzbekistan", "KSQ", "UTSL", 38.8335990906, 65.9215011597, 1365, 5, "U", "Asia/Samarkand"}, + "TMJ": {"Termez Airport", "Termez", "Uzbekistan", "TMJ", "UTST", 37.28670120239258, 67.30999755859375, 1027, 5, "U", "Asia/Samarkand"}, + "RYB": {"Staroselye Airport", "Rybinsk", "Russia", "RYB", "UUBK", 58.10419845581055, 38.92940139770508, 423, 3, "N", "Europe/Moscow"}, + "EGO": {"Belgorod International Airport", "Belgorod", "Russia", "EGO", "UUOB", 50.643798828125, 36.5900993347168, 735, 3, "N", "Europe/Moscow"}, + "URS": {"Kursk East Airport", "Kursk", "Russia", "URS", "UUOK", 51.7505989074707, 36.29560089111328, 686, 3, "N", "Europe/Moscow"}, + "LPK": {"Lipetsk Airport", "Lipetsk", "Russia", "LPK", "UUOL", 52.70280075073242, 39.53779983520508, 584, 3, "N", "Europe/Moscow"}, + "VKT": {"Vorkuta Airport", "Vorkuta", "Russia", "VKT", "UUYW", 67.48860168457031, 63.993099212646484, 604, 3, "N", "Europe/Moscow"}, + "UUA": {"Bugulma Airport", "Bugulma", "Russia", "UUA", "UWKB", 54.63999938964844, 52.801700592041016, 991, 3, "N", "Europe/Moscow"}, + "JOK": {"Yoshkar-Ola Airport", "Yoshkar-Ola", "Russia", "JOK", "UWKJ", 56.700599670410156, 47.904701232910156, 348, 3, "N", "Europe/Moscow"}, + "CSY": {"Cheboksary Airport", "Cheboksary", "Russia", "CSY", "UWKS", 56.090301513671875, 47.3473014831543, 558, 3, "N", "Europe/Moscow"}, + "ULY": {"Ulyanovsk East Airport", "Ulyanovsk", "Russia", "ULY", "UWLW", 54.4010009765625, 48.80270004272461, 252, 4, "N", "Europe/Samara"}, + "OSW": {"Orsk Airport", "Orsk", "Russia", "OSW", "UWOR", 51.0724983215332, 58.59560012817383, 909, 5, "N", "Asia/Yekaterinburg"}, + "PEZ": {"Penza Airport", "Penza", "Russia", "PEZ", "UWPP", 53.110599517822266, 45.02109909057617, 614, 3, "N", "Europe/Moscow"}, + "SKX": {"Saransk Airport", "Saransk", "Russia", "SKX", "UWPS", 54.12512969970703, 45.212257385253906, 676, 3, "N", "Europe/Moscow"}, + "BWO": {"Balakovo Airport", "Balakovo", "Russia", "BWO", "UWSB", 51.8582992554, 47.7456016541, 95, 3, "N", "Europe/Moscow"}, + "HBX": {"Hubli Airport", "Hubli", "India", "HBX", "VAHB", 15.361700058, 75.08489990230001, 2171, 5.5, "N", "Asia/Calcutta"}, + "KCT": {"Koggala Airport", "Koggala", "Sri Lanka", "KCT", "VCCK", 5.993680000305176, 80.32029724121094, 10, 5.5, "U", "Asia/Colombo"}, + "WRZ": {"Weerawila Airport", "Wirawila", "Sri Lanka", "WRZ", "VCCW", 6.25448989868, 81.23519897460001, 50, 5.5, "U", "Asia/Colombo"}, + "BBM": {"Battambang Airport", "Battambang", "Cambodia", "BBM", "VDBG", 13.095600128173828, 103.2239990234375, 59, 7, "U", "Asia/Phnom_Penh"}, + "SHL": {"Shillong Airport", "Shillong", "India", "SHL", "VEBI", 25.70359992980957, 91.97869873046875, 2910, 5.5, "N", "Asia/Calcutta"}, + "GAU": {"Lokpriya Gopinath Bordoloi International Airport", "Guwahati", "India", "GAU", "VEGT", 26.10610008239746, 91.58589935302734, 162, 5.5, "N", "Asia/Calcutta"}, + "DMU": {"Dimapur Airport", "Dimapur", "India", "DMU", "VEMR", 25.883899688699998, 93.77110290530001, 487, 5.5, "N", "Asia/Calcutta"}, + "TEZ": {"Tezpur Airport", "Tezpur", "India", "TEZ", "VETZ", 26.7091007232666, 92.78469848632812, 240, 5.5, "N", "Asia/Calcutta"}, + "BZL": {"Barisal Airport", "Barisal", "Bangladesh", "BZL", "VGBR", 22.801000595092773, 90.30120086669922, 23, 6, "U", "Asia/Dhaka"}, + "OUI": {"Ban Huoeisay Airport", "Huay Xai", "Laos", "OUI", "VLHS", 20.2572994232, 100.43699646, 1380, 7, "N", "Asia/Vientiane"}, + "BHR": {"Bharatpur Airport", "Bharatpur", "Nepal", "BHR", "VNBP", 27.6781005859375, 84.42939758300781, 600, 5.75, "N", "Asia/Katmandu"}, + "BDP": {"Bhadrapur Airport", "Chandragarhi", "Nepal", "BDP", "VNCG", 26.5708007812, 88.07959747310001, 300, 5.75, "N", "Asia/Katmandu"}, + "MEY": {"Meghauli Airport", "Meghauli", "Nepal", "MEY", "VNMG", 27.5774, 84.22875, 600, 5.75, "N", "Asia/Katmandu"}, + "KEP": {"Nepalgunj Airport", "Nepalgunj", "Nepal", "KEP", "VNNG", 28.103599548339844, 81.66699981689453, 540, 5.75, "N", "Asia/Katmandu"}, + "GAN": {"Gan International Airport", "Gan Island", "Maldives", "GAN", "VRMG", -0.6933419704437256, 73.15560150146484, 6, 5, "U", "Indian/Maldives"}, + "HAQ": {"Hanimaadhoo Airport", "Haa Dhaalu Atoll", "Maldives", "HAQ", "VRMH", 6.744229793548584, 73.17050170898438, 4, 5, "U", "Indian/Maldives"}, + "KDO": {"Kadhdhoo Airport", "Laamu Atoll", "Maldives", "KDO", "VRMK", 1.8591699600219727, 73.52189636230469, 4, 5, "U", "Indian/Maldives"}, + "MAQ": {"Mae Sot Airport", "Tak", "Thailand", "MAQ", "VTPM", 16.699899673461914, 98.54509735107422, 690, 7, "U", "Asia/Bangkok"}, + "BMV": {"Buon Ma Thuot Airport", "Buonmethuot", "Vietnam", "BMV", "VVBM", 12.668299675, 108.120002747, 1729, 7, "U", "Asia/Saigon"}, + "HPH": {"Cat Bi International Airport", "Haiphong", "Vietnam", "HPH", "VVCI", 20.819400787353516, 106.7249984741211, 6, 7, "U", "Asia/Saigon"}, + "CXR": {"Cam Ranh Airport", "Nha Trang", "Vietnam", "CXR", "VVCR", 11.998200416564941, 109.21900177001953, 40, 7, "U", "Asia/Saigon"}, + "VCS": {"Co Ong Airport", "Conson", "Vietnam", "VCS", "VVCS", 8.73182964325, 106.633003235, 20, 7, "U", "Asia/Saigon"}, + "VCA": {"Can Tho International Airport", "Can Tho", "Vietnam", "VCA", "VVCT", 10.085100174, 105.711997986, 9, 7, "U", "Asia/Saigon"}, + "DIN": {"Dien Bien Phu Airport", "Dienbienphu", "Vietnam", "DIN", "VVDB", 21.3974990845, 103.008003235, 1611, 7, "U", "Asia/Saigon"}, + "UIH": {"Phu Cat Airport", "Phucat", "Vietnam", "UIH", "VVPC", 13.9549999237, 109.041999817, 80, 7, "U", "Asia/Saigon"}, + "PXU": {"Pleiku Airport", "Pleiku", "Vietnam", "PXU", "VVPK", 14.004500389099121, 108.01699829101562, 2434, 7, "U", "Asia/Saigon"}, + "VII": {"Vinh Airport", "Vinh", "Vietnam", "VII", "VVVH", 18.7376003265, 105.67099762, 23, 7, "U", "Asia/Saigon"}, + "BMO": {"Banmaw Airport", "Banmaw", "Burma", "BMO", "VYBM", 24.268999099731445, 97.24620056152344, 370, 6.5, "U", "Asia/Rangoon"}, + "TVY": {"Dawei Airport", "Dawei", "Burma", "TVY", "VYDW", 14.103899955749512, 98.20359802246094, 84, 6.5, "U", "Asia/Rangoon"}, + "KAW": {"Kawthoung Airport", "Kawthoung", "Burma", "KAW", "VYKT", 10.049300193786621, 98.53800201416016, 180, 6.5, "U", "Asia/Rangoon"}, + "LIW": {"Loikaw Airport", "Loikaw", "Burma", "LIW", "VYLK", 19.691499710083008, 97.21479797363281, 2940, 6.5, "U", "Asia/Rangoon"}, + "MNU": {"Mawlamyine Airport", "Mawlamyine", "Burma", "MNU", "VYMM", 16.444700241088867, 97.66069793701172, 52, 6.5, "U", "Asia/Rangoon"}, + "BSX": {"Pathein Airport", "Pathein", "Burma", "BSX", "VYPN", 16.815200805664062, 94.77989959716797, 20, 6.5, "U", "Asia/Rangoon"}, + "PKK": {"Pakhokku Airport", "Pakhokku", "Burma", "PKK", "VYPU", 21.4043, 95.11125, 151, 6.5, "U", "Asia/Rangoon"}, + "SWQ": {"Sumbawa Besar Airport", "Sumbawa Island", "Indonesia", "SWQ", "WADS", -8.48904037475586, 117.41200256347656, 16, 8, "N", "Asia/Makassar"}, + "TMC": {"Tambolaka Airport", "Waikabubak-Sumba Island", "Indonesia", "TMC", "WADT", -9.409720420837402, 119.24400329589844, 161, 8, "N", "Asia/Makassar"}, + "BUI": {"Bokondini Airport", "Bokondini-Papua Island", "Indonesia", "BUI", "WAJB", -3.6822, 138.6755, 4550, 9, "N", "Asia/Jayapura"}, + "SEH": {"Senggeh Airport", "Senggeh-Papua Island", "Indonesia", "SEH", "WAJS", -3.45, 140.779, 914, 9, "N", "Asia/Jayapura"}, + "TJS": {"Tanjung Harapan Airport", "Tanjung Selor-Borneo Island", "Indonesia", "TJS", "WALG", 2.83583333333, 117.373611111, 10, 8, "N", "Asia/Makassar"}, + "DTD": {"Datadawai Airport", "Datadawai-Borneo Island", "Indonesia", "DTD", "WALJ", 0.8106, 114.5306, 508, 8, "N", "Asia/Makassar"}, + "BEJ": {"Barau(Kalimaru) Airport", "Tanjung Redep-Borneo Island", "Indonesia", "BEJ", "WALK", 2.15549993515, 117.431999207, 59, 8, "N", "Asia/Makassar"}, + "TJG": {"Warukin Airport", "Tanjung-Borneo Island", "Indonesia", "TJG", "WAON", -2.21655988693, 115.435997009, 197, 8, "N", "Asia/Makassar"}, + "SMQ": {"Sampit(Hasan) Airport", "Sampit-Borneo Island", "Indonesia", "SMQ", "WAOS", -2.49919009209, 112.974998474, 50, 7, "N", "Asia/Jakarta"}, + "LUV": {"Dumatumbun Airport", "Langgur-Kei Islands", "Indonesia", "LUV", "WAPL", -5.661620140075684, 132.7310028076172, 10, 9, "N", "Asia/Jayapura"}, + "ARD": {"Mali Airport", "Alor Island", "Indonesia", "ARD", "WATM", -8.132340431213379, 124.59700012207031, 10, 8, "N", "Asia/Makassar"}, + "BLG": {"Belaga Airport", "Belaga", "Malaysia", "BLG", "WBGC", 2.65000009537, 113.766998291, 200, 8, "N", "Asia/Kuala_Lumpur"}, + "LGL": {"Long Lellang Airport", "Long Datih", "Malaysia", "LGL", "WBGF", 3.4210000038099997, 115.153999329, 1400, 8, "N", "Asia/Kuala_Lumpur"}, + "ODN": {"Long Seridan Airport", "Long Seridan", "Malaysia", "ODN", "WBGI", 3.9670000076293945, 115.05000305175781, 607, 8, "N", "Asia/Kuala_Lumpur"}, + "MKM": {"Mukah Airport", "Mukah", "Malaysia", "MKM", "WBGK", 2.9063899517059326, 112.08000183105469, 13, 8, "N", "Asia/Kuala_Lumpur"}, + "BKM": {"Bakalalan Airport", "Bakalalan", "Malaysia", "BKM", "WBGQ", 3.9739999771118164, 115.61799621582031, 2900, 8, "N", "Asia/Kuala_Lumpur"}, + "LWY": {"Lawas Airport", "Lawas", "Malaysia", "LWY", "WBGW", 4.849170207977295, 115.40799713134766, 5, 8, "N", "Asia/Kuala_Lumpur"}, + "BBN": {"Bario Airport", "Bario", "Malaysia", "BBN", "WBGZ", 3.7338900566101074, 115.47899627685547, 3350, 8, "N", "Asia/Kuala_Lumpur"}, + "TMG": {"Tomanggong Airport", "Tomanggong", "Malaysia", "TMG", "WBKM", 5.400000095367432, 118.6500015258789, 26, 8, "N", "Asia/Kuala_Lumpur"}, + "KUD": {"Kudat Airport", "Kudat", "Malaysia", "KUD", "WBKT", 6.922500133514404, 116.83599853515625, 10, 8, "N", "Asia/Kuala_Lumpur"}, + "TKG": {"Radin Inten II (Branti) Airport", "Bandar Lampung-Sumatra Island", "Indonesia", "TKG", "WIAT", -5.240556, 105.175556, 282, 7, "N", "Asia/Jakarta"}, + "HLP": {"Halim Perdanakusuma International Airport", "Jakarta", "Indonesia", "HLP", "WIHH", -6.266610145568848, 106.89099884033203, 84, 7, "N", "Asia/Jakarta"}, + "NTX": {"Ranai Airport", "Ranai-Natuna Besar Island", "Indonesia", "NTX", "WION", 3.90871000289917, 108.38800048828125, 7, 7, "N", "Asia/Jakarta"}, + "PSU": {"Pangsuma Airport", "Putussibau-Borneo Island", "Indonesia", "PSU", "WIOP", 0.8355780243873596, 112.93699645996094, 297, 7, "N", "Asia/Jakarta"}, + "SQG": {"Sintang(Susilo) Airport", "Sintang-Borneo Island", "Indonesia", "SQG", "WIOS", 0.06361900269985199, 111.4729995727539, 98, 7, "N", "Asia/Jakarta"}, + "PDO": {"Pendopo Airport", "Talang Gudang-Sumatra Island", "Indonesia", "PDO", "WIPQ", -3.2860701084136963, 103.87999725341797, 184, 7, "N", "Asia/Jakarta"}, + "LSW": {"Malikus Saleh Airport", "Lhok Seumawe-Sumatra Island", "Indonesia", "LSW", "WITM", 5.226679801940918, 96.95030212402344, 90, 7, "N", "Asia/Jakarta"}, + "PKG": {"Pulau Pangkor Airport", "Pangkor Island", "Malaysia", "PKG", "WMPA", 4.244719982147217, 100.5530014038086, 19, 8, "N", "Asia/Kuala_Lumpur"}, + "LBW": {"Long Bawan Airport", "Long Bawan-Borneo Island", "Indonesia", "LBW", "WRLB", 3.9028, 115.6921, 3165, 8, "N", "Asia/Makassar"}, + "NNX": {"Nunukan Airport", "Nunukan-Nunukan Island", "Indonesia", "NNX", "WRLF", 4.13333333333, 117.666666667, 30, 8, "N", "Asia/Makassar"}, + "LPU": {"Long Apung Airport", "Long Apung-Borneo Island", "Indonesia", "LPU", "WRLP", 1.704486, 114.970297, 627, 8, "N", "Asia/Makassar"}, + "ALH": {"Albany Airport", "Albany", "Australia", "ALH", "YABA", -34.94329833984375, 117.80899810791016, 233, 8, "O", "Australia/Perth"}, + "GYL": {"Argyle Airport", "Argyle", "Australia", "GYL", "YARG", -16.6369, 128.451004, 522, 8, "O", "Australia/Perth"}, + "AUU": {"Aurukun Airport", "Aurukun", "Australia", "AUU", "YAUR", -13.354067, 141.72065, 31, 10, "O", "Australia/Brisbane"}, + "BCI": {"Barcaldine Airport", "Barcaldine", "Australia", "BCI", "YBAR", -23.5652999878, 145.307006836, 878, 10, "O", "Australia/Brisbane"}, + "BDD": {"Badu Island Airport", "Badu Island", "Australia", "BDD", "YBAU", -10.149999618499999, 142.1734, 14, 10, "O", "Australia/Brisbane"}, + "BVI": {"Birdsville Airport", "Birdsville", "Australia", "BVI", "YBDV", -25.897499084472656, 139.34800720214844, 159, 10, "O", "Australia/Brisbane"}, + "BHQ": {"Broken Hill Airport", "Broken Hill", "Australia", "BHQ", "YBHI", -32.0013999939, 141.472000122, 958, 9.5, "O", "Australia/Adelaide"}, + "HTI": {"Hamilton Island Airport", "Hamilton Island", "Australia", "HTI", "YBHM", -20.3581008911, 148.95199585, 15, 10, "O", "Australia/Brisbane"}, + "BEU": {"Bedourie Airport", "Bedourie", "Australia", "BEU", "YBIE", -24.346099853515625, 139.4600067138672, 300, 10, "O", "Australia/Brisbane"}, + "BRK": {"Bourke Airport", "Bourke", "Australia", "BRK", "YBKE", -30.039199829101562, 145.95199584960938, 352, 10, "O", "Australia/Sydney"}, + "BUC": {"Burketown Airport", "Burketown", "Australia", "BUC", "YBKT", -17.748600006103516, 139.53399658203125, 21, 10, "O", "Australia/Brisbane"}, + "GIC": {"Boigu Airport", "Boigu", "Australia", "GIC", "YBOI", -9.23278045654, 142.218002319, 23, 10, "O", "Australia/Brisbane"}, + "OKY": {"Oakey Airport", "Oakey", "Australia", "OKY", "YBOK", -27.411399841308594, 151.73500061035156, 1335, 10, "O", "Australia/Brisbane"}, + "BQL": {"Boulia Airport", "Boulia", "Australia", "BQL", "YBOU", -22.913299560546875, 139.89999389648438, 542, 10, "O", "Australia/Brisbane"}, + "BHS": {"Bathurst Airport", "Bathurst", "Australia", "BHS", "YBTH", -33.4094009399, 149.651992798, 2435, 10, "O", "Australia/Sydney"}, + "BLT": {"Blackwater Airport", "Blackwater", "Australia", "BLT", "YBTR", -23.603099822998047, 148.8070068359375, 657, 10, "O", "Australia/Brisbane"}, + "CVQ": {"Carnarvon Airport", "Carnarvon", "Australia", "CVQ", "YCAR", -24.880211, 113.67174, 13, 8, "O", "Australia/Perth"}, + "CAZ": {"Cobar Airport", "Cobar", "Australia", "CAZ", "YCBA", -31.538299560546875, 145.79400634765625, 724, 10, "O", "Australia/Sydney"}, + "CPD": {"Coober Pedy Airport", "Coober Pedy", "Australia", "CPD", "YCBP", -29.040000915527344, 134.7209930419922, 740, 9.5, "O", "Australia/Adelaide"}, + "CNC": {"Coconut Island Airport", "Coconut Island", "Australia", "CNC", "YCCT", -10.050000190734863, 143.07000732421875, 3, 10, "O", "Australia/Brisbane"}, + "CNJ": {"Cloncurry Airport", "Cloncurry", "Australia", "CNJ", "YCCY", -20.668600082399998, 140.503997803, 616, 10, "O", "Australia/Brisbane"}, + "CED": {"Ceduna Airport", "Ceduna", "Australia", "CED", "YCDU", -32.13059997558594, 133.7100067138672, 77, 9.5, "O", "Australia/Adelaide"}, + "CTN": {"Cooktown Airport", "Cooktown", "Australia", "CTN", "YCKN", -15.444700241088867, 145.1840057373047, 26, 10, "O", "Australia/Brisbane"}, + "CMA": {"Cunnamulla Airport", "Cunnamulla", "Australia", "CMA", "YCMU", -28.030000686645508, 145.6219940185547, 630, 10, "O", "Australia/Brisbane"}, + "CNB": {"Coonamble Airport", "Coonamble", "Australia", "CNB", "YCNM", -30.983299255371094, 148.37600708007812, 604, 10, "O", "Australia/Sydney"}, + "CUQ": {"Coen Airport", "Coen", "Australia", "CUQ", "YCOE", -13.761133, 143.113311, 532, 10, "O", "Australia/Brisbane"}, + "OOM": {"Cooma Snowy Mountains Airport", "Cooma", "Australia", "OOM", "YCOM", -36.3005981445, 148.973999023, 3088, 10, "O", "Australia/Sydney"}, + "DMD": {"Doomadgee Airport", "Doomadgee", "Australia", "DMD", "YDMG", -17.94029998779297, 138.82200622558594, 153, 10, "O", "Australia/Brisbane"}, + "NLF": {"Darnley Island Airport", "Darnley Island", "Australia", "NLF", "YDNI", -9.583330154418945, 143.76699829101562, 0, 10, "O", "Australia/Brisbane"}, + "DPO": {"Devonport Airport", "Devonport", "Australia", "DPO", "YDPO", -41.1697006226, 146.429992676, 33, 10, "O", "Australia/Melbourne"}, + "ELC": {"Elcho Island Airport", "Elcho Island", "Australia", "ELC", "YELD", -12.019399642899998, 135.570999146, 101, 9.5, "O", "Australia/Darwin"}, + "EPR": {"Esperance Airport", "Esperance", "Australia", "EPR", "YESP", -33.684399, 121.822998, 470, 8, "O", "Australia/Perth"}, + "FLS": {"Flinders Island Airport", "Flinders Island", "Australia", "FLS", "YFLI", -40.0917015076, 147.992996216, 10, 10, "O", "Australia/Melbourne"}, + "GET": {"Geraldton Airport", "Geraldton", "Australia", "GET", "YGEL", -28.796101, 114.707001, 121, 8, "O", "Australia/Perth"}, + "GLT": {"Gladstone Airport", "Gladstone", "Australia", "GLT", "YGLA", -23.869699, 151.223007, 64, 10, "O", "Australia/Brisbane"}, + "GTE": {"Groote Eylandt Airport", "Groote Eylandt", "Australia", "GTE", "YGTE", -13.975000381500001, 136.460006714, 53, 9.5, "O", "Australia/Darwin"}, + "GFF": {"Griffith Airport", "Griffith", "Australia", "GFF", "YGTH", -34.2508010864, 146.067001343, 439, 10, "O", "Australia/Sydney"}, + "HID": {"Horn Island Airport", "Horn Island", "Australia", "HID", "YHID", -10.586400032, 142.289993286, 43, 10, "O", "Australia/Brisbane"}, + "HOK": {"Hooker Creek Airport", "Hooker Creek", "Australia", "HOK", "YHOO", -18.3367004395, 130.638000488, 320, 9.5, "O", "Australia/Darwin"}, + "MHU": {"Mount Hotham Airport", "Mount Hotham", "Australia", "MHU", "YHOT", -37.0475006104, 147.333999634, 4260, 10, "O", "Australia/Hobart"}, + "HGD": {"Hughenden Airport", "Hughenden", "Australia", "HGD", "YHUG", -20.815000534057617, 144.22500610351562, 1043, 10, "O", "Australia/Brisbane"}, + "JCK": {"Julia Creek Airport", "Julia Creek", "Australia", "JCK", "YJLC", -20.66830062866211, 141.72300720214844, 404, 10, "O", "Australia/Brisbane"}, + "KAX": {"Kalbarri Airport", "Kalbarri", "Australia", "KAX", "YKBR", -27.692813, 114.259169, 157, 8, "O", "Australia/Perth"}, + "KNS": {"King Island Airport", "King Island", "Australia", "KNS", "YKII", -39.877498626708984, 143.8780059814453, 132, 10, "O", "Australia/Melbourne"}, + "KFG": {"Kalkgurung Airport", "Kalkgurung", "Australia", "KFG", "YKKG", -17.431900024414062, 130.80799865722656, 646, 9.5, "O", "Australia/Darwin"}, + "KRB": {"Karumba Airport", "Karumba", "Australia", "KRB", "YKMB", -17.45669937133789, 140.8300018310547, 5, 10, "O", "Australia/Brisbane"}, + "KWM": {"Kowanyama Airport", "Kowanyama", "Australia", "KWM", "YKOW", -15.485600471496582, 141.75100708007812, 35, 10, "O", "Australia/Brisbane"}, + "KUG": {"Kubin Airport", "Kubin", "Australia", "KUG", "YKUB", -10.225000381500001, 142.218002319, 15, 10, "O", "Australia/Brisbane"}, + "LNO": {"Leonora Airport", "Leonora", "Australia", "LNO", "YLEO", -28.87809944152832, 121.31500244140625, 1217, 8, "O", "Australia/Perth"}, + "LEL": {"Lake Evella Airport", "Lake Evella", "Australia", "LEL", "YLEV", -12.498900413513184, 135.80599975585938, 256, 9.5, "O", "Australia/Darwin"}, + "LDH": {"Lord Howe Island Airport", "Lord Howe Island", "Australia", "LDH", "YLHI", -31.5382995605, 159.07699585, 5, 10.5, "O", "Australia/Lord_Howe"}, + "IRG": {"Lockhart River Airport", "Lockhart River", "Australia", "IRG", "YLHR", -12.7869, 143.304993, 77, 10, "O", "Australia/Brisbane"}, + "LSY": {"Lismore Airport", "Lismore", "Australia", "LSY", "YLIS", -28.8302993774, 153.259994507, 35, 10, "O", "Australia/Sydney"}, + "LHG": {"Lightning Ridge Airport", "Lightning Ridge", "Australia", "LHG", "YLRD", -29.45669937133789, 147.98399353027344, 540, 10, "O", "Australia/Sydney"}, + "LRE": {"Longreach Airport", "Longreach", "Australia", "LRE", "YLRE", -23.4342002869, 144.279998779, 627, 10, "O", "Australia/Brisbane"}, + "LER": {"Leinster Airport", "Leinster", "Australia", "LER", "YLST", -27.843299865722656, 120.7030029296875, 1631, 8, "O", "Australia/Perth"}, + "LVO": {"Laverton Airport", "Laverton", "Australia", "LVO", "YLTN", -28.61359977722168, 122.42400360107422, 1530, 8, "O", "Australia/Perth"}, + "UBB": {"Mabuiag Island Airport", "Mabuiag Island", "Australia", "UBB", "YMAA", -9.949999809265137, 142.18299865722656, 0, 10, "O", "Australia/Brisbane"}, + "MKR": {"Meekatharra Airport", "Meekatharra", "Australia", "MKR", "YMEK", -26.6117000579834, 118.5479965209961, 1713, 8, "O", "Australia/Perth"}, + "MIM": {"Merimbula Airport", "Merimbula", "Australia", "MIM", "YMER", -36.9085998535, 149.901000977, 7, 10, "O", "Australia/Sydney"}, + "MGT": {"Milingimbi Airport", "Milingimbi", "Australia", "MGT", "YMGB", -12.0944004059, 134.893997192, 53, 9.5, "O", "Australia/Darwin"}, + "MNG": {"Maningrida Airport", "Maningrida", "Australia", "MNG", "YMGD", -12.0560998917, 134.23399353, 123, 9.5, "O", "Australia/Darwin"}, + "MCV": {"McArthur River Mine Airport", "McArthur River Mine", "Australia", "MCV", "YMHU", -16.4424991608, 136.083999634, 131, 9.5, "O", "Australia/Darwin"}, + "MQL": {"Mildura Airport", "Mildura", "Australia", "MQL", "YMIA", -34.229198455799995, 142.085998535, 167, 10, "O", "Australia/Hobart"}, + "MMG": {"Mount Magnet Airport", "Mount Magnet", "Australia", "MMG", "YMOG", -28.116100311279297, 117.84200286865234, 1354, 8, "O", "Australia/Perth"}, + "MRZ": {"Moree Airport", "Moree", "Australia", "MRZ", "YMOR", -29.498899459799997, 149.845001221, 701, 10, "O", "Australia/Sydney"}, + "MOV": {"Moranbah Airport", "Moranbah", "Australia", "MOV", "YMRB", -22.057800293, 148.07699585, 770, 10, "O", "Australia/Brisbane"}, + "MYA": {"Moruya Airport", "Moruya", "Australia", "MYA", "YMRY", -35.8978004456, 150.143997192, 14, 10, "O", "Australia/Sydney"}, + "MGB": {"Mount Gambier Airport", "Mount Gambier", "Australia", "MGB", "YMTG", -37.745601654052734, 140.78500366210938, 212, 9.5, "O", "Australia/Adelaide"}, + "ONG": {"Mornington Island Airport", "Mornington Island", "Australia", "ONG", "YMTI", -16.662500381469727, 139.17799377441406, 33, 10, "O", "Australia/Brisbane"}, + "MYI": {"Murray Island Airport", "Murray Island", "Australia", "MYI", "YMUI", -9.91666984558, 144.054992676, 300, 10, "O", "Australia/Brisbane"}, + "MBH": {"Maryborough Airport", "Maryborough", "Australia", "MBH", "YMYB", -25.5132999420166, 152.71499633789062, 38, 10, "O", "Australia/Brisbane"}, + "NRA": {"Narrandera Airport", "Narrandera", "Australia", "NRA", "YNAR", -34.7022018433, 146.511993408, 474, 10, "O", "Australia/Sydney"}, + "NAA": {"Narrabri Airport", "Narrabri", "Australia", "NAA", "YNBR", -30.3192005157, 149.82699585, 788, 10, "O", "Australia/Sydney"}, + "NTN": {"Normanton Airport", "Normanton", "Australia", "NTN", "YNTN", -17.68409, 141.069664, 73, 10, "O", "Australia/Brisbane"}, + "ZNE": {"Newman Airport", "Newman", "Australia", "ZNE", "YNWN", -23.417800903299998, 119.803001404, 1724, 8, "O", "Australia/Perth"}, + "OLP": {"Olympic Dam Airport", "Olympic Dam", "Australia", "OLP", "YOLD", -30.485000610399997, 136.876998901, 343, 9.5, "O", "Australia/Adelaide"}, + "PUG": {"Port Augusta Airport", "Argyle", "Australia", "PUG", "YPAG", -32.506900787353516, 137.7169952392578, 56, 9.5, "O", "Australia/Adelaide"}, + "PMK": {"Palm Island Airport", "Palm Island", "Australia", "PMK", "YPAM", -18.755300521850586, 146.58099365234375, 28, 10, "O", "Australia/Brisbane"}, + "PBO": {"Paraburdoo Airport", "Paraburdoo", "Australia", "PBO", "YPBO", -23.1711006165, 117.745002747, 1406, 8, "O", "Australia/Perth"}, + "CCK": {"Cocos (Keeling) Islands Airport", "Cocos Keeling Island", "Cocos (Keeling) Islands", "CCK", "YPCC", -12.1883001328, 96.8339004517, 10, 6.5, "U", "Indian/Cocos"}, + "GOV": {"Gove Airport", "Gove", "Australia", "GOV", "YPGV", -12.269399642899998, 136.817993164, 192, 9.5, "O", "Australia/Darwin"}, + "PKE": {"Parkes Airport", "Parkes", "Australia", "PKE", "YPKS", -33.131401062, 148.238998413, 1069, 10, "O", "Australia/Sydney"}, + "PLO": {"Port Lincoln Airport", "Port Lincoln", "Australia", "PLO", "YPLC", -34.6053009033, 135.880004883, 36, 9.5, "O", "Australia/Adelaide"}, + "EDR": {"Pormpuraaw Airport", "Pormpuraaw", "Australia", "EDR", "YPMP", -14.896451, 141.60908, 10, 10, "O", "Australia/Brisbane"}, + "PQQ": {"Port Macquarie Airport", "Port Macquarie", "Australia", "PQQ", "YPMQ", -31.4358005524, 152.863006592, 12, 10, "O", "Australia/Sydney"}, + "PTJ": {"Portland Airport", "Portland", "Australia", "PTJ", "YPOD", -38.31809997558594, 141.4709930419922, 265, 10, "O", "Australia/Hobart"}, + "ULP": {"Quilpie Airport", "Quilpie", "Australia", "ULP", "YQLP", -26.612199783325195, 144.2530059814453, 655, 10, "O", "Australia/Brisbane"}, + "RAM": {"Ramingining Airport", "Ramingining", "Australia", "RAM", "YRNG", -12.356399536132812, 134.8979949951172, 206, 9.5, "O", "Australia/Darwin"}, + "RMA": {"Roma Airport", "Roma", "Australia", "RMA", "YROM", -26.545000076300003, 148.774993896, 1032, 10, "O", "Australia/Brisbane"}, + "SGO": {"St George Airport", "St George", "Australia", "SGO", "YSGE", -28.049699783325195, 148.59500122070312, 656, 10, "O", "Australia/Brisbane"}, + "MJK": {"Shark Bay Airport", "Shark Bay", "Australia", "MJK", "YSHK", -25.8938999176, 113.577003479, 111, 8, "O", "Australia/Perth"}, + "SBR": {"Saibai Island Airport", "Saibai Island", "Australia", "SBR", "YSII", -9.378330230710002, 142.625, 15, 10, "O", "Australia/Brisbane"}, + "SRN": {"Strahan Airport", "Strahan", "Australia", "SRN", "YSRN", -42.154998779296875, 145.29200744628906, 20, 10, "O", "Australia/Melbourne"}, + "XTG": {"Thargomindah Airport", "Thargomindah", "Australia", "XTG", "YTGM", -27.986400604248047, 143.81100463867188, 433, 10, "O", "Australia/Brisbane"}, + "TCA": {"Tennant Creek Airport", "Tennant Creek", "Australia", "TCA", "YTNK", -19.6343994140625, 134.18299865722656, 1236, 9.5, "O", "Australia/Darwin"}, + "VCD": {"Victoria River Downs Airport", "Victoria River Downs", "Australia", "VCD", "YVRD", -16.402124404907227, 131.00497436523438, 89, 9.5, "O", "Australia/Darwin"}, + "SYU": {"Warraber Island Airport", "Sue Islet", "Australia", "SYU", "YWBS", -10.20829963684082, 142.8249969482422, 3, 10, "O", "Australia/Brisbane"}, + "WNR": {"Windorah Airport", "Windorah", "Australia", "WNR", "YWDH", -25.41309928894043, 142.66700744628906, 452, 10, "O", "Australia/Brisbane"}, + "WYA": {"Whyalla Airport", "Whyalla", "Australia", "WYA", "YWHA", -33.05889892578125, 137.51400756835938, 41, 9.5, "O", "Australia/Adelaide"}, + "WUN": {"Wiluna Airport", "Wiluna", "Australia", "WUN", "YWLU", -26.629199981689453, 120.22100067138672, 1649, 8, "O", "Australia/Perth"}, + "WOL": {"Wollongong Airport", "Wollongong", "Australia", "WOL", "YWOL", -34.561100006103516, 150.78900146484375, 31, 10, "O", "Australia/Sydney"}, + "WIN": {"Winton Airport", "Winton", "Australia", "WIN", "YWTN", -22.36359977722168, 143.08599853515625, 638, 10, "O", "Australia/Brisbane"}, + "BWT": {"Wynyard Airport", "Burnie", "Australia", "BWT", "YWYY", -40.9989013671875, 145.7310028076172, 62, 10, "O", "Australia/Melbourne"}, + "OKR": {"Yorke Island Airport", "Yorke Island", "Australia", "OKR", "YYKI", -9.752801, 143.405673, 10, 10, "O", "Australia/Brisbane"}, + "XMY": {"Yam Island Airport", "Yam Island", "Australia", "XMY", "YYMI", -9.90110969543457, 142.7760009765625, 0, 10, "O", "Australia/Brisbane"}, + "NAY": {"Beijing Nanyuan Airport", "Beijing", "China", "NAY", "ZBNY", 39.782798767089844, 116.38800048828125, 0, 8, "U", "Asia/Shanghai"}, + "CIF": {"Chifeng Airport", "Chifeng", "China", "CIF", "ZBCF", 42.23500061035156, 118.90799713134766, 0, 8, "U", "Asia/Shanghai"}, + "CIH": {"Changzhi Airport", "Changzhi", "China", "CIH", "ZBCZ", 36.247501, 113.125999, 0, 8, "U", "Asia/Shanghai"}, + "DAT": {"Datong Airport", "Datong", "China", "DAT", "ZBDT", 40.060299, 113.482002, 3442, 8, "U", "Asia/Shanghai"}, + "HET": {"Baita International Airport", "Hohhot", "China", "HET", "ZBHH", 40.851398468, 111.823997498, 3556, 8, "U", "Asia/Shanghai"}, + "BAV": {"Baotou Airport", "Baotou", "China", "BAV", "ZBOW", 40.560001373291016, 109.99700164794922, 3321, 8, "U", "Asia/Shanghai"}, + "SJW": {"Shijiazhuang Daguocun International Airport", "Shijiazhuang", "China", "SJW", "ZBSJ", 38.28070068359375, 114.6969985961914, 233, 8, "U", "Asia/Shanghai"}, + "TGO": {"Tongliao Airport", "Tongliao", "China", "TGO", "ZBTL", 43.556702, 122.199997, 2395, 8, "U", "Asia/Shanghai"}, + "HLH": {"Ulanhot Airport", "Ulanhot", "China", "HLH", "ZBUL", 46.195333, 122.008333, 0, 8, "U", "Asia/Shanghai"}, + "XIL": {"Xilinhot Airport", "Xilinhot", "China", "XIL", "ZBXH", 43.91559982299805, 115.96399688720703, 0, 8, "U", "Asia/Shanghai"}, + "BHY": {"Beihai Airport", "Beihai", "China", "BHY", "ZGBH", 21.5394, 109.293999, 0, 8, "U", "Asia/Shanghai"}, + "CGD": {"Changde Airport", "Changde", "China", "CGD", "ZGCD", 28.9188995361, 111.63999939, 128, 8, "U", "Asia/Shanghai"}, + "DYG": {"Dayong Airport", "Dayong", "China", "DYG", "ZGDY", 29.1028, 110.443001, 692, 8, "U", "Asia/Shanghai"}, + "MXZ": {"Meixian Airport", "Meixian", "China", "MXZ", "ZGMX", 24.350000381469727, 116.13300323486328, 0, 8, "U", "Asia/Shanghai"}, + "ZUH": {"Zhuhai Jinwan Airport", "Zhuhai", "China", "ZUH", "ZGSD", 22.006399, 113.375999, 23, 8, "U", "Asia/Shanghai"}, + "LZH": {"Liuzhou Bailian Airport", "Liuzhou", "China", "LZH", "ZGZH", 24.2075, 109.390999, 295, 8, "U", "Asia/Shanghai"}, + "ZHA": {"Zhanjiang Airport", "Zhanjiang", "China", "ZHA", "ZGZJ", 21.214399, 110.358002, 125, 8, "U", "Asia/Shanghai"}, + "ENH": {"Enshi Airport", "Enshi", "China", "ENH", "ZHES", 30.3202991486, 109.48500061, 1605, 8, "U", "Asia/Shanghai"}, + "NNY": {"Nanyang Jiangying Airport", "Nanyang", "China", "NNY", "ZHNY", 32.980801, 112.614998, 840, 8, "U", "Asia/Shanghai"}, + "XFN": {"Xiangyang Liuji Airport", "Xiangfan", "China", "XFN", "ZHXF", 32.1506, 112.291, 0, 8, "U", "Asia/Shanghai"}, + "YIH": {"Yichang Sanxia Airport", "Yichang", "China", "YIH", "ZHYC", 30.55655, 111.479988, 673, 8, "U", "Asia/Shanghai"}, + "AKA": {"Ankang Wulipu Airport", "Ankang", "China", "AKA", "ZLAK", 32.708099, 108.931, 860, 8, "U", "Asia/Shanghai"}, + "GOQ": {"Golmud Airport", "Golmud", "China", "GOQ", "ZLGM", 36.4006, 94.786102, 9334, 8, "U", "Asia/Shanghai"}, + "HZG": {"Hanzhong Chenggu Airport", "Hanzhong", "China", "HZG", "ZLHZ", 33.063599, 107.008003, 0, 8, "U", "Asia/Shanghai"}, + "IQN": {"Qingyang Airport", "Qingyang", "China", "IQN", "ZLQY", 35.799702, 107.602997, 0, 8, "U", "Asia/Shanghai"}, + "XNN": {"Xining Caojiabu Airport", "Xining", "China", "XNN", "ZLXN", 36.5275, 102.042999, 7119, 8, "U", "Asia/Shanghai"}, + "ENY": {"Yan'an Ershilipu Airport", "Yan'an", "China", "ENY", "ZLYA", 36.636902, 109.554001, 3100, 8, "U", "Asia/Shanghai"}, + "UYN": {"Yulin Yuyang Airport", "Yulin", "China", "UYN", "ZLYL", 38.35971, 109.590927, 0, 8, "U", "Asia/Shanghai"}, + "AVK": {"Arvaikheer Airport", "Arvaikheer", "Mongolia", "AVK", "ZMAH", 46.250301361083984, 102.802001953125, 5932, 8, "U", "Asia/Ulaanbaatar"}, + "LTI": {"Altai Airport", "Altai", "Mongolia", "LTI", "ZMAT", 46.376399993896484, 96.22109985351562, 7260, 8, "U", "Asia/Ulaanbaatar"}, + "BYN": {"Bayankhongor Airport", "Bayankhongor", "Mongolia", "BYN", "ZMBH", 46.163299560546875, 100.7040023803711, 6085, 8, "U", "Asia/Ulaanbaatar"}, + "DLZ": {"Dalanzadgad Airport", "Dalanzadgad", "Mongolia", "DLZ", "ZMDZ", 43.59170150756836, 104.43000030517578, 4787, 8, "U", "Asia/Ulaanbaatar"}, + "HVD": {"Khovd Airport", "Khovd", "Mongolia", "HVD", "ZMKD", 47.9541015625, 91.6281967163086, 4898, 7, "U", "Asia/Hovd"}, + "MXV": {"Mörön Airport", "Muren", "Mongolia", "MXV", "ZMMN", 49.663299560546875, 100.0989990234375, 4272, 8, "U", "Asia/Ulaanbaatar"}, + "DIG": {"Diqing Airport", "Shangri-La", "China", "DIG", "ZPDQ", 27.7936, 99.6772, 10761, 8, "U", "Asia/Shanghai"}, + "LUM": {"Mangshi Airport", "Luxi", "China", "LUM", "ZPLX", 24.4011, 98.5317, 2890, 8, "U", "Asia/Shanghai"}, + "SYM": {"Pu'er Simao Airport", "Simao", "China", "SYM", "ZPSM", 22.793301, 100.959, 0, 8, "U", "Asia/Shanghai"}, + "ZAT": {"Zhaotong Airport", "Zhaotong", "China", "ZAT", "ZPZT", 27.325599670410156, 103.75499725341797, 0, 8, "U", "Asia/Shanghai"}, + "KOW": {"Ganzhou Airport", "Ganzhou", "China", "KOW", "ZSGZ", 25.853333, 114.778889, 387, 8, "U", "Asia/Shanghai"}, + "JDZ": {"Jingdezhen Airport", "Jingdezhen", "China", "JDZ", "ZSJD", 29.3386001587, 117.176002502, 112, 8, "U", "Asia/Shanghai"}, + "JIU": {"Jiujiang Lushan Airport", "Jiujiang", "China", "JIU", "ZSJJ", 29.476944, 115.801111, 0, 8, "U", "Asia/Shanghai"}, + "JUZ": {"Quzhou Airport", "Quzhou", "China", "JUZ", "ZSJU", 28.965799, 118.899002, 0, 8, "U", "Asia/Shanghai"}, + "LYG": {"Lianyungang Airport", "Lianyungang", "China", "LYG", "ZSLG", 34.571667, 118.873611, 0, 8, "U", "Asia/Shanghai"}, + "HYN": {"Huangyan Luqiao Airport", "Huangyan", "China", "HYN", "ZSLQ", 28.56220054626465, 121.42900085449219, 0, 8, "U", "Asia/Shanghai"}, + "LYI": {"Shubuling Airport", "Linyi", "China", "LYI", "ZSLY", 35.04610061645508, 118.41200256347656, 0, 8, "U", "Asia/Shanghai"}, + "JJN": {"Quanzhou Jinjiang International Airport", "Quanzhou", "China", "JJN", "ZSQZ", 24.7964, 118.589996, 0, 8, "U", "Asia/Shanghai"}, + "TXN": {"Tunxi International Airport", "Huangshan", "China", "TXN", "ZSTX", 29.733299255371094, 118.25599670410156, 0, 8, "U", "Asia/Shanghai"}, + "WEF": {"Weifang Airport", "Weifang", "China", "WEF", "ZSWF", 36.646702, 119.119003, 0, 8, "U", "Asia/Shanghai"}, + "WEH": {"Weihai Airport", "Weihai", "China", "WEH", "ZSWH", 37.18709945678711, 122.22899627685547, 145, 8, "U", "Asia/Shanghai"}, + "WUX": {"Sunan Shuofang International Airport", "Wuxi", "China", "WUX", "ZSWX", 31.494400024399997, 120.429000854, 24, 8, "U", "Asia/Shanghai"}, + "WUS": {"Nanping Wuyishan Airport", "Wuyishan", "China", "WUS", "ZSWY", 27.7019, 118.000999, 614, 8, "U", "Asia/Shanghai"}, + "WNZ": {"Wenzhou Yongqiang Airport", "Wenzhou", "China", "WNZ", "ZSWZ", 27.912200927734375, 120.85199737548828, 0, 8, "U", "Asia/Shanghai"}, + "YNZ": {"Yancheng Airport", "Yancheng", "China", "YNZ", "ZSYN", 33.425833, 120.203056, 0, 8, "U", "Asia/Shanghai"}, + "YIW": {"Yiwu Airport", "Yiwu", "China", "YIW", "ZSYW", 29.3446998596, 120.031997681, 262, 8, "U", "Asia/Shanghai"}, + "HSN": {"Zhoushan Airport", "Zhoushan", "China", "HSN", "ZSZS", 29.9342002869, 122.361999512, 3, 8, "U", "Asia/Shanghai"}, + "BPX": {"Qamdo Bangda Airport", "Bangda", "China", "BPX", "ZUBD", 30.553600311279297, 97.1082992553711, 14219, 8, "U", "Asia/Shanghai"}, + "DAX": {"Dachuan Airport", "Dazhou", "China", "DAX", "ZUDX", 31.1302, 107.4295, 0, 8, "U", "Asia/Shanghai"}, + "GYS": {"Guangyuan Airport", "Guangyuan", "China", "GYS", "ZUGU", 32.3911018371582, 105.7020034790039, 0, 8, "U", "Asia/Shanghai"}, + "LZO": {"Luzhou Airport", "Luzhou", "China", "LZO", "ZULZ", 28.85219955444336, 105.39299774169922, 0, 8, "U", "Asia/Shanghai"}, + "MIG": {"Mianyang Airport", "Mianyang", "China", "MIG", "ZUMY", 31.4281005859375, 104.74099731445312, 0, 8, "U", "Asia/Shanghai"}, + "NAO": {"Nanchong Airport", "Nanchong", "China", "NAO", "ZUNC", 30.79545, 106.1626, 0, 8, "U", "Asia/Shanghai"}, + "LZY": {"Nyingchi Airport", "Nyingchi", "China", "LZY", "ZUNZ", 29.303300857543945, 94.33529663085938, 9675, 8, "U", "Asia/Shanghai"}, + "WXN": {"Wanxian Airport", "Wanxian", "China", "WXN", "ZUWX", 30.8017, 108.433, 0, 8, "U", "Asia/Shanghai"}, + "AKU": {"Aksu Airport", "Aksu", "China", "AKU", "ZWAK", 41.262501, 80.291702, 3816, 8, "U", "Asia/Shanghai"}, + "IQM": {"Qiemo Airport", "Qiemo", "China", "IQM", "ZWCM", 38.14939880371094, 85.53279876708984, 4108, 8, "U", "Asia/Shanghai"}, + "KCA": {"Kuqa Airport", "Kuqa", "China", "KCA", "ZWKC", 41.718101501464844, 82.98690032958984, 3524, 8, "U", "Asia/Shanghai"}, + "KRL": {"Korla Airport", "Korla", "China", "KRL", "ZWKL", 41.69779968261719, 86.12889862060547, 0, 8, "U", "Asia/Shanghai"}, + "KRY": {"Karamay Airport", "Karamay", "China", "KRY", "ZWKM", 45.46655, 84.9527, 0, 8, "U", "Asia/Shanghai"}, + "YIN": {"Yining Airport", "Yining", "China", "YIN", "ZWYN", 43.955799, 81.330299, 0, 8, "U", "Asia/Shanghai"}, + "HEK": {"Heihe Airport", "Heihe", "China", "HEK", "ZYHE", 50.1716209371, 127.308883667, 8530, 8, "U", "Asia/Shanghai"}, + "JMU": {"Jiamusi Airport", "Jiamusi", "China", "JMU", "ZYJM", 46.84339904789999, 130.464996338, 262, 8, "U", "Asia/Shanghai"}, + "JNZ": {"Jinzhou Airport", "Jinzhou", "China", "JNZ", "ZYJZ", 41.10139846801758, 121.06199645996094, 0, 8, "U", "Asia/Shanghai"}, + "NDG": {"Qiqihar Sanjiazi Airport", "Qiqihar", "China", "NDG", "ZYQQ", 47.239601135253906, 123.91799926757812, 477, 8, "U", "Asia/Shanghai"}, + "YNJ": {"Yanji Chaoyangchuan Airport", "Yanji", "China", "YNJ", "ZYYJ", 42.8828010559, 129.451004028, 624, 8, "U", "Asia/Shanghai"}, + "WKL": {"Waikoloa Heliport", "Waikoloa Village", "United States", "WKL", "HI07", 19.9205, -155.8607, 119, -10, "N", "Pacific/Honolulu"}, + "WME": {"Mount Keith Airport", "Mount Keith", "Australia", "WME", "YMNE", -27.286399841308594, 120.55500030517578, 1792, 8, "O", "Australia/Perth"}, + "LRV": {"Los Roques Airport", "Los Roques", "Venezuela", "LRV", "SVRS", 11.9499998093, -66.66999816890001, 17, -4, "S", "America/Caracas"}, + "IOR": {"Inishmore Aerodrome", "Inis Mor", "Ireland", "IOR", "EIIM", 53.1067008972168, -9.653610229492188, 24, 0, "U", "Europe/Dublin"}, + "NNR": {"Connemara Regional Airport", "Indreabhan", "Ireland", "NNR", "EICA", 53.23030090332031, -9.467780113220215, 70, 0, "U", "Europe/Dublin"}, + "GTI": {"Rügen Airport", "Ruegen", "Germany", "GTI", "EDCG", 54.3833312988, 13.3255558014, 69, 1, "U", "Europe/Berlin"}, + "NBB": {"Berezovo Airport", "Berezovo", "Russia", "NBB", "USHB", 63.92100143432617, 65.03050231933594, 98, 5, "N", "Asia/Yekaterinburg"}, + "ORH": {"Worcester Regional Airport", "Worcester", "United States", "ORH", "KORH", 42.26729965209961, -71.87570190429688, 1009, -5, "A", "America/New_York"}, + "AQG": {"Anqing Tianzhushan Airport", "Anqing", "China", "AQG", "ZSAQ", 30.582199, 117.050003, 0, 8, "N", "Asia/Shanghai"}, + "SHP": {"Shanhaiguan Airport", "Qinhuangdao", "China", "SHP", "ZBSH", 39.968102, 119.731003, 30, 8, "N", "Asia/Shanghai"}, + "YCU": {"Yuncheng Guangong Airport", "Yuncheng", "China", "YCU", "ZBYC", 35.116391, 111.031388889, 1242, 8, "N", "Asia/Shanghai"}, + "JGN": {"Jiayuguan Airport", "Jiayuguan", "China", "JGN", "ZLJQ", 39.856899, 98.3414, 5112, 8, "N", "Asia/Shanghai"}, + "DSN": {"Ordos Ejin Horo Airport", "Dongsheng", "China", "DSN", "ZBDS", 39.49, 109.861388889, 4557, 8, "N", "Asia/Shanghai"}, + "PWT": {"Bremerton National Airport", "Bremerton", "United States", "PWT", "KPWT", 47.490200042725, -122.76499938965, 444, -8, "A", "America/Los_Angeles"}, + "SPW": {"Spencer Municipal Airport", "Spencer", "United States", "SPW", "KSPW", 43.165500640869, -95.202796936035, 1339, -6, "A", "America/Chicago"}, + "JEF": {"Jefferson City Memorial Airport", "Jefferson City", "United States", "JEF", "KJEF", 38.5912017822, -92.15609741210001, 549, -6, "A", "America/Chicago"}, + "UNT": {"Unst Airport", "Unst", "United Kingdom", "UNT", "EGPW", 60.74720001220703, -0.8538500070571899, 0, 0, "E", "Europe/London"}, + "PVC": {"Provincetown Municipal Airport", "Provincetown", "United States", "PVC", "KPVC", 42.0718994141, -70.2213973999, 9, -5, "A", "America/New_York"}, + "KMW": {"Kostroma Sokerkino Airport", "Kostroma", "Russia", "KMW", "UUBA", 57.7969017029, 41.019401550299996, 446, 3, "N", "Europe/Moscow"}, + "SUI": {"Sukhumi Dranda Airport", "Sukhumi", "Georgia", "SUI", "UGSS", 42.8582000732, 41.128101348899996, 53, 4, "N", "Asia/Tbilisi"}, + "TBW": {"Donskoye Airport", "Tambow", "Russia", "TBW", "UUOT", 52.806098937988, 41.482799530029, 413, 3, "N", "Europe/Moscow"}, + "OBN": {"Oban Airport", "North Connel", "United Kingdom", "OBN", "EGEO", 56.4635009765625, -5.399670124053955, 20, 0, "E", "Europe/London"}, + "ERM": {"Erechim Airport", "Erechim", "Brazil", "ERM", "SSER", -27.66189956665039, -52.2682991027832, 2498, -3, "S", "America/Sao_Paulo"}, + "CVF": {"Courchevel Airport", "Courcheval", "France", "CVF", "LFLJ", 45.39670181274414, 6.6347198486328125, 6588, 1, "E", "Europe/Paris"}, + "FUL": {"Fullerton Municipal Airport", "Fullerton", "United States", "FUL", "KFUL", 33.8720016479, -117.980003357, 96, -8, "A", "America/Los_Angeles"}, + "NVI": {"Navoi Airport", "Navoi", "Uzbekistan", "NVI", "UTSA", 40.1171989440918, 65.1707992553711, 0, 5, "E", "Asia/Samarkand"}, + "QSF": {"Ain Arnat Airport", "Setif", "Algeria", "QSF", "DAAS", 36.178100585900005, 5.3244900703399995, 3360, 1, "U", "Africa/Algiers"}, + "LRH": {"La Rochelle-Île de Ré Airport", "La Rochelle", "France", "LRH", "LFBH", 46.17919921875, -1.1952799558639526, 74, 1, "E", "Europe/Paris"}, + "SUN": {"Friedman Memorial Airport", "Hailey", "United States", "SUN", "KSUN", 43.50439835, -114.2959976, 5318, -7, "A", "America/Denver"}, + "MCW": {"Mason City Municipal Airport", "Mason City", "United States", "MCW", "KMCW", 43.157798767100005, -93.3312988281, 1213, -6, "A", "America/Chicago"}, + "AZA": {"Phoenix-Mesa-Gateway Airport", "Mesa", "United States", "AZA", "KIWA", 33.30780029, -111.6549988, 1382, -7, "N", "America/Phoenix"}, + "XAU": {"Saúl Airport", "Saul", "French Guiana", "XAU", "SOOS", 3.61361, -53.204201, 656, -3, "U", "America/Cayenne"}, + "AKP": {"Anaktuvuk Pass Airport", "Anaktuvuk Pass", "United States", "AKP", "PAKP", 68.13359833, -151.7429962, 2102, -9, "A", "America/Anchorage"}, + "ANV": {"Anvik Airport", "Anvik", "United States", "ANV", "PANV", 62.646702, -160.190994, 291, -9, "A", "America/Anchorage"}, + "ATK": {"Atqasuk Edward Burnell Sr Memorial Airport", "Atqasuk", "United States", "ATK", "PATQ", 70.46730041503906, -157.43600463867188, 96, -9, "A", "America/Anchorage"}, + "GAM": {"Gambell Airport", "Gambell", "United States", "GAM", "PAGM", 63.76679992675781, -171.73300170898438, 27, -9, "A", "America/Anchorage"}, + "HPB": {"Hooper Bay Airport", "Hooper Bay", "United States", "HPB", "PAHP", 61.52389908, -166.1470032, 13, -9, "A", "America/Anchorage"}, + "KAL": {"Kaltag Airport", "Kaltag", "United States", "KAL", "PAKV", 64.31909943, -158.7409973, 181, -9, "A", "America/Anchorage"}, + "KSM": {"St Mary's Airport", "St Mary's", "United States", "KSM", "PASM", 62.0605011, -163.302002, 312, -9, "A", "America/Anchorage"}, + "KVL": {"Kivalina Airport", "Kivalina", "United States", "KVL", "PAVL", 67.73619842529297, -164.56300354003906, 13, -9, "A", "America/Anchorage"}, + "MYU": {"Mekoryuk Airport", "Mekoryuk", "United States", "MYU", "PAMY", 60.37139892578125, -166.27099609375, 48, -9, "A", "America/Anchorage"}, + "RBY": {"Ruby Airport", "Ruby", "United States", "RBY", "PARY", 64.72720337, -155.4700012, 658, -9, "A", "America/Anchorage"}, + "SHH": {"Shishmaref Airport", "Shishmaref", "United States", "SHH", "PASH", 66.249604, -166.089112, 12, -9, "A", "America/Anchorage"}, + "SVA": {"Savoonga Airport", "Savoonga", "United States", "SVA", "PASA", 63.6864013671875, -170.4929962158203, 53, -9, "A", "America/Anchorage"}, + "WTK": {"Noatak Airport", "Noatak", "United States", "WTK", "PAWN", 67.56610107421875, -162.97500610351562, 88, -9, "A", "America/Anchorage"}, + "OMC": {"Ormoc Airport", "Ormoc City", "Philippines", "OMC", "RPVO", 11.057999610900879, 124.56500244140625, 83, 8, "N", "Asia/Manila"}, + "YPX": {"Puvirnituq Airport", "Puvirnituq", "Canada", "YPX", "CYPX", 60.05059814453125, -77.28690338134766, 74, -5, "A", "America/Toronto"}, + "YTQ": {"Tasiujaq Airport", "Tasiujaq", "Canada", "YTQ", "CYTQ", 58.66780090332031, -69.95580291748047, 122, -5, "A", "America/Toronto"}, + "ARC": {"Arctic Village Airport", "Arctic Village", "United States", "ARC", "PARC", 68.1147, -145.578995, 2092, -9, "A", "America/Anchorage"}, + "QOW": {"Sam Mbakwe International Airport", "Imo", "Nigeria", "QOW", "DNIM", 5.427060127258301, 7.206029891967773, 373, 1, "N", "Africa/Lagos"}, + "FON": {"Arenal Airport", "La Fortuna/San Carlos", "Costa Rica", "FON", "MRAN", 10.477999687194824, -84.6344985961914, 342, -6, "U", "America/Costa_Rica"}, + "TMU": {"Tambor Airport", "Nicoya", "Costa Rica", "TMU", "MRTR", 9.738519668579102, -85.01380157470703, 33, -6, "U", "America/Costa_Rica"}, + "CYZ": {"Cauayan Airport", "Cauayan", "Philippines", "CYZ", "RPUY", 16.9298992157, 121.752998352, 200, 8, "N", "Asia/Manila"}, + "KVK": {"Kirovsk-Apatity Airport", "Apatity", "Russia", "KVK", "ULMK", 67.46330261230469, 33.58829879760742, 515, 3, "N", "Europe/Moscow"}, + "GVR": {"Coronel Altino Machado de Oliveira Airport", "Governador Valadares", "Brazil", "GVR", "SBGV", -18.89520072937, -41.982200622559, 561, -3, "S", "America/Sao_Paulo"}, + "PJA": {"Pajala Airport", "Pajala", "Sweden", "PJA", "ESUP", 67.24559783935547, 23.068899154663086, 542, 1, "E", "Europe/Stockholm"}, + "QBC": {"Bella Coola Airport", "Bella Coola", "Canada", "QBC", "CYBD", 52.387501, -126.596001, 117, -8, "A", "America/Vancouver"}, + "HGR": {"Hagerstown Regional Richard A Henson Field", "Hagerstown", "United States", "HGR", "KHGR", 39.707901, -77.72949982, 703, -5, "A", "America/New_York"}, + "ACR": {"Araracuara Airport", "Araracuara", "Colombia", "ACR", "SKAC", -0.5833, -72.4083, 1250, -5, "U", "America/Bogota"}, + "GOP": {"Gorakhpur Airport", "Gorakhpur", "India", "GOP", "VEGK", 26.739700317399997, 83.4496994019, 259, 5.5, "N", "Asia/Calcutta"}, + "SDP": {"Sand Point Airport", "Sand Point", "United States", "SDP", "PASD", 55.314998626708984, -160.5229949951172, 21, -9, "A", "America/Anchorage"}, + "HMI": {"Hami Airport", "Hami", "China", "HMI", "ZWHM", 42.8414001465, 93.6691970825, 2703, 8, "U", "Asia/Shanghai"}, + "WUZ": {"Wuzhou Changzhoudao Airport", "Wuzhou", "China", "WUZ", "ZGWZ", 23.456699, 111.248001, 89, 8, "U", "Asia/Shanghai"}, + "TBH": {"Tugdan Airport", "Romblon", "Philippines", "TBH", "RPVU", 12.3109998703, 122.084999084, 10, 8, "N", "Asia/Manila"}, + "ACP": {"Sahand Airport", "Maragheh", "Iran", "ACP", "OITM", 37.347999572753906, 46.127899169921875, 4396, 3.5, "E", "Asia/Tehran"}, + "GBT": {"Gorgan Airport", "Gorgan", "Iran", "GBT", "OING", 36.909400939899996, 54.4012985229, -24, 3.5, "E", "Asia/Tehran"}, + "IIL": {"Ilam Airport", "Ilam", "Iran", "IIL", "OICI", 33.58660125732422, 46.40480041503906, 4404, 3.5, "E", "Asia/Tehran"}, + "PFQ": {"Parsabade Moghan Airport", "Parsabad", "Iran", "PFQ", "OITP", 39.60359954834, 47.881500244141, 251, 3.5, "E", "Asia/Tehran"}, + "TCG": {"Tacheng Airport", "Tacheng", "China", "TCG", "ZWTC", 46.67250061035156, 83.3407974243164, 0, 8, "U", "Asia/Shanghai"}, + "MQM": {"Mardin Airport", "Mardin", "Turkey", "MQM", "LTCR", 37.223300933800004, 40.6316986084, 1729, 3, "E", "Europe/Istanbul"}, + "AFS": {"Sugraly Airport", "Zarafshan", "Uzbekistan", "AFS", "UTSN", 41.61389923095703, 64.23320007324219, 1396, 5, "U", "Asia/Samarkand"}, + "DRG": {"Deering Airport", "Deering", "United States", "DRG", "PADE", 66.0696029663, -162.76600647, 21, -9, "A", "America/Anchorage"}, + "LEN": {"Leon Airport", "Leon", "Spain", "LEN", "LELN", 42.5890007019043, -5.65556001663208, 3006, 1, "E", "Europe/Madrid"}, + "RGS": {"Burgos Airport", "Burgos", "Spain", "RGS", "LEBG", 42.357601165771484, -3.620759963989258, 2945, 1, "E", "Europe/Madrid"}, + "EGM": {"Sege Airport", "Sege", "Solomon Islands", "EGM", "AGGS", -8.578889846801758, 157.87600708007812, 0, 11, "U", "Pacific/Guadalcanal"}, + "CQD": {"Shahrekord Airport", "Shahre Kord", "Iran", "CQD", "OIFS", 32.2971992493, 50.842201232899995, 6723, 3.5, "E", "Asia/Tehran"}, + "DHM": {"Kangra Airport", "Kangra", "India", "DHM", "VIGG", 32.16510009765625, 76.26339721679688, 2525, 5.5, "N", "Asia/Calcutta"}, + "NDC": {"Nanded Airport", "Nanded", "India", "NDC", "VAND", 19.1833000183, 77.31670379639999, 1250, 5.5, "N", "Asia/Calcutta"}, + "SLV": {"Shimla Airport", "Shimla", "India", "SLV", "VISM", 31.0818, 77.068001, 5072, 5.5, "N", "Asia/Calcutta"}, + "IGG": {"Igiugig Airport", "Igiugig", "United States", "IGG", "PAIG", 59.32400131225586, -155.90199279785156, 90, -9, "A", "America/Anchorage"}, + "KNW": {"New Stuyahok Airport", "New Stuyahok", "United States", "KNW", "PANW", 59.4499015808, -157.32800293, 364, -9, "A", "America/Anchorage"}, + "KVC": {"King Cove Airport", "King Cove", "United States", "KVC", "PAVC", 55.11629867553711, -162.26600646972656, 155, -9, "A", "America/Anchorage"}, + "PTH": {"Port Heiden Airport", "Port Heiden", "United States", "PTH", "PAPH", 56.95909881591797, -158.63299560546875, 95, -9, "A", "America/Anchorage"}, + "TOG": {"Togiak Airport", "Togiak Village", "United States", "TOG", "PATG", 59.052799224853516, -160.39700317382812, 21, -9, "A", "America/Anchorage"}, + "EGN": {"Geneina Airport", "Geneina", "Sudan", "EGN", "HSGN", 13.48169994354248, 22.467199325561523, 2650, 3, "U", "Africa/Khartoum"}, + "LKH": {"Long Akah Airport", "Long Akah", "Malaysia", "LKH", "WBGL", 3.299999952316284, 114.78299713134766, 289, 8, "N", "Asia/Kuala_Lumpur"}, + "WLH": {"Walaha Airport", "Walaha", "Vanuatu", "WLH", "NVSW", -15.411999702500001, 167.690994263, 151, 11, "U", "Pacific/Efate"}, + "CHG": {"Chaoyang Airport", "Chaoyang", "China", "CHG", "ZYCY", 41.538101, 120.434998, 568, 8, "U", "Asia/Shanghai"}, + "UAS": {"Samburu South Airport", "Samburu South", "Kenya", "UAS", "HKSB", 0.5305830240249634, 37.53419494628906, 3295, 3, "U", "Africa/Nairobi"}, + "BHG": {"Brus Laguna Airport", "Brus Laguna", "Honduras", "BHG", "MHBL", 15.7631, -84.543602, 19, -6, "U", "America/Tegucigalpa"}, + "YVB": {"Bonaventure Airport", "Bonaventure", "Canada", "YVB", "CYVB", 48.07109832763672, -65.46029663085938, 123, -5, "A", "America/Toronto"}, + "SKT": {"Sialkot Airport", "Sialkot", "Pakistan", "SKT", "OPST", 32.5355567932, 74.3638916016, 837, 5, "N", "Asia/Karachi"}, + "PDP": {"Capitan Corbeta CA Curbelo International Airport", "Punta del Este", "Uruguay", "PDP", "SULS", -34.855098724365234, -55.09429931640625, 95, -3, "S", "America/Montevideo"}, + "WVB": {"Walvis Bay Airport", "Walvis Bay", "Namibia", "WVB", "FYWB", -22.979900360107422, 14.645299911499023, 299, 1, "S", "Africa/Windhoek"}, + "MPA": {"Katima Mulilo Airport", "Mpacha", "Namibia", "MPA", "FYKM", -17.634399414100002, 24.176700592, 3144, 1, "S", "Africa/Windhoek"}, + "AOE": {"Anadolu Airport", "Eskissehir", "Turkey", "AOE", "LTBY", 39.809898, 30.5194, 2588, 3, "E", "Europe/Istanbul"}, + "CKZ": {"Çanakkale Airport", "Canakkale", "Turkey", "CKZ", "LTBH", 40.1376991272, 26.4267997742, 23, 3, "E", "Europe/Istanbul"}, + "MSR": {"Muş Airport", "Mus", "Turkey", "MSR", "LTCK", 38.747798919677734, 41.66120147705078, 4157, 3, "E", "Europe/Istanbul"}, + "SIC": {"Sinop Airport", "Sinop", "Turkey", "SIC", "LTCM", 42.015800476074, 35.066398620605, 20, 3, "E", "Europe/Istanbul"}, + "TEQ": {"Tekirdağ Çorlu Airport", "Çorlu", "Turkey", "TEQ", "LTBU", 41.13819885253906, 27.919099807739258, 574, 3, "E", "Europe/Istanbul"}, + "YEI": {"Bursa Yenişehir Airport", "Yenisehir", "Turkey", "YEI", "LTBR", 40.2551994324, 29.5625991821, 764, 3, "E", "Europe/Istanbul"}, + "LSS": {"Terre-de-Haut Airport", "Les Saintes", "Guadeloupe", "LSS", "TFFS", 15.86439991, -61.5806007385, 46, -4, "U", "America/Guadeloupe"}, + "KMV": {"Kalay Airport", "Kalemyo", "Myanmar", "KMV", "VYKL", 23.188800811767578, 94.05110168457031, 499, 6.5, "U", "Asia/Rangoon"}, + "VQS": {"Vieques Airport", "Vieques Island", "Puerto Rico", "VQS", "TJCG", 18.115800857500002, -65.4226989746, 19, -4, "U", "America/Puerto_Rico"}, + "YIF": {"St Augustin Airport", "St-Augustin", "Canada", "YIF", "CYIF", 51.2117004395, -58.6582984924, 20, -4, "A", "America/Blanc-Sablon"}, + "HDM": {"Hamadan Airport", "Hamadan", "Iran", "HDM", "OIHH", 34.86920166015625, 48.5525016784668, 5755, 3.5, "E", "Asia/Tehran"}, + "MRQ": {"Marinduque Airport", "Gasan", "Philippines", "MRQ", "RPUW", 13.361000061035156, 121.82599639892578, 32, 8, "N", "Asia/Manila"}, + "GFN": {"Grafton Airport", "Grafton", "Australia", "GFN", "YGFN", -29.7593994140625, 153.02999877929688, 110, 10, "U", "Australia/Sydney"}, + "OAG": {"Orange Airport", "Orange", "Australia", "OAG", "YORG", -33.3816986084, 149.132995605, 3115, 10, "U", "Australia/Sydney"}, + "TRO": {"Taree Airport", "Taree", "Australia", "TRO", "YTRE", -31.8885993958, 152.514007568, 38, 10, "U", "Australia/Sydney"}, + "COQ": {"Choibalsan Airport", "Choibalsan", "Mongolia", "COQ", "ZMCD", 48.13570022583008, 114.64600372314453, 2457, 8, "U", "Asia/Ulaanbaatar"}, + "HOJ": {"Hohenems-Dornbirn Airport", "Hohenems", "Austria", "HOJ", "LOIH", 47.3849983215, 9.69999980927, 1352, 1, "E", "Europe/Vienna"}, + "ESC": {"Delta County Airport", "Escanaba", "United States", "ESC", "KESC", 45.7226982117, -87.0936965942, 609, -5, "A", "America/New_York"}, + "YAK": {"Yakutat Airport", "Yakutat", "United States", "YAK", "PAYA", 59.5032997131, -139.660003662, 33, -9, "A", "America/Anchorage"}, + "GUL": {"Goulburn Airport", "Goulburn", "Australia", "GUL", "YGLB", -34.810298919677734, 149.7259979248047, 2141, 10, "O", "Australia/Sydney"}, + "CES": {"Cessnock Airport", "Cessnock", "Australia", "CES", "YCNK", -32.787498, 151.341995, 211, 10, "O", "Australia/Sydney"}, + "NSO": {"Scone Airport", "Scone", "Australia", "NSO", "YSCO", -32.037200927734375, 150.83200073242188, 745, 10, "O", "Australia/Sydney"}, + "DGE": {"Mudgee Airport", "Mudgee", "Australia", "DGE", "YMDG", -32.5625, 149.610992432, 1545, 10, "O", "Australia/Sydney"}, + "MTL": {"Maitland Airport", "Maitland", "Australia", "MTL", "YMND", -32.703300476100004, 151.488006592, 85, 10, "O", "Australia/Sydney"}, + "CPX": {"Benjamin Rivera Noriega Airport", "Culebra Island", "Puerto Rico", "CPX", "TJCP", 18.313289, -65.304324, 49, -4, "U", "America/Puerto_Rico"}, + "MWA": {"Williamson County Regional Airport", "Marion", "United States", "MWA", "KMWA", 37.75500107, -89.01110077, 472, -6, "A", "America/Chicago"}, + "BMQ": {"Burnet Municipal Kate Craddock Field", "Bamburi", "Kenya", "BMQ", "KBMQ", 30.73889923095703, -98.23860168457031, 1284, -6, "U", "America/Chicago"}, + "OKB": {"Oceanside Municipal Airport", "Fraser Island", "Australia", "OKB", "KOKB", 33.217300415039, -117.35399627686, 28, -8, "O", "America/Los_Angeles"}, + "KIK": {"Kirkuk Air Base", "Kirkuk", "Iraq", "KIK", "ORKK", 35.46950149536133, 44.348899841308594, 1061, 3, "N", "Asia/Baghdad"}, + "IUD": {"Al Udeid Air Base", "Doha", "Qatar", "IUD", "OTBH", 25.1173000336, 51.3149986267, 130, 3, "N", "Asia/Qatar"}, + "GBZ": {"Great Barrier Aerodrome", "Claris", "New Zealand", "GBZ", "NZGB", -36.24140167236328, 175.4720001220703, 20, 12, "Z", "Pacific/Auckland"}, + "IMT": {"Ford Airport", "Iron Mountain", "United States", "IMT", "KIMT", 45.8184013367, -88.1145019531, 1182, -6, "A", "America/Chicago"}, + "AET": {"Allakaket Airport", "Allakaket", "United States", "AET", "PFAL", 66.5518035889, -152.621994019, 441, -9, "A", "America/Anchorage"}, + "MGC": {"Michigan City Municipal Airport", "Michigan City", "United States", "MGC", "KMGC", 41.703300476100004, -86.8211975098, 655, -6, "A", "America/Chicago"}, + "SWD": {"Seward Airport", "Seward", "United States", "SWD", "PAWD", 60.12689971923828, -149.41900634765625, 22, -9, "U", "America/Anchorage"}, + "GRM": {"Grand Marais Cook County Airport", "Grand Marais", "United States", "GRM", "KCKC", 47.8382987976, -90.38289642330001, 1799, -6, "U", "America/Chicago"}, + "AUW": {"Wausau Downtown Airport", "Wausau", "United States", "AUW", "KAUW", 44.9262008667, -89.6266021729, 1201, -6, "U", "America/Chicago"}, + "MYP": {"Mary Airport", "Mary", "Turkmenistan", "MYP", "UTAM", 37.6194, 61.896702, 728, 5, "U", "Asia/Ashgabat"}, + "LKS": {"Sazená Airport", "Sazena", "Czech Republic", "LKS", "LKSZ", 50.3246994019, 14.2588996887, 761, 1, "E", "Europe/Prague"}, + "MVA": {"Reykjahlíð Airport", "Myvatn", "Iceland", "MVA", "BIRL", 65.65579986572266, -16.918100357055664, 1030, 0, "N", "Atlantic/Reykjavik"}, + "QSA": {"Sabadell Airport", "Sabadell", "Spain", "QSA", "LELL", 41.52090072631836, 2.1050798892974854, 485, 1, "E", "Europe/Madrid"}, + "WSY": {"Whitsunday Island Airport", "Airlie Beach", "Australia", "WSY", "YWHI", -20.27611, 148.755, 40, 10, "O", "Australia/Brisbane"}, + "MIE": {"Delaware County Johnson Field", "Muncie", "United States", "MIE", "KMIE", 40.2422981262207, -85.3958969116211, 937, -5, "U", "America/New_York"}, + "LAF": {"Purdue University Airport", "Lafayette", "United States", "LAF", "KLAF", 40.41230010986328, -86.93689727783203, 606, -5, "A", "America/New_York"}, + "VGT": {"North Las Vegas Airport", "Las Vegas", "United States", "VGT", "KVGT", 36.21070098877, -115.19400024414, 2205, -8, "U", "America/Los_Angeles"}, + "ENW": {"Kenosha Regional Airport", "Kenosha", "United States", "ENW", "KENW", 42.59569931, -87.92780304, 742, -6, "A", "America/Chicago"}, + "MTJ": {"Montrose Regional Airport", "Montrose CO", "United States", "MTJ", "KMTJ", 38.509799957300004, -107.893997192, 5759, -7, "A", "America/Denver"}, + "RIW": {"Riverton Regional Airport", "Riverton WY", "United States", "RIW", "KRIW", 43.064201355, -108.459999084, 5525, -7, "A", "America/Denver"}, + "PDT": {"Eastern Oregon Regional At Pendleton Airport", "Pendleton", "United States", "PDT", "KPDT", 45.695098877, -118.841003418, 1497, -8, "A", "America/Los_Angeles"}, + "LYM": {"Lympne Airport", "Lympne", "United Kingdom", "LYM", "EGMK", 51.08, 1.013, 351, 0, "E", "Europe/London"}, + "PKH": {"Porto Cheli Airport", "Porto Heli", "Greece", "PKH", "LGHL", 37.297501, 23.1478, 69, 2, "E", "Europe/Athens"}, + "KTR": {"Tindal Airport", "Katherine", "Australia", "KTR", "YPTN", -14.521100044250488, 132.3780059814453, 443, 9.5, "O", "Australia/Darwin"}, + "NOA": {"Nowra Airport", "Nowra", "Australia", "NOA", "YSNW", -34.94889831542969, 150.53700256347656, 400, 10, "O", "Australia/Sydney"}, + "UKC": {"Lutsk Airport", "Lutsk", "Ukraine", "UKC", "UKLC", 50.678404, 25.487165, 774, 2, "U", "Europe/Kiev"}, + "CEJ": {"Chernihiv Shestovitsa Airport", "Chernigov", "Ukraine", "CEJ", "UKRR", 51.4021987915, 31.1583003998, 446, 2, "E", "Europe/Kiev"}, + "TNL": {"Ternopil International Airport", "Ternopol", "Ukraine", "TNL", "UKLT", 49.5242, 25.7001, 1072, 2, "E", "Europe/Kiev"}, + "BQT": {"Brest Airport", "Brest", "Belarus", "BQT", "UMBB", 52.108299, 23.8981, 468, 3, "E", "Europe/Minsk"}, + "OSH": {"Wittman Regional Airport", "Oshkosh", "United States", "OSH", "KOSH", 43.98440170288086, -88.55699920654297, 808, -6, "A", "America/Chicago"}, + "AGE": {"Wangerooge Airport", "Wangerooge", "Germany", "AGE", "EDWG", 53.782779693603516, 7.913888931274414, 7, 1, "E", "Europe/Berlin"}, + "EAT": {"Pangborn Memorial Airport", "Wenatchee", "United States", "EAT", "KEAT", 47.3988990784, -120.207000732, 1249, -8, "A", "America/Los_Angeles"}, + "ARE": {"Antonio Nery Juarbe Pol Airport", "Arecibo", "Puerto Rico", "ARE", "TJAB", 18.4500007629, -66.6753005981, 23, -4, "N", "America/Puerto_Rico"}, + "RIN": {"Ringi Cove Airport", "Ringi Cove", "Solomon Islands", "RIN", "AGRC", -8.12639045715332, 157.14300537109375, 0, 11, "U", "Pacific/Guadalcanal"}, + "UKX": {"Ust-Kut Airport", "Ust-Kut", "Russia", "UKX", "UITT", 56.8567008972168, 105.7300033569336, 2188, 8, "N", "Asia/Irkutsk"}, + "QLS": {"Lausanne-Blécherette Airport", "Lausanne", "Switzerland", "QLS", "LSGL", 46.54529953, 6.61667013168, 2041, 1, "E", "Europe/Zurich"}, + "ZJI": {"Locarno Airport", "Locarno", "Switzerland", "ZJI", "LSZL", 46.160800933800004, 8.87860965729, 650, 1, "E", "Europe/Zurich"}, + "QNC": {"Neuchatel Airport", "Neuchatel", "Switzerland", "QNC", "LSGN", 46.9575004578, 6.86471986771, 1427, 1, "E", "Europe/Zurich"}, + "GDZ": {"Gelendzhik Airport", "Gelendzhik", "Russia", "GDZ", "URKG", 44.5820926295, 38.0124807358, 98, 3, "N", "Europe/Moscow"}, + "IAR": {"Tunoshna Airport", "Yaroslavl", "Russia", "IAR", "UUDL", 57.560699462890625, 40.15739822387695, 287, 3, "N", "Europe/Moscow"}, + "OHE": {"Gu-Lian Airport", "Mohe County", "China", "OHE", "ZYMH", 52.912777777799995, 122.43, 1836, 8, "U", "Asia/Shanghai"}, + "JNG": {"Jining Qufu Airport", "Jining", "China", "JNG", "ZLJN", 35.292778, 116.346667, 134, 8, "U", "Asia/Shanghai"}, + "DRK": {"Drake Bay Airport", "Puntarenas", "Costa Rica", "DRK", "MRDK", 8.71889019012, -83.6417007446, 12, -6, "N", "America/Costa_Rica"}, + "NYT": {"Naypyidaw Airport", "Naypyidaw", "Burma", "NYT", "VYEL", 19.623500824, 96.2009963989, 302, 6.5, "U", "Asia/Rangoon"}, + "ZXB": {"Jan Mayensfield", "Jan Mayen", "Norway", "ZXB", "ENJA", 70.9611111111, -8.57583333333, 39, 1, "E", "Arctic/Longyearbyen"}, + "WUA": {"Wuhai Airport", "Wuhai", "China", "WUA", "ZBUH", 39.7934, 106.7993, 3650, 8, "U", "Asia/Shanghai"}, + "GYY": {"Gary Chicago International Airport", "Gary", "United States", "GYY", "KGYY", 41.61629867553711, -87.41280364990234, 591, -6, "A", "America/Chicago"}, + "BRD": {"Brainerd Lakes Regional Airport", "Brainerd", "United States", "BRD", "KBRD", 46.39830017, -94.13809967, 1232, -6, "U", "America/Chicago"}, + "LWB": {"Greenbrier Valley Airport", "Lewisburg", "United States", "LWB", "KLWB", 37.8582992554, -80.3994979858, 2302, -5, "U", "America/New_York"}, + "PGV": {"Pitt Greenville Airport", "Greenville", "United States", "PGV", "KPGV", 35.6352005, -77.38529968, 26, -5, "A", "America/New_York"}, + "CYF": {"Chefornak Airport", "Chefornak", "United States", "CYF", "PACK", 60.1492004395, -164.285995483, 40, -9, "A", "America/Anchorage"}, + "OXR": {"Oxnard Airport", "Oxnard", "United States", "OXR", "KOXR", 34.200801849365, -119.20700073242, 45, -8, "A", "America/Los_Angeles"}, + "TEN": {"Tongren Fenghuang Airport", "Tongren", "China", "TEN", "ZUTR", 27.883333, 109.308889, 0, 8, "U", "Asia/Shanghai"}, + "NIU": {"Naiu Airport", "Niau", "French Polynesia", "NIU", "NTKN", -16.1191, -146.3683, 50, -10, "U", "Pacific/Tahiti"}, + "SCH": {"Schenectady County Airport", "Scotia NY", "United States", "SCH", "KSCH", 42.852500915527, -73.928901672363, 378, -5, "A", "America/New_York"}, + "NBC": {"Begishevo Airport", "Nizhnekamsk", "Russia", "NBC", "UWKE", 55.564701080322266, 52.092498779296875, 643, 3, "N", "Europe/Moscow"}, + "IAO": {"Siargao Airport", "Siargao", "Philippines", "IAO", "RPNS", 9.8591003418, 126.013999939, 10, 8, "N", "Asia/Manila"}, + "LGO": {"Langeoog Airport", "Langeoog", "Germany", "LGO", "EDWL", 53.74250030517578, 7.497777938842773, 7, 1, "E", "Europe/Berlin"}, + "NLP": {"Nelspruit Airport", "Nelspruit", "South Africa", "NLP", "FANS", -25.5, 30.9137992859, 2875, 2, "U", "Africa/Johannesburg"}, + "CKC": {"Cherkasy International Airport", "Cherkassy", "Ukraine", "CKC", "UKKE", 49.41559982299805, 31.99530029296875, 375, 2, "E", "Europe/Kiev"}, + "UST": {"Northeast Florida Regional Airport", "St. Augustine Airport", "United States", "UST", "KSGJ", 29.959199905396, -81.339797973633, 10, -5, "A", "America/New_York"}, + "NLV": {"Mykolaiv International Airport", "Nikolayev", "Ukraine", "NLV", "UKON", 47.057899475097656, 31.9197998046875, 184, 2, "E", "Europe/Kiev"}, + "RHP": {"Ramechhap Airport", "Ramechhap", "Nepal", "RHP", "VNRC", 27.393999099731445, 86.0614013671875, 1555, 5.75, "U", "Asia/Katmandu"}, + "STS": {"Charles M. Schulz Sonoma County Airport", "Santa Rosa", "United States", "STS", "KSTS", 38.50899887, -122.8130035, 128, -8, "A", "America/Los_Angeles"}, + "ISM": {"Kissimmee Gateway Airport", "Kissimmee", "United States", "ISM", "KISM", 28.2898006439, -81.4371032715, 82, -5, "A", "America/New_York"}, + "LCQ": {"Lake City Gateway Airport", "Lake City", "United States", "LCQ", "KLCQ", 30.1819992065, -82.57689666750001, 201, -5, "A", "America/New_York"}, + "LGU": {"Logan-Cache Airport", "Logan", "United States", "LGU", "KLGU", 41.7911987305, -111.851997375, 4457, -7, "A", "America/Denver"}, + "BMC": {"Brigham City Airport", "Brigham City", "United States", "BMC", "KBMC", 41.5523986816, -112.06199646, 4229, -7, "A", "America/Denver"}, + "MLD": {"Malad City Airport", "Malad City", "United States", "MLD", "KMLD", 42.16659927368164, -112.2969970703125, 4503, -7, "A", "America/Denver"}, + "ASE": {"Aspen-Pitkin Co/Sardy Field", "Aspen", "United States", "ASE", "KASE", 39.22320175, -106.8690033, 7820, -7, "A", "America/Denver"}, + "ULV": {"Ulyanovsk Baratayevka Airport", "Ulyanovsk", "Russia", "ULV", "UWLL", 54.26829910279999, 48.226699829100006, 463, 4, "N", "Europe/Samara"}, + "ERV": {"Kerrville Municipal Louis Schreiner Field", "Kerrville", "United States", "ERV", "KERV", 29.9766998291, -99.08570098879999, 1617, -6, "A", "America/Chicago"}, + "GED": {"Sussex County Airport", "Georgetown", "United States", "GED", "KGED", 38.68920135, -75.35890198, 53, -5, "A", "America/New_York"}, + "ZSW": {"Prince Rupert/Seal Cove Seaplane Base", "Prince Rupert", "Canada", "ZSW", "CZSW", 54.33330154418945, -130.2830047607422, 0, -8, "A", "America/Vancouver"}, + "GBN": {"Great Bend Municipal Airport", "Great Bend", "United States", "GBN", "KGBD", 38.3442993164, -98.8591995239, 1887, -6, "A", "America/Chicago"}, + "HYS": {"Hays Regional Airport", "Hays", "United States", "HYS", "KHYS", 38.84220123, -99.27320099, 1999, -6, "A", "America/Chicago"}, + "SUS": {"Spirit of St Louis Airport", "Null", "United States", "SUS", "KSUS", 38.662101745605, -90.652000427246, 463, -6, "A", "America/Chicago"}, + "LYU": {"Ely Municipal Airport", "Ely", "United States", "LYU", "KELO", 47.82450104, -91.83070374, 1456, -6, "A", "America/Chicago"}, + "GPZ": {"Grand Rapids Itasca Co-Gordon Newstrom field", "Grand Rapids MN", "United States", "GPZ", "KGPZ", 47.21110153, -93.50980377, 1355, -6, "A", "America/Chicago"}, + "TVF": {"Thief River Falls Regional Airport", "Thief River Falls", "United States", "TVF", "KTVF", 48.06570053, -96.18499756, 1119, -6, "A", "America/Chicago"}, + "EGV": {"Eagle River Union Airport", "Eagle River", "United States", "EGV", "KEGV", 45.932300567599995, -89.26830291750001, 1642, -6, "A", "America/Chicago"}, + "ARV": {"Lakeland-Noble F. Lee Memorial field", "Minocqua - Woodruff", "United States", "ARV", "KARV", 45.92789841, -89.73090363, 1629, -6, "A", "America/Chicago"}, + "IKV": {"Ankeny Regional Airport", "Ankeny", "United States", "IKV", "KIKV", 41.69139862060547, -93.56639862060547, 910, -6, "A", "America/Chicago"}, + "YBV": {"Berens River Airport", "Berens River", "Canada", "YBV", "CYBV", 52.358898, -97.018303, 728, -6, "A", "America/Winnipeg"}, + "NGP": {"Corpus Christi Naval Air Station/Truax Field", "Corpus Christi", "United States", "NGP", "KNGP", 27.69260025, -97.29109955, 18, -6, "A", "America/Chicago"}, + "AVX": {"Catalina Airport", "Catalina Island", "United States", "AVX", "KAVX", 33.4049, -118.416, 1602, -8, "A", "America/Los_Angeles"}, + "MHV": {"Mojave Airport", "Mojave", "United States", "MHV", "KMHV", 35.05939865, -118.1520004, 2801, -8, "A", "America/Los_Angeles"}, + "ZIN": {"Interlaken Air Base", "Interlaken", "Switzerland", "ZIN", "LSMI", 46.6766014, 7.8790798, 0, 1, "E", "Europe/Zurich"}, + "INQ": {"Inisheer Aerodrome", "Inisheer", "Ireland", "INQ", "EIIR", 53.064701080322266, -9.510899543762207, 40, 0, "E", "Europe/Dublin"}, + "SWT": {"Strezhevoy Airport", "Strezhevoy", "Russia", "SWT", "UNSS", 60.709400177, 77.66000366210001, 164, 7, "N", "Asia/Krasnoyarsk"}, + "HUT": {"Hutchinson Municipal Airport", "Hutchinson", "United States", "HUT", "KHUT", 38.0654983521, -97.86060333250002, 1543, -6, "A", "America/Chicago"}, + "STJ": {"Rosecrans Memorial Airport", "Rosecrans", "United States", "STJ", "KSTJ", 39.771900177002, -94.909698486328, 826, -6, "A", "America/Chicago"}, + "NDZ": {"Whiting Field Naval Air Station South Airport", "Cuxhaven", "Germany", "NDZ", "KNDZ", 30.70439910888672, -87.02300262451172, 177, -6, "E", "America/Chicago"}, + "VOK": {"Volk Field", "Camp Douglas", "United States", "VOK", "KVOK", 43.938999176025, -90.253402709961, 912, -6, "A", "America/Chicago"}, + "GUC": {"Gunnison Crested Butte Regional Airport", "Gunnison", "United States", "GUC", "KGUC", 38.53390121, -106.9329987, 7680, -7, "A", "America/Denver"}, + "SIA": {"Xi'an Xiguan Airport", "Xi\\\\'AN", "China", "SIA", "ZLSN", 34.376701, 109.120003, 0, 8, "U", "Asia/Shanghai"}, + "TOA": {"Zamperini Field", "Torrance", "United States", "TOA", "KTOA", 33.803398132324, -118.33999633789, 103, -8, "A", "America/Los_Angeles"}, + "MBL": {"Manistee Co Blacker Airport", "Manistee", "United States", "MBL", "KMBL", 44.2723999, -86.24690247, 621, -5, "A", "America/New_York"}, + "PGD": {"Charlotte County Airport", "Punta Gorda", "United States", "PGD", "KPGD", 26.92020035, -81.9905014, 26, -5, "A", "America/New_York"}, + "WFK": {"Northern Aroostook Regional Airport", "Frenchville", "United States", "WFK", "KFVE", 47.2854995728, -68.31279754639999, 988, -5, "A", "America/New_York"}, + "JHW": {"Chautauqua County-Jamestown Airport", "Jamestown", "United States", "JHW", "KJHW", 42.15340042, -79.25800323, 1723, -5, "A", "America/New_York"}, + "YTM": {"La Macaza / Mont-Tremblant International Inc Airport", "Mont-Tremblant", "Canada", "YTM", "CYFJ", 46.409400939899996, -74.7799987793, 827, -5, "A", "America/Toronto"}, + "SME": {"Lake Cumberland Regional Airport", "Somerset", "United States", "SME", "KSME", 37.053398132299996, -84.6158981323, 927, -5, "A", "America/New_York"}, + "SHD": {"Shenandoah Valley Regional Airport", "Weyers Cave", "United States", "SHD", "KSHD", 38.2638015747, -78.8964004517, 1201, -5, "A", "America/New_York"}, + "DVL": {"Devils Lake Regional Airport", "Devils Lake", "United States", "DVL", "KDVL", 48.11420059, -98.90879822, 1456, -6, "A", "America/Chicago"}, + "DIK": {"Dickinson Theodore Roosevelt Regional Airport", "Dickinson", "United States", "DIK", "KDIK", 46.7974014282, -102.802001953, 2592, -7, "A", "America/Denver"}, + "SDY": {"Sidney Richland Municipal Airport", "Sidney", "United States", "SDY", "KSDY", 47.70690155, -104.1930008, 1985, -7, "A", "America/Denver"}, + "CDR": {"Chadron Municipal Airport", "Chadron", "United States", "CDR", "KCDR", 42.837600708, -103.095001221, 3297, -7, "A", "America/Denver"}, + "AIA": {"Alliance Municipal Airport", "Alliance", "United States", "AIA", "KAIA", 42.0531997681, -102.804000854, 3931, -7, "A", "America/Denver"}, + "MCK": {"Mc Cook Ben Nelson Regional Airport", "McCook", "United States", "MCK", "KMCK", 40.20629883, -100.5920029, 2583, -6, "A", "America/Chicago"}, + "MTH": {"The Florida Keys Marathon Airport", "Marathon", "United States", "MTH", "KMTH", 24.72610092, -81.05139923, 5, -5, "A", "America/New_York"}, + "GDV": {"Dawson Community Airport", "Glendive", "United States", "GDV", "KGDV", 47.13869858, -104.8069992, 2458, -7, "A", "America/Denver"}, + "OLF": {"L M Clayton Airport", "Wolf Point", "United States", "OLF", "KOLF", 48.094501495399996, -105.574996948, 1986, -7, "A", "America/Denver"}, + "WYS": {"Yellowstone Airport", "West Yellowstone", "United States", "WYS", "KWYS", 44.68840027, -111.1179962, 6649, -7, "A", "America/Denver"}, + "ALS": {"San Luis Valley Regional Bergman Field", "Alamosa", "United States", "ALS", "KALS", 37.434898, -105.866997, 7539, -7, "A", "America/Denver"}, + "CNY": {"Canyonlands Field", "Moab", "United States", "CNY", "KCNY", 38.75500107, -109.7549973, 4557, -7, "A", "America/Denver"}, + "ELY": {"Ely Airport Yelland Field", "Ely", "United States", "ELY", "KELY", 39.29970169, -114.8420029, 6259, -8, "A", "America/Los_Angeles"}, + "VEL": {"Vernal Regional Airport", "Vernal", "United States", "VEL", "KVEL", 40.4408989, -109.5100021, 5278, -7, "A", "America/Denver"}, + "SRR": {"Sierra Blanca Regional Airport", "Ruidoso", "United States", "SRR", "KSRR", 33.462799072266, -105.53500366211, 6814, -7, "A", "America/Denver"}, + "SOW": {"Show Low Regional Airport", "Show Low", "United States", "SOW", "KSOW", 34.265499115, -110.005996704, 6415, -7, "A", "America/Phoenix"}, + "MYL": {"McCall Municipal Airport", "McCall", "United States", "MYL", "KMYL", 44.88970184, -116.1009979, 5024, -7, "A", "America/Denver"}, + "SMN": {"Lemhi County Airport", "Salmon", "United States", "SMN", "KSMN", 45.1237983704, -113.880996704, 4043, -7, "A", "America/Denver"}, + "MMH": {"Mammoth Yosemite Airport", "Mammoth Lakes", "United States", "MMH", "KMMH", 37.62409973, -118.8379974, 7135, -8, "A", "America/Los_Angeles"}, + "FRD": {"Friday Harbor Airport", "Friday Harbor", "United States", "FRD", "KFHR", 48.5219993591, -123.024002075, 113, -8, "A", "America/Los_Angeles"}, + "ESD": {"Orcas Island Airport", "Eastsound", "United States", "ESD", "KORS", 48.7081985474, -122.910003662, 31, -8, "A", "America/Los_Angeles"}, + "AST": {"Astoria Regional Airport", "Astoria", "United States", "AST", "KAST", 46.158000946, -123.878997803, 15, -8, "A", "America/Los_Angeles"}, + "ONP": {"Newport Municipal Airport", "Newport", "United States", "ONP", "KONP", 44.58039855957031, -124.05799865722656, 160, -8, "A", "America/Los_Angeles"}, + "EMK": {"Emmonak Airport", "Emmonak", "United States", "EMK", "PAEM", 62.78609848, -164.4909973, 13, -9, "A", "America/Anchorage"}, + "UNK": {"Unalakleet Airport", "Unalakleet", "United States", "UNK", "PAUN", 63.88840103, -160.798996, 27, -9, "A", "America/Anchorage"}, + "UUK": {"Ugnu-Kuparuk Airport", "Kuparuk", "United States", "UUK", "PAKU", 70.33080291750001, -149.598007202, 67, -9, "A", "America/Anchorage"}, + "SHX": {"Shageluk Airport", "Shageluk", "United States", "SHX", "PAHX", 62.6922988892, -159.569000244, 79, -9, "A", "America/Anchorage"}, + "NUI": {"Nuiqsut Airport", "Nuiqsut", "United States", "NUI", "PAQT", 70.2099990845, -151.005996704, 38, -9, "A", "America/Anchorage"}, + "EEK": {"Eek Airport", "Eek", "United States", "EEK", "PAEE", 60.21367264, -162.0438843, 12, -9, "A", "America/Anchorage"}, + "KUK": {"Kasigluk Airport", "Kasigluk", "United States", "KUK", "PFKA", 60.87440109, -162.5240021, 48, -9, "A", "America/Anchorage"}, + "KWT": {"Kwethluk Airport", "Kwethluk", "United States", "KWT", "PFKW", 60.790298461899994, -161.444000244, 25, -9, "A", "America/Anchorage"}, + "KWK": {"Kwigillingok Airport", "Kwigillingok", "United States", "KWK", "PAGG", 59.876499, -163.169005, 18, -9, "A", "America/Anchorage"}, + "MLL": {"Marshall Don Hunter Sr Airport", "Marshall", "United States", "MLL", "PADM", 61.8642997742, -162.026000977, 103, -9, "A", "America/Anchorage"}, + "RSH": {"Russian Mission Airport", "Russian Mission", "United States", "RSH", "PARS", 61.7788848877, -161.319458008, 51, -9, "A", "America/Anchorage"}, + "KGK": {"Koliganek Airport", "Koliganek", "United States", "KGK", "PAJZ", 59.726600647, -157.259002686, 269, -9, "A", "America/Anchorage"}, + "KMO": {"Manokotak Airport", "Manokotak", "United States", "KMO", "PAMB", 58.990200042699996, -159.050003052, 100, -9, "A", "America/Anchorage"}, + "CIK": {"Chalkyitsik Airport", "Chalkyitsik", "United States", "CIK", "PACI", 66.6449966431, -143.740005493, 544, -9, "A", "America/Anchorage"}, + "EAA": {"Eagle Airport", "Eagle", "United States", "EAA", "PAEG", 64.77639771, -141.151001, 908, -9, "A", "America/Anchorage"}, + "HUS": {"Hughes Airport", "Hughes", "United States", "HUS", "PAHU", 66.04109955, -154.2630005, 299, -9, "A", "America/Anchorage"}, + "HSL": {"Huslia Airport", "Huslia", "United States", "HSL", "PAHL", 65.69789886, -156.3509979, 220, -9, "A", "America/Anchorage"}, + "NUL": {"Nulato Airport", "Nulato", "United States", "NUL", "PANU", 64.72930145263672, -158.07400512695312, 399, -9, "A", "America/Anchorage"}, + "VEE": {"Venetie Airport", "Venetie", "United States", "VEE", "PAVE", 67.0086975098, -146.365997314, 574, -9, "A", "America/Anchorage"}, + "WBQ": {"Beaver Airport", "Beaver", "United States", "WBQ", "PAWB", 66.362197876, -147.406997681, 359, -9, "A", "America/Anchorage"}, + "CEM": {"Central Airport", "Central", "United States", "CEM", "PACE", 65.57379913, -144.7830048, 937, -9, "A", "America/Anchorage"}, + "SHG": {"Shungnak Airport", "Shungnak", "United States", "SHG", "PAGH", 66.88809967041, -157.16200256348, 197, -9, "A", "America/Anchorage"}, + "IYK": {"Inyokern Airport", "Inyokern", "United States", "IYK", "KIYK", 35.65879822, -117.8300018, 2457, -8, "A", "America/Los_Angeles"}, + "VIS": {"Visalia Municipal Airport", "Visalia", "United States", "VIS", "KVIS", 36.3186988831, -119.392997742, 295, -8, "A", "America/Los_Angeles"}, + "MCE": {"Merced Regional Macready Field", "Merced", "United States", "MCE", "KMCE", 37.28469849, -120.5139999, 155, -8, "A", "America/Los_Angeles"}, + "CYR": {"Laguna de Los Patos International Airport", "Colonia", "Uruguay", "CYR", "SUCA", -34.456401824951, -57.770599365234, 66, -3, "U", "America/Montevideo"}, + "CPQ": {"Amarais Airport", "Campinas", "Brazil", "CPQ", "SDAM", -22.85919952392578, -47.10820007324219, 2008, -3, "S", "America/Sao_Paulo"}, + "TWB": {"Toowoomba Airport", "Toowoomba", "Australia", "TWB", "YTWB", -27.542800903320312, 151.91600036621094, 2086, 10, "N", "Australia/Brisbane"}, + "AYK": {"Arkalyk North Airport", "Arkalyk", "Kazakhstan", "AYK", "UAUR", 50.318599700927734, 66.95279693603516, 1266, 6, "U", "Asia/Qyzylorda"}, + "AGN": {"Angoon Seaplane Base", "Angoon", "United States", "AGN", "PAGN", 57.503601, -134.585007, 0, -9, "A", "America/Anchorage"}, + "ELV": {"Elfin Cove Seaplane Base", "Elfin Cove", "United States", "ELV", "PAEL", 58.195201873799995, -136.347000122, 0, -9, "A", "America/Anchorage"}, + "FNR": {"Funter Bay Seaplane Base", "Funter Bay", "United States", "FNR", "PANR", 58.2543983459, -134.897994995, 0, -9, "A", "America/Anchorage"}, + "HNH": {"Hoonah Airport", "Hoonah", "United States", "HNH", "PAOH", 58.0961, -135.410111, 19, -9, "A", "America/Anchorage"}, + "AFE": {"Kake Airport", "Kake", "United States", "AFE", "PAFE", 56.9613990784, -133.910003662, 172, -9, "A", "America/Anchorage"}, + "MTM": {"Metlakatla Seaplane Base", "Metakatla", "United States", "MTM", "PAMM", 55.13100051879883, -131.5780029296875, 0, -9, "A", "America/Anchorage"}, + "HYG": {"Hydaburg Seaplane Base", "Hydaburg", "United States", "HYG", "PAHY", 55.206298828125, -132.8280029296875, 0, -9, "A", "America/Anchorage"}, + "EGX": {"Egegik Airport", "Egegik", "United States", "EGX", "PAII", 58.1855010986, -157.375, 92, -9, "A", "America/Anchorage"}, + "KPV": {"Perryville Airport", "Perryville", "United States", "KPV", "PAPE", 55.905998, -159.162993, 29, -9, "A", "America/Anchorage"}, + "PIP": {"Pilot Point Airport", "Pilot Point", "United States", "PIP", "PAPN", 57.5803985596, -157.572006226, 57, -9, "A", "America/Anchorage"}, + "WSN": {"South Naknek Nr 2 Airport", "South Naknek", "United States", "WSN", "PFWS", 58.7033996582, -157.007995605, 162, -9, "A", "America/Anchorage"}, + "AKK": {"Akhiok Airport", "Akhiok", "United States", "AKK", "PAKH", 56.9387016296, -154.182998657, 44, -9, "A", "America/Anchorage"}, + "KYK": {"Karluk Airport", "Karluk", "United States", "KYK", "PAKY", 57.5671005249, -154.449996948, 137, -9, "A", "America/Anchorage"}, + "KLN": {"Larsen Bay Airport", "Larsen Bay", "United States", "KLN", "PALB", 57.5350990295, -153.977996826, 87, -9, "A", "America/Anchorage"}, + "ABL": {"Ambler Airport", "Ambler", "United States", "ABL", "PAFM", 67.106300354, -157.856994629, 334, -9, "A", "America/Anchorage"}, + "BKC": {"Buckland Airport", "Buckland", "United States", "BKC", "PABL", 65.9815979004, -161.149002075, 31, -9, "A", "America/Anchorage"}, + "IAN": {"Bob Baker Memorial Airport", "Kiana", "United States", "IAN", "PAIK", 66.9759979248, -160.43699646, 166, -9, "A", "America/Anchorage"}, + "OBU": {"Kobuk Airport", "Kobuk", "United States", "OBU", "PAOB", 66.9123001099, -156.897003174, 137, -9, "A", "America/Anchorage"}, + "ORV": {"Robert (Bob) Curtis Memorial Airport", "Noorvik", "United States", "ORV", "PFNO", 66.81790161, -161.0189972, 55, -9, "A", "America/Anchorage"}, + "WLK": {"Selawik Airport", "Selawik", "United States", "WLK", "PASK", 66.60009766, -159.9859924, 17, -9, "A", "America/Anchorage"}, + "KTS": {"Brevig Mission Airport", "Brevig Mission", "United States", "KTS", "PFKT", 65.3312988281, -166.466003418, 38, -9, "A", "America/Anchorage"}, + "ELI": {"Elim Airport", "Elim", "United States", "ELI", "PFEL", 64.61470032, -162.2720032, 162, -9, "A", "America/Anchorage"}, + "GLV": {"Golovin Airport", "Golovin", "United States", "GLV", "PAGL", 64.5504989624, -163.007003784, 59, -9, "A", "America/Anchorage"}, + "TLA": {"Teller Airport", "Teller", "United States", "TLA", "PATE", 65.2404022217, -166.339004517, 294, -9, "A", "America/Anchorage"}, + "WAA": {"Wales Airport", "Wales", "United States", "WAA", "PAIW", 65.622593, -168.095, 22, -9, "A", "America/Anchorage"}, + "WMO": {"White Mountain Airport", "White Mountain", "United States", "WMO", "PAWM", 64.689201355, -163.412994385, 267, -9, "A", "America/Anchorage"}, + "KKA": {"Koyuk Alfred Adams Airport", "Koyuk", "United States", "KKA", "PAKK", 64.9394989014, -161.154006958, 154, -9, "A", "America/Anchorage"}, + "SMK": {"St Michael Airport", "St. Michael", "United States", "SMK", "PAMK", 63.49010086, -162.1100006, 98, -9, "A", "America/Anchorage"}, + "SKK": {"Shaktoolik Airport", "Shaktoolik", "United States", "SKK", "PFSH", 64.37110138, -161.223999, 24, -9, "A", "America/Anchorage"}, + "TNC": {"Tin City Long Range Radar Station Airport", "Tin City", "United States", "TNC", "PATC", 65.56310272, -167.9219971, 271, -9, "A", "America/Anchorage"}, + "AKB": {"Atka Airport", "Atka", "United States", "AKB", "PAAK", 52.22029877, -174.2059937, 57, -10, "A", "America/Adak"}, + "CYT": {"Yakataga Airport", "Yakataga", "United States", "CYT", "PACY", 60.082000732400004, -142.492996216, 12, -9, "A", "America/Anchorage"}, + "AUK": {"Alakanuk Airport", "Alakanuk", "United States", "AUK", "PAUK", 62.680042266799994, -164.659927368, 10, -9, "A", "America/Anchorage"}, + "KPN": {"Kipnuk Airport", "Kipnuk", "United States", "KPN", "PAKI", 59.932998657199995, -164.031005859, 11, -9, "A", "America/Anchorage"}, + "KFP": {"False Pass Airport", "False Pass", "United States", "KFP", "PAKF", 54.8474006652832, -163.41000366210938, 20, -9, "A", "America/Anchorage"}, + "NLG": {"Nelson Lagoon Airport", "Nelson Lagoon", "United States", "NLG", "PAOU", 56.007499694824, -161.16000366211, 14, -9, "A", "America/Anchorage"}, + "PML": {"Port Moller Airport", "Cold Bay", "United States", "PML", "PAAL", 56.0060005188, -160.561004639, 20, -9, "A", "America/Anchorage"}, + "KLW": {"Klawock Airport", "Klawock", "United States", "KLW", "PAKW", 55.579200744599994, -133.076004028, 80, -9, "A", "America/Anchorage"}, + "KWN": {"Quinhagak Airport", "Quinhagak", "United States", "KWN", "PAQH", 59.75510025, -161.8450012, 42, -9, "A", "America/Anchorage"}, + "KOT": {"Kotlik Airport", "Kotlik", "United States", "KOT", "PFKO", 63.0306015015, -163.533004761, 15, -9, "A", "America/Anchorage"}, + "KYU": {"Koyukuk Airport", "Koyukuk", "United States", "KYU", "PFKU", 64.8760986328, -157.727005005, 149, -9, "A", "America/Anchorage"}, + "SCM": {"Scammon Bay Airport", "Scammon Bay", "United States", "SCM", "PACM", 61.845298767100005, -165.570999146, 14, -9, "A", "America/Anchorage"}, + "NNL": {"Nondalton Airport", "Nondalton", "United States", "NNL", "PANO", 59.980201721191, -154.8390045166, 314, -9, "A", "America/Anchorage"}, + "KKH": {"Kongiganak Airport", "Kongiganak", "United States", "KKH", "PADY", 59.960800170899994, -162.880996704, 30, -9, "A", "America/Anchorage"}, + "NIB": {"Nikolai Airport", "Nikolai", "United States", "NIB", "PAFS", 63.01860046386719, -154.35800170898438, 441, -9, "A", "America/Anchorage"}, + "AKI": {"Akiak Airport", "Akiak", "United States", "AKI", "PFAK", 60.9029006958, -161.231002808, 30, -9, "A", "America/Anchorage"}, + "AIN": {"Wainwright Airport", "Wainwright", "United States", "AIN", "PAWI", 70.6380004883, -159.994995117, 41, -9, "A", "America/Anchorage"}, + "APZ": {"Zapala Airport", "ZAPALA", "Argentina", "APZ", "SAHZ", -38.975498, -70.113602, 3330, -3, "N", "America/Argentina/Salta"}, + "RDS": {"Rincon De Los Sauces Airport", "Rincon de los Sauces", "Argentina", "RDS", "SAHS", -37.3905982971, -68.9041976929, 1968, -3, "N", "America/Argentina/Salta"}, + "PNT": {"Tte. Julio Gallardo Airport", "Puerto Natales", "Chile", "PNT", "SCNT", -51.67150115966797, -72.52839660644531, 217, -4, "S", "America/Santiago"}, + "SGV": {"Sierra Grande Airport", "Sierra Grande", "Argentina", "SGV", "SAVS", -41.5917015076, -65.33940124509999, 688, -3, "N", "America/Argentina/Salta"}, + "IGB": {"Cabo F.A.A. H. R. Bordón Airport", "Ingeniero Jacobacci", "Argentina", "IGB", "SAVJ", -41.320899963399995, -69.5748977661, 2925, -3, "N", "America/Argentina/Salta"}, + "NCN": {"Chenega Bay Airport", "Chenega", "United States", "NCN", "PFCB", 60.0773010254, -147.992004395, 72, -9, "A", "America/Anchorage"}, + "TKJ": {"Tok Junction Airport", "Tok", "United States", "TKJ", "PFTO", 63.32949829, -142.9539948, 1639, -9, "A", "America/Anchorage"}, + "IRC": {"Circle City /New/ Airport", "Circle", "United States", "IRC", "PACR", 65.830498, -144.076008, 613, -9, "A", "America/Anchorage"}, + "SLQ": {"Sleetmute Airport", "Sleetmute", "United States", "SLQ", "PASL", 61.7005004883, -157.166000366, 190, -9, "A", "America/Anchorage"}, + "HKB": {"Healy River Airport", "Healy", "United States", "HKB", "PAHV", 63.8661994934082, -148.968994140625, 1263, -9, "A", "America/Anchorage"}, + "AQC": {"Klawock Seaplane Base", "Klawock", "United States", "AQC", "PAQC", 55.5546989440918, -133.1020050048828, 0, -9, "A", "America/Anchorage"}, + "MHM": {"Minchumina Airport", "Lake Minchumina", "United States", "MHM", "PAMH", 63.88600158691406, -152.302001953125, 678, -9, "A", "America/Anchorage"}, + "MLY": {"Manley Hot Springs Airport", "Manley Hot Springs", "United States", "MLY", "PAML", 64.99759674069999, -150.643997192, 270, -9, "A", "America/Anchorage"}, + "YSO": {"Postville Airport", "Postville", "Canada", "YSO", "CCD4", 54.9105, -59.78507, 193, -4, "A", "America/Halifax"}, + "YWB": {"Kangiqsujuaq (Wakeham Bay) Airport", "Kangiqsujuaq", "Canada", "YWB", "CYKG", 61.5886001587, -71.929397583, 501, -5, "A", "America/Toronto"}, + "YTF": {"Alma Airport", "Alma", "Canada", "YTF", "CYTF", 48.50889968869999, -71.64189910889999, 445, -5, "A", "America/Toronto"}, + "YGV": {"Havre St Pierre Airport", "Havre-Saint-Pierre", "Canada", "YGV", "CYGV", 50.281898498535156, -63.61140060424805, 124, -5, "A", "America/Toronto"}, + "YXK": {"Rimouski Airport", "Rimouski", "Canada", "YXK", "CYXK", 48.47809982299805, -68.49690246582031, 82, -5, "A", "America/Toronto"}, + "XTL": {"Tadoule Lake Airport", "Tadoule Lake", "Canada", "XTL", "CYBQ", 58.7061, -98.512199, 923, -6, "A", "America/Winnipeg"}, + "XLB": {"Lac Brochet Airport", "Lac Brochet", "Canada", "XLB", "CZWH", 58.6175003052, -101.46900177, 1211, -6, "A", "America/Winnipeg"}, + "XSI": {"South Indian Lake Airport", "South Indian Lake", "Canada", "XSI", "CZSN", 56.7928009033, -98.9072036743, 951, -6, "A", "America/Winnipeg"}, + "YBT": {"Brochet Airport", "Brochet", "Canada", "YBT", "CYBT", 57.8894, -101.679001, 1136, -6, "A", "America/Winnipeg"}, + "ZGR": {"Little Grand Rapids Airport", "Little Grand Rapids", "Canada", "ZGR", "CZGR", 52.04560089111328, -95.4657974243164, 1005, -6, "A", "America/Winnipeg"}, + "YCR": {"Cross Lake (Charlie Sinclair Memorial) Airport", "Cross Lake", "Canada", "YCR", "CYCR", 54.610599517822266, -97.76080322265625, 709, -6, "A", "America/Winnipeg"}, + "YRS": {"Red Sucker Lake Airport", "Red Sucker Lake", "Canada", "YRS", "CYRS", 54.167198181152344, -93.55719757080078, 729, -6, "A", "America/Winnipeg"}, + "YOP": {"Rainbow Lake Airport", "Rainbow Lake", "Canada", "YOP", "CYOP", 58.49140167236328, -119.40799713134766, 1759, -7, "A", "America/Edmonton"}, + "YBY": {"Bonnyville Airport", "Bonnyville", "Canada", "YBY", "CYBF", 54.304199, -110.744003, 1836, -7, "A", "America/Edmonton"}, + "ZNA": {"Nanaimo Harbour Water Airport", "Nanaimo", "Canada", "ZNA", "CAC8", 49.1833000183, -123.949996948, 0, -8, "A", "America/Vancouver"}, + "YGG": {"Ganges Seaplane Base", "Ganges", "Canada", "YGG", "CAX6", 48.8545, -123.4969, 0, -8, "A", "America/Vancouver"}, + "YJM": {"Fort St James Airport", "Fort St. James", "Canada", "YJM", "CYJM", 54.39720153808594, -124.26300048828125, 2364, -8, "A", "America/Vancouver"}, + "YDT": {"Boundary Bay Airport", "Boundary Bay", "Canada", "YDT", "CZBB", 49.0741996765, -123.012001038, 6, -8, "A", "America/Vancouver"}, + "ZEL": {"Denny Island Airport", "Bella Bella", "Canada", "ZEL", "CYJQ", 52.139702, -128.063997, 162, -8, "A", "America/Vancouver"}, + "YFJ": {"Wekweètì Airport", "Wekweeti", "Canada", "YFJ", "CFJ2", 64.190804, -114.077002, 1208, -7, "A", "America/Edmonton"}, + "RNI": {"Corn Island", "Corn Island", "Nicaragua", "RNI", "MNCI", 12.1628999710083, -83.06379699707031, 1, -6, "U", "America/Managua"}, + "BZA": {"San Pedro Airport", "Bonanza", "Nicaragua", "BZA", "MNBZ", 13.949999809265137, -84.5999984741211, 600, -6, "U", "America/Managua"}, + "RFS": {"Rosita Airport", "Rosita", "Nicaragua", "RFS", "MNRT", 13.889699935913086, -84.40889739990234, 193, -6, "U", "America/Managua"}, + "SIU": {"Siuna", "Siuna", "Nicaragua", "SIU", "MNSI", 13.727222442626953, -84.77777862548828, 606, -6, "U", "America/Managua"}, + "WSP": {"Waspam Airport", "Waspam", "Nicaragua", "WSP", "MNWP", 14.7391996383667, -83.96939849853516, 98, -6, "U", "America/Managua"}, + "PLD": {"Playa Samara/Carrillo Airport", "Carrillo", "Costa Rica", "PLD", "MRCR", 9.8705101013184, -85.481399536133, 50, -6, "U", "America/Costa_Rica"}, + "COZ": {"Constanza - Expedición 14 de Junio National Airport", "Constanza", "Dominican Republic", "COZ", "MDCZ", 18.907499313354, -70.721900939941, 3950, -4, "U", "America/Santo_Domingo"}, + "NEG": {"Negril Airport", "Negril", "Jamaica", "NEG", "MKNG", 18.34280014038086, -78.33209991455078, 9, -5, "U", "America/Jamaica"}, + "RVR": {"José Aponte de la Torre Airport", "Ceiba", "Puerto Rico", "RVR", "TJRV", 18.245300293, -65.6434020996, 38, -4, "A", "America/Puerto_Rico"}, + "SPB": {"Charlotte Amalie Harbor Seaplane Base", "Charlotte Amalie", "Virgin Islands", "SPB", "VI22", 18.338600158691406, -64.9406967163086, 0, -4, "A", "America/St_Thomas"}, + "ARR": {"D. Casimiro Szlapelis Airport", "Alto Rio Senguer", "Argentina", "ARR", "SAVR", -45.013599, -70.812202, 2286, -3, "N", "America/Catamarca"}, + "JSM": {"Jose De San Martin Airport", "Jose de San Martin", "Argentina", "JSM", "SAWS", -44.048599243199995, -70.4589004517, 2407, -3, "N", "America/Catamarca"}, + "UYU": {"Uyuni Airport", "Uyuni", "Bolivia", "UYU", "SLUY", -20.446300506599997, -66.8483963013, 11136, -4, "U", "America/La_Paz"}, + "ABF": {"Abaiang Airport", "Abaiang Atoll", "Kiribati", "ABF", "NGAB", 1.798609972000122, 173.04100036621094, 0, 12, "U", "Pacific/Tarawa"}, + "ABN": {"Albina Airport", "Albina", "Suriname", "ABN", "SMBN", 5.512720108032227, -54.05009841918945, 19, -3, "U", "America/Paramaribo"}, + "DRJ": {"Drietabbetje Airport", "Drietabbetje", "Suriname", "DRJ", "SMDA", 4.11666679382, -54.666671752899994, 236, -3, "U", "America/Paramaribo"}, + "ICK": {"Nieuw Nickerie Airport", "Nieuw Nickerie", "Suriname", "ICK", "SMNI", 5.955560207366943, -57.039398193359375, 9, -3, "U", "America/Paramaribo"}, + "OEM": {"Vincent Fayks Airport", "Paloemeu", "Suriname", "OEM", "SMPA", 3.3452799320220947, -55.442501068115234, 714, -3, "U", "America/Paramaribo"}, + "SMZ": {"Stoelmanseiland Airport", "Stoelmans Eiland", "Suriname", "SMZ", "SMST", 4.349999904632568, -54.41666793823242, 187, -3, "U", "America/Paramaribo"}, + "TOT": {"Totness Airport", "Totness", "Suriname", "TOT", "SMCO", 5.865829944610596, -56.32749938964844, 10, -3, "U", "America/Paramaribo"}, + "AGI": {"Wageningen Airstrip", "Wageningen", "Suriname", "AGI", "SMWA", 5.76666688919, -56.6333312988, 6, -3, "U", "America/Paramaribo"}, + "CSC": {"Codela Airport", "Guapiles", "Costa Rica", "CSC", "MRCA", 10.4139995575, -85.0916976929, 328, -6, "U", "America/Costa_Rica"}, + "ORJ": {"Orinduik Airport", "Orinduik", "Guyana", "ORJ", "SYOR", 4.725269794464111, -60.03499984741211, 1797, -4, "U", "America/Guyana"}, + "NAI": {"Annai Airport", "Annai", "Guyana", "NAI", "SYAN", 3.959439992904663, -59.12419891357422, 301, -4, "U", "America/Guyana"}, + "IMB": {"Imbaimadai Airport", "Imbaimadai", "Guyana", "IMB", "SYIB", 5.7081098556518555, -60.2942008972168, 1646, -4, "U", "America/Guyana"}, + "KAR": {"Kamarang Airport", "Kamarang", "Guyana", "KAR", "SYKM", 5.865340232849121, -60.614200592041016, 1601, -4, "U", "America/Guyana"}, + "USI": {"Mabaruma Airport", "Mabaruma", "Guyana", "USI", "SYMB", 8.199999809265137, -59.78329849243164, 45, -4, "U", "America/Guyana"}, + "MHA": {"Mahdia Airport", "Mahdia", "Guyana", "MHA", "SYMD", 5.277490139007568, -59.151100158691406, 300, -4, "U", "America/Guyana"}, + "PJC": {"Dr Augusto Roberto Fuster International Airport", "Pedro Juan Caballero", "Paraguay", "PJC", "SGPJ", -22.639999389648438, -55.83000183105469, 1873, -4, "U", "America/Asuncion"}, + "ACD": {"Alcides Fernández Airport", "Acandi", "Colombia", "ACD", "SKAD", 8.51667, -77.3, 50, -5, "U", "America/Bogota"}, + "RVE": {"Los Colonizadores Airport", "Saravena", "Colombia", "RVE", "SKSA", 6.951868, -71.857179, 680, -5, "U", "America/Bogota"}, + "VGZ": {"Villa Garzón Airport", "Villa Garzon", "Colombia", "VGZ", "SKVG", 0.978767, -76.6056, 1248, -5, "U", "America/Bogota"}, + "EBG": {"El Bagre Airport", "El Bagre", "Colombia", "EBG", "SKEB", 7.59647, -74.8089, 180, -5, "U", "America/Bogota"}, + "CAQ": {"Juan H White Airport", "Caucasia", "Colombia", "CAQ", "SKCU", 7.96847, -75.1985, 174, -5, "U", "America/Bogota"}, + "COG": {"Mandinga Airport", "Condoto", "Colombia", "COG", "SKCD", 5.08333, -76.7, 213, -5, "U", "America/Bogota"}, + "TLU": {"Golfo de Morrosquillo Airport", "Tolu", "Colombia", "TLU", "SKTL", 9.50945, -75.5854, 16, -5, "U", "America/Bogota"}, + "CFB": {"Cabo Frio Airport", "Cabo Frio", "Brazil", "CFB", "SBCB", -22.921699523900003, -42.074298858599995, 23, -3, "S", "America/Sao_Paulo"}, + "OPS": {"Presidente João Batista Figueiredo Airport", "Sinop", "Brazil", "OPS", "SWSI", -11.885000228881836, -55.58610916137695, 1227, -4, "S", "America/Campo_Grande"}, + "GRP": {"Gurupi Airport", "Gurupi", "Brazil", "GRP", "SWGI", -11.73960018157959, -49.132198333740234, 1148, -3, "S", "America/Fortaleza"}, + "CMP": {"Santana do Araguaia Airport", "Santana do Araguaia", "Brazil", "CMP", "SNKE", -9.31997013092041, -50.32849884033203, 597, -3, "S", "America/Belem"}, + "BVS": {"Breves Airport", "Breves", "Brazil", "BVS", "SNVS", -1.6365300416946411, -50.443599700927734, 98, -3, "S", "America/Belem"}, + "SFK": {"Soure Airport", "Soure", "Brazil", "SFK", "SNSW", -0.6994310021400452, -48.520999908447266, 43, -3, "S", "America/Belem"}, + "PIN": {"Parintins Airport", "Parintins", "Brazil", "PIN", "SWPI", -2.6730198860168457, -56.777198791503906, 87, -4, "S", "America/Boa_Vista"}, + "BRA": {"Barreiras Airport", "Barreiras", "Brazil", "BRA", "SNBR", -12.078900337219238, -45.00899887084961, 2447, -3, "S", "America/Fortaleza"}, + "STZ": {"Santa Terezinha Airport", "Santa Terezinha", "Brazil", "STZ", "SWST", -10.4647216796875, -50.518611907958984, 663, -4, "S", "America/Campo_Grande"}, + "MQH": {"Minaçu Airport", "Minacu", "Brazil", "MQH", "SBMC", -13.5491, -48.195301, 1401, -3, "S", "America/Sao_Paulo"}, + "AUX": {"Araguaína Airport", "Araguaina", "Brazil", "AUX", "SWGN", -7.22787, -48.240501, 771, -3, "S", "America/Fortaleza"}, + "NVP": {"Novo Aripuanã Airport", "Novo Aripuana", "Brazil", "NVP", "SWNA", -5.118030071258545, -60.364898681640625, 118, -4, "S", "America/Boa_Vista"}, + "LVR": {"Fazenda Colen Airport", "Lucas do Rio Verde", "Brazil", "LVR", "SWFE", -13.314443588256836, -56.11277770996094, 1345, -4, "S", "America/Campo_Grande"}, + "FRC": {"Franca Airport", "Franca", "Brazil", "FRC", "SIMK", -20.592199325561523, -47.38290023803711, 3292, -3, "S", "America/Sao_Paulo"}, + "DOU": {"Dourados Airport", "Dourados", "Brazil", "DOU", "SSDO", -22.2019, -54.926601, 1503, -4, "S", "America/Campo_Grande"}, + "LBR": {"Lábrea Airport", "Labrea", "Brazil", "LBR", "SWLB", -7.278969764709473, -64.76950073242188, 190, -4, "S", "America/Boa_Vista"}, + "ROO": {"Maestro Marinho Franco Airport", "Rondonopolis", "Brazil", "ROO", "SWRD", -16.586, -54.7248, 1467, -4, "S", "America/Campo_Grande"}, + "GPB": {"Tancredo Thomas de Faria Airport", "Guarapuava", "Brazil", "GPB", "SBGU", -25.3875007629, -51.520198822, 3494, -3, "S", "America/Sao_Paulo"}, + "JCB": {"Santa Terezinha Airport", "Joacaba", "Brazil", "JCB", "SSJA", -27.1714000702, -51.5532989502, 2546, -3, "S", "America/Sao_Paulo"}, + "RVD": {"General Leite de Castro Airport", "Rio Verde", "Brazil", "RVD", "SWLC", -17.8347225189209, -50.956111907958984, 2464, -3, "S", "America/Sao_Paulo"}, + "AAX": {"Romeu Zema Airport", "Araxa", "Brazil", "AAX", "SBAX", -19.563199996948, -46.960399627686, 3276, -3, "S", "America/Sao_Paulo"}, + "MBZ": {"Maués Airport", "Maues", "Brazil", "MBZ", "SWMW", -3.37217, -57.7248, 69, -4, "S", "America/Boa_Vista"}, + "RBB": {"Borba Airport", "Borba", "Brazil", "RBB", "SWBR", -4.4063401222229, -59.60240173339844, 293, -4, "S", "America/Boa_Vista"}, + "CIZ": {"Coari Airport", "Coari", "Brazil", "CIZ", "SWKO", -4.134059906005859, -63.132598876953125, 131, -4, "S", "America/Boa_Vista"}, + "BAZ": {"Barcelos Airport", "Barcelos", "Brazil", "BAZ", "SWBC", -0.981292, -62.919601, 112, -4, "S", "America/Boa_Vista"}, + "DMT": {"Diamantino Airport", "Diamantino", "Brazil", "DMT", "SWDM", -14.376899719238281, -56.40039825439453, 1476, -4, "S", "America/Campo_Grande"}, + "GNM": {"Guanambi Airport", "Guanambi", "Brazil", "GNM", "SNGI", -14.208200454711914, -42.74610137939453, 1815, -3, "S", "America/Fortaleza"}, + "QDJ": {"Tsletsi Airport", "Djelfa", "Algeria", "QDJ", "DAFI", 34.6657, 3.351, 3753, 1, "U", "Africa/Algiers"}, + "NZA": {"Nzagi Airport", "Nzagi", "Angola", "NZA", "FNZG", -7.716939926149999, 21.358200073200003, 2431, 1, "U", "Africa/Luanda"}, + "LBZ": {"Lucapa Airport", "Lucapa", "Angola", "LBZ", "FNLK", -8.445727348330001, 20.7320861816, 3029, 1, "U", "Africa/Luanda"}, + "AMC": {"Am Timan Airport", "Am Timan", "Chad", "AMC", "FTTN", 11.0340003967, 20.274000167799997, 1420, 1, "U", "Africa/Ndjamena"}, + "GSQ": {"Shark El Oweinat International Airport", "Sharq Al-Owainat", "Egypt", "GSQ", "HEOW", 22.5856990814209, 28.71660041809082, 859, 2, "U", "Africa/Cairo"}, + "MRB": {"Eastern WV Regional Airport/Shepherd Field", "Martinsburg", "United States", "MRB", "KMRB", 39.40190125, -77.98459625, 565, -5, "A", "America/New_York"}, + "AWA": {"Awassa Airport", "Awasa", "Ethiopia", "AWA", "HALA", 7.066999912261963, 38.5, 5450, 3, "U", "Africa/Addis_Ababa"}, + "JIJ": {"Wilwal International Airport", "Jijiga", "Ethiopia", "JIJ", "HAJJ", 9.3325, 42.9121, 5954, 3, "U", "Africa/Addis_Ababa"}, + "MKS": {"Mekane Selam Airport", "Mekane Selam", "Ethiopia", "MKS", "HAMA", 10.7254, 38.7415, 8405, 3, "U", "Africa/Addis_Ababa"}, + "DBM": {"Debra Marcos Airport", "Debre Marqos", "Ethiopia", "DBM", "HADM", 10.350000381469727, 37.71699905395508, 8136, 3, "U", "Africa/Addis_Ababa"}, + "DBT": {"Debre Tabor Airport", "Debre Tabor", "Ethiopia", "DBT", "HADT", 11.967000007629395, 38, 8490, 3, "U", "Africa/Addis_Ababa"}, + "QHR": {"Harar Meda Airport", "Debre Zeyit", "Ethiopia", "QHR", "HAHM", 8.7163, 39.0059, 6201, 3, "U", "Africa/Addis_Ababa"}, + "GOB": {"Robe Airport", "Goba", "Ethiopia", "GOB", "HAGB", 7.1160634, 40.0463033, 7892, 3, "U", "Africa/Addis_Ababa"}, + "MYB": {"Mayumba Airport", "Mayumba", "Gabon", "MYB", "FOOY", -3.4584197998046875, 10.674076080322266, 13, 1, "U", "Africa/Libreville"}, + "MRE": {"Mara Serena Lodge Airstrip", "Masai Mara", "Kenya", "MRE", "HKMS", -1.406111, 35.008057, 5200, 3, "U", "Africa/Nairobi"}, + "RBX": {"Rumbek Airport", "Rumbek", "Sudan", "RBX", "HSMK", 6.8249998092699995, 29.6690006256, 1378, 3, "U", "Africa/Juba"}, + "CPA": {"Cape Palmas Airport", "Greenville", "Liberia", "CPA", "GLCP", 4.3790202140808105, -7.6969499588012695, 20, 0, "U", "Africa/Monrovia"}, + "MAX": {"Ouro Sogui Airport", "Matam", "Senegal", "MAX", "GOSM", 15.593600273132324, -13.322799682617188, 85, 0, "U", "Africa/Dakar"}, + "WHF": {"Wadi Halfa Airport", "Wadi Halfa", "Sudan", "WHF", "HSSW", 21.802698135375977, 31.521577835083008, 961, 3, "U", "Africa/Khartoum"}, + "PAF": {"Bugungu Airport", "Pakuba", "Uganda", "PAF", "HUPA", 2.2, 31.55, 2472, 3, "U", "Africa/Kampala"}, + "HTY": {"Hatay Airport", "Hatay", "Turkey", "HTY", "LTDA", 36.36277771, 36.282222747800006, 269, 3, "U", "Europe/Istanbul"}, + "RVV": {"Raivavae Airport", "Raivavae", "French Polynesia", "RVV", "NTAV", -23.885200500499998, -147.662002563, 7, -10, "N", "Pacific/Tahiti"}, + "ILD": {"Lleida-Alguaire Airport", "Lleida", "Spain", "ILD", "LEDA", 41.728185, 0.535023, 1170, 1, "E", "Europe/Madrid"}, + "BIU": {"Bildudalur Airport", "Bildudalur", "Iceland", "BIU", "BIBD", 65.64129638671875, -23.546199798583984, 18, 0, "N", "Atlantic/Reykjavik"}, + "GJR": {"Gjögur Airport", "Gjogur", "Iceland", "GJR", "BIGJ", 65.99530029296875, -21.326900482177734, 83, 0, "N", "Atlantic/Reykjavik"}, + "SAK": {"Sauðárkrókur Airport", "Saudarkrokur", "Iceland", "SAK", "BIKR", 65.73169708249999, -19.572799682599996, 8, 0, "N", "Atlantic/Reykjavik"}, + "IIA": {"Inishmaan Aerodrome", "Inishmaan", "Ireland", "IIA", "EIMN", 53.09299850463867, -9.568059921264648, 15, 0, "U", "Europe/Dublin"}, + "TDK": {"Ak Bashat Airport", "Taldykorgan", "Kazakhstan", "TDK", "UAAT", 42.88958, 73.602004, 0, 6, "U", "Asia/Bishkek"}, + "ULG": {"Ulgii Mongolei Airport", "Olgii", "Mongolia", "ULG", "ZMUL", 48.9933013916, 89.9225006104, 5732, 7, "U", "Asia/Hovd"}, + "VGD": {"Vologda Airport", "Vologda", "Russia", "VGD", "ULWW", 59.282501220703125, 39.944400787353516, 387, 3, "N", "Europe/Moscow"}, + "LDG": {"Leshukonskoye Airport", "Arkhangelsk", "Russia", "LDG", "ULAL", 64.8960037231, 45.7229995728, 220, 3, "N", "Europe/Moscow"}, + "HSK": {"Huesca/Pirineos Airport", "Huesca", "Spain", "HSK", "LEHC", 42.0760993958, -0.316666990519, 1768, 1, "U", "Europe/Madrid"}, + "CQM": {"Ciudad Real Central Airport", "Ciudad Real", "Spain", "CQM", "LERL", 38.8563888889, -3.97, 0, 1, "U", "Europe/Madrid"}, + "NJF": {"Al Najaf International Airport", "Najaf", "Iraq", "NJF", "ORNI", 31.989853, 44.404317, 103, 3, "U", "Asia/Baghdad"}, + "CSA": {"Colonsay Airstrip", "Colonsay", "United Kingdom", "CSA", "EGEY", 56.0574989319, -6.243060112, 44, 0, "U", "Europe/London"}, + "RKH": {"Rock Hill - York County Airport", "Rock Hill", "United States", "RKH", "KUZA", 34.9878006, -81.05719757, 666, -5, "A", "America/New_York"}, + "AGC": {"Allegheny County Airport", "Pittsburgh", "United States", "AGC", "KAGC", 40.354400634765625, -79.9301986694336, 1252, -5, "A", "America/New_York"}, + "FTY": {"Fulton County Airport Brown Field", "Atlanta", "United States", "FTY", "KFTY", 33.7790985107, -84.5214004517, 841, -5, "A", "America/New_York"}, + "TSO": {"Tresco Heliport", "Tresco", "United Kingdom", "TSO", "EGHT", 49.94559860229492, -6.331389904022217, 20, 0, "U", "Europe/London"}, + "TII": {"Tarin Kowt Airport", "Tarin Kowt", "Afghanistan", "TII", "OATN", 32.604198455799995, 65.8657989502, 4429, 4.5, "U", "Asia/Kabul"}, + "ZAJ": {"Zaranj Airport", "Zaranj", "Afghanistan", "ZAJ", "OAZJ", 30.972222, 61.865833, 1572, 4.5, "U", "Asia/Kabul"}, + "CCN": {"Chakcharan Airport", "Chaghcharan", "Afghanistan", "CCN", "OACC", 34.53300094604492, 65.26699829101562, 7383, 4.5, "U", "Asia/Kabul"}, + "FUG": {"Fuyang Xiguan Airport", "Fuyang", "China", "FUG", "ZSFY", 32.882157, 115.734364, 104, 8, "U", "Asia/Shanghai"}, + "LCX": {"Longyan Guanzhishan Airport", "Longyan", "China", "LCX", "ZSLD", 25.6746997833, 116.747001648, 1225, 8, "U", "Asia/Shanghai"}, + "ACX": {"Xingyi Airport", "Xingyi", "China", "ACX", "ZUYI", 25.0863888889, 104.959444444, 4150, 8, "U", "Asia/Shanghai"}, + "HZH": {"Liping Airport", "Liping", "China", "HZH", "ZUNP", 26.32217, 109.1499, 1620, 8, "U", "Asia/Shanghai"}, + "OSU": {"Ohio State University Airport", "Columbus", "United States", "OSU", "KOSU", 40.0797996521, -83.072998046875, 905, -5, "U", "America/New_York"}, + "ADS": {"Addison Airport", "Addison", "United States", "ADS", "KADS", 32.9686012268, -96.8364028931, 644, -6, "A", "America/Chicago"}, + "DTS": {"Destin Executive Airport", "Destin", "United States", "DTS", "KDTS", 30.40010071, -86.47149658, 23, -6, "A", "America/Chicago"}, + "KHE": {"Chernobayevka Airport", "Kherson", "Ukraine", "KHE", "UKOH", 46.6758003235, 32.506401062, 148, 2, "E", "Europe/Kiev"}, + "SZS": {"Ryans Creek Aerodrome", "Stewart Island", "New Zealand", "SZS", "NZRC", -46.899700164799995, 168.100997925, 62, 12, "U", "Pacific/Auckland"}, + "HJJ": {"Zhijiang Airport", "Zhijiang", "China", "HJJ", "ZGCJ", 27.4411111111, 109.7, 882, 8, "U", "Asia/Shanghai"}, + "YQI": {"Yarmouth Airport", "Yarmouth", "Canada", "YQI", "CYQI", 43.826900482177734, -66.08809661865234, 141, -4, "A", "America/Halifax"}, + "ISO": {"Kinston Regional Jetport At Stallings Field", "Kinston", "United States", "ISO", "KISO", 35.331401825, -77.60880279540001, 93, -5, "A", "America/New_York"}, + "FFA": {"First Flight Airport", "Kill Devil Hills", "United States", "FFA", "KFFA", 36.0181999207, -75.67130279540001, 13, -5, "A", "America/New_York"}, + "CKS": {"Carajás Airport", "Parauapebas", "Brazil", "CKS", "SBCJ", -6.11527776718, -50.0013885498, 2064, -3, "S", "America/Belem"}, + "MWK": {"Tarempa Airport", "Anambas Islands", "Indonesia", "MWK", "WIOM", 3.3481199741363525, 106.25800323486328, 10, 7, "N", "Asia/Jakarta"}, + "PGU": {"Persian Gulf International Airport", "Khalije Fars", "Iran", "PGU", "OIBP", 27.379601, 52.737701, 27, 3.5, "U", "Asia/Tehran"}, + "YES": {"Yasouj Airport", "Yasuj", "Iran", "YES", "OISY", 30.700500488281, 51.545101165771, 5939, 3.5, "U", "Asia/Tehran"}, + "OSB": {"Mosul International Airport", "Mosul", "Iraq", "OSB", "ORBM", 36.30580139160156, 43.14739990234375, 719, 3, "U", "Asia/Baghdad"}, + "TJH": {"Tajima Airport", "Toyooka", "Japan", "TJH", "RJBT", 35.51279830932617, 134.78700256347656, 584, 9, "U", "Asia/Tokyo"}, + "AXJ": {"Amakusa Airport", "Amakusa", "Japan", "AXJ", "RJDA", 32.482498, 130.158997, 340, 9, "U", "Asia/Tokyo"}, + "KKX": {"Kikai Airport", "Kikai", "Japan", "KKX", "RJKI", 28.321300506599997, 129.927993774, 21, 9, "U", "Asia/Tokyo"}, + "AGJ": {"Aguni Airport", "Aguni", "Japan", "AGJ", "RORA", 26.5925006866, 127.240997314, 38, 9, "U", "Asia/Tokyo"}, + "UGA": {"Bulgan Airport", "Bulgan", "Mongolia", "UGA", "ZMBN", 48.85499954223633, 103.47599792480469, 4311, 8, "U", "Asia/Ulaanbaatar"}, + "ULO": {"Ulaangom Airport", "Ulaangom", "Mongolia", "ULO", "ZMUG", 50.066588, 91.938273, 0, 7, "U", "Asia/Hovd"}, + "BPR": {"Borongan Airport", "Borongan", "Philippines", "BPR", "RPVW", 11.674300193799999, 125.478996277, 7, 8, "N", "Asia/Manila"}, + "LBX": {"Lubang Airport", "Lubang", "Philippines", "LBX", "RPLU", 13.855400085449219, 120.1050033569336, 43, 8, "N", "Asia/Manila"}, + "TJU": {"Kulob Airport", "Kulyab", "Tajikistan", "TJU", "UTDK", 37.98809814453125, 69.80500030517578, 2293, 5, "U", "Asia/Dushanbe"}, + "TAZ": {"Daşoguz Airport", "Dasoguz", "Turkmenistan", "TAZ", "UTAT", 41.761101, 59.826698, 272, 5, "U", "Asia/Ashgabat"}, + "BWB": {"Barrow Island Airport", "Barrow Island", "Australia", "BWB", "YBWX", -20.86440086364746, 115.40599822998047, 26, 8, "U", "Australia/Perth"}, + "DRB": {"Derby Airport", "Derby", "Australia", "DRB", "YDBY", -17.3700008392334, 123.66100311279297, 24, 8, "U", "Australia/Perth"}, + "WGE": {"Walgett Airport", "Walgett", "Australia", "WGE", "YWLG", -30.032800674438477, 148.12600708007812, 439, 10, "U", "Australia/Sydney"}, + "BRT": {"Bathurst Island Airport", "Bathurst Island", "Australia", "BRT", "YBTI", -11.769200325012207, 130.6199951171875, 67, 9.5, "U", "Australia/Darwin"}, + "DKI": {"Dunk Island Airport", "Dunk Island", "Australia", "DKI", "YDKI", -17.9416999817, 146.13999939, 6, 10, "U", "Australia/Brisbane"}, + "LZR": {"Lizard Island Airport", "Lizard Island", "Australia", "LZR", "YLZI", -14.673273, 145.454571, 70, 10, "O", "Australia/Brisbane"}, + "HLT": {"Hamilton Airport", "Hamilton", "Australia", "HLT", "YHML", -37.64889907836914, 142.06500244140625, 803, 10, "O", "Australia/Hobart"}, + "HCQ": {"Halls Creek Airport", "Halls Creek", "Australia", "HCQ", "YHLC", -18.23390007019043, 127.66999816894531, 1346, 8, "U", "Australia/Perth"}, + "FIZ": {"Fitzroy Crossing Airport", "Fitzroy Crossing", "Australia", "FIZ", "YFTZ", -18.181900024414062, 125.55899810791016, 368, 8, "U", "Australia/Perth"}, + "RVT": {"Ravensthorpe Airport", "Ravensthorpe", "Australia", "RVT", "YNRV", -33.7971992493, 120.208000183, 197, 8, "U", "Australia/Perth"}, + "PVU": {"Provo Municipal Airport", "Provo", "United States", "PVU", "KPVU", 40.219200134277, -111.72299957275, 4497, -7, "A", "America/Denver"}, + "SBS": {"Steamboat Springs Bob Adams Field", "Steamboat Springs", "United States", "SBS", "KSBS", 40.5163002, -106.8659973, 6882, -7, "A", "America/Denver"}, + "DTA": {"Delta Municipal Airport", "Delta", "United States", "DTA", "KDTA", 39.3805999756, -112.508003235, 4759, -7, "A", "America/Denver"}, + "RIF": {"Richfield Municipal Airport", "Richfield", "United States", "RIF", "KRIF", 38.73640060424805, -112.0989990234375, 5301, -7, "A", "America/Denver"}, + "PUC": {"Carbon County Regional/Buck Davis Field", "Price", "United States", "PUC", "KPUC", 39.61389923, -110.7509995, 5957, -7, "A", "America/Denver"}, + "LAM": {"Los Alamos Airport", "Los Alamos", "United States", "LAM", "KLAM", 35.8797988892, -106.268997192, 7171, -7, "A", "America/Denver"}, + "HII": {"Lake Havasu City Airport", "Lake Havasu City", "United States", "HII", "KHII", 34.571098, -114.358002, 783, -7, "N", "America/Phoenix"}, + "INW": {"Winslow Lindbergh Regional Airport", "Winslow", "United States", "INW", "KINW", 35.021900177, -110.722999573, 4941, -7, "N", "America/Phoenix"}, + "DGL": {"Douglas Municipal Airport", "Douglas", "United States", "DGL", "KDGL", 31.3425998688, -109.505996704, 4173, -7, "N", "America/Phoenix"}, + "MZK": {"Marakei Airport", "Marakei", "Kiribati", "MZK", "NGMK", 2.058609962463379, 173.27099609375, 10, 12, "U", "Pacific/Tarawa"}, + "AEA": {"Abemama Atoll Airport", "Abemama", "Kiribati", "AEA", "NGTB", 0.49083301424980164, 173.82899475097656, 8, 12, "U", "Pacific/Tarawa"}, + "KUC": {"Kuria Airport", "Kuria", "Kiribati", "KUC", "NGKT", 0.2186110019683838, 173.44200134277344, 0, 12, "U", "Pacific/Tarawa"}, + "AIS": {"Arorae Island Airport", "Arorae", "Kiribati", "AIS", "NGTR", -2.61611008644104, 176.80299377441406, 0, 12, "U", "Pacific/Tarawa"}, + "TMN": {"Tamana Island Airport", "Tamana", "Kiribati", "TMN", "NGTM", -2.485830068588257, 175.97000122070312, 0, 12, "U", "Pacific/Tarawa"}, + "BEZ": {"Beru Airport", "Beru Island", "Kiribati", "BEZ", "NGBR", -1.3547199964523315, 176.0070037841797, 6, 12, "U", "Pacific/Tarawa"}, + "NIG": {"Nikunau Airport", "Nikunau", "Kiribati", "NIG", "NGNU", -1.31444001198, 176.410003662, 6, 12, "U", "Pacific/Tarawa"}, + "BBG": {"Butaritari Atoll Airport", "Butaritari", "Kiribati", "BBG", "NGTU", 3.08583, 172.811005, 5, 12, "U", "Pacific/Tarawa"}, + "MTK": {"Makin Island Airport", "Makin", "Kiribati", "MTK", "NGMN", 3.3744399547576904, 172.99200439453125, 0, 12, "U", "Pacific/Tarawa"}, + "MNK": {"Maiana Airport", "Maiana", "Kiribati", "MNK", "NGMA", 1.0036100149154663, 173.031005859375, 8, 12, "U", "Pacific/Tarawa"}, + "NON": {"Nonouti Airport", "Nonouti", "Kiribati", "NON", "NGTO", -0.6397219896316528, 174.42799377441406, 10, 12, "U", "Pacific/Tarawa"}, + "TSU": {"Tabiteuea South Airport", "Tabiteuea", "Kiribati", "TSU", "NGTS", -1.4744399785995483, 175.06399536132812, 0, 12, "U", "Pacific/Tarawa"}, + "WTZ": {"Whitianga Airport", "Whitianga", "New Zealand", "WTZ", "NZWT", -36.83169937133789, 175.6790008544922, 10, 12, "U", "Pacific/Auckland"}, + "KTF": {"Takaka Airport", "Takaka", "New Zealand", "KTF", "NZTK", -40.81330108642578, 172.77499389648438, 102, 12, "U", "Pacific/Auckland"}, + "AFT": {"Afutara Aerodrome", "Afutara", "Solomon Islands", "AFT", "AGAF", -9.19138888889, 160.948611111, 23, 11, "U", "Pacific/Guadalcanal"}, + "RNA": {"Ulawa Airport", "Ulawa", "Solomon Islands", "RNA", "AGAR", -9.86054358262, 161.979546547, 40, 11, "U", "Pacific/Guadalcanal"}, + "CHY": {"Choiseul Bay Airport", "Choiseul Bay", "Solomon Islands", "CHY", "AGGC", -6.711944, 156.396111, 0, 11, "U", "Pacific/Guadalcanal"}, + "NNB": {"Santa Ana Airport", "Santa Ana", "Solomon Islands", "NNB", "AGGT", -10.847994, 162.454108, 3, 11, "U", "Pacific/Guadalcanal"}, + "XYA": {"Yandina Airport", "Yandina", "Solomon Islands", "XYA", "AGGY", -9.092816, 159.21841, 60, 11, "U", "Pacific/Guadalcanal"}, + "BOW": {"Bartow Municipal Airport", "Bartow", "United States", "BOW", "KBOW", 27.943399429299998, -81.78340148930002, 125, -5, "U", "America/New_York"}, + "FTI": {"Fitiuta Airport", "Fiti\\\\'uta", "American Samoa", "FTI", "NSFQ", -14.2172, -169.425003, 110, -11, "U", "Pacific/Pago_Pago"}, + "LVK": {"Livermore Municipal Airport", "Livermore", "United States", "LVK", "KLVK", 37.6934013367, -121.819999695, 400, -8, "A", "America/Los_Angeles"}, + "RMY": {"Mariposa Yosemite Airport", "Mariposa", "United States", "RMY", "KMPI", 37.5108985901, -120.040000916, 2254, -8, "A", "America/Los_Angeles"}, + "GFY": {"Grootfontein Airport", "Grootfontein", "Namibia", "GFY", "FYGF", -19.60219955444336, 18.122699737548828, 4636, 1, "S", "Africa/Windhoek"}, + "NDU": {"Rundu Airport", "Rundu", "Namibia", "NDU", "FYRU", -17.956499099731, 19.719400405884, 3627, 1, "S", "Africa/Windhoek"}, + "AGM": {"Tasiilaq Heliport", "Angmagssalik", "Greenland", "AGM", "BGAM", 65.61229608469999, -37.6183354855, 24, -3, "U", "America/Godthab"}, + "TRM": {"Jacqueline Cochran Regional Airport", "Palm Springs", "United States", "TRM", "KTRM", 33.62670135498, -116.16000366211, -115, -8, "A", "America/Los_Angeles"}, + "SMO": {"Santa Monica Municipal Airport", "Santa Monica", "United States", "SMO", "KSMO", 34.015800476100004, -118.450996399, 177, -8, "A", "America/Los_Angeles"}, + "UDD": {"Bermuda Dunes Airport", "Palm Springs", "United States", "UDD", "KUDD", 33.748401641846, -116.27500152588, 73, -8, "A", "America/Los_Angeles"}, + "ZSY": {"Scottsdale Airport", "Scottsdale", "United States", "ZSY", "KSDL", 33.622898101807, -111.91100311279, 1510, -7, "A", "America/Phoenix"}, + "OLM": {"Olympia Regional Airport", "Olympia", "United States", "OLM", "KOLM", 46.9693985, -122.9029999, 209, -8, "A", "America/Los_Angeles"}, + "DWA": {"Yolo County Davis Woodland Winters Airport", "Davis-Woodland-Winters", "United States", "DWA", "KDWA", 38.57910156, -121.8570023, 100, -8, "A", "America/Los_Angeles"}, + "RIL": {"Garfield County Regional Airport", "Rifle", "United States", "RIL", "KRIL", 39.52629852, -107.7269974, 5548, -7, "A", "America/Denver"}, + "SAA": {"Shively Field", "SARATOGA", "United States", "SAA", "KSAA", 41.44490051269531, -106.8239974975586, 7012, -7, "A", "America/Denver"}, + "PDK": {"DeKalb Peachtree Airport", "Atlanta", "United States", "PDK", "KPDK", 33.8755989075, -84.3020019531, 1003, -5, "A", "America/New_York"}, + "BMG": {"Monroe County Airport", "Bloomington", "United States", "BMG", "KBMG", 39.145999908447266, -86.61669921875, 846, -5, "A", "America/New_York"}, + "SUA": {"Witham Field", "Stuart", "United States", "SUA", "KSUA", 27.18169975, -80.22109985, 16, -5, "A", "America/New_York"}, + "MMU": {"Morristown Municipal Airport", "Morristown", "United States", "MMU", "KMMU", 40.799400329589844, -74.41490173339844, 187, -5, "A", "America/New_York"}, + "APC": {"Napa County Airport", "Napa", "United States", "APC", "KAPC", 38.2132, -122.280998, 35, -8, "A", "America/Los_Angeles"}, + "SDM": {"Brown Field Municipal Airport", "San Diego", "United States", "SDM", "KSDM", 32.572299957275, -116.98000335693, 526, -8, "A", "America/Los_Angeles"}, + "VNC": {"Venice Municipal Airport", "Venice", "United States", "VNC", "KVNC", 27.071599960327, -82.440299987793, 18, -5, "A", "America/New_York"}, + "PHK": {"Palm Beach County Glades Airport", "Pahokee", "United States", "PHK", "KPHK", 26.78499985, -80.69339752, 16, -5, "A", "America/New_York"}, + "ECP": {"Northwest Florida Beaches International Airport", "Panama City", "United States", "ECP", "KECP", 30.357106, -85.795414, 69, -6, "A", "America/Chicago"}, + "SBD": {"San Bernardino International Airport", "San Bernardino", "United States", "SBD", "KSBD", 34.0954017639, -117.23500061, 1159, -8, "A", "America/Los_Angeles"}, + "VAL": {"Valença Airport", "Valenca", "Brazil", "VAL", "SNVB", -13.296500205993652, -38.992401123046875, 21, -3, "S", "America/Fortaleza"}, + "CAU": {"Caruaru Airport", "Caruaru", "Brazil", "CAU", "SNRU", -8.282389640808105, -36.01350021362305, 1891, -3, "S", "America/Fortaleza"}, + "AWK": {"Wake Island Airfield", "Wake island", "Wake Island", "AWK", "PWAK", 19.282100677490234, 166.63600158691406, 14, -10, "U", "Pacific/Johnston"}, + "QNV": {"Aeroclube Airport", "Nova Iguacu", "Brazil", "QNV", "SDNY", -22.74530029296875, -43.46030044555664, 164, -3, "S", "America/Sao_Paulo"}, + "SQL": {"San Carlos Airport", "San Carlos", "United States", "SQL", "KSQL", 37.511901855469, -122.25, 5, -8, "A", "America/Los_Angeles"}, + "OSZ": {"Koszalin Zegrze Pomorskie Air Base", "Koszalin", "Poland", "OSZ", "EPKO", 54.0425, 16.2656, 249, 1, "E", "Europe/Warsaw"}, + "RWI": {"Rocky Mount Wilson Regional Airport", "Rocky Mount", "United States", "RWI", "KRWI", 35.856300354003906, -77.89189910888672, 159, -5, "A", "America/New_York"}, + "SXQ": {"Soldotna Airport", "Soldotna", "United States", "SXQ", "PASX", 60.47570037841797, -151.03399658203125, 113, -9, "U", "America/Anchorage"}, + "SEE": {"Gillespie Field", "El Cajon", "United States", "SEE", "KSEE", 32.826198577881, -116.97200012207, 388, -8, "A", "America/Los_Angeles"}, + "PHA": {"Phan Rang Airport", "Phan Rang", "Vietnam", "PHA", "VVPR", 11.6335000992, 108.952003479, 101, 7, "N", "Asia/Saigon"}, + "SQH": {"Na-San Airport", "Son-La", "Vietnam", "SQH", "VVNS", 21.216999053955078, 104.03299713134766, 2133, 7, "N", "Asia/Saigon"}, + "TKF": {"Truckee Tahoe Airport", "Truckee", "United States", "TKF", "KTRK", 39.319999694799996, -120.13999939, 5900, -8, "A", "America/Los_Angeles"}, + "FRJ": {"Fréjus Airport", "Frejus", "France", "FRJ", "LFTU", 43.4175, 6.7357, 33, 1, "E", "Europe/Paris"}, + "GEX": {"Geelong Airport", "Geelong", "Australia", "GEX", "YGLG", -38.224998474121094, 144.33299255371094, 43, 10, "O", "Australia/Hobart"}, + "RYY": {"Cobb County-Mc Collum Field", "Atlanta", "United States", "RYY", "KRYY", 34.01319885, -84.59860229, 1040, -5, "A", "America/New_York"}, + "4U9": {"Dell Flight Strip", "Dell", "United States", "4U9", "K4U9", 44.7356987, -112.720001221, 6007, -7, "A", "America/Denver"}, + "LVM": {"Mission Field", "Livingston-Montana", "United States", "LVM", "KLVM", 45.6994018555, -110.447998047, 4660, -7, "A", "America/Denver"}, + "6S0": {"Big Timber Airport", "Big Timber", "United States", "6S0", "K6S0", 45.806400299072266, -109.98100280761719, 4492, -7, "A", "America/Denver"}, + "BIV": {"Tulip City Airport", "Holland", "United States", "BIV", "KBIV", 42.742900848389, -86.107398986816, 698, -5, "A", "America/New_York"}, + "HEN": {"Hernesaari Heliport", "Helsinki", "Finland", "HEN", "EFHE", 60.14777755737305, 24.9244441986084, 7, 2, "E", "Europe/Helsinki"}, + "LAL": {"Lakeland Linder Regional Airport", "Lakeland", "United States", "LAL", "KLAL", 27.988899231, -82.0186004639, 142, -5, "A", "America/New_York"}, + "SYH": {"Syangboche Airport", "Syangboche", "Nepal", "SYH", "VNSB", 27.8112, 86.7124, 12400, 5.75, "N", "Asia/Katmandu"}, + "IDL": {"Indianola Municipal Airport", "New York", "United States", "IDL", "KIDL", 33.485699, -90.678902, 126, -6, "A", "America/Chicago"}, + "RBK": {"French Valley Airport", "Murrieta-Temecula", "United States", "RBK", "KF70", 33.5741996765, -117.127998352, 1350, -8, "A", "America/Los_Angeles"}, + "FNU": {"Oristano-Fenosu Airport", "Oristano", "Italy", "FNU", "LIER", 39.895308, 8.642661, 36, 1, "E", "Europe/Rome"}, + "MYQ": {"Mysore Airport", "Mysore", "India", "MYQ", "VOMY", 12.30720043182373, 76.64969635009766, 2349, 5.5, "U", "Asia/Calcutta"}, + "PCW": {"Carl R Keller Field", "Port Clinton", "United States", "PCW", "KPCW", 41.516300201416016, -82.86869812011719, 590, -5, "U", "America/New_York"}, + "MGY": {"Dayton-Wright Brothers Airport", "Dayton", "United States", "MGY", "KMGY", 39.5890007019, -84.224899292, 957, -5, "U", "America/New_York"}, + "RID": {"Richmond Municipal Airport", "Richmond", "United States", "RID", "KRID", 39.757198333740234, -84.8427963256836, 1140, -5, "U", "America/New_York"}, + "FDY": {"Findlay Airport", "Findley", "United States", "FDY", "KFDY", 41.013500213600004, -83.66870117190001, 813, -5, "U", "America/New_York"}, + "PEA": {"Penneshaw Airport", "Penneshaw", "Australia", "PEA", "YPSH", -35.7558462874, 137.962875366, 0, 9.5, "O", "Australia/Adelaide"}, + "EBE": {"Engels heliport", "Ebenhofen", "Germany", "EBE", "EBEN", 51.211666107177734, 4.5808329582214355, 33, 1, "E", "Europe/Brussels"}, + "EMP": {"Emporia Municipal Airport", "Kempten", "Germany", "EMP", "KEMP", 38.3320999146, -96.19120025630001, 1208, -6, "E", "America/Chicago"}, + "ESX": {"Skå-Edeby Airport", "Essen", "Germany", "ESX", "ESSE", 59.34510040283203, 17.74049949645996, 0, 1, "E", "Europe/Stockholm"}, + "BBP": {"Bembridge Airport", "Bembridge", "United Kingdom", "BBP", "EGHJ", 50.6781005859, -1.10943996906, 53, 0, "E", "Europe/London"}, + "SPF": {"Black Hills Airport-Clyde Ice Field", "Spearfish-South Dakota", "United States", "SPF", "KSPF", 44.48030090332, -103.78299713135, 3931, -7, "A", "America/Denver"}, + "QYD": {"Oksywie Military Air Base", "Gdynia", "Poland", "QYD", "EPOK", 54.57970047, 18.51720047, 144, 1, "E", "Europe/Warsaw"}, + "OLV": {"Olive Branch Airport", "Olive Branch", "United States", "OLV", "KOLV", 34.9786987305, -89.78690338130001, 402, -6, "A", "America/Chicago"}, + "ONQ": {"Zonguldak Airport", "Zonguldak", "Turkey", "ONQ", "LTAS", 41.506401062, 32.0886001587, 39, 3, "E", "Europe/Istanbul"}, + "BJC": {"Rocky Mountain Metropolitan Airport", "Broomfield-CO", "United States", "BJC", "KBJC", 39.90879822, -105.1169968, 5673, -7, "A", "America/Denver"}, + "SLE": {"Salem Municipal Airport/McNary Field", "Salem", "United States", "SLE", "KSLE", 44.90950012, -123.0029984, 214, -8, "A", "America/Los_Angeles"}, + "UTM": {"Tunica Municipal Airport", "Tunica", "United States", "UTM", "KUTA", 34.680999755859, -90.346702575684, 194, -6, "A", "America/Chicago"}, + "ZKB": {"Kasaba Bay Airport", "Kasaba Bay", "Zambia", "ZKB", "FLKY", -8.524999618530273, 30.663000106811523, 2780, 2, "U", "Africa/Lusaka"}, + "LND": {"Hunt Field", "Lindau", "Germany", "LND", "KLND", 42.8152008057, -108.730003357, 5586, -7, "E", "America/Denver"}, + "MWC": {"Lawrence J Timmerman Airport", "Milwaukee", "United States", "MWC", "KMWC", 43.11040115356445, -88.0344009399414, 745, -6, "A", "America/Chicago"}, + "JVL": {"Southern Wisconsin Regional Airport", "Janesville", "United States", "JVL", "KJVL", 42.620300293, -89.0416030884, 808, -6, "A", "America/Chicago"}, + "GKY": {"Arlington Municipal Airport", "Arlington", "United States", "GKY", "KGKY", 32.66389846801758, -97.09429931640625, 628, -6, "A", "America/Chicago"}, + "LZU": {"Gwinnett County Briscoe Field", "Lawrenceville", "United States", "LZU", "KLZU", 33.97809982, -83.96240234, 1061, -5, "A", "America/New_York"}, + "BWG": {"Bowling Green Warren County Regional Airport", "Bowling Green", "United States", "BWG", "KBWG", 36.964500427199994, -86.41970062259999, 547, -6, "A", "America/Chicago"}, + "RVS": {"Richard Lloyd Jones Jr Airport", "Tulsa", "United States", "RVS", "KRVS", 36.039600372314, -95.984596252441, 638, -6, "A", "America/Chicago"}, + "NHD": {"Al Minhad Air Base", "Minhad AB", "United Arab Emirates", "NHD", "OMDM", 25.0268001556, 55.3661994934, 165, 4, "U", "Asia/Dubai"}, + "KGO": {"Kirovograd Airport", "Kirovograd", "Ukraine", "KGO", "UKKG", 48.54280090332031, 32.28499984741211, 568, 2, "E", "Europe/Kiev"}, + "DBB": {"El Alamein International Airport", "Dabaa City", "Egypt", "DBB", "HEAL", 30.92449951171875, 28.46139907836914, 143, 2, "N", "Africa/Cairo"}, + "BCE": {"Bryce Canyon Airport", "Bryce Canyon", "United States", "BCE", "KBCE", 37.706401825, -112.144996643, 7590, -7, "A", "America/Denver"}, + "CKL": {"Chkalovskiy Airport", "Shchyolkovo", "Russia", "CKL", "UUMU", 55.8782997131, 38.0616989136, 499, 3, "N", "Europe/Moscow"}, + "TCZ": {"Tengchong Tuofeng Airport", "Tengchong", "China", "TCZ", "ZUTC", 24.9380555556, 98.48583333330001, 6250, 8, "N", "Asia/Shanghai"}, + "UKS": {"Belbek Airport", "Sevastopol", "Ukraine", "UKS", "UKFB", 44.688999176, 33.570999145500004, 344, 3, "U", "Europe/Simferopol"}, + "JCI": {"New Century Aircenter Airport", "Olathe", "United States", "JCI", "KIXD", 38.8308982849, -94.890296936, 1087, -6, "A", "America/Chicago"}, + "ESN": {"Easton Newnam Field", "Easton", "United States", "ESN", "KESN", 38.8041992188, -76.06900024410001, 72, -5, "A", "America/New_York"}, + "HMR": {"Stafsberg Airport", "Hamar", "Norway", "HMR", "ENHA", 60.81809997558594, 11.067999839782715, 713, 1, "E", "Europe/Oslo"}, + "MYV": {"Yuba County Airport", "Yuba City", "United States", "MYV", "KMYV", 39.09780121, -121.5699997, 64, -8, "A", "America/Los_Angeles"}, + "DUC": {"Halliburton Field", "Duncan", "United States", "DUC", "KDUC", 34.47090149, -97.9598999, 1114, -6, "A", "America/Chicago"}, + "UVA": {"Garner Field", "Uvalde", "United States", "UVA", "KUVA", 29.2112998962, -99.743598938, 942, -6, "A", "America/Chicago"}, + "LOT": {"Lewis University Airport", "Lockport", "United States", "LOT", "KLOT", 41.6072998, -88.09619904, 679, -6, "A", "America/Chicago"}, + "CCR": {"Buchanan Field", "Concord", "United States", "CCR", "KCCR", 37.9897003174, -122.056999207, 26, -8, "A", "America/Los_Angeles"}, + "OCA": {"Ocean Reef Club Airport", "Ocean Reef Club Airport", "United States", "OCA", "07FA", 25.325399398804, -80.274803161621, 8, -5, "A", "America/New_York"}, + "YUS": {"Yushu Batang Airport", "Yushu", "China", "YUS", "ZYLS", 32.836388888900004, 97.0363888889, 12816, 8, "U", "Asia/Shanghai"}, + "YOO": {"Oshawa Airport", "Oshawa", "Canada", "YOO", "CYOO", 43.9227981567, -78.8949966431, 460, -5, "A", "America/Toronto"}, + "LHA": {"Lahr Airport", "Lahr", "Germany", "LHA", "EDTL", 48.3693008423, 7.82772016525, 511, 1, "E", "Europe/Berlin"}, + "SGH": {"Springfield-Beckley Municipal Airport", "Springfield", "United States", "SGH", "KSGH", 39.840301513672, -83.840202331543, 1051, -5, "A", "America/New_York"}, + "MSI": {"Fazenda Palmital Airport", "South Aari Atoll", "Maldives", "MSI", "SIAM", -20.696399688720703, -48.286399841308594, 1709, -3, "N", "America/Sao_Paulo"}, + "HEX": {"Herrera Airport", "Santo Domingo", "Dominican Republic", "HEX", "MDHE", 18.4696998596, -69.9693984985, 190, -4, "U", "America/Santo_Domingo"}, + "CDA": {"Cooinda Airport", "Cooinda", "Australia", "CDA", "YCOO", -12.903300285339355, 132.53199768066406, 13, 9.5, "U", "Australia/Darwin"}, + "JAB": {"Jabiru Airport", "Jabiru", "Australia", "JAB", "YJAB", -12.658300399780273, 132.89300537109375, 85, 9.5, "U", "Australia/Darwin"}, + "HGS": {"Hastings Airport", "Freetown", "Sierra Leone", "HGS", "GFHA", 8.397130012512207, -13.12909984588623, 60, 0, "N", "Africa/Freetown"}, + "TOP": {"Philip Billard Municipal Airport", "Topeka", "United States", "TOP", "KTOP", 39.068698883057, -95.622497558594, 881, -6, "A", "America/Chicago"}, + "NGQ": {"Ngari Gunsa Airport", "Shiquanhe", "China", "NGQ", "ZUAL", 32.1, 80.0530555556, 14022, 8, "N", "Asia/Shanghai"}, + "CSO": {"Cochstedt Airport", "Cochstedt", "Germany", "CSO", "EDBC", 51.8563995361, 11.42029953, 594, 1, "E", "Europe/Berlin"}, + "TKI": {"Collin County Regional At Mc Kinney Airport", "DALLAS", "United States", "TKI", "KTKI", 33.17789841, -96.59049988, 585, -6, "A", "America/Chicago"}, + "PWK": {"Chicago Executive Airport", "Chicago-Wheeling", "United States", "PWK", "KPWK", 42.114222, -87.901494, 647, -6, "A", "America/Chicago"}, + "KLS": {"Southwest Washington Regional Airport", "Kelso", "United States", "KLS", "KKLS", 46.11800003049999, -122.898002625, 20, -8, "A", "America/Los_Angeles"}, + "PUE": {"Puerto Obaldia Airport", "Puerto Obaldia", "Panama", "PUE", "MPOA", 8.667, -77.418, 223, -5, "U", "America/Panama"}, + "KHC": {"Kerch Airport", "Kerch", "Ukraine", "KHC", "UKFK", 45.372501373291016, 36.40140151977539, 171, 3, "E", "Europe/Simferopol"}, + "UKA": {"Ukunda Airstrip", "Ukunda", "Kenya", "UKA", "HKUK", -4.293330192565918, 39.57109832763672, 98, 3, "U", "Africa/Nairobi"}, + "ILN": {"Wilmington Airpark", "Wilmington", "United States", "ILN", "KILN", 39.427898407, -83.792098999, 1077, -5, "U", "America/New_York"}, + "AVW": {"Marana Regional Airport", "Tucson", "United States", "AVW", "KAVQ", 32.4095993042, -111.218002319, 2031, -7, "U", "America/Phoenix"}, + "CGZ": {"Casa Grande Municipal Airport", "Casa Grande", "United States", "CGZ", "KCGZ", 32.954899, -111.766998, 1464, -7, "U", "America/Phoenix"}, + "BXK": {"Buckeye Municipal Airport", "Buckeye", "United States", "BXK", "KBXK", 33.42039871, -112.685997, 1033, -7, "U", "America/Phoenix"}, + "E63": {"Gila Bend Municipal Airport", "Gila Bend", "United States", "E63", "KE63", 32.95809937, -112.6780014, 789, -7, "U", "America/Phoenix"}, + "MMI": {"McMinn County Airport", "Athens", "United States", "MMI", "KMMI", 35.39730072, -84.56259918, 875, -5, "N", "America/New_York"}, + "STK": {"Sterling Municipal Airport", "Sterling", "United States", "STK", "KSTK", 40.61529922, -103.2649994, 4040, -7, "A", "America/Denver"}, + "RWL": {"Rawlins Municipal Airport/Harvey Field", "Rawlins", "United States", "RWL", "KRWL", 41.80559921, -107.1999969, 6813, -7, "A", "America/Denver"}, + "YZY": {"Mackenzie Airport", "Mackenzie British Columbia", "Canada", "YZY", "CYZY", 55.304401397700005, -123.132003784, 2264, -8, "A", "America/Vancouver"}, + "CDW": {"Essex County Airport", "Caldwell", "United States", "CDW", "KCDW", 40.875198364300005, -74.2814025879, 173, -5, "A", "America/New_York"}, + "AIZ": {"Lee C Fine Memorial Airport", "Kaiser Lake Ozark", "United States", "AIZ", "KAIZ", 38.0960006714, -92.54949951170002, 869, -6, "A", "America/Chicago"}, + "TVI": {"Thomasville Regional Airport", "Thomasville", "United States", "TVI", "KTVI", 30.901599884033, -83.881301879883, 264, -5, "A", "America/New_York"}, + "HSH": {"Henderson Executive Airport", "Henderson", "United States", "HSH", "KHND", 35.9728012085, -115.134002686, 2492, -8, "A", "America/Los_Angeles"}, + "GML": {"Gostomel Airport", "Kiev", "Ukraine", "GML", "UKKM", 50.60350036621094, 30.1919002532959, 517, 2, "E", "Europe/Kiev"}, + "TMA": {"Henry Tift Myers Airport", "Tifton", "United States", "TMA", "KTMA", 31.4290008545, -83.4885025024, 355, -5, "A", "America/New_York"}, + "QXR": {"Radom Airport", "RADOM", "Poland", "QXR", "EPRA", 51.3891983032, 21.213300705, 610, 1, "E", "Europe/Warsaw"}, + "DVT": {"Phoenix Deer Valley Airport", "Phoenix ", "United States", "DVT", "KDVT", 33.6883010864, -112.083000183, 1478, -7, "A", "America/Phoenix"}, + "YGE": {"Golden Airport", "Golden", "Canada", "YGE", "CYGE", 51.299196, -116.982002, 2575, -7, "A", "America/Edmonton"}, + "YRV": {"Revelstoke Airport", "Revelstoke", "Canada", "YRV", "CYRV", 50.9667015076, -118.182998657, 1459, -8, "A", "America/Vancouver"}, + "HDO": {"South Texas Regional Airport at Hondo", "Hondo", "United States", "HDO", "KHDO", 29.35950088501, -99.176696777344, 930, -6, "A", "America/Chicago"}, + "ZHY": {"Zhongwei Shapotou Airport", "Zhongwei", "China", "ZHY", "ZLZW", 37.573125, 105.154454, 8202, 8, "N", "Asia/Shanghai"}, + "MCL": {"McKinley National Park Airport", "McKinley Park", "United States", "MCL", "PAIN", 63.7326011658, -148.910995483, 1720, -9, "A", "America/Anchorage"}, + "LHD": {"Lake Hood Seaplane Base", "Anchorage", "United States", "LHD", "PALH", 61.18000030517578, -149.9720001220703, 71, -9, "A", "America/Anchorage"}, + "PPC": {"Prospect Creek Airport", "Prospect Creek", "United States", "PPC", "PAPR", 66.814102172852, -150.64399719238, 1095, -9, "A", "America/Anchorage"}, + "KHW": {"Khwai River Lodge Airport", "Khwai River", "Botswana", "KHW", "FBKR", -19.149999618530273, 23.783000946044922, 3000, 2, "N", "Africa/Gaborone"}, + "TXG": {"Taichung Airport", "Taichung", "Taiwan", "TXG", "RCLG", 24.18630027770996, 120.65399932861328, 369, 8, "N", "Asia/Taipei"}, + "HLG": {"Wheeling Ohio County Airport", "Wheeling", "United States", "HLG", "KHLG", 40.1749992371, -80.6463012695, 1195, -5, "A", "America/New_York"}, + "FZG": {"Fitzgerald Municipal Airport", "Fitzgerald", "United States", "FZG", "KFZG", 31.683700561523438, -83.27050018310547, 365, -5, "A", "America/New_York"}, + "XYE": {"Ye Airport", "Ye", "Burma", "XYE", "VYYE", 15.300000190734863, 97.86699676513672, 30, 6.5, "U", "Asia/Rangoon"}, + "DWC": {"Al Maktoum International Airport", "Dubai", "United Arab Emirates", "DWC", "OMDW", 24.896356, 55.161389, 114, 4, "U", "Asia/Dubai"}, + "RKP": {"Aransas County Airport", "Rockport", "United States", "RKP", "KRKP", 28.0867996216, -97.0446014404, 24, -6, "A", "America/Chicago"}, + "MVV": {"Megève Airport", "Verdun", "France", "MVV", "LFHM", 45.82080078125, 6.652219772338867, 4823, 1, "U", "Europe/Paris"}, + "MFX": {"Méribel Altiport", "Ajaccio", "France", "MFX", "LFKX", 45.407003, 6.577942, 5636, 1, "U", "Europe/Paris"}, + "OKF": {"Okaukuejo Airport", "Okaukuejo", "Namibia", "OKF", "FYOO", -19.149200439453125, 15.91189956665039, 3911, 1, "S", "Africa/Windhoek"}, + "OKU": {"Mokuti Lodge Airport", "Mokuti Lodge", "Namibia", "OKU", "FYMO", -18.81279945373535, 17.05940055847168, 3665, 1, "S", "Africa/Windhoek"}, + "PSH": {"St. Peter-Ording Airport", "Sankt Peter-Ording", "Germany", "PSH", "EDXO", 54.30888748168945, 8.686944007873535, 7, 1, "E", "Europe/Berlin"}, + "CKF": {"Crisp County Cordele Airport", "Cordele", "United States", "CKF", "KCKF", 31.98880005, -83.77390289, 310, -5, "A", "America/New_York"}, + "OMN": {"Ormond Beach Municipal Airport", "Ormond Beach", "United States", "OMN", "KOMN", 29.300600051879883, -81.11360168457031, 29, -5, "A", "America/New_York"}, + "TTD": {"Portland Troutdale Airport", "Troutdale", "United States", "TTD", "KTTD", 45.54940032959, -122.40100097656, 39, -8, "A", "America/Los_Angeles"}, + "HIO": {"Portland Hillsboro Airport", "Hillsboro", "United States", "HIO", "KHIO", 45.540401, -122.949997, 208, -8, "A", "America/Los_Angeles"}, + "KHT": {"Khost Airport", "Khost", "Afghanistan", "KHT", "OAKS", 33.3334007263, 69.952003479, 3756, 4.5, "N", "Asia/Kabul"}, + "GAI": {"Montgomery County Airpark", "Gaithersburg", "United States", "GAI", "KGAI", 39.168300628699996, -77.1660003662, 539, -5, "A", "America/New_York"}, + "AZ3": {"Sharana Airstrip", "Sharona", "Afghanistan", "AZ3", "OASA", 33.12575, 68.838517, 7340, 4.5, "N", "Asia/Kabul"}, + "YTA": {"Pembroke Airport", "Pembroke", "Canada", "YTA", "CYTA", 45.86439895629883, -77.25170135498047, 529, -5, "A", "America/Toronto"}, + "TSB": {"Tsumeb Airport", "Tsumeb", "Namibia", "TSB", "FYTM", -19.26189994812, 17.732500076294, 4353, 1, "U", "Africa/Windhoek"}, + "YSD": {"Suffield Heliport", "Suffield", "Canada", "YSD", "CYSD", 50.266700744628906, -111.18299865722656, 2525, -7, "A", "America/Edmonton"}, + "BNU": {"Blumenau Airport", "BLUMENAU", "Brazil", "BNU", "SSBL", -26.83060073852539, -49.090301513671875, 60, -3, "S", "America/Sao_Paulo"}, + "CVX": {"Charlevoix Municipal Airport", "Charelvoix", "United States", "CVX", "KCVX", 45.3047981262207, -85.2748031616211, 669, -5, "A", "America/New_York"}, + "YCC": {"Cornwall Regional Airport", "Cornwall", "Canada", "YCC", "CYCC", 45.09280014038086, -74.56330108642578, 175, -5, "A", "America/Toronto"}, + "IZA": {"Zona da Mata Regional Airport", "Juiz de Fora", "Brazil", "IZA", "SDZY", -21.5130558014, -43.1730575562, 1348, -3, "S", "America/Sao_Paulo"}, + "XFL": {"Flagler County Airport", "Flagler", "United States", "XFL", "KXFL", 29.4673996, -81.20629883, 33, -5, "A", "America/New_York"}, + "MVL": {"Morrisville Stowe State Airport", "Morrisville", "United States", "MVL", "KMVL", 44.53459930419999, -72.6139984131, 732, -5, "A", "America/New_York"}, + "RBD": {"Dallas Executive Airport", "Dallas", "United States", "RBD", "KRBD", 32.6809005737, -96.8682022095, 660, -6, "A", "America/Chicago"}, + "WST": {"Westerly State Airport", "Washington County", "United States", "WST", "KWST", 41.3496017456, -71.8033981323, 81, -5, "A", "America/New_York"}, + "BID": {"Block Island State Airport", "Block Island", "United States", "BID", "KBID", 41.1680984497, -71.577796936, 108, -5, "A", "America/New_York"}, + "NME": {"Nightmute Airport", "Nightmute", "United States", "NME", "PAGT", 60.471000671387, -164.70100402832, 4, -9, "A", "America/Anchorage"}, + "OOK": {"Toksook Bay Airport", "Toksook Bay", "United States", "OOK", "PAOO", 60.54140091, -165.0870056, 59, -9, "A", "America/Anchorage"}, + "OBY": {"Ittoqqortoormiit Heliport", "Ittoqqortoormiit", "Greenland", "OBY", "BGSC", 70.4882288244, -21.971679925900002, 238, -1, "U", "America/Scoresbysund"}, + "VIN": {"Vinnytsia/Gavyryshivka Airport", "Vinnitsa", "Ukraine", "VIN", "UKWW", 49.242531, 28.613778, 961, 2, "E", "Europe/Kiev"}, + "BGE": {"Decatur County Industrial Air Park", "Bainbridge", "United States", "BGE", "KBGE", 30.9715004, -84.63739777, 141, -5, "A", "America/New_York"}, + "ZKG": {"Kegaska Airport", "Kegaska", "Canada", "ZKG", "CTK6", 50.1958007812, -61.265800476100004, 32, -4, "A", "America/Blanc-Sablon"}, + "YBI": {"Black Tickle Airport", "Black Tickle", "Canada", "YBI", "CCE4", 53.4693984985, -55.784999847399995, 57, -4, "A", "America/Halifax"}, + "SPZ": {"Silver Springs Airport", "Silver Springs", "United States", "SPZ", "KSPZ", 39.40299987792969, -119.2509994506836, 4269, -8, "A", "America/Los_Angeles"}, + "WHP": {"Whiteman Airport", "Los Angeles", "United States", "WHP", "KWHP", 34.2593002319, -118.413002014, 1003, -8, "A", "America/Los_Angeles"}, + "MAE": {"Madera Municipal Airport", "Madera", "United States", "MAE", "KMAE", 36.9886016846, -120.111999512, 255, -8, "A", "America/Los_Angeles"}, + "YZZ": {"Trail Airport", "Trail", "Canada", "YZZ", "CAD4", 49.0555992126, -117.60900116, 1427, -8, "A", "America/Vancouver"}, + "YAB": {"Old Arctic Bay Airport", "Arctic Bay", "Canada", "YAB", "CJX7", 73.0058922479, -85.0325489044, 100, -6, "A", "America/Winnipeg"}, + "BCV": {"Birchwood Airport", "Belmopan", "Belize", "BCV", "PABV", 61.41650009, -149.5070038, 83, -9, "U", "America/Anchorage"}, + "MPY": {"Maripasoula Airport", "Maripasoula", "French Guiana", "MPY", "SOOA", 3.6575, -54.037201, 406, -3, "S", "America/Cayenne"}, + "LDX": {"Saint-Laurent-du-Maroni Airport", "Saint-Laurent-du-Maroni", "French Guiana", "LDX", "SOOM", 5.48306, -54.034401, 16, -3, "S", "America/Cayenne"}, + "KJI": {"Kanas Airport", "Burqin", "China", "KJI", "ZWKN", 48.2223, 86.9959, 3921, 8, "U", "Asia/Shanghai"}, + "CPB": {"Capurganá Airport", "Capurgana", "Colombia", "CPB", "SKCA", 8.63333, -77.35, 49, -5, "S", "America/Bogota"}, + "HMB": {"Sohag International Airport", "Sohag", "Egypt", "HMB", "HEMK", 26.342778, 31.742778, 310, 2, "E", "Africa/Cairo"}, + "RVY": {"Presidente General Don Oscar D. Gestido International Airport", "Rivera", "Uruguay", "RVY", "SURV", -30.974599838256836, -55.476200103759766, 712, -3, "S", "America/Montevideo"}, + "POJ": {"Patos de Minas Airport", "Patos de Minas", "Brazil", "POJ", "SNPD", -18.672800064086914, -46.4911994934082, 2793, -3, "S", "America/Sao_Paulo"}, + "JTC": {"Bauru - Arealva Airport", "Bauru", "Brazil", "JTC", "SJTC", -22.166859140899998, -49.0502866745, 1949, -3, "S", "America/Sao_Paulo"}, + "OIA": {"Ourilândia do Norte Airport", "Ourilandia do Norte", "Brazil", "OIA", "SDOW", -6.763100147250001, -51.0499000549, 901, -3, "S", "America/Belem"}, + "RDC": {"Redenção Airport", "Redencao", "Brazil", "RDC", "SNDC", -8.033289909362793, -49.97990036010742, 670, -3, "S", "America/Belem"}, + "SXX": {"São Félix do Xingu Airport", "Sao Felix do Xingu", "Brazil", "SXX", "SNFX", -6.6413, -51.9523, 656, -3, "S", "America/Belem"}, + "BYO": {"Bonito Airport", "Bointo", "Brazil", "BYO", "SJDB", -21.247299, -56.452499, 1180, -4, "S", "America/Campo_Grande"}, + "SXO": {"São Félix do Araguaia Airport", "Sao Felix do Araguaia", "Brazil", "SXO", "SWFX", -11.632399559020996, -50.68960189819336, 650, -4, "S", "America/Campo_Grande"}, + "CFC": {"Caçador Airport", "Cacador", "Brazil", "CFC", "SBCD", -26.78840065, -50.9398002625, 3376, -3, "S", "America/Sao_Paulo"}, + "CAF": {"Carauari Airport", "Carauari", "Brazil", "CAF", "SWCA", -4.871520042419434, -66.89749908447266, 355, -4, "S", "America/Boa_Vista"}, + "ERN": {"Eirunepé Airport", "Eirunepe", "Brazil", "ERN", "SWEI", -6.639530181884766, -69.87979888916016, 412, -4, "S", "America/Boa_Vista"}, + "CCI": {"Concórdia Airport", "Concordia", "Brazil", "CCI", "SSCK", -27.180599212646484, -52.05270004272461, 2461, -3, "S", "America/Sao_Paulo"}, + "FBE": {"Francisco Beltrão Airport", "Francisco Beltrao", "Brazil", "FBE", "SSFB", -26.059200286865234, -53.063499450683594, 2100, -3, "S", "America/Sao_Paulo"}, + "CFO": {"Confresa Airport", "Confresa", "Brazil", "CFO", "SJHG", -10.634400367736816, -51.5635986328125, 781, -4, "S", "America/Campo_Grande"}, + "AAF": {"Apalachicola Regional Airport", "Apalachicola", "United States", "AAF", "KAAF", 29.72750092, -85.02749634, 20, -5, "A", "America/New_York"}, + "UMU": {"Umuarama Airport", "Umuarama", "Brazil", "UMU", "SSUM", -23.7987003326416, -53.31380081176758, 1558, -3, "S", "America/Sao_Paulo"}, + "DTI": {"Diamantina Airport", "Diamantina", "Brazil", "DTI", "SNDT", -18.232000351, -43.650398254399995, 4446, -3, "S", "America/Sao_Paulo"}, + "FBA": {"Fonte Boa Airport", "Fonte Boa", "Brazil", "FBA", "SWOB", -2.5326099395800004, -66.0831985474, 207, -4, "S", "America/Boa_Vista"}, + "OLC": {"Senadora Eunice Micheles Airport", "Sao Paulo de Olivenca", "Brazil", "OLC", "SDCG", -3.46792950765, -68.9204120636, 335, -4, "S", "America/Boa_Vista"}, + "HUW": {"Humaitá Airport", "Humaita", "Brazil", "HUW", "SWHT", -7.532120227810001, -63.072101593, 230, -4, "S", "America/Boa_Vista"}, + "IRZ": {"Tapuruquara Airport", "Santa Isabel do Rio Negro", "Brazil", "IRZ", "SWTP", -0.3786, -64.9923, 223, -4, "S", "America/Boa_Vista"}, + "ORX": {"Oriximiná Airport", "Oriximina", "Brazil", "ORX", "SNOX", -1.7140799760818481, -55.83620071411133, 262, -3, "S", "America/Belem"}, + "UNA": {"Hotel Transamérica Airport", "Una", "Brazil", "UNA", "SBTC", -15.355199813799999, -38.9990005493, 20, -3, "S", "America/Fortaleza"}, + "TEF": {"Telfer Airport", "Telfer", "Australia", "TEF", "YTEF", -21.71500015258789, 122.22899627685547, 970, 8, "N", "Australia/Perth"}, + "GZP": {"Gazipaşa Airport", "Alanya", "Turkey", "GZP", "LTGP", 36.2992172241, 32.3005981445, 86, 3, "E", "Europe/Istanbul"}, + "DQH": {"Douglas Municipal Airport", "Douglas", "United States", "DQH", "KDQH", 31.476699829101562, -82.8604965209961, 257, -5, "A", "America/New_York"}, + "FRP": {"St Lucie County International Airport", "Fort Pierce", "United States", "FRP", "KFPR", 27.49510002, -80.36830139, 24, -5, "A", "America/New_York"}, + "TAN": {"Taunton Municipal King Field", "Taunton", "United States", "TAN", "KTAN", 41.8744010925293, -71.0166015625, 43, -5, "A", "America/New_York"}, + "PYM": {"Plymouth Municipal Airport", "Plymouth", "United States", "PYM", "KPYM", 41.909000396728516, -70.72879791259766, 148, -5, "A", "America/New_York"}, + "OQU": {"Quonset State Airport", "North Kingstown", "United States", "OQU", "KOQU", 41.597099304199, -71.412101745605, 18, -5, "A", "America/New_York"}, + "OWD": {"Norwood Memorial Airport", "Norwood", "United States", "OWD", "KOWD", 42.1904983521, -71.1728973389, 49, -5, "A", "America/New_York"}, + "BAF": {"Barnes Municipal Airport", "Westfield", "United States", "BAF", "KBAF", 42.157799, -72.715599, 271, -5, "A", "America/New_York"}, + "IJD": {"Windham Airport", "Willimantic", "United States", "IJD", "KIJD", 41.74399948120117, -72.1802978515625, 247, -5, "A", "America/New_York"}, + "MGJ": {"Orange County Airport", "Montgomery", "United States", "MGJ", "KMGJ", 41.50999832, -74.26460266, 364, -5, "A", "America/New_York"}, + "CXY": {"Capital City Airport", "Harrisburg", "United States", "CXY", "KCXY", 40.2170982361, -76.85150146480001, 347, -5, "A", "America/New_York"}, + "GHG": {"Marshfield Municipal George Harlow Field", "Marshfield", "United States", "GHG", "KGHG", 42.09830093383789, -70.67220306396484, 11, -5, "A", "America/New_York"}, + "DXR": {"Danbury Municipal Airport", "Danbury", "United States", "DXR", "KDXR", 41.371498107899995, -73.48220062259999, 458, -5, "A", "America/New_York"}, + "ASH": {"Boire Field", "Nashua", "United States", "ASH", "KASH", 42.7817001343, -71.51480102539999, 199, -5, "A", "America/New_York"}, + "LWM": {"Lawrence Municipal Airport", "Lawrence", "United States", "LWM", "KLWM", 42.717201232899995, -71.1233978271, 148, -5, "A", "America/New_York"}, + "OXC": {"Waterbury Oxford Airport", "Oxford", "United States", "OXC", "KOXC", 41.47859954834, -73.135200500488, 726, -5, "A", "America/New_York"}, + "FIT": {"Fitchburg Municipal Airport", "Fitchburg", "United States", "FIT", "KFIT", 42.554100036621094, -71.75900268554688, 348, -5, "A", "America/New_York"}, + "VPC": {"Cartersville Airport", "Cartersville", "United States", "VPC", "KVPC", 34.12310028076172, -84.84870147705078, 759, -5, "A", "America/New_York"}, + "PYP": {"Centre-Piedmont-Cherokee County Regional Airport", "Centre", "United States", "PYP", "KPYP", 34.089977, -85.610069, 596, -6, "A", "America/Chicago"}, + "RMG": {"Richard B Russell Airport", "Rome", "United States", "RMG", "KRMG", 34.3506011963, -85.15799713130001, 644, -5, "A", "America/New_York"}, + "GAD": {"Northeast Alabama Regional Airport", "Gadsden", "United States", "GAD", "KGAD", 33.972599, -86.088996, 569, -6, "A", "America/Chicago"}, + "DKX": {"Knoxville Downtown Island Airport", "Knoxville", "United States", "DKX", "KDKX", 35.96390151977539, -83.8739013671875, 833, -5, "A", "America/New_York"}, + "WDR": {"Barrow County Airport", "Winder", "United States", "WDR", "KWDR", 33.98289871, -83.66739655, 943, -5, "A", "America/New_York"}, + "JYL": {"Plantation Airpark", "Sylvania", "United States", "JYL", "KJYL", 32.645301818847656, -81.59709930419922, 188, -5, "A", "America/New_York"}, + "DNN": {"Dalton Municipal Airport", "Dalton", "United States", "DNN", "KDNN", 34.72290039, -84.87020111, 709, -5, "A", "America/New_York"}, + "CTJ": {"West Georgia Regional O V Gray Field", "Carrollton", "United States", "CTJ", "KCTJ", 33.63100051879883, -85.1520004272461, 1161, -5, "A", "America/New_York"}, + "LGC": {"Lagrange Callaway Airport", "LaGrange", "United States", "LGC", "KLGC", 33.0088996887, -85.0726013184, 693, -5, "A", "America/New_York"}, + "MLJ": {"Baldwin County Airport", "Milledgeville", "United States", "MLJ", "KMLJ", 33.15420151, -83.24069977, 385, -5, "A", "America/New_York"}, + "PIM": {"Harris County Airport", "Pine Mountain", "United States", "PIM", "KPIM", 32.8406982422, -84.8824005127, 902, -5, "A", "America/New_York"}, + "FFC": {"Peachtree City Falcon Field", "Atlanta", "United States", "FFC", "KFFC", 33.3572998046875, -84.5718002319336, 808, -5, "A", "America/New_York"}, + "GVL": {"Lee Gilmer Memorial Airport", "Gainesville", "United States", "GVL", "KGVL", 34.27259827, -83.8302002, 1276, -5, "A", "America/New_York"}, + "PHD": {"Harry Clever Field", "New Philadelpha", "United States", "PHD", "KPHD", 40.470901489258, -81.419700622559, 894, -5, "A", "America/New_York"}, + "UDG": {"Darlington County Jetport Airport", "Darlington", "United States", "UDG", "KUDG", 34.44940186, -79.89009857, 192, -5, "A", "America/New_York"}, + "HHH": {"Hilton Head Airport", "Hilton Head Island", "United States", "HHH", "KHXD", 32.2243995667, -80.6975021362, 19, -5, "A", "America/New_York"}, + "DNL": {"Daniel Field", "Augusta", "United States", "DNL", "KDNL", 33.4664993286, -82.0393981934, 423, -5, "A", "America/New_York"}, + "MRN": {"Foothills Regional Airport", "Morganton", "United States", "MRN", "KMRN", 35.8202018737793, -81.61139678955078, 1270, -5, "A", "America/New_York"}, + "PBX": {"Pike County-Hatcher Field", "Pikeville", "United States", "PBX", "KPBX", 37.5617981, -82.56639862, 1473, -5, "A", "America/New_York"}, + "TOC": {"Toccoa Airport - R.G. Letourneau Field", "Toccoa", "United States", "TOC", "KTOC", 34.59379959, -83.29579926, 996, -5, "A", "America/New_York"}, + "PLV": {"Suprunovka Airport", "Poltava", "Ukraine", "PLV", "UKHP", 49.568599700927734, 34.39720153808594, 505, 2, "U", "Europe/Kiev"}, + "WUU": {"Wau Airport", "Wau", "Sudan", "WUU", "HSWW", 7.7258300781199996, 27.9750003815, 1529, 3, "U", "Africa/Juba"}, + "HUE": {"Humera Airport", "Humera", "Ethiopia", "HUE", "HAHU", 14.25, 36.58300018310547, 1930, 3, "U", "Africa/Addis_Ababa"}, + "OYL": {"Moyale Airport", "Moyale", "Kenya", "OYL", "HKMY", 3.46972, 39.101398, 2790, 3, "U", "Africa/Nairobi"}, + "WYE": {"Yengema Airport", "Yengema", "Sierra Leone", "WYE", "GFYE", 8.610469818115234, -11.04539966583252, 1300, 0, "U", "Africa/Freetown"}, + "GBK": {"Gbangbatok Airport", "Gbangbatok", "Sierra Leone", "GBK", "GFGK", 7.767000198364258, -12.383000373840332, 75, 0, "U", "Africa/Freetown"}, + "AFW": {"Fort Worth Alliance Airport", "Fort Worth", "United States", "AFW", "KAFW", 32.9875984192, -97.31880187990001, 722, -6, "A", "America/Chicago"}, + "57C": {"East Troy Municipal Airport", "East Troy", "United States", "57C", "K57C", 42.79719924926758, -88.37259674072266, 860, -6, "A", "America/Chicago"}, + "RMK": {"Renmark Airport", "Renmark", "Australia", "RMK", "YREN", -34.1963996887207, 140.6739959716797, 115, 9.5, "O", "Australia/Adelaide"}, + "LGH": {"Leigh Creek Airport", "Leigh Creek", "Australia", "LGH", "YLEC", -30.59830093383789, 138.42599487304688, 856, 9.5, "O", "Australia/Adelaide"}, + "RTS": {"Rottnest Island Airport", "Rottnest Island", "Australia", "RTS", "YRTI", -32.00669860839844, 115.54000091552734, 12, 8, "O", "Australia/Perth"}, + "KEW": {"Keewaywin Airport", "Keewaywin", "Canada", "KEW", "CPV8", 52.991100311299995, -92.8364028931, 988, -6, "A", "America/Winnipeg"}, + "YSP": {"Marathon Airport", "Marathon", "Canada", "YSP", "CYSP", 48.75529861450195, -86.34439849853516, 1035, -5, "A", "America/Toronto"}, + "YHF": {"Hearst René Fontaine Municipal Airport", "Hearst", "Canada", "YHF", "CYHF", 49.71419906616211, -83.68609619140625, 827, -5, "A", "America/Toronto"}, + "YHN": {"Hornepayne Municipal Airport", "Hornepayne", "Canada", "YHN", "CYHN", 49.19309997558594, -84.75890350341797, 1099, -5, "A", "America/Toronto"}, + "YKX": {"Kirkland Lake Airport", "Kirkland Lake", "Canada", "YKX", "CYKX", 48.21030044555664, -79.98139953613281, 1157, -5, "A", "America/Toronto"}, + "YMG": {"Manitouwadge Airport", "Manitouwadge", "Canada", "YMG", "CYMG", 49.083900451660156, -85.86060333251953, 1198, -5, "A", "America/Toronto"}, + "YXZ": {"Wawa Airport", "Wawa", "Canada", "YXZ", "CYXZ", 47.96670150756836, -84.78669738769531, 942, -5, "A", "America/Toronto"}, + "YEM": {"Manitoulin East Municipal Airport", "Manitowaning", "Canada", "YEM", "CYEM", 45.84280014038086, -81.85810089111328, 869, -5, "A", "America/Toronto"}, + "YFD": {"Brantford Municipal Airport", "Brantford", "Canada", "YFD", "CYFD", 43.13140106201172, -80.34249877929688, 815, -5, "A", "America/Toronto"}, + "LWC": {"Lawrence Municipal Airport", "Lawrence", "United States", "LWC", "KLWC", 39.01119995, -95.21659851, 833, -6, "A", "America/Chicago"}, + "EGT": {"Wellington Municipal Airport", "Wellington", "United States", "EGT", "KEGT", 37.32360076904297, -97.38829803466797, 1277, -6, "A", "America/Chicago"}, + "PMP": {"Pompano Beach Airpark", "Pompano Beach", "United States", "PMP", "KPMP", 26.247100830078, -80.111099243164, 19, -5, "A", "America/New_York"}, + "XMC": {"Mallacoota Airport", "Mallacoota", "Australia", "XMC", "YMCO", -37.59830093383789, 149.72000122070312, 31, 10, "U", "Australia/Hobart"}, + "EET": {"Shelby County Airport", "Alabaster", "United States", "EET", "KEET", 33.17699814, -86.78279877, 586, -6, "A", "America/Chicago"}, + "YUE": {"Yuendumu Airport", "Yuendumu ", "Australia", "YUE", "YYND", -22.254199981689453, 131.78199768066406, 2205, 9.5, "O", "Australia/Darwin"}, + "LOP": {"Lombok International Airport", "Praya", "Indonesia", "LOP", "WADL", -8.757322, 116.276675, 319, 8, "N", "Asia/Makassar"}, + "ZML": {"South Cariboo Region / 108 Mile Airport", "108 Mile Ranch", "Canada", "ZML", "CZML", 51.736099243199995, -121.333000183, 3126, -8, "A", "America/Vancouver"}, + "HDG": {"Handan Airport", "Handan", "China", "HDG", "ZBHD", 36.5258333333, 114.425555556, 229, 8, "N", "Asia/Shanghai"}, + "UMP": {"Indianapolis Metropolitan Airport", "Indianapolis", "United States", "UMP", "KUMP", 39.93519974, -86.04499817, 811, -5, "A", "America/New_York"}, + "LOZ": {"London-Corbin Airport/Magee Field", "London", "United States", "LOZ", "KLOZ", 37.0821990967, -84.08489990230001, 1212, -5, "A", "America/New_York"}, + "FBG": {"Simmons Army Air Field", "Fredericksburg", "United States", "FBG", "KFBG", 35.13180161, -78.93669891, 244, -5, "A", "America/New_York"}, + "WMI": {"Modlin Airport", "Warsaw", "Poland", "WMI", "EPMO", 52.4510993958, 20.6518001556, 341, 1, "E", "Europe/Warsaw"}, + "JXA": {"Jixi Xingkaihu Airport", "Jixi", "China", "JXA", "ZYJX", 45.293, 131.193, 760, 8, "N", "Asia/Shanghai"}, + "YGM": {"Gimli Industrial Park Airport", "Gimli", "Canada", "YGM", "CYGM", 50.62810134887695, -97.04329681396484, 753, -6, "A", "America/Winnipeg"}, + "EYK": {"Beloyarskiy Airport", "Beloyarsky", "Russia", "EYK", "USHY", 63.686901092499994, 66.698600769, 82, 5, "N", "Asia/Yekaterinburg"}, + "RAC": {"John H Batten Airport", "Racine", "United States", "RAC", "KRAC", 42.7606010437, -87.8152008057, 674, -6, "A", "America/Chicago"}, + "RZP": {"Cesar Lim Rodriguez Airport", "Taytay", "Philippines", "RZP", "RPSD", 10.81874, 119.507697, 80, 8, "U", "Asia/Manila"}, + "REI": {"Redlands Municipal Airport", "Redlands", "United States", "REI", "KREI", 34.08530044555664, -117.14600372314453, 1571, -8, "A", "America/Los_Angeles"}, + "RIR": {"Flabob Airport", "Riverside", "United States", "RIR", "KRIR", 33.98970031738281, -117.41100311279297, 764, -8, "A", "America/Los_Angeles"}, + "TIW": {"Tacoma Narrows Airport", "Tacoma", "United States", "TIW", "KTIW", 47.26789856, -122.5780029, 294, -8, "A", "America/Los_Angeles"}, + "JKA": {"Jack Edwards Airport", "Gulf Shores", "United States", "JKA", "KJKA", 30.29050064, -87.67179871, 17, -6, "A", "America/Chicago"}, + "HMJ": {"Khmelnytskyi Airport", "Khmeinitskiy", "Ukraine", "HMJ", "UKLH", 49.35969924926758, 26.933399200439453, 1150, 2, "E", "Europe/Kiev"}, + "HIW": {"Hiroshimanishi Airport", "Hiroshima", "Japan", "HIW", "RJBH", 34.36690139770508, 132.41400146484375, 15, 9, "N", "Asia/Tokyo"}, + "HZL": {"Hazleton Municipal Airport", "Hazleton", "United States", "HZL", "KHZL", 40.986801147499996, -75.9949035645, 1603, -5, "A", "America/New_York"}, + "CBE": {"Greater Cumberland Regional Airport", "Cumberland", "United States", "CBE", "KCBE", 39.615398407, -78.7609024048, 775, -5, "A", "America/New_York"}, + "YBO": {"Bob Quinn Lake Airport", "Bob Quinn Lake", "Canada", "YBO", "CBW4", 56.9667015076, -130.25, 2000, -8, "U", "America/Vancouver"}, + "KLF": {"Grabtsevo Airport", "Kaluga", "Russia", "KLF", "UUBC", 54.5499992371, 36.3666687012, 656, 3, "N", "Europe/Moscow"}, + "LNR": {"Tri-County Regional Airport", "Lone Rock", "United States", "LNR", "KLNR", 43.2117004395, -90.181602478, 717, -6, "A", "America/Chicago"}, + "JOT": {"Joliet Regional Airport", "Joliet", "United States", "JOT", "KJOT", 41.51779938, -88.17549896, 582, -6, "A", "America/Chicago"}, + "VYS": {"Illinois Valley Regional Airport-Walter A Duncan Field", "Peru", "United States", "VYS", "KVYS", 41.351898, -89.153099, 654, -6, "A", "America/Chicago"}, + "JXN": {"Jackson County Reynolds Field", "Jackson", "United States", "JXN", "KJXN", 42.259799957300004, -84.45939636230001, 1001, -5, "A", "America/New_York"}, + "BBX": {"Wings Field", "Philadelphia", "United States", "BBX", "KLOM", 40.1375007629, -75.2650985718, 302, -5, "A", "America/New_York"}, + "OBE": {"Okeechobee County Airport", "Okeechobee", "United States", "OBE", "KOBE", 27.262800216699997, -80.8498001099, 34, -5, "A", "America/New_York"}, + "SEF": {"Sebring Regional Airport", "Sebring", "United States", "SEF", "KSEF", 27.45639992, -81.3423996, 62, -5, "A", "America/New_York"}, + "AVO": {"Avon Park Executive Airport", "Avon Park", "United States", "AVO", "KAVO", 27.59119987, -81.52780151, 160, -5, "A", "America/New_York"}, + "GIF": {"Winter Haven Municipal Airport - Gilbert Field", "Winter Haven", "United States", "GIF", "KGIF", 28.06290054, -81.75330353, 145, -5, "A", "America/New_York"}, + "ZPH": {"Zephyrhills Municipal Airport", "Zephyrhills", "United States", "ZPH", "KZPH", 28.2282009125, -82.15589904790001, 90, -5, "A", "America/New_York"}, + "OCF": {"Ocala International Airport - Jim Taylor Field", "Ocala", "United States", "OCF", "KOCF", 29.17259979, -82.22419739, 90, -5, "A", "America/New_York"}, + "JES": {"Jesup Wayne County Airport", "Jesup", "United States", "JES", "KJES", 31.55400085, -81.88249969, 107, -5, "A", "America/New_York"}, + "52A": {"Madison Municipal Airport", "Madison", "United States", "52A", "K52A", 33.6120986938, -83.46040344240001, 694, -5, "A", "America/New_York"}, + "CCO": {"Newnan Coweta County Airport", "Newnan", "United States", "CCO", "KCCO", 33.31159973144531, -84.7697982788086, 970, -5, "A", "America/New_York"}, + "HQU": {"Thomson-McDuffie County Airport", "Thomson", "United States", "HQU", "KHQU", 33.52970123, -82.51650238, 501, -5, "A", "America/New_York"}, + "AIK": {"Aiken Municipal Airport", "Aiken", "United States", "AIK", "KAIK", 33.6493988037, -81.68499755859999, 528, -5, "A", "America/New_York"}, + "CDN": {"Woodward Field", "Camden", "United States", "CDN", "KCDN", 34.2835998535, -80.56490325930001, 302, -5, "A", "America/New_York"}, + "LBT": {"Lumberton Regional Airport", "Lumberton", "United States", "LBT", "KLBT", 34.6099014282, -79.05940246579999, 126, -5, "A", "America/New_York"}, + "SOP": {"Moore County Airport", "Pinehurst-Southern Pines", "United States", "SOP", "KSOP", 35.23740005, -79.3911972, 455, -5, "A", "America/New_York"}, + "RCZ": {"Richmond County Airport", "Rockingham", "United States", "RCZ", "KRCZ", 34.8913, -79.759598, 358, -5, "A", "America/New_York"}, + "DLL": {"Baraboo Wisconsin Dells Airport", "Baraboo", "United States", "DLL", "KDLL", 43.52270126, -89.77020264, 979, -6, "A", "America/Chicago"}, + "SVH": {"Statesville Regional Airport", "Statesville", "United States", "SVH", "KSVH", 35.765300750732, -80.953903198242, 968, -5, "A", "America/New_York"}, + "BUU": {"Burlington Municipal Airport", "Burlington", "United States", "BUU", "KBUU", 42.69070053100586, -88.30460357666016, 779, -6, "A", "America/Chicago"}, + "LHV": {"William T. Piper Memorial Airport", "Lock Haven", "United States", "LHV", "KLHV", 41.13560104, -77.42230225, 556, -5, "A", "America/New_York"}, + "LPR": {"Lorain County Regional Airport", "Lorain-Elyria", "United States", "LPR", "KLPR", 41.34429932, -82.17759705, 793, -5, "A", "America/New_York"}, + "BKL": {"Burke Lakefront Airport", "Cleveland", "United States", "BKL", "KBKL", 41.51750183105469, -81.68329620361328, 583, -5, "A", "America/New_York"}, + "DKK": {"Chautauqua County-Dunkirk Airport", "Dunkirk", "United States", "DKK", "KDKK", 42.49330139, -79.27200317, 693, -5, "A", "America/New_York"}, + "VAY": {"South Jersey Regional Airport", "Mount Holly", "United States", "VAY", "KVAY", 39.942901611299995, -74.845703125, 53, -5, "A", "America/New_York"}, + "LDJ": {"Linden Airport", "Linden", "United States", "LDJ", "KLDJ", 40.617401123, -74.2445983887, 23, -5, "A", "America/New_York"}, + "ANQ": {"Tri State Steuben County Airport", "Angola", "United States", "ANQ", "KANQ", 41.639702, -85.083504, 995, -5, "A", "America/New_York"}, + "VNW": {"Van Wert County Airport", "Van Wert", "United States", "VNW", "KVNW", 40.86470031738281, -84.6093978881836, 785, -5, "A", "America/New_York"}, + "GVQ": {"Genesee County Airport", "Batavia", "United States", "GVQ", "KGVQ", 43.03170013, -78.16760254, 914, -5, "A", "America/New_York"}, + "CLW": {"Clearwater Air Park", "Clearwater", "United States", "CLW", "KCLW", 27.9766998291, -82.7586975098, 71, -5, "A", "America/New_York"}, + "CGX": {"Chicago Meigs Airport", "Chicago", "United States", "CGX", "KCGX", 41.85879898071289, -87.60790252685547, 593, -6, "A", "America/Chicago"}, + "JZP": {"Pickens County Airport", "Jasper", "United States", "JZP", "KJZP", 34.453399658203125, -84.4573974609375, 1535, -5, "A", "America/New_York"}, + "CRE": {"Grand Strand Airport", "North Myrtle Beach", "United States", "CRE", "KCRE", 33.8116989136, -78.72389984130001, 32, -5, "A", "America/New_York"}, + "IGQ": {"Lansing Municipal Airport", "Lansing", "United States", "IGQ", "KIGQ", 41.5349006652832, -87.52950286865234, 620, -6, "A", "America/Chicago"}, + "RNM": {"Ramona Airport", "Ramona", "United States", "RNM", "KRNM", 33.03919982910156, -116.91500091552734, 1395, -8, "A", "America/Los_Angeles"}, + "BXO": {"Buochs Airport", "Buochs", "Switzerland", "BXO", "LSZC", 46.974444, 8.396944, 1475, 1, "E", "Europe/Zurich"}, + "OEB": {"Branch County Memorial Airport", "Coldwater", "United States", "OEB", "KOEB", 41.9333992, -85.05259705, 959, -5, "A", "America/New_York"}, + "WBW": {"Wilkes Barre Wyoming Valley Airport", "Wilkes-Barre", "United States", "WBW", "KWBW", 41.2971992493, -75.8511962891, 545, -5, "A", "America/New_York"}, + "LNN": {"Willoughby Lost Nation Municipal Airport", "Willoughby", "United States", "LNN", "KLNN", 41.683998107899995, -81.3897018433, 626, -5, "A", "America/New_York"}, + "UMD": {"Uummannaq Heliport", "Uummannaq", "Greenland", "UMD", "BGUM", 70.6804279261, -52.111630439799995, 50, -3, "E", "America/Godthab"}, + "RLK": {"Bayannur Tianjitai Airport", "Bayannur", "China", "RLK", "ZBYZ", 40.926, 107.7428, 3400, 8, "U", "Asia/Shanghai"}, + "FFT": {"Capital City Airport", "Frankfort", "United States", "FFT", "KFFT", 38.18249893, -84.90470123, 806, -5, "A", "America/New_York"}, + "LEW": {"Auburn Lewiston Municipal Airport", "Lewiston", "United States", "LEW", "KLEW", 44.048500061, -70.2835006714, 288, -5, "A", "America/New_York"}, + "MRK": {"Marco Island Airport", "Marco Island Airport", "United States", "MRK", "KMKY", 25.9950008392, -81.6725006104, 5, -5, "A", "America/New_York"}, + "DRM": {"Drummond Island Airport", "Drummond Island", "United States", "DRM", "KDRM", 46.0093002319, -83.74389648440001, 668, -5, "A", "America/New_York"}, + "GDW": {"Gladwin Zettel Memorial Airport", "Gladwin", "United States", "GDW", "KGDW", 43.9706001282, -84.47499847410002, 776, -5, "A", "America/New_York"}, + "LWA": {"South Haven Area Regional Airport", "South Haven", "United States", "LWA", "KLWA", 42.351200103759766, -86.25569915771484, 666, -5, "A", "America/New_York"}, + "MFI": {"Marshfield Municipal Airport", "Marshfield", "United States", "MFI", "KMFI", 44.6369018555, -90.18930053710001, 1277, -6, "A", "America/Chicago"}, + "ISW": {"Alexander Field South Wood County Airport", "Wisconsin Rapids", "United States", "ISW", "KISW", 44.3602981567, -89.83899688720001, 1021, -6, "A", "America/Chicago"}, + "CWI": {"Clinton Municipal Airport", "Clinton", "United States", "CWI", "KCWI", 41.8311004639, -90.3291015625, 708, -6, "A", "America/Chicago"}, + "BVY": {"Beverly Municipal Airport", "Beverly", "United States", "BVY", "KBVY", 42.584201812699995, -70.91649627689999, 107, -5, "A", "America/New_York"}, + "YRQ": {"Trois-Rivières Airport", "Trois Rivieres", "Canada", "YRQ", "CYRQ", 46.35279846191406, -72.67939758300781, 199, -5, "A", "America/Toronto"}, + "POF": {"Poplar Bluff Municipal Airport", "Poplar Bluff", "United States", "POF", "KPOF", 36.773899078369, -90.324897766113, 331, -6, "A", "America/Chicago"}, + "EPM": {"Eastport Municipal Airport", "Eastport", "United States", "EPM", "KEPM", 44.910099029541016, -67.01270294189453, 45, -5, "A", "America/New_York"}, + "EOK": {"Keokuk Municipal Airport", "Keokuk", "United States", "EOK", "KEOK", 40.459899902299995, -91.4284973145, 671, -6, "A", "America/Chicago"}, + "PSL": {"Perth/Scone Airport", "Perth", "United Kingdom", "PSL", "EGPT", 56.43920135498047, -3.372220039367676, 397, 0, "E", "Europe/London"}, + "STP": {"St Paul Downtown Holman Field", "St. Paul", "United States", "STP", "KSTP", 44.93450164794922, -93.05999755859375, 705, -6, "A", "America/Chicago"}, + "SOO": {"Söderhamn Airport", "Soderhamn", "Sweden", "SOO", "ESNY", 61.26150131225586, 17.09910011291504, 88, 1, "E", "Europe/Stockholm"}, + "VNA": {"Saravane Airport", "Saravane", "Laos", "VNA", "VLSV", 15.709439207700001, 106.410698891, 574, 7, "U", "Asia/Vientiane"}, + "DKS": {"Dikson Airport", "Dikson", "Russia", "DKS", "UODD", 73.51780700683594, 80.37966918945312, 47, 7, "N", "Asia/Krasnoyarsk"}, + "BYT": {"Bantry Aerodrome", "Bantry", "Ireland", "BYT", "EIBN", 51.66859817504883, -9.484169960021973, 7, 0, "E", "Europe/Dublin"}, + "ADY": {"Alldays Airport", "Alldays", "South Africa", "ADY", "FAAL", -22.6790008545, 29.0555000305, 2600, 2, "U", "Africa/Johannesburg"}, + "GAS": {"Garissa Airport", "Garissa", "Kenya", "GAS", "HKGA", -0.4635080099105835, 39.64830017089844, 475, 3, "U", "Africa/Nairobi"}, + "HOA": {"Hola Airport", "Hola", "Kenya", "HOA", "HKHO", -1.5219999551773071, 40.00400161743164, 195, 3, "U", "Africa/Nairobi"}, + "KEY": {"Kericho Airport", "Kericho", "Kenya", "KEY", "HKKR", -0.4169999957084656, 35.25, 6562, 3, "U", "Africa/Nairobi"}, + "ILU": {"Kilaguni Airport", "Kilaguni", "Kenya", "ILU", "HKKL", -2.9106099605560303, 38.06520080566406, 2750, 3, "U", "Africa/Nairobi"}, + "ATJ": {"Antsirabe Airport", "Antsirabe", "Madagascar", "ATJ", "FMME", -19.8392214824, 47.063713073699994, 4997, 3, "U", "Indian/Antananarivo"}, + "OVA": {"Bekily Airport", "Bekily", "Madagascar", "OVA", "FMSL", -24.235694754699995, 45.3045272827, 1270, 3, "U", "Indian/Antananarivo"}, + "RGK": {"Gorno-Altaysk Airport", "Gorno-Altaysk", "Russia", "RGK", "UNBG", 51.9667015076, 85.8332977295, 965, 7, "N", "Asia/Krasnoyarsk"}, + "FLD": {"Fond du Lac County Airport", "Fond du Lac", "United States", "FLD", "KFLD", 43.7711982727, -88.48840332030001, 808, -6, "A", "America/Chicago"}, + "PCZ": {"Waupaca Municipal Airport", "Waupaca", "United States", "PCZ", "KPCZ", 44.33330154, -89.01979828, 840, -6, "A", "America/Chicago"}, + "STE": {"Stevens Point Municipal Airport", "Stevens Point", "United States", "STE", "KSTE", 44.5452003479, -89.530296325684, 1110, -6, "A", "America/Chicago"}, + "ERY": {"Luce County Airport", "Newberry", "United States", "ERY", "KERY", 46.31119918823242, -85.4572982788086, 869, -5, "A", "America/New_York"}, + "PEF": {"Peenemünde Airport", "Peenemunde", "Germany", "PEF", "EDCP", 54.1577796936, 13.774443626399998, 7, 1, "E", "Europe/Berlin"}, + "GQQ": {"Galion Municipal Airport", "Galion", "United States", "GQQ", "KGQQ", 40.7533988953, -82.7238006592, 1224, -5, "A", "America/New_York"}, + "TPN": {"Tiputini Airport", "Tiputini", "Ecuador", "TPN", "SETI", -0.7761110067367554, -75.52639770507812, 997, -5, "S", "America/Guayaquil"}, + "PTZ": {"Rio Amazonas Airport", "Pastaza", "Ecuador", "PTZ", "SESM", -1.5052399635299998, -78.0626983643, 3465, -5, "S", "America/Guayaquil"}, + "CKV": {"Clarksville–Montgomery County Regional Airport", "Clarksville", "United States", "CKV", "KCKV", 36.6218986511, -87.4150009155, 550, -6, "A", "America/Chicago"}, + "LPC": {"Lompoc Airport", "Lompoc", "United States", "LPC", "KLPC", 34.665599823, -120.468002319, 88, -8, "A", "America/Los_Angeles"}, + "CTH": {"Chester County G O Carlson Airport", "Coatesville", "United States", "CTH", "KMQS", 39.97900009, -75.8655014, 660, -5, "A", "America/New_York"}, + "BST": {"Bost Airport", "Lashkar Gah", "Afghanistan", "BST", "OABT", 31.55970001220703, 64.36499786376953, 2464, 4.5, "U", "Asia/Kabul"}, + "LLK": {"Lankaran International Airport", "Lankaran", "Azerbaijan", "LLK", "UBBL", 38.746398925799994, 48.8180007935, 30, 4, "U", "Asia/Baku"}, + "GBB": {"Gabala International Airport", "Qabala", "Azerbaijan", "GBB", "UBBQ", 40.826667, 47.7125, 935, 4, "E", "Asia/Baku"}, + "ZTU": {"Zaqatala International Airport", "Zaqatala", "Azerbaijan", "ZTU", "UBBY", 41.562222, 46.667221, 1279, 4, "E", "Asia/Baku"}, + "LKP": {"Lake Placid Airport", "Lake Placid", "United States", "LKP", "KLKP", 44.2644996643, -73.96189880370001, 1747, -5, "A", "America/New_York"}, + "DEE": {"Cooma Hospital Helipad", "Yuzhno-Kurilsk", "Russia", "DEE", "YXCM", -36.242155, 149.130147, 2656, 10, "N", "Australia/Sydney"}, + "AOH": {"Lima Allen County Airport", "Lima", "United States", "AOH", "KAOH", 40.706902, -84.026703, 975, -5, "A", "America/New_York"}, + "DSO": {"Sondok Airport", "Hamhung", "North Korea", "DSO", "ZKSD", 39.745201, 127.473999, 12, 8.5, "U", "Asia/Pyongyang"}, + "SSI": {"Malcolm McKinnon Airport", "Brunswick", "United States", "SSI", "KSSI", 31.15180016, -81.39129639, 19, -5, "A", "America/New_York"}, + "BFP": {"Beaver County Airport", "Beaver Falls", "United States", "BFP", "KBVI", 40.7724990845, -80.39140319820001, 1253, -5, "A", "America/New_York"}, + "GGE": {"Georgetown County Airport", "Georgetown", "United States", "GGE", "KGGE", 33.3116989136, -79.3196029663, 39, -5, "A", "America/New_York"}, + "HDI": {"Hardwick Field", "Cleveland", "United States", "HDI", "KHDI", 35.22010040283203, -84.8323974609375, 874, -5, "A", "America/New_York"}, + "RNT": {"Renton Municipal Airport", "Renton", "United States", "RNT", "KRNT", 47.4930992126, -122.216003418, 32, -8, "A", "America/Los_Angeles"}, + "POC": {"Brackett Field", "La Verne", "United States", "POC", "KPOC", 34.091598510742, -117.78199768066, 1011, -8, "A", "America/Los_Angeles"}, + "CTY": {"Cross City Airport", "Cross City", "United States", "CTY", "KCTY", 29.6354999542, -83.10479736330001, 42, -5, "A", "America/New_York"}, + "CEU": {"Oconee County Regional Airport", "Clemson", "United States", "CEU", "KCEU", 34.6719017, -82.8864975, 892, -5, "A", "America/New_York"}, + "BEC": {"Beech Factory Airport", "Wichita", "United States", "BEC", "KBEC", 37.694499969499994, -97.21499633790002, 1408, -6, "A", "America/Chicago"}, + "PDG": {"Tabing Airport", "Padang", "Indonesia", "PDG", "WIMG", -0.8749889731409999, 100.351997375, 9, 7, "U", "Asia/Jakarta"}, + "GTU": {"Georgetown Municipal Airport", "Georgetown", "United States", "GTU", "KGTU", 30.678800582885742, -97.67939758300781, 790, -6, "A", "America/Chicago"}, + "QFO": {"Duxford Airport", "Duxford", "United Kingdom", "QFO", "EGSU", 52.090801239, 0.131944000721, 125, 0, "E", "Europe/London"}, + "SNY": {"Sidney Municipal-Lloyd W Carr Field", "Sidney", "United States", "SNY", "KSNY", 41.10129929, -102.9850006, 4313, -7, "A", "America/Denver"}, + "GKL": {"Great Keppel Is Airport", "Great Keppel Island", "Australia", "GKL", "YGKL", -23.1833000183, 150.942001343, 21, 10, "U", "Australia/Brisbane"}, + "RPB": {"Roper Bar Airport", "Roper Bar", "Australia", "RPB", "YRRB", -14.734814, 134.525485, 92, 9.5, "U", "Australia/Darwin"}, + "IFL": {"Innisfail Airport", "Innisfail", "Australia", "IFL", "YIFL", -17.55940055847168, 146.01199340820312, 46, 10, "U", "Australia/Brisbane"}, + "BIN": {"Bamiyan Airport", "Bamyan", "Afghanistan", "BIN", "OABN", 34.81700134277344, 67.81700134277344, 8367, 4.5, "N", "Asia/Kabul"}, + "MOO": {"Moomba Airport", "Moomba", "Australia", "MOO", "YOOM", -28.09939956665039, 140.19700622558594, 143, 9.5, "O", "Australia/Adelaide"}, + "ECA": {"Iosco County Airport", "East Tawas", "United States", "ECA", "K6D9", 44.312801, -83.422302, 606, -5, "A", "America/New_York"}, + "JYO": {"Leesburg Executive Airport", "Leesburg", "United States", "JYO", "KJYO", 39.077999114990234, -77.55750274658203, 389, -5, "A", "America/New_York"}, + "VAM": {"Villa Airport", "Maamigili", "Maldives", "VAM", "VRMV", 3.47055555556, 72.8358333333, 6, 5, "U", "Indian/Maldives"}, + "LLF": {"Lingling Airport", "Yongzhou", "China", "LLF", "ZGLG", 26.338661, 111.610043, 340, 8, "U", "Asia/Shanghai"}, + "LSZ": {"Lošinj Island Airport", "Mali Losinj", "Croatia", "LSZ", "LDLO", 44.5657997131, 14.3930997849, 151, 1, "E", "Europe/Zagreb"}, + "ONS": {"Onslow Airport", "Onslow", "Australia", "ONS", "YOLW", -21.668300628662, 115.1129989624, 7, 8, "O", "Australia/Perth"}, + "TDR": {"Theodore Airport", "Theodore", "Australia", "TDR", "YTDR", -24.99329948425293, 150.09300231933594, 171, 10, "N", "Australia/Brisbane"}, + "SDC": {"Williamson Sodus Airport", "Williamson", "United States", "SDC", "KSDC", 43.23469925, -77.1210022, 424, -5, "A", "America/New_York"}, + "WBU": {"Boulder Municipal Airport", "Boulder", "United States", "WBU", "KBDU", 40.0393981934, -105.225997925, 5288, -7, "A", "America/Denver"}, + "BBJ": {"Bitburg Airport", "Birburg", "Germany", "BBJ", "EDRB", 49.945278, 6.565, 1220, 1, "U", "Europe/Berlin"}, + "PAO": {"Palo Alto Airport of Santa Clara County", "Palo Alto", "United States", "PAO", "KPAO", 37.461101532, -122.114997864, 4, -8, "A", "America/Los_Angeles"}, + "FFZ": {"Falcon Field", "Mesa", "United States", "FFZ", "KFFZ", 33.4608001709, -111.727996826, 1394, -7, "A", "America/Phoenix"}, + "P08": {"Coolidge Municipal Airport", "Cooldige", "United States", "P08", "KP08", 32.9359016418457, -111.427001953125, 1574, -7, "A", "America/Phoenix"}, + "P52": {"Cottonwood Airport", "Cottonwood", "United States", "P52", "KP52", 34.7299995422, -112.035003662, 3550, -7, "A", "America/Phoenix"}, + "A39": {"Ak-Chin Regional Airport", "Phoenix", "United States", "A39", "KA39", 32.9908056, -111.9185278, 1300, -7, "A", "America/Phoenix"}, + "E25": {"Wickenburg Municipal Airport", "Wickenburg", "United States", "E25", "KE25", 33.96889877, -112.7990036, 2377, -7, "A", "America/Phoenix"}, + "YTY": {"Yangzhou Taizhou Airport", "Yangzhou", "China", "YTY", "ZSYA", 32.5634, 119.7198, 7, 8, "N", "Asia/Shanghai"}, + "PTK": {"Oakland County International Airport", "Pontiac", "United States", "PTK", "KPTK", 42.665500640869, -83.420097351074, 980, -5, "A", "America/New_York"}, + "KSI": {"Kissidougou Airport", "Kissidougou", "Guinea", "KSI", "GUKU", 9.1605596542358, -10.124400138855, 1808, 0, "N", "Africa/Conakry"}, + "EEN": {"Dillant Hopkins Airport", "Keene", "United States", "EEN", "KEEN", 42.898399353027344, -72.27079772949219, 488, -5, "A", "America/New_York"}, + "GKK": {"Kooddoo Airport", "Kooddoo", "Maldives", "GKK", "VRMO", 0.7324, 73.4336, 29, 5, "U", "Indian/Maldives"}, + "RCS": {"Rochester Airport", "Rochester", "United Kingdom", "RCS", "EGTO", 51.351898193359375, 0.5033329725265503, 436, 0, "E", "Europe/London"}, + "RHD": {"Termas de Río Hondo international Airport", "Rio Hondo", "Argentina", "RHD", "SANR", -27.4966, -64.93595, 935, -3, "S", "America/Cordoba"}, + "KMP": {"Keetmanshoop Airport", "Keetmanshoop", "Namibia", "KMP", "FYKT", -26.5398006439209, 18.111400604248047, 3506, 1, "U", "Africa/Windhoek"}, + "IOW": {"Iowa City Municipal Airport", "Iowa City", "United States", "IOW", "KIOW", 41.639198303200004, -91.5465011597, 668, -6, "A", "America/Chicago"}, + "TLQ": {"Turpan Jiaohe Airport", "Turpan", "China", "TLQ", "ZWTP", 43.0308, 89.0987, 934, 8, "U", "Asia/Shanghai"}, + "MWM": {"Windom Municipal Airport", "Windom", "United States", "MWM", "KMWM", 43.91339874267578, -95.1093978881836, 1410, -6, "A", "America/Chicago"}, + "ANP": {"Lee Airport", "Annapolis", "United States", "ANP", "KANP", 38.942902, -76.568398, 34, -5, "A", "America/New_York"}, + "FXO": {"Cuamba Airport", "Cuamba", "Mozambique", "FXO", "FQCB", -14.815, 36.529999, 1919, 2, "N", "Africa/Maputo"}, + "ODO": {"Bodaybo Airport", "Bodaibo", "Russia", "ODO", "UIKB", 57.866100311299995, 114.242996216, 919, 8, "N", "Asia/Irkutsk"}, + "ZTR": {"Zhytomyr Airport", "Zhytomyr", "Ukraine", "ZTR", "UKKV", 50.270556, 28.738611, 0, 2, "E", "Europe/Kiev"}, + "HRI": {"Mattala Rajapaksa International Airport", "Mattala", "Sri Lanka", "HRI", "VCRI", 6.284467, 81.124128, 157, 5.5, "N", "Asia/Colombo"}, + "PEQ": {"Pecos Municipal Airport", "Pecos", "United States", "PEQ", "KPEQ", 31.382400512695, -103.51100158691, 2613, -6, "A", "America/Chicago"}, + "HBG": {"Hattiesburg Bobby L Chain Municipal Airport", "Hattiesburg", "United States", "HBG", "KHBG", 31.26479912, -89.25279999, 151, -6, "A", "America/Chicago"}, + "QCJ": {"Botucatu - Tancredo de Almeida Neves Airport", "Botucatu", "Brazil", "QCJ", "SDBK", -22.939500808716, -48.467998504639, 3012, -3, "S", "America/Sao_Paulo"}, + "QSC": {"São Carlos Airport", "Sao Carlos", "Brazil", "QSC", "SDSC", -21.87540054321289, -47.90370178222656, 2649, -3, "S", "America/Sao_Paulo"}, + "YKN": {"Chan Gurney Municipal Airport", "Yankton", "United States", "YKN", "KYKN", 42.916698455811, -97.385902404785, 1306, -6, "A", "America/Chicago"}, + "XSB": {"Sir Bani Yas Airport", "Sir Bani Yas Island", "United Arab Emirates", "XSB", "OMBY", 24.283611, 52.580278, 25, 4, "U", "Asia/Dubai"}, + "ZBM": {"Bromont (Roland Desourdy) Airport", "Bromont", "Canada", "ZBM", "CZBM", 45.2907981873, -72.74140167239999, 375, -5, "A", "America/Toronto"}, + "KTI": {"Kratie Airport", "Kratie", "Cambodia", "KTI", "VDKT", 12.48799991607666, 106.05500030517578, 0, 7, "N", "Asia/Phnom_Penh"}, + "GYU": {"Guyuan Liupanshan Airport", "Guyuan", "China", "GYU", "ZLGY", 36.0788888889, 106.216944444, 5696, 8, "U", "Asia/Shanghai"}, + "CNI": {"Changhai Airport", "Changhai", "China", "CNI", "ZYCH", 39.2666666667, 122.666944444, 80, 8, "N", "Asia/Shanghai"}, + "KRH": {"Redhill Aerodrome", "Redhill", "United Kingdom", "KRH", "EGKR", 51.2136001587, -0.138611003757, 222, 0, "E", "Europe/London"}, + "CCL": {"Chinchilla Airport", "Chinchilla", "Australia", "CCL", "YCCA", -26.774999618530273, 150.61700439453125, 1028, 10, "O", "Australia/Brisbane"}, + "HWD": {"Hayward Executive Airport", "Hayward", "United States", "HWD", "KHWD", 37.659198761, -122.122001648, 52, -8, "A", "America/Los_Angeles"}, + "MZP": {"Motueka Airport", "Motueka", "New Zealand", "MZP", "NZMK", -41.12329864501953, 172.98899841308594, 39, 12, "Z", "Pacific/Auckland"}, + "JHQ": {"Shute Harbour Airport", "Shute Harbour", "Australia", "JHQ", "YSHR", -20.277221, 148.755556, 12, 10, "O", "Australia/Brisbane"}, + "ARB": {"Ann Arbor Municipal Airport", "Ann Arbor", "United States", "ARB", "KARB", 42.2229995728, -83.74559783939999, 839, -5, "A", "America/New_York"}, + "SHT": {"Shepparton Airport", "Shepparton", "Australia", "SHT", "YSHT", -36.42890167236328, 145.39300537109375, 374, 10, "O", "Australia/Hobart"}, + "TEM": {"Temora Airport", "Temora", "Australia", "TEM", "YTEM", -34.4213981628418, 147.51199340820312, 921, 10, "O", "Australia/Sydney"}, + "GAH": {"Gayndah Airport", "Gayndah", "Australia", "GAH", "YGAY", -25.61440086364746, 151.61900329589844, 369, 10, "N", "Australia/Brisbane"}, + "WIO": {"Wilcannia Airport", "Wilcannia", "Australia", "WIO", "YWCA", -31.526399612426758, 143.375, 250, 10, "O", "Australia/Sydney"}, + "BFJ": {"Bijie Feixiong Airport", "Bijie", "China", "BFJ", "ZUBJ", 27.267066, 105.472097, 4751, 8, "N", "Asia/Shanghai"}, + "ULK": {"Lensk Airport", "Lensk", "Russia", "ULK", "UERL", 60.7206001282, 114.825996399, 801, 9, "N", "Asia/Yakutsk"}, + "GNY": {"Şanlıurfa GAP Airport", "Sanliurfa", "Turkey", "GNY", "LTCS", 37.44566345214844, 38.895591735839844, 2708, 3, "E", "Europe/Istanbul"}, + "KZR": {"Zafer Airport", "Kutahya", "Turkey", "KZR", "LTBZ", 39.107377, 30.115724, 3327, 3, "E", "Europe/Istanbul"}, + "VLU": {"Velikiye Luki Airport", "Velikiye Luki", "Russia", "VLU", "ULOL", 56.381099700927734, 30.60810089111328, 328, 3, "N", "Europe/Moscow"}, + "BEO": {"Lake Macquarie Airport", "Lake Macquarie", "Australia", "BEO", "YPEC", -33.0667, 151.647995, 2, 10, "O", "Australia/Sydney"}, + "4A7": {"Atlanta South Regional Airport/Tara Field", "Hampton", "United States", "4A7", "K4A7", 33.389099, -84.332397, 874, -5, "A", "America/New_York"}, + "BMP": {"Brampton Island Airport", "Brampton Island", "Australia", "BMP", "YBPI", -20.803300857543945, 149.27000427246094, 11, 10, "O", "Australia/Brisbane"}, + "YCN": {"Cochrane Airport", "Cochrane", "Canada", "YCN", "CYCN", 49.10559844970703, -81.01360321044922, 861, -5, "A", "America/Toronto"}, + "BJP": {"Estadual Arthur Siqueira Airport", "Braganca Paulista", "Brazil", "BJP", "SBBP", -22.979162, -46.537508, 2887, -3, "S", "America/Sao_Paulo"}, + "BQB": {"Busselton Regional Airport", "Brusselton", "Australia", "BQB", "YBLN", -33.6884231567, 115.401596069, 55, 8, "O", "Australia/Perth"}, + "SEK": {"Srednekolymsk Airport", "Srednekolymsk", "Russia", "SEK", "UESK", 67.4805, 153.7364, 60, 11, "N", "Asia/Srednekolymsk"}, + "IVR": {"Inverell Airport", "Inverell", "Australia", "IVR", "YIVL", -29.888299942, 151.143997192, 2667, 10, "O", "Australia/Sydney"}, + "GLI": {"Glen Innes Airport", "Glen Innes", "Australia", "GLI", "YGLI", -29.674999237060547, 151.68899536132812, 3433, 10, "O", "Australia/Sydney"}, + "IMM": {"Immokalee Regional Airport", "Immokalee ", "United States", "IMM", "KIMM", 26.43320084, -81.40100098, 37, -5, "A", "America/New_York"}, + "YIC": {"Yichun Mingyueshan Airport", "Yichun", "China", "YIC", "ZSYC", 27.8025, 114.3062, 430, 8, "U", "Asia/Shanghai"}, + "PTB": {"Dinwiddie County Airport", "Petersburg", "United States", "PTB", "KPTB", 37.183799743652, -77.507400512695, 193, -5, "A", "America/New_York"}, + "KGN": {"Kasongo Airport", "Kasongo", "Congo (Kinshasa)", "KGN", "FZOK", -4.5329999923706055, 26.617000579833984, 1785, 2, "U", "Africa/Lubumbashi"}, + "SBM": {"Sheboygan County Memorial Airport", "Sheboygan", "United States", "SBM", "KSBM", 43.76959991, -87.85140228, 755, -6, "A", "America/Chicago"}, + "KFE": {"Fortescue - Dave Forrest Aerodrome", "Cloudbreak", "Australia", "KFE", "YFDF", -22.290754, 119.437143, 1555, 8, "N", "Australia/Perth"}, + "BJU": {"Bajura Airport", "Bajura", "Nepal", "BJU", "VNBR", 29.50200080871582, 81.66899871826172, 4300, 5.75, "N", "Asia/Katmandu"}, + "MZJ": {"Pinal Airpark", "Marana", "United States", "MZJ", "KMZJ", 32.5106010437, -111.32800293, 1893, -7, "N", "America/Phoenix"}, + "GEU": {"Glendale Municipal Airport", "Glendale", "United States", "GEU", "KGEU", 33.52690124511719, -112.29499816894531, 1071, -7, "N", "America/Phoenix"}, + "SAD": {"Safford Regional Airport", "Safford", "United States", "SAD", "KSAD", 32.85480118, -109.6350021, 3179, -7, "N", "America/Phoenix"}, + "KJP": {"Kerama Airport", "Kerama", "Japan", "KJP", "ROKR", 26.168300628699996, 127.292999268, 156, 9, "N", "Asia/Tokyo"}, + "SIK": {"Sikeston Memorial Municipal Airport", "Sikeston", "United States", "SIK", "KSIK", 36.898899078369, -89.561798095703, 315, -6, "A", "America/Chicago"}, + "TTI": {"Tetiaroa Airport", "Tetiaroa", "French Polynesia", "TTI", "NTTE", -17.0132999420166, -149.58700561523438, 7, -10, "N", "Pacific/Tahiti"}, + "GFL": {"Floyd Bennett Memorial Airport", "Queensbury", "United States", "GFL", "KGFL", 43.3412017822, -73.6102981567, 328, -5, "A", "America/New_York"}, + "5B2": {"Saratoga County Airport", "Ballston Spa", "United States", "5B2", "K5B2", 43.05130005, -73.86119843, 434, -5, "A", "America/New_York"}, + "CGC": {"Crystal River Airport", "Crystal River", "United States", "CGC", "KCGC", 28.867300033569336, -82.57129669189453, 9, -5, "A", "America/New_York"}, + "MTN": {"Martin State Airport", "Baltimore", "United States", "MTN", "KMTN", 39.32569885, -76.4138031, 21, -5, "A", "America/New_York"}, + "LHM": {"Lincoln Regional Karl Harder Field", "Lincoln", "United States", "LHM", "KLHM", 38.90919876098633, -121.35099792480469, 121, -8, "A", "America/Los_Angeles"}, + "FZI": {"Fostoria Metropolitan Airport", "Fostoria", "United States", "FZI", "KFZI", 41.19079971, -83.39450073, 752, -5, "A", "America/New_York"}, + "IZG": {"Eastern Slopes Regional Airport", "Fryeburg", "United States", "IZG", "KIZG", 43.991100311299995, -70.9478988647, 454, -5, "A", "America/New_York"}, + "NEW": {"Lakefront Airport", "New Orleans", "United States", "NEW", "KNEW", 30.042400360107, -90.028297424316, 8, -6, "A", "America/Chicago"}, + "COE": {"Coeur D'Alene - Pappy Boyington Field", "Coeur d'Alene", "United States", "COE", "KCOE", 47.77429962, -116.8199997, 2320, -8, "A", "America/Los_Angeles"}, + "BMT": {"Beaumont Municipal Airport", "Beaumont", "United States", "BMT", "KBMT", 30.0706996918, -94.21579742430002, 32, -6, "A", "America/Chicago"}, + "DNV": {"Vermilion Regional Airport", "Danville", "United States", "DNV", "KDNV", 40.19919968, -87.59590149, 697, -6, "A", "America/Chicago"}, + "COJ": {"Coonabarabran Airport", "Coonabarabran", "Australia", "COJ", "YCBB", -31.332500457763672, 149.26699829101562, 2117, 10, "O", "Australia/Sydney"}, + "TIX": {"Space Coast Regional Airport", "Titusville", "United States", "TIX", "KTIX", 28.514799118042, -80.799201965332, 34, -5, "A", "America/New_York"}, + "NYE": {"Nyeri Airport", "NYERI", "Kenya", "NYE", "HKNI", -0.3644140064716339, 36.978485107421875, 5830, 3, "U", "Africa/Nairobi"}, + "AAP": {"Andrau Airpark", "Houston", "United States", "AAP", "KAAP", 29.722499847399998, -95.58830261230001, 79, -6, "A", "America/Chicago"}, + "FCM": {"Flying Cloud Airport", "Eden Prairie", "United States", "FCM", "KFCM", 44.8272018433, -93.45709991460001, 906, -6, "A", "America/Chicago"}, + "LIX": {"Likoma Island Airport", "Likoma Island", "Malawi", "LIX", "FWLK", -12.083000183105469, 34.733001708984375, 1600, 2, "N", "Africa/Blantyre"}, + "OJC": {"Johnson County Executive Airport", "Olathe", "United States", "OJC", "KOJC", 38.84759903, -94.73760223, 1096, -6, "A", "America/Chicago"}, + "GIU": {"Sigiriya Air Force Base", "Sigiriya", "Sri Lanka", "GIU", "VCCS", 7.956669807430001, 80.7285003662, 630, 5.5, "N", "Asia/Colombo"}, + "EUM": {"Neumünster Airport", "Neumuenster", "Germany", "EUM", "EDHN", 54.079444885253906, 9.941389083862305, 72, 1, "E", "Europe/Berlin"}, + "TKT": {"Tak Airport", "Tak", "Thailand", "TKT", "VTPT", 16.895999908447266, 99.25330352783203, 478, 7, "N", "Asia/Bangkok"}, + "YLK": {"Barrie-Orillia (Lake Simcoe Regional Airport)", "Barrie-Orillia", "Canada", "YLK", "CYLS", 44.4852981567, -79.55560302730001, 972, -5, "A", "America/Toronto"}, + "YEE": {"Huronia Airport", "Midland", "Canada", "YEE", "CYEE", 44.6833000183, -79.9282989502, 770, -5, "A", "America/Toronto"}, + "NU8": {"Markham Airport", "Markham", "Canada", "NU8", "CNU8", 43.93579864501953, -79.26219940185547, 807, -5, "A", "America/Toronto"}, + "ND4": {"Stanhope Municipal Airport", "Haliburton", "Canada", "ND4", "CND4", 45.1108333333, -78.64, 1066, -5, "A", "America/Toronto"}, + "NF4": {"Lindsay Airport", "Lindsay", "Canada", "NF4", "CNF4", 44.36470031738281, -78.78389739990234, 882, -5, "A", "America/Toronto"}, + "YCM": {"Niagara District Airport", "Saint Catherines", "Canada", "YCM", "CYSN", 43.19169998168945, -79.17169952392578, 321, -5, "A", "America/Toronto"}, + "YPD": {"Parry Sound Area Municipal Airport", "Parry Sound", "Canada", "YPD", "CNK4", 45.2575, -79.829697, 832, -5, "A", "America/Toronto"}, + "OQN": {"Brandywine Airport", "West Goshen Township", "United States", "OQN", "KOQN", 39.9901008605957, -75.58190155029297, 466, -5, "A", "America/New_York"}, + "MNZ": {"Manassas Regional Airport/Harry P. Davis Field", "Manassas", "United States", "MNZ", "KHEF", 38.72140121, -77.51540375, 192, -5, "A", "America/New_York"}, + "KFS": {"Kastamonu Airport", "Kastamonu", "Turkey", "KFS", "LTAL", 41.31420135498047, 33.795799255371094, 3520, 3, "E", "Europe/Istanbul"}, + "2H0": {"Shelby County Airport", "Shelbyville", "United States", "2H0", "K2H0", 39.410400390599996, -88.8453979492, 618, -6, "A", "America/Chicago"}, + "GXH": {"Gannan Xiahe Airport", "Xiahe city", "China", "GXH", "ZLXH", 34.8105, 102.6447, 10510, 8, "N", "Asia/Shanghai"}, + "CIY": {"Comiso Airport", "Comiso", "Italy", "CIY", "LICB", 36.994601, 14.607182, 623, 1, "E", "Europe/Rome"}, + "KVM": {"Markovo Airport", "Markovo", "Russia", "KVM", "UHMO", 64.66699981689453, 170.41700744628906, 0, 12, "N", "Asia/Anadyr"}, + "ZKP": {"Zyryanka Airport", "Zyryanka", "Russia", "ZKP", "UESU", 65.7485, 150.8889, 140, 11, "N", "Asia/Srednekolymsk"}, + "UMS": {"Ust-Maya Airport", "Ust-Maya", "Russia", "UMS", "UEMU", 60.356998443604, 134.43499755859, 561, 9, "N", "Asia/Yakutsk"}, + "ADH": {"Aldan Airport", "Aldan", "Russia", "ADH", "UEEA", 58.60279846191406, 125.40899658203125, 2241, 9, "N", "Asia/Yakutsk"}, + "NLT": {"Xinyuan Nalati Airport", "Xinyuan", "China", "NLT", "ZWNL", 43.4318, 83.3786, 3050, 8, "U", "Asia/Shanghai"}, + "BOR": {"Fontaine Airport", "Belfort", "France", "BOR", "LFSQ", 47.655601501465, 7.0108299255371, 1208, 1, "E", "Europe/Paris"}, + "FDW": {"Fairfield County Airport", "Winnsboro", "United States", "FDW", "KFDW", 34.31549835205078, -81.10880279541016, 577, -5, "A", "America/New_York"}, + "OBC": {"Obock Airport", "Obock", "Djibouti", "OBC", "HDOB", 11.967000007629395, 43.266998291015625, 69, 3, "N", "Africa/Djibouti"}, + "TDJ": {"Tadjoura Airport", "Tadjoura", "Djibouti", "TDJ", "HDTJ", 11.782999992370605, 42.91699981689453, 246, 3, "N", "Africa/Djibouti"}, + "AQB": {"Santa Cruz del Quiche Airport", "Santa Cruz des Quiche", "Guatemala", "AQB", "MGQC", 15.012200355529785, -91.15059661865234, 6631, -6, "S", "America/Guatemala"}, + "NOR": {"Norðfjörður Airport", "Nordfjordur", "Iceland", "NOR", "BINF", 65.13189697265625, -13.746399879455566, 13, 0, "E", "Atlantic/Reykjavik"}, + "BTZ": {"Bursa Airport", "Bursa", "Turkey", "BTZ", "LTBE", 40.233299255371094, 29.009199142456055, 331, 3, "U", "Europe/Istanbul"}, + "DAW": {"Skyhaven Airport", "Rochester", "United States", "DAW", "KDAW", 43.28409957885742, -70.9292984008789, 322, -5, "A", "America/New_York"}, + "WAR": {"Waris Airport", "Waris-Papua Island", "Indonesia", "WAR", "WAJR", -3.235, 140.994, 1500, 9, "U", "Asia/Jayapura"}, + "EWK": {"Newton City-County Airport", "Newton", "United States", "EWK", "KEWK", 38.058200836199994, -97.2744979858, 1533, -6, "A", "America/Chicago"}, + "BSJ": {"Bairnsdale Airport", "Bairnsdale", "Australia", "BSJ", "YBNS", -37.88750076293945, 147.5679931640625, 165, 10, "O", "Australia/Hobart"}, + "TZR": {"Taszár Air Base", "Columbus", "United States", "TZR", "LHTA", 46.39310073852539, 17.917499542236328, 531, 1, "A", "Europe/Budapest"}, + "FBR": {"Fort Bridger Airport", "Fort Bridger", "United States", "FBR", "KFBR", 41.3918991089, -110.406997681, 7034, -7, "A", "America/Denver"}, + "S40": {"Prosser Airport", "Prosser", "United States", "S40", "KS40", 46.21340179, -119.7910004, 697, -8, "A", "America/Los_Angeles"}, + "CLS": {"Chehalis Centralia Airport", "Chehalis", "United States", "CLS", "KCLS", 46.676998138399995, -122.983001709, 176, -8, "A", "America/Los_Angeles"}, + "M94": {"Desert Aire Airport", "Mattawa", "United States", "M94", "KM94", 46.687400817871094, -119.9209976196289, 586, -8, "A", "America/Los_Angeles"}, + "EVW": {"Evanston-Uinta County Airport-Burns Field", "Evanston", "United States", "EVW", "KEVW", 41.27479935, -111.0350037, 7143, -7, "A", "America/Denver"}, + "K83": {"Sabetha Municipal Airport", "Sabetha", "United States", "K83", "KK83", 39.90420150756836, -95.77940368652344, 1330, -6, "A", "America/Chicago"}, + "LRO": {"Mt Pleasant Regional-Faison field", "Mount Pleasant", "United States", "LRO", "KLRO", 32.89780045, -79.78289795, 12, -5, "A", "America/New_York"}, + "EUF": {"Weedon Field", "Eufala", "United States", "EUF", "KEUF", 31.9512996674, -85.1288986206, 285, -6, "A", "America/Chicago"}, + "6J4": {"Saluda County Airport", "Saluda", "United States", "6J4", "K6J4", 33.92679977416992, -81.79460144042969, 555, -5, "A", "America/New_York"}, + "MEO": {"Dare County Regional Airport", "Manteo", "United States", "MEO", "KMQI", 35.91899872, -75.69550323, 13, -5, "A", "America/New_York"}, + "AUO": {"Auburn Opelika Robert G. Pitts Airport", "Auburn", "United States", "AUO", "KAUO", 32.61510086, -85.43399811, 777, -6, "A", "America/Chicago"}, + "CZG": {"Tri Cities Airport", "Endicott", "United States", "CZG", "KCZG", 42.078499, -76.096296, 833, -5, "A", "America/New_York"}, + "EKY": {"Bessemer Airport", "Bessemer", "United States", "EKY", "KEKY", 33.31290054, -86.92590332, 700, -6, "A", "America/Chicago"}, + "A50": {"Colorado Springs East Airport", "Ellicott", "United States", "A50", "KA50", 38.8744010925293, -104.41000366210938, 6145, -7, "A", "America/Denver"}, + "MIC": {"Crystal Airport", "Crystal", "United States", "MIC", "KMIC", 45.0620002746582, -93.35389709472656, 869, -6, "A", "America/Chicago"}, + "23M": {"Clarke County Airport", "Quitman", "United States", "23M", "K23M", 32.0848999023, -88.738899231, 320, -6, "A", "America/Chicago"}, + "DBN": {"W H 'Bud' Barron Airport", "Dublin", "United States", "DBN", "KDBN", 32.56439972, -82.98529816, 309, -5, "A", "America/New_York"}, + "CVO": {"Corvallis Municipal Airport", "Corvallis", "United States", "CVO", "KCVO", 44.49720001, -123.2900009, 250, -8, "A", "America/Los_Angeles"}, + "PXH": {"Prominent Hill Airport", "Prominent Hill", "Australia", "PXH", "YPMH", -29.716, 135.5244, 745, 9.5, "O", "Australia/Adelaide"}, + "CWT": {"Cowra Airport", "Chatsworth", "United States", "CWT", "YCWR", -33.84469985961914, 148.6490020751953, 966, 10, "A", "Australia/Sydney"}, + "OGD": {"Ogden Hinckley Airport", "Ogden", "United States", "OGD", "KOGD", 41.195899963379, -112.0120010376, 4473, -7, "A", "America/Denver"}, + "W63": {"Lake Country Regional Airport", "Clarksville", "United Arab Emirates", "W63", "KW63", 36.5957984924, -78.56009674070002, 421, -5, "A", "America/New_York"}, + "RKR": {"Robert S Kerr Airport", "Poteau", "United States", "RKR", "KRKR", 35.02159881591797, -94.62129974365234, 451, -6, "A", "America/Chicago"}, + "AKO": {"Colorado Plains Regional Airport", "Akron", "United States", "AKO", "KAKO", 40.1755981445, -103.222000122, 4714, -7, "A", "America/Denver"}, + "SHN": {"Sanderson Field", "Shelton", "United States", "SHN", "KSHN", 47.233600616455, -123.14800262451, 273, -8, "A", "America/Los_Angeles"}, + "WNA": {"Napakiak Airport", "Napakiak", "United States", "WNA", "PANA", 60.69029998779297, -161.97900390625, 17, -9, "A", "America/Anchorage"}, + "PKA": {"Napaskiak Airport", "Napaskiak", "United States", "PKA", "PAPK", 60.70289993, -161.7779999, 24, -9, "A", "America/Anchorage"}, + "YBW": {"Bedwell Harbour Seaplane Base", "Bedwell Harbour", "Canada", "YBW", "CAB3", 48.75, -123.233001709, 0, -8, "A", "America/Vancouver"}, + "2A5": {"Causey Airport", "Liberty", "United States", "2A5", "K2A5", 35.911800384521484, -79.61759948730469, 723, -5, "A", "America/New_York"}, + "GFO": {"Bartica A Airport", "Bartica", "Guyana", "GFO", "SYBT", 6.374770164489746, -58.638099670410156, 3, -4, "N", "America/Guyana"}, + "DYL": {"Doylestown Airport", "Doylestown", "United States", "DYL", "KDYL", 40.3330001831, -75.1222991943, 394, -5, "A", "America/New_York"}, + "TGI": {"Tingo Maria Airport", "Tingo Maria", "Peru", "TGI", "SPGM", -9.133000373840332, -75.94999694824219, 2010, -5, "N", "America/Lima"}, + "TJL": {"Plínio Alarcom Airport", "Tres Lagoas", "Brazil", "TJL", "SSTL", -20.754199981689, -51.684200286865, 1050, -4, "S", "America/Campo_Grande"}, + "OAL": {"Cacoal Airport", "Cacoal", "Brazil", "OAL", "SSKW", -11.496, -61.4508, 778, -4, "N", "America/Boa_Vista"}, + "OCW": {"Warren Field", "Washington", "United States", "OCW", "KOCW", 35.570499420166, -77.049797058105, 38, -5, "A", "America/New_York"}, + "7W6": {"Hyde County Airport", "Engelhard", "United States", "7W6", "K7W6", 35.562400817871094, -75.9552001953125, 8, -5, "A", "America/New_York"}, + "MHC": {"Mocopulli Airport", "Castro", "Chile", "MHC", "SCPQ", -42.340388, -73.715693, 528, -4, "S", "America/Santiago"}, + "YEL": {"Elliot Lake Municipal Airport", "ELLIOT LAKE", "Canada", "YEL", "CYEL", 46.351398468, -82.5614013672, 1087, -5, "A", "America/Toronto"}, + "UKF": {"Wilkes County Airport", "North Wilkesboro", "United States", "UKF", "KUKF", 36.2228012085, -81.09829711910001, 1301, -5, "A", "America/New_York"}, + "JZI": {"Charleston Executive Airport", "Charleston", "United States", "JZI", "KJZI", 32.70090103149414, -80.00289916992188, 17, -5, "A", "America/New_York"}, + "DAN": {"Danville Regional Airport", "Danville", "United States", "DAN", "KDAN", 36.572898864746094, -79.33609771728516, 571, -5, "A", "America/New_York"}, + "0V4": {"Brookneal/Campbell County Airport", "Brookneal", "United States", "0V4", "K0V4", 37.141700744599994, -79.01640319820001, 596, -5, "A", "America/New_York"}, + "ERG": {"Yerbogachen Airport", "Yerbogachen", "Russia", "ERG", "UIKE", 61.2750015259, 108.029998779, 400, 8, "N", "Asia/Irkutsk"}, + "CQW": {"Cheraw Municipal Airport/Lynch Bellinger Field", "Cheraw", "United States", "CQW", "KCQW", 34.71289825, -79.95700073, 239, -5, "A", "America/New_York"}, + "BEM": {"Beni Mellal Airport", "Beni Mellal", "Morocco", "BEM", "GMMD", 32.400001525878906, -6.333330154418945, 1670, 0, "E", "Africa/Casablanca"}, + "NKT": {"Şırnak Şerafettin Elçi Airport", "Cizre", "Turkey", "NKT", "LTCV", 37.3647, 42.0582, 2038, 3, "E", "Europe/Istanbul"}, + "SUY": {"Suntar Airport", "Suntar", "Russia", "SUY", "UENS", 62.185001373291, 117.63500213623, 452, 9, "N", "Asia/Yakutsk"}, + "OUZ": {"Tazadit Airport", "Zouerat", "Mauritania", "OUZ", "GQPZ", 22.756399154663086, -12.483599662780762, 1129, 0, "N", "Africa/Nouakchott"}, + "QUO": {"Akwa Ibom International Airport", "Uyo", "Nigeria", "QUO", "DNAI", 4.8725, 8.093, 170, 1, "N", "Africa/Lagos"}, + "KAA": {"Kasama Airport", "Kasama", "Zambia", "KAA", "FLKS", -10.216699600219727, 31.13330078125, 4541, 2, "N", "Africa/Lusaka"}, + "MBI": {"Mbeya Airport", "Mbeya", "Tanzania", "MBI", "HTMB", -8.916999816894531, 33.46699905395508, 5600, 3, "N", "Africa/Dar_es_Salaam"}, + "SGX": {"Songea Airport", "Songea", "Tanzania", "SGX", "HTSO", -10.682999610900879, 35.58300018310547, 3445, 3, "N", "Africa/Dar_es_Salaam"}, + "AOG": {"Anshan Air Base", "Anshan", "China", "AOG", "ZYAS", 41.105301, 122.853996, 0, 8, "N", "Asia/Shanghai"}, + "ZYI": {"Zunyi Xinzhou Airport", "Zunyi", "China", "ZYI", "ZUZY", 27.5895, 107.0007, 2920, 8, "N", "Asia/Shanghai"}, + "HYW": {"Conway Horry County Airport", "Conway", "United States", "HYW", "KHYW", 33.82849884, -79.12220001, 35, -5, "A", "America/New_York"}, + "LDS": {"Lindu Airport", "Yinchun", "China", "LDS", "ZYLD", 47.7520555556, 129.019125, 791, 8, "N", "Asia/Shanghai"}, + "AVA": {"Anshun Huangguoshu Airport", "Anshun", "China", "AVA", "ZUAS", 26.2605555556, 105.873333333, 4812, 8, "N", "Asia/Shanghai"}, + "KSS": {"Sikasso Airport", "Sikasso", "Mali", "KSS", "GASK", 11.333000183105469, -5.699999809265137, 1378, 0, "N", "Africa/Bamako"}, + "WTB": {"Brisbane West Wellcamp Airport", "Toowoomba", "Australia", "WTB", "YBWW", -27.558333, 151.793333, 1509, 10, "N", "Australia/Brisbane"}, + "TNH": {"Tonghua Sanyuanpu Airport", "Tonghua", "China", "TNH", "ZYTN", 42.2538888889, 125.703333333, 1200, 8, "N", "Asia/Shanghai"}, + "SZV": {"Suzhou Guangfu Airport", "Suzhou", "China", "SZV", "ZSSZ", 31.2631, 120.401001, 0, 8, "N", "Asia/Shanghai"}, + "LII": {"Mulia Airport", "Mulia", "Indonesia", "LII", "WAJM", -3.7018, 137.957, 6527, 9, "N", "Asia/Jayapura"}, + "NTI": {"Stenkol Airport", "Bintuni", "Indonesia", "NTI", "WASB", -2.1033, 133.5164, 57, 9, "N", "Asia/Jayapura"}, + "WSR": {"Wasior Airport", "Wasior", "Indonesia", "WSR", "WASW", -2.721, 134.5061, 49, 9, "N", "Asia/Jayapura"}, + "DTB": {"Silangit Airport", "Siborong-Borong", "Indonesia", "DTB", "WIMN", 2.25973, 98.991898, 4700, 7, "N", "Asia/Jakarta"}, + "SSV": {"Lasikin Airport", "Sinabang", "Indonesia", "SSV", "WITG", 2.4102799892425537, 96.32559967041016, 19, 7, "N", "Asia/Jakarta"}, + "KNO": {"Kualanamu International Airport", "Medan", "Indonesia", "KNO", "WIMM", 3.642222, 98.885278, 23, 7, "N", "Asia/Jakarta"}, + "CZA": {"Chichen Itza International Airport", "Chichen Itza", "Mexico", "CZA", "MMCT", 20.6413002014, -88.4461975098, 102, -6, "S", "America/Mexico_City"}, + "SZT": {"San Cristobal de las Casas Airport", "San Cristobal de las Casas", "Mexico", "SZT", "MMSC", 16.690299987793, -92.530097961426, 7707, -6, "N", "America/Mexico_City"}, + "IGT": {"Magas Airport", "Magas", "Russia", "IGT", "URMS", 43.322299957300004, 45.0125999451, 1165, 3, "N", "Europe/Moscow"}, + "SAR": {"Sparta Community Airport", "Sparta", "United States", "SAR", "KSAR", 38.1218986511, -89.7222976685, 597, -6, "A", "America/Illinois"}, + "REA": {"Reao Airport", "Reao", "French Polynesia", "REA", "NTGE", -18.95599937438965, -138.81100463867188, 12, -10, "S", "Pacific/Tahiti"}, + // "OTP": {"Otopeni International Airport", "Bucharest", "Romania", "OTP", "LROP", 44.571944, 26.085556, 314, 2, "E", "Europe/Bucharest"}, + "OHH": {"Okha Airport", "Okha", "Russia", "OHH", "UHSH", 53.81999969482422, 142.97601318359375, 98, 11, "N", "Asia/Sakhalin"}, + "HYD": {"Rajiv Gandhi International Airport", "Hyderabad", "India", "HYD", "VOHS", 17.231354, 78.429586, 1890, 5.5, "N", "Asia/Kolkata"}, + "RIZ": {"Rizhao Shanzihe Airport", "Rizhao", "China", "RIZ", "ZSRZ", 35.4161, 119.461, 75, 8, "N", "Asia/Shanghai"}, + "NGK": {"Nogliki Airport", "Nogliki", "Russia", "NGK", "UHNN", 53.803001403808594, 143.16700744628906, 259, 11, "N", "Asia/Sakhalin"}, + "NTG": {"Nantong Xingdong Airport", "Nantong", "China", "NTG", "ZSNT", 32.1014, 120.077003, 15, 8, "N", "Asia/Shanghai"}, + "ZYR": {"Lijiang Sanyi Airport", "Lijiang", "China", "LJG", "ZYLR", 26.6997, 100.246002, 7436, 8, "N", "Asia/Shanghai"}, + "DSS": {"Blaise Diagne International Airport", "Dakar", "Senegal", "DSS", "GOBD", 14.6708, -17.0636, 85, 0, "N", "Africa/Dakar"}, + "ZWE": {"Zweibrücken Airport", "Zweibrücken", "Germany", "ZQW", "EDRZ", 49.233333, 7.4, 1043, 1, "E", "Europe/Berlin"}, + "MLH": {"EuroAirport Basel-Mulhouse-Freiburg", "Basel", "Switzerland", "BSL", "LFSB", 47.59, 7.529167, 885, 1, "E", "Europe/Zurich"}, + // "OVA": {"Bekily", "Bekily", "Madagascar", "OVA", "FMSL", -24.921899795532227, 45.244998931884766, 2306, 3, "S", "Indian/Antananarivo"}, + "DOH": {"Hamad International Airport", "Doha", "Qatar", "DOH", "OTBD", 25.273056, 51.608056, 29, 3, "N", "Asia/Qatar"}, + "NIA": {"Nimba Airport", "Nimba", "Liberia", "NIA", "GLMR", 7.623599052429199, -8.539719581604004, 1450, 0, "N", "Africa/Monrovia"}, + "BSD": {"Baoshan", "Baoshan", "China", "BSD", "ZPBS", 25.1119, 99.168999, 5605, 8, "N", "Asia/Shanghai"}, + "RKZ": {"Rikaze Peace Airport", "Shigatse", "Tibet", "RKZ", "ZURK", 29.351667, 89.306944, 328, 9, "N", "Asia/Tokyo"}, + "JIQ": {"Qianjiang Wulingshan Airport", "Qianjiang", "China", "JIQ", "ZUQJ", 29.5375, 108.784167, 1745, 8, "N", "Asia/Shanghai"}, + "WDS": {"Shiyan Wudangshan Airport", "Shiyan", "China", "WDS", "ZHSY", 32.6464, 110.811996, 1673, 8, "N", "Asia/Shanghai"}, + "SBH": {"Gustaf III Airport", "Saint Barthelemy", "Saint Barthelemy", "SBH", "TFFJ", 17.9006, -62.8519, 44, -4, "N", "America/St_Barthelemy"}, + "HTT": {"Haixi Mangnai Airport", "Huatugou", "China", "HTT", "ZLHX", 38.197500, 90.841667, 3530, 8, "N", "Asia/Shanghai"}, + "LNJ": {"Lincang Airport", "Lincang", "China", "LNJ", "ZPLG", 23.7386, 100.014999, 3963, 8, "N", "Asia/Shanghai"}, + // "NGO": {"Chubu Centrair International Airport", "Nagoya", "Japan", "NGO", "RJGG", 34.8584, 136.804001, 15, 9, "N", "Asia/Tokyo"}, + "FSZ": {"ShizuokaAirport", "Shizuoka", "Japan", "FSZ", "RJNS", 34.796111, 138.189444, 433, 9, "N", "Asia/Tokyo"}, + "WUT": {"XinzhouWutaishanAirport", "Xinzhou", "China", "WUT", "ZBXZ", 38.597500, 112.966100, 2527, 8, "N", "Asia/Shanghai"}, + "HNY": {"HengyangNanyueAirport", "Hengyang", "China", "HNY", "ZGHY", 26.722100, 112.618000, 257, 8, "N", "Asia/Shanghai"}, + "DQA": {"DaqingSartuAirport", "Daqing", "China", "DQA", "ZYDQ", 46.746400, 125.140000, 496, 8, "N", "Asia/Shanghai"}, + "HIA": {"Huai'anLianshuiAirport", "Huai'an", "China", "HIA", "ZSSH", 33.790000, 119.128900, 23, 8, "N", "Asia/Shanghai"}, + "LLV": {"LüliangDawuAirport", "Lüliang", "China", "LLV", "ZBLL", 37.681790, 111.143030, 3839, 8, "N", "Asia/Shanghai"}, + "THD": {"ThoXuanAirport", "ThanhHoa", "Vietnam", "THD", "VVTX", 19.903100, 105.468600, 59, 7, "N", "Asia/Ho_Chi_Minh"}, + "VDH": {"DongHoiAirport", "DongHoi", "Vietnam", "VDH", "VVDH", 17.515000, 106.590000, 59, 7, "N", "Asia/Ho_Chi_Minh"}, + "WAE": {"Wadial-DawasirAirport", "WadiadDawasir", "Saudi Arabia", "WAE", "OEWD", 20.504280, 45.200800, 2062, 3, "N", "Asia/Riyadh"}, + "ULH": {"PrinceAbdulMajeedbinAbdulazizAirport", "AlUla", "Saudi Arabia", "ULH", "OEAO", 26.612200, 38.714400, 2148, 3, "N", "Asia/Riyadh"}, + "JGD": {"JiagedaqiAirport", "Daxinganling", "China", "JGD", "ZYJD", 50.371400, 124.117700, 1273, 8, "N", "Asia/Shanghai"}, + "FYN": {"FuyunKoktokayAirport", "Fuyun", "China", "FYN", "ZWFY", 46.804200, 89.512200, 2690, 8, "N", "Asia/Shanghai"}, + "LLB": {"LiboAirport", "Libo", "China", "LLB", "ZULB", 25.452000, 107.961800, 2946, 8, "N", "Asia/Shanghai"}, + "LPF": {"LiupanshuiYuezhaoAirport", "Liupanshui", "China", "LPF", "ZUPS", 26.609200, 104.979000, 5873, 8, "N", "Asia/Shanghai"}, + "PZI": {"PanzhihuaBao'anyingAirport", "Panzhihua", "China", "PZI", "ZUZH", 26.540600, 101.798000, 6469, 8, "N", "Asia/Shanghai"}, + "DCY": {"DaochengYadingAirport", "Daocheng", "China", "DCY", "ZUDC", 29.323100, 100.049600, 14472, 8, "N", "Asia/Shanghai"}, + "DOY": {"DongyingShengliAirport", "Dongying", "China", "DOY", "ZSDY", 37.508600, 118.788400, 19, 8, "N", "Asia/Shanghai"}, + "GMQ": {"GologMaqinAirport", "Maqin", "China", "GMQ", "ZLGM", 34.418100, 100.301900, 12795, 8, "N", "Asia/Shanghai"}, + "HPG": {"ShennongjiaHongpingAirport", "Shennongjia", "China", "HPG", "ZHSN", 31.626300, 110.340000, 8084, 8, "N", "Asia/Shanghai"}, + "SQD": {"ShangraoSanqingshanAirport", "Shangrao", "China", "SQD", "ZSSR", 28.376000, 117.964000, 174, 8, "N", "Asia/Shanghai"}, + "HUZ": {"HuizhouPingtanAirport", "Huizhou", "China", "HUZ", "ZGHZ", 23.050000, 114.600000, 30, 8, "N", "Asia/Shanghai"}, + "YKH": {"YingkouLanqiAirport", "Yingkou", "China", "YKH", "ZYYK", 40.542500, 122.358600, 0, 8, "N", "Asia/Shanghai"}, + "JIC": {"JinchangJinchuanAirport", "Jinchang", "China", "JIC", "ZLJC", 38.542200, 102.348300, 4740, 8, "N", "Asia/Shanghai"}, + "SFG": {"L'EspéranceAirport", "GrandCase", "SaintMartin", "SFG", "TFFG", 18.100556, -63.048889, 20, -4, "N", "America/Marigot"}, + "FLZ": {"FerdinandLumbanTobingAirport", "Sibolga", "Indonesia", "FLZ", "WIMS", 1.557100, 98.887100, 33, 7, "N", "Asia/Jakarta"}, + "BWX": {"BanyuwangiAirport", "Banyuwangi", "Indonesia", "BWX", "WADY", -8.310000, 114.340000, 124, 7, "N", "Asia/Jakarta"}, + "RAQ": {"SugimanuruAirport", "Raha(Muna)", "Indonesia", "RAQ", "WAWR", -4.761700, 122.570000, 145, 8, "N", "Asia/Makassar"}, + "MJU": {"TampaPadangAirport", "Mamuju", "Indonesia", "MJU", "WAFJ", -2.592800, 119.015800, 7, 8, "N", "Asia/Makassar"}, + "JBB": {"NotohadinegoroAirport", "Jember", "Indonesia", "JBB", "WARE", -8.242020, 113.693708, 264, 7, "N", "Asia/Jakarta"}, + "HXD": {"HaixiDelinghaAirport", "Delingha", "China", "HXD", "ZLDL", 37.125300, 97.268700, 9843, 8, "N", "Asia/Shanghai"}, + "AEB": {"BaiseBamaAirport", "Baise", "China", "AEB", "ZGBS", 23.720833, 106.960556, 148, 8, "N", "Asia/Shanghai"}, + "YSQ": {"SongyuanChaganhuAirport", "Songyuan", "China", "YSQ", "ZYSQ", 44.938114, 124.550178, 459, 8, "N", "Asia/Shanghai"}, + "JMJ": {"LancangJingmaiAirport", "Lancang", "China", "JMJ", "ZPJM", 22.415833, 99.786389, 0, 8, "N", "Asia/Shanghai"}, + "CWJ": {"CangyuanWashanAirport", "Cangyuan", "China", "CWJ", "ZPCW", 23.276300, 99.373200, 5896, 8, "N", "Asia/Shanghai"}, + "KVN": {"KunshanSouthRailwayStation", "Kunshan", "China", "KVN", "", 31.355060, 120.946710, 10, 8, "N", "Asia/Shanghai"}, + "ZUJ": {"ZhenjiangRailwayStation", "Zhenjiang", "China", "ZUJ", "", 32.199660, 119.426990, 66, 8, "N", "Asia/Shanghai"}, + "XDS": {"OttawaTrainStation", "Ottawa", "Canada", "XDS", "", 45.416400, -75.651700, 374, -5, "A", "America/Toronto"}, + "TVX": {"TongxiangRailwayStation", "Tongxiang", "China", "TVX", "", 30.539580, 120.563590, 23, 8, "N", "Asia/Shanghai"}, + "JXS": {"Jiaxing Railway Station", "Jiaxing", "China", "JXS", "", 30.766732, 120.759156, 0, 8, "N", "Asia/Shanghai"}, + "LFQ": {"Linfen Yaodu Airport", "Linfen", "China", "LFQ", "ZBLF", 36.1326, 111.6412, 1483, 8, "N", "Asia/Shanghai"}, + "BAR": {"Qionghai Bo'ao International Airport", "Qionghai", "China", "BAR", "ZJQH", 19.141, 110.4528, 53, 8, "N", "Asia/Shanghai"}, + "BUW": {"Betoambari Airport", "Baubau", "Indonesia", "BUW", "WAWB", -5.487, 122.5695, 105, 8, "N", "Asia/Makassar"}, + "JGS": {"Ji'an Jinggangshan Airport", "Ji'an", "China", "JGS", "ZSGS", 26.856899, 114.737, 281, 8, "N", "Asia/Shanghai"}, + "NBS": {"Baishan Changbaishan Airport", "Baishan", "China", "NBS", "ZYBS", 42.066944, 127.602222, 2874, 8, "N", "Asia/Shanghai"}, + "AAT": {"Altay Xuedu Airport", "Altay", "China", "AAT", "ZWAT", 47.749886, 88.085808, 2460, 8, "N", "Asia/Shanghai"}, + "QSZ": {"Shache Yarkant Airport", "Yarkant", "China", "QSZ", "ZWSC", 38.27902, 77.07029, 4232, 8, "N", "Asia/Shanghai"}, + "WMT": {"Zunyi Maotai Airport", "Renhuai", "China", "WMT", "ZUMT", 27.961837, 106.435416, 4068, 8, "N", "Asia/Shanghai"}, + "WNH": {"Wenshan Yanshan Airport", "Wenshan", "China", "WNH", "ZPWS", 23.5583, 104.3255, 5217, 8, "N", "Asia/Shanghai"}, + "DYN": {"Danyang Railway Station", "Danyang", "China", "DYN", "", 32.00399, 119.58852, 30, 8, "N", "Asia/Shanghai"}, + "SHS": {"Jingzhou Shashi Airport", "Jingzhou", "China", "SHS", "ZHJZ", 30.2928, 112.4485, 95, 8, "N", "Asia/Shanghai"}, + "BPL": {"Bole Alashankou Airport", "Bole", "China", "BPL", "ZWBL", 44.895461, 82.30007, 1253, 8, "N", "Asia/Shanghai"}, + "SXK": {"Mathilda Batlayeri Airport", "Saumlaki", "Indonesia", "SXK", "WAPS", -7.98861, 131.30584, 410, 9, "N", "Asia/Jayapura"}, + "TVS": {"Tangshan Sannühe Airport", "Tangshan", "China", "TVS", "ZBTS", 39.7178, 118.002625, 50, 8, "N", "Asia/Shanghai"}, + "LLO": {"Palopo Lagaligo Airport", "Palopo", "Indonesia", "LLO", "WAFD", -3.082997, 120.245018, 14, 8, "N", "Asia/Makassar"}, + "SHF": {"Shihezi Huayuan Airport", "Shihezi", "China", "SHF", "ZWHZ", 44.2421, 85.8905, 1700, 8, "N", "Asia/Shanghai"}, + "JSJ": {"Jiansanjiang Shidi Airport", "Jiansanjiang", "China", "JSJ", "ZYJS", 47.11, 132.6603, 179, 8, "N", "Asia/Shanghai"}, + "JUH": {"Chizhou Jiuhuashan Airport", "Chizhou", "China", "JUH", "ZSJH", 30.7403, 117.6856, 60, 8, "N", "Asia/Shanghai"}, + "NLH": {"Ninglang Luguhu Airport", "Ninglang", "China", "NLH", "ZPNL", 27.5403, 100.7593, 10804, 8, "N", "Asia/Shanghai"}, + "WLI": {"Wuli(Location)", "Wuli", "China", "WLI", "", 22.150000, 109.216667, 226, 8, "N", "Asia/Shanghai"}, + "NDS": {"SandstoneAirport", "Sandstone", "Australia", "NDS", "YSAN", -27.980000, 119.296997, 0, 8, "N", "Australia/Perth"}, + } + + if v, ok := airports[strings.ToUpper(c)]; ok { + return v, nil + } + + // Not found + var a Airport + return a, fmt.Errorf("LookupIATA: Could not find %s", c) +} diff --git a/pkg/airports/iata_test.go b/pkg/airports/iata_test.go new file mode 100644 index 0000000..f9c0fba --- /dev/null +++ b/pkg/airports/iata_test.go @@ -0,0 +1,16 @@ +package airports_test + +import ( + "testing" + + "airlines/pkg/airports" +) + +func TeatMain(t *testing.T) { + v, err := airports.LookupIATA("REA") + if err != nil { + t.Error("error:", err) + return + } + t.Logf("IATA JSJ info: %+v\n", v) +} diff --git a/pkg/csvWriter/csv.go b/pkg/csvWriter/csv.go new file mode 100644 index 0000000..8709644 --- /dev/null +++ b/pkg/csvWriter/csv.go @@ -0,0 +1,62 @@ +package csvwriter + +import ( + "bytes" + "os" +) + +type CsvWriter struct { + f *os.File + buf bytes.Buffer +} + +func NewCsvWriter(path string) (*CsvWriter, error) { + f, err := os.Create(path) + if err != nil { + return nil, err + } + + w := &CsvWriter{ + f: f, + } + return w, nil +} + +func (c *CsvWriter) Close() error { + c.Sync() + return c.f.Close() +} + +func (c *CsvWriter) Write(strs []string) error { + + for i, str := range strs { + if i != 0 { + _, err := c.buf.Write([]byte(",")) + if err != nil { + return err + } + } + _, err := c.buf.Write([]byte(str)) + if err != nil { + return err + } + } + c.buf.WriteByte('\n') + + if c.buf.Len() > 1*1024*1024 { + err := c.Sync() + if err != nil { + return err + } + } + return nil +} + +func (c *CsvWriter) Sync() error { + _, err := c.f.Write(c.buf.Bytes()) + if err != nil { + return err + } + c.buf.Reset() + return nil +} diff --git a/pkg/localstore/export.go b/pkg/localstore/export.go new file mode 100644 index 0000000..fa92810 --- /dev/null +++ b/pkg/localstore/export.go @@ -0,0 +1,241 @@ +package localstore + +import ( + csvwriter "airlines/pkg/csvWriter" + "errors" + "fmt" + "os" + "path/filepath" + "strconv" + "strings" + "time" +) + +func (s *Store) ExportUsersCSV(w *csvwriter.CsvWriter) error { + s.mu.RLock() + defer s.mu.RUnlock() + + if err := w.Write([]string{"id", "nick", "name", "surname", "fathersname", "sex", "birthday", "total_flights", "total_codes", "total_countries", "total_cards"}); err != nil { + return err + } + + for i := 1; i < len(s.users); i++ { + u := s.users[i] + if u == nil { + continue + } + bday := "" + if !u.Birthday.IsZero() && u.Birthday.Year() != 1 { + bday = u.Birthday.UTC().Format("2006-01-02") + } + row := []string{ + strconv.FormatUint(u.ID, 10), + u.Nick, + u.Name, + u.Surname, + u.Fathersname, + strconv.Itoa(int(u.Sex)), + bday, + strconv.Itoa(len(s.userFlights[u.ID])), + strconv.Itoa(len(s.codesByUser[u.ID])), + strconv.Itoa(len(s.countriesByUser[u.ID])), + strconv.Itoa(len(s.cardsByUser[u.ID])), + } + if err := w.Write(row); err != nil { + return err + } + } + + return w.Sync() +} + +func (s *Store) ExportCardsCSV(w *csvwriter.CsvWriter) error { + s.mu.RLock() + defer s.mu.RUnlock() + + if err := w.Write([]string{"id", "prefix", "number", "bonusprogramm", "user_id"}); err != nil { + return err + } + for i := 1; i < len(s.cards); i++ { + c := s.cards[i] + if c == nil { + continue + } + row := []string{ + strconv.FormatUint(c.ID, 10), + c.Prefix, + strconv.FormatUint(c.Number, 10), + c.Bonusprogramm, + strconv.FormatUint(c.UserID, 10), + } + if err := w.Write(row); err != nil { + return err + } + } + return w.Sync() +} + +func (s *Store) ExportFlightsCSV(w *csvwriter.CsvWriter) error { + s.mu.RLock() + defer s.mu.RUnlock() + + if err := w.Write([]string{ + "id", "number", "from", "to", "fromlat", "fromlon", "tolat", "tolon", + "dep_date", "has_time", "dep_time", "dep_iso", + }); err != nil { + return err + } + for i := 1; i < len(s.flights); i++ { + f := s.flights[i] + if f == nil { + continue + } + depDate := f.Date.UTC().Format("2006-01-02") + depTime := "" + depISO := "" + if f.HasTime { + depTime = f.Date.Format("15:04:05") + depISO = f.Date.Format(time.RFC3339) + } + row := []string{ + strconv.FormatUint(f.ID, 10), + f.Number, + f.From, + f.To, + fmt.Sprint(f.FromCoords.Lat), + fmt.Sprint(f.FromCoords.Long), + fmt.Sprint(f.ToCoords.Lat), + fmt.Sprint(f.ToCoords.Long), + depDate, + strconv.FormatBool(f.HasTime), + depTime, + depISO, + } + if err := w.Write(row); err != nil { + return err + } + } + return w.Sync() +} + +func (s *Store) ExportUserFlightsCSV(w *csvwriter.CsvWriter) error { + s.mu.RLock() + defer s.mu.RUnlock() + + if err := w.Write([]string{"user_id", "flight_id"}); err != nil { + return err + } + for uid, set := range s.userFlights { + for fid := range set { + if fid == 0 || int(fid) >= len(s.flights) || s.flights[fid] == nil { + continue + } + if err := w.Write([]string{strconv.FormatUint(uid, 10), strconv.FormatUint(fid, 10)}); err != nil { + return err + } + } + } + return w.Sync() +} + +func (s *Store) ExportCardFlightsCSV(w *csvwriter.CsvWriter) error { + s.mu.RLock() + defer s.mu.RUnlock() + + if err := w.Write([]string{"card_id", "flight_id"}); err != nil { + return err + } + for cid, set := range s.cardFlights { + for fid := range set { + if fid == 0 || int(fid) >= len(s.flights) || s.flights[fid] == nil { + continue + } + if err := w.Write([]string{strconv.FormatUint(cid, 10), strconv.FormatUint(fid, 10)}); err != nil { + return err + } + } + } + return w.Sync() +} + + +func (s *Store) ExportAllCSVs(dir string) error { + if dir == "" { + return errors.New("empty directory path") + } + if err := os.MkdirAll(dir, 0o755); err != nil { + return err + } + if !strings.HasSuffix(dir, string(filepath.Separator)) { + dir += string(filepath.Separator) + } + + // users.csv + uw, err := csvwriter.NewCsvWriter(dir + "users.csv") + if err != nil { + return err + } + if err := s.ExportUsersCSV(uw); err != nil { + _ = uw.Close() + return err + } + if err := uw.Close(); err != nil { + return err + } + + // cards.csv + cw, err := csvwriter.NewCsvWriter(dir + "cards.csv") + if err != nil { + return err + } + if err := s.ExportCardsCSV(cw); err != nil { + _ = cw.Close() + return err + } + if err := cw.Close(); err != nil { + return err + } + + // flights.csv + fw, err := csvwriter.NewCsvWriter(dir + "flights.csv") + if err != nil { + return err + } + if err := s.ExportFlightsCSV(fw); err != nil { + _ = fw.Close() + return err + } + if err := fw.Close(); err != nil { + return err + } + + // user_flights.csv + ufw, err := csvwriter.NewCsvWriter(dir + "user_flights.csv") + if err != nil { + return err + } + if err := s.ExportUserFlightsCSV(ufw); err != nil { + _ = ufw.Close() + return err + } + if err := ufw.Close(); err != nil { + return err + } + + // card_flights.csv + cfw, err := csvwriter.NewCsvWriter(dir + "card_flights.csv") + if err != nil { + return err + } + if err := s.ExportCardFlightsCSV(cfw); err != nil { + _ = cfw.Close() + return err + } + if err := cfw.Close(); err != nil { + return err + } + + cfw.Close() + + return nil +} diff --git a/pkg/localstore/import.go b/pkg/localstore/import.go new file mode 100644 index 0000000..eb008ba --- /dev/null +++ b/pkg/localstore/import.go @@ -0,0 +1,484 @@ +package localstore + +import ( + "encoding/csv" + "errors" + "fmt" + "io" + "os" + "path/filepath" + "strconv" + "strings" + "time" + + "airlines/pkg/model" + + "github.com/schollz/progressbar/v3" +) + +func (s *Store) ImportAllCSVs(dir string) error { + if dir == "" { + return errors.New("empty directory path") + } + if !strings.HasSuffix(dir, string(filepath.Separator)) { + dir += string(filepath.Separator) + } + + // lock for writes while rebuilding everything + s.mu.Lock() + defer s.mu.Unlock() + + // reset containers + s.users = nil + s.cards = nil + s.flights = nil + if s.userFlights == nil { + s.userFlights = make(map[uint64]map[uint64]struct{}) + } else { + for k := range s.userFlights { + delete(s.userFlights, k) + } + } + if s.cardFlights == nil { + s.cardFlights = make(map[uint64]map[uint64]struct{}) + } else { + for k := range s.cardFlights { + delete(s.cardFlights, k) + } + } + // (Re)build helper indices when possible + if s.cardsByUser == nil { + s.cardsByUser = make(map[uint64]map[uint64]struct{}) + } else { + for k := range s.cardsByUser { + delete(s.cardsByUser, k) + } + } + // We cannot reconstruct codesByUser / countriesByUser from CSVs here; leave as-is or empty. + // Initialize if nil so your code using them won't panic. + if s.codesByUser == nil { + s.codesByUser = make(map[uint64]map[string]struct{}) + } + if s.countriesByUser == nil { + s.countriesByUser = make(map[uint64]map[string]struct{}) + } + + // 1) users.csv + if err := s.loadUsersCSV(dir + "users.csv"); err != nil { + return fmt.Errorf("load users.csv: %w", err) + } + fmt.Println("loaed users") + + // 2) cards.csv + if err := s.loadCardsCSV(dir + "cards.csv"); err != nil { + return fmt.Errorf("load cards.csv: %w", err) + } + + // 3) flights.csv + if err := s.loadFlightsCSV(dir + "flights.csv"); err != nil { + return fmt.Errorf("load flights.csv: %w", err) + } + + // 4) user_flights.csv + if err := s.loadUserFlightsCSV(dir + "user_flights.csv"); err != nil { + return fmt.Errorf("load user_flights.csv: %w", err) + } + + // 5) card_flights.csv + if err := s.loadCardFlightsCSV(dir + "card_flights.csv"); err != nil { + return fmt.Errorf("load card_flights.csv: %w", err) + } + + return nil +} + +func (s *Store) loadUsersCSV(path string) error { + r, closer, err := openCSV(path) + if err != nil { + return err + } + defer closer.Close() + + // header + if _, err := r.Read(); err != nil { + return fmt.Errorf("users header: %w", err) + } + + bar := progressbar.Default(int64(150000), "reading users") + + for { + bar.Add(1) + rec, err := r.Read() + if errors.Is(err, io.EOF) { + break + } + if errors.Is(err, io.EOF) { + break + } + if err != nil { + return fmt.Errorf("users read: %w", err) + } + // columns: id, nick, name, surname, fathersname, sex, birthday, total_flights, total_codes, total_countries, total_cards + if len(rec) < 11 { + return fmt.Errorf("users row has %d columns, expected >=11", len(rec)) + } + + id, err := parseUint(rec[0]) + if err != nil { + return fmt.Errorf("user id: %w", err) + } + sexInt, err := parseInt(rec[5]) + if err != nil { + return fmt.Errorf("user sex: %w", err) + } + + var bday time.Time + if strings.TrimSpace(rec[6]) != "" { + // "2006-01-02" in UTC + t, err := time.Parse("2006-01-02", rec[6]) + if err != nil { + return fmt.Errorf("user birthday: %w", err) + } + bday = t.UTC() + } else { + // keep zero time; or: + // bday = model.SentinelBirthday() // <-- if you prefer sentinel + } + + u := &model.User{ + ID: id, + Nick: rec[1], + Name: rec[2], + Surname: rec[3], + Fathersname: strings.TrimSpace(rec[4]), + Sex: model.Sex(sexInt), // adjust if your type differs + Birthday: bday, + } + + s.putUser(u) + } + return nil +} + +func (s *Store) loadCardsCSV(path string) error { + r, closer, err := openCSV(path) + if err != nil { + return err + } + defer closer.Close() + + // header + if _, err := r.Read(); err != nil { + return fmt.Errorf("cards header: %w", err) + } + + bar := progressbar.Default(int64(177000), "reading cards") + for { + bar.Add(1) + rec, err := r.Read() + if errors.Is(err, io.EOF) { + break + } + if err != nil { + return fmt.Errorf("cards read: %w", err) + } + // columns: id, prefix, number, bonusprogramm, user_id + if len(rec) < 5 { + return fmt.Errorf("cards row has %d columns, expected >=5", len(rec)) + } + + id, err := parseUint(rec[0]) + if err != nil { + return fmt.Errorf("card id: %w", err) + } + num, err := parseUint(rec[2]) + if err != nil { + return fmt.Errorf("card number: %w", err) + } + uid, err := parseUint(rec[4]) + if err != nil { + return fmt.Errorf("card user_id: %w", err) + } + + c := &model.Card{ + ID: id, + Prefix: rec[1], + Number: num, + Bonusprogramm: rec[3], + UserID: uid, + } + s.putCard(c) + + // index: cardsByUser + if _, ok := s.cardsByUser[uid]; !ok { + s.cardsByUser[uid] = make(map[uint64]struct{}) + } + s.cardsByUser[uid][id] = struct{}{} + } + return nil +} + +func (s *Store) loadFlightsCSV(path string) error { + r, closer, err := openCSV(path) + if err != nil { + return err + } + defer closer.Close() + + // header + if _, err := r.Read(); err != nil { + return fmt.Errorf("flights header: %w", err) + } + + bar := progressbar.Default(int64(2000000), "reading flights") + for { + bar.Add(1) + rec, err := r.Read() + if errors.Is(err, io.EOF) { + break + } + if err != nil { + return fmt.Errorf("flights read: %w", err) + } + // columns: + // id, number, from, to, fromlat, fromlon, tolat, tolon, dep_date, has_time, dep_time, dep_iso + if len(rec) < 12 { + return fmt.Errorf("flights row has %d columns, expected >=12", len(rec)) + } + + id, err := parseUint(rec[0]) + if err != nil { + return fmt.Errorf("flight id: %w", err) + } + + fromLat, err := parseFloat(rec[4]) + if err != nil { + return fmt.Errorf("fromlat: %w", err) + } + fromLon, err := parseFloat(rec[5]) + if err != nil { + return fmt.Errorf("fromlon: %w", err) + } + toLat, err := parseFloat(rec[6]) + if err != nil { + return fmt.Errorf("tolat: %w", err) + } + toLon, err := parseFloat(rec[7]) + if err != nil { + return fmt.Errorf("tolon: %w", err) + } + + depDateStr := strings.TrimSpace(rec[8]) // "2006-01-02" + hasTime, err := strconv.ParseBool(rec[9]) + if err != nil { + return fmt.Errorf("has_time: %w", err) + } + + var dep time.Time + if hasTime { + // When exported with time present, dep_iso is RFC3339; prefer it for full fidelity. + depISO := strings.TrimSpace(rec[11]) + if depISO != "" { + t, err := time.Parse(time.RFC3339, depISO) + if err != nil { + return fmt.Errorf("dep_iso: %w", err) + } + dep = t + } else { + // Fallback: combine dep_date + dep_time in local (treat as UTC if not specified) + depTime := strings.TrimSpace(rec[10]) // "15:04:05" + t, err := time.Parse("2006-01-02 15:04:05", depDateStr+" "+depTime) + if err != nil { + return fmt.Errorf("dep_date+dep_time: %w", err) + } + dep = t.UTC() + } + } else { + // Date only → set at UTC midnight of that date + if depDateStr == "" { + return fmt.Errorf("dep_date is empty while has_time=false") + } + t, err := time.Parse("2006-01-02", depDateStr) + if err != nil { + return fmt.Errorf("dep_date: %w", err) + } + dep = t.UTC() + } + + f := &model.Flight{ + ID: id, + Number: rec[1], + From: rec[2], + To: rec[3], + FromCoords: model.LatLong{ + Lat: fromLat, + Long: fromLon, + }, + ToCoords: model.LatLong{ + Lat: toLat, + Long: toLon, + }, + Date: dep, + HasTime: hasTime, + } + + s.putFlight(f) + } + return nil +} + +func (s *Store) loadUserFlightsCSV(path string) error { + r, closer, err := openCSV(path) + if err != nil { + return err + } + defer closer.Close() + + // header + if _, err := r.Read(); err != nil { + return fmt.Errorf("user_flights header: %w", err) + } + + bar := progressbar.Default(int64(3200000), "reading u-flights") + for { + bar.Add(1) + rec, err := r.Read() + if errors.Is(err, io.EOF) { + break + } + if err != nil { + return fmt.Errorf("user_flights read: %w", err) + } + // columns: user_id, flight_id + if len(rec) < 2 { + return fmt.Errorf("user_flights row has %d columns, expected >=2", len(rec)) + } + uid, err := parseUint(rec[0]) + if err != nil { + return fmt.Errorf("user_id: %w", err) + } + fid, err := parseUint(rec[1]) + if err != nil { + return fmt.Errorf("flight_id: %w", err) + } + + // guard against missing references (mirror your exporter’s checks) + if !s.validFlightID(fid) { + continue + } + if _, ok := s.userFlights[uid]; !ok { + s.userFlights[uid] = make(map[uint64]struct{}) + } + s.userFlights[uid][fid] = struct{}{} + } + return nil +} + +func (s *Store) loadCardFlightsCSV(path string) error { + r, closer, err := openCSV(path) + if err != nil { + return err + } + defer closer.Close() + + // header + if _, err := r.Read(); err != nil { + return fmt.Errorf("card_flights header: %w", err) + } + + for { + rec, err := r.Read() + if errors.Is(err, io.EOF) { + break + } + if err != nil { + return fmt.Errorf("card_flights read: %w", err) + } + // columns: card_id, flight_id + if len(rec) < 2 { + return fmt.Errorf("card_flights row has %d columns, expected >=2", len(rec)) + } + cid, err := parseUint(rec[0]) + if err != nil { + return fmt.Errorf("card_id: %w", err) + } + fid, err := parseUint(rec[1]) + if err != nil { + return fmt.Errorf("flight_id: %w", err) + } + + if !s.validFlightID(fid) { + continue + } + if _, ok := s.cardFlights[cid]; !ok { + s.cardFlights[cid] = make(map[uint64]struct{}) + } + s.cardFlights[cid][fid] = struct{}{} + } + return nil +} + +// --- helpers --- + +func openCSV(path string) (*csv.Reader, io.Closer, error) { + f, err := os.Open(path) + if err != nil { + return nil, nil, err + } + r := csv.NewReader(f) + r.ReuseRecord = true + // r.FieldsPerRecord = -1 // allow variable columns per row (comment out if you want strictness) + return r, f, nil +} + +func parseUint(s string) (uint64, error) { + return strconv.ParseUint(strings.TrimSpace(s), 10, 64) +} +func parseInt(s string) (int64, error) { + return strconv.ParseInt(strings.TrimSpace(s), 10, 64) +} +func parseFloat(s string) (float64, error) { + if strings.TrimSpace(s) == "" { + return 0, nil + } + return strconv.ParseFloat(strings.TrimSpace(s), 64) +} + +// Ensure slices are large enough and place item by ID (1-based supported) +func ensureLen[T any](slice []*T, id uint64) []*T { + needed := int(id) + 1 // keep index == id; index 0 unused per your exporters + if len(slice) <= needed { + newSlice := make([]*T, needed) + copy(newSlice, slice) + return newSlice + } + return slice +} + +func (s *Store) putUser(u *model.User) { + if u == nil { + return + } + s.users = ensureLen[model.User](s.users, u.ID) + s.users[u.ID] = u +} + +func (s *Store) putCard(c *model.Card) { + if c == nil { + return + } + s.cards = ensureLen[model.Card](s.cards, c.ID) + s.cards[c.ID] = c +} + +func (s *Store) putFlight(f *model.Flight) { + if f == nil { + return + } + s.flights = ensureLen[model.Flight](s.flights, f.ID) + s.flights[f.ID] = f +} + +func (s *Store) validFlightID(fid uint64) bool { + return fid != 0 && int(fid) < len(s.flights) && s.flights[fid] != nil +} diff --git a/pkg/localstore/store.go b/pkg/localstore/store.go new file mode 100644 index 0000000..151b2b4 --- /dev/null +++ b/pkg/localstore/store.go @@ -0,0 +1,638 @@ +package localstore + +import ( + "errors" + "strings" + "sync" + "time" + "unicode/utf8" + + "airlines/pkg/model" +) + +type userNameKey struct { + Surname string + Name string + Fathersname string // "" allowed + BirthYMD int32 // 0 if unknown +} + +type userInitKey struct { + Surname string + Name string + Init string // one letter + BirthYMD int32 +} + +type cardKey struct { + Prefix string + Bonus string // may be "" + Number uint64 +} + +type cardPairKey struct { + Prefix string + Number uint64 +} + +type flightKey struct { + Number string + From string + To string + DateYMD int32 + HasTime bool + Sec int32 // seconds since local midnight if HasTime +} + +type flightDayKey struct { + Number string + From string + To string + DateYMD int32 +} + + +type Store struct { + mu sync.RWMutex + + users []*model.User + cards []*model.Card + flights []*model.Flight + + nickToUID map[string]uint64 + nameToUID map[userNameKey]uint64 + nameInitToUID map[userInitKey]uint64 + + cardToCID map[cardKey]uint64 + cardPairToCID map[cardPairKey]uint64 + + flightToFID map[flightKey]uint64 + flightByDay map[flightDayKey]uint64 + + userFlights map[uint64]map[uint64]struct{} // user_id -> set(flight_id) + cardFlights map[uint64]map[uint64]struct{} // card_id -> set(flight_id) + + codesByUser map[uint64]map[string]struct{} // user_id -> set(code) + countriesByUser map[uint64]map[string]struct{} // user_id -> set(country) + cardsByUser map[uint64]map[uint64]struct{} // user_id -> set(card_id) +} + +func NewLocalStore() *Store { + return &Store{ + users: make([]*model.User, 1), + cards: make([]*model.Card, 1), + flights: make([]*model.Flight, 1), + nickToUID: make(map[string]uint64, 1<<12), + nameToUID: make(map[userNameKey]uint64, 1<<12), + cardToCID: make(map[cardKey]uint64, 1<<14), + cardPairToCID: make(map[cardPairKey]uint64, 1<<14), + flightToFID: make(map[flightKey]uint64, 1<<15), + flightByDay: make(map[flightDayKey]uint64, 1<<15), + userFlights: make(map[uint64]map[uint64]struct{}, 1<<12), + cardFlights: make(map[uint64]map[uint64]struct{}, 1<<12), + nameInitToUID: make(map[userInitKey]uint64, 1<<12), + codesByUser: make(map[uint64]map[string]struct{}, 1<<12), + countriesByUser: make(map[uint64]map[string]struct{}, 1<<12), + cardsByUser: make(map[uint64]map[uint64]struct{}, 1<<12), + } +} + + +func isZeroCoord(c model.LatLong) bool { return c.Lat == 0 && c.Long == 0 } + +func ymdUTC(t time.Time) int32 { + if t.IsZero() || t.Year() == model.SentinelBirthday().Year() { + return 0 + } + u := time.Date(t.Year(), t.Month(), t.Day(), 0, 0, 0, 0, time.UTC) + return int32(u.Year()*10000 + int(u.Month())*100 + u.Day()) +} + +func secSinceMidnight(t time.Time) int32 { + h, m, s := t.Clock() + return int32(h*3600 + m*60 + s) +} + +func ensureSet(m map[uint64]map[uint64]struct{}, k uint64) map[uint64]struct{} { + s, ok := m[k] + if !ok { + s = make(map[uint64]struct{}, 8) + m[k] = s + } + return s +} + +/* ============================== users ============================= */ + +func fatherInitial(s string) string { + s = strings.TrimSpace(s) + if s == "" { + return "" + } + r, _ := utf8.DecodeRuneInString(s) + if r == utf8.RuneError { + return "" + } + return string(r) // your pipeline keeps it UPPER +} + +func addUserInitIndex(m map[userInitKey]uint64, u *model.User) { + k := userInitKey{Surname: u.Surname, Name: u.Name, Init: fatherInitial(u.Fathersname), BirthYMD: ymdUTC(u.Birthday)} + if _, exists := m[k]; !exists { + m[k] = u.ID + } +} + +func delUserInitIndex(m map[userInitKey]uint64, u *model.User) { + k := userInitKey{Surname: u.Surname, Name: u.Name, Init: fatherInitial(u.Fathersname), BirthYMD: ymdUTC(u.Birthday)} + delete(m, k) +} + +// --- merge helper (unchanged; keeps initial→full, birthday, nick, sex upgrades) --- +func (s *Store) mergeUserFields(id uint64, in *model.User) *model.User { + ex := s.users[id] + // fathersname: initial -> full (same initial), move indexes + if ex.Fathersname != "" && len([]rune(ex.Fathersname)) == 1 && + in.Fathersname != "" && fatherInitial(ex.Fathersname) == fatherInitial(in.Fathersname) && + ex.Fathersname != in.Fathersname { + oldNameKey := userNameKey{Surname: ex.Surname, Name: ex.Name, Fathersname: ex.Fathersname, BirthYMD: ymdUTC(ex.Birthday)} + if _, ok := s.nameToUID[oldNameKey]; ok { + delete(s.nameToUID, oldNameKey) + } + delUserInitIndex(s.nameInitToUID, ex) + ex.Fathersname = in.Fathersname + s.nameToUID[userNameKey{Surname: ex.Surname, Name: ex.Name, Fathersname: ex.Fathersname, BirthYMD: ymdUTC(ex.Birthday)}] = id + addUserInitIndex(s.nameInitToUID, ex) + } + // birthday upgrade + if ymdUTC(ex.Birthday) == 0 && ymdUTC(in.Birthday) != 0 { + oldNameKey := userNameKey{Surname: ex.Surname, Name: ex.Name, Fathersname: ex.Fathersname, BirthYMD: 0} + if _, ok := s.nameToUID[oldNameKey]; ok { + delete(s.nameToUID, oldNameKey) + } + delUserInitIndex(s.nameInitToUID, ex) + ex.Birthday = in.Birthday + s.nameToUID[userNameKey{Surname: ex.Surname, Name: ex.Name, Fathersname: ex.Fathersname, BirthYMD: ymdUTC(ex.Birthday)}] = id + addUserInitIndex(s.nameInitToUID, ex) + } + // nick/sex + if ex.Nick == "" && in.Nick != "" { + ex.Nick = in.Nick + s.nickToUID[in.Nick] = id + } + if ex.Sex == model.SexUnknown && in.Sex != model.SexUnknown { + ex.Sex = in.Sex + } + return ex +} + +// --- FIXED SaveUser: initial-key lookup tries BOTH (birth, 0) --- +func (s *Store) SaveUser(u *model.User) (*model.User, error) { + if u == nil { + return nil, errors.New("nil user") + } + // normalize (names already UPPER) + u.Nick = strings.TrimSpace(u.Nick) + u.Name = strings.TrimSpace(u.Name) + u.Surname = strings.TrimSpace(u.Surname) + u.Fathersname = strings.Trim(strings.TrimSpace(u.Fathersname), ".,") + if u.Birthday.IsZero() { + u.Birthday = model.SentinelBirthday() + } + inBirth := ymdUTC(u.Birthday) + inKey := userNameKey{Surname: u.Surname, Name: u.Name, Fathersname: u.Fathersname, BirthYMD: inBirth} + + s.mu.Lock() + defer s.mu.Unlock() + + // 1) by Nick + if u.Nick != "" { + if id, ok := s.nickToUID[u.Nick]; ok { + return s.mergeUserFields(id, u), nil + } + } + + // 2) exact tuple + if id, ok := s.nameToUID[inKey]; ok { + if u.Nick != "" && s.users[id].Nick == "" { + s.users[id].Nick = u.Nick + s.nickToUID[u.Nick] = id + } + return s.mergeUserFields(id, u), nil + } + + // 3) initial-based match (try with incoming birth, then with 0) + init := fatherInitial(u.Fathersname) + tryInits := []userInitKey{ + {Surname: u.Surname, Name: u.Name, Init: init, BirthYMD: inBirth}, + } + if inBirth != 0 { + tryInits = append(tryInits, userInitKey{Surname: u.Surname, Name: u.Name, Init: init, BirthYMD: 0}) + } + for _, ik := range tryInits { + if id, ok := s.nameInitToUID[ik]; ok { + ex := s.users[id] + + // If ex has initial-only and incoming has full (same initial) → upgrade fathers + move indexes + if ex.Fathersname == fatherInitial(ex.Fathersname) && + u.Fathersname != "" && + fatherInitial(u.Fathersname) == fatherInitial(ex.Fathersname) { + // move name index + oldNameKey := userNameKey{Surname: ex.Surname, Name: ex.Name, Fathersname: ex.Fathersname, BirthYMD: ymdUTC(ex.Birthday)} + delete(s.nameToUID, oldNameKey) + // remove old init index (birth may differ) + delUserInitIndex(s.nameInitToUID, ex) + + ex.Fathersname = u.Fathersname + + newNameKey := userNameKey{Surname: ex.Surname, Name: ex.Name, Fathersname: ex.Fathersname, BirthYMD: ymdUTC(ex.Birthday)} + s.nameToUID[newNameKey] = id + addUserInitIndex(s.nameInitToUID, ex) + } + + // Upgrade birthday if needed + if ymdUTC(ex.Birthday) == 0 && inBirth != 0 { + // move name key 0 -> inBirth + oldNameKey := userNameKey{Surname: ex.Surname, Name: ex.Name, Fathersname: ex.Fathersname, BirthYMD: 0} + if _, ok2 := s.nameToUID[oldNameKey]; ok2 { + delete(s.nameToUID, oldNameKey) + } + // move init index 0 -> inBirth + delUserInitIndex(s.nameInitToUID, ex) + ex.Birthday = u.Birthday + s.nameToUID[userNameKey{Surname: ex.Surname, Name: ex.Name, Fathersname: ex.Fathersname, BirthYMD: inBirth}] = id + addUserInitIndex(s.nameInitToUID, ex) + } + + // nick/sex upgrades + if u.Nick != "" && ex.Nick == "" { + ex.Nick = u.Nick + s.nickToUID[u.Nick] = id + } + if ex.Sex == model.SexUnknown && u.Sex != model.SexUnknown { + ex.Sex = u.Sex + } + return ex, nil + } + } + + // 4) relaxed: fathersname empty, same birth + if id, ok := s.nameToUID[userNameKey{Surname: u.Surname, Name: u.Name, Fathersname: "", BirthYMD: inBirth}]; ok { + ex := s.users[id] + if ex.Fathersname == "" && u.Fathersname != "" { + delete(s.nameToUID, userNameKey{Surname: ex.Surname, Name: ex.Name, Fathersname: "", BirthYMD: inBirth}) + ex.Fathersname = u.Fathersname + s.nameToUID[userNameKey{Surname: ex.Surname, Name: ex.Name, Fathersname: ex.Fathersname, BirthYMD: inBirth}] = id + addUserInitIndex(s.nameInitToUID, ex) + } + if u.Nick != "" && ex.Nick == "" { + ex.Nick = u.Nick + s.nickToUID[u.Nick] = id + } + if ex.Sex == model.SexUnknown && u.Sex != model.SexUnknown { + ex.Sex = u.Sex + } + if ymdUTC(ex.Birthday) == 0 && inBirth != 0 { + ex.Birthday = u.Birthday + } + return ex, nil + } + + // 5) same fathersname, no birth + if id, ok := s.nameToUID[userNameKey{Surname: u.Surname, Name: u.Name, Fathersname: u.Fathersname, BirthYMD: 0}]; ok { + delete(s.nameToUID, userNameKey{Surname: u.Surname, Name: u.Name, Fathersname: u.Fathersname, BirthYMD: 0}) + ex := s.users[id] + ex.Birthday = u.Birthday + s.nameToUID[inKey] = id + delUserInitIndex(s.nameInitToUID, ex) + addUserInitIndex(s.nameInitToUID, ex) + if u.Nick != "" && ex.Nick == "" { + ex.Nick = u.Nick + s.nickToUID[u.Nick] = id + } + if ex.Sex == model.SexUnknown && u.Sex != model.SexUnknown { + ex.Sex = u.Sex + } + return ex, nil + } + + // 6) fully unspecific existing (fathers="", birth=0) + if id, ok := s.nameToUID[userNameKey{Surname: u.Surname, Name: u.Name, Fathersname: "", BirthYMD: 0}]; ok { + ex := s.users[id] + delete(s.nameToUID, userNameKey{Surname: ex.Surname, Name: ex.Name, Fathersname: "", BirthYMD: 0}) + if ex.Fathersname == "" && u.Fathersname != "" { + ex.Fathersname = u.Fathersname + } + if ymdUTC(ex.Birthday) == 0 && inBirth != 0 { + ex.Birthday = u.Birthday + } + s.nameToUID[userNameKey{Surname: ex.Surname, Name: ex.Name, Fathersname: ex.Fathersname, BirthYMD: ymdUTC(ex.Birthday)}] = id + addUserInitIndex(s.nameInitToUID, ex) + if u.Nick != "" && ex.Nick == "" { + ex.Nick = u.Nick + s.nickToUID[u.Nick] = id + } + if ex.Sex == model.SexUnknown && u.Sex != model.SexUnknown { + ex.Sex = u.Sex + } + return ex, nil + } + + // 7) create + u.ID = uint64(len(s.users)) + s.users = append(s.users, u) + if u.Nick != "" { + s.nickToUID[u.Nick] = u.ID + } + s.nameToUID[inKey] = u.ID + addUserInitIndex(s.nameInitToUID, u) + return u, nil +} + +/* ============================== cards ============================= */ +/* +Match order: + 1) exact (Prefix, Number, Bonus) + 2) pair (Prefix, Number) → if stored bonus=="" and incoming bonus!="", upgrade in place (move triple index) + 3) else create new +Never steal UserID: only set if existing has 0 and incoming non-zero. +*/ + +func (s *Store) SaveCard(c *model.Card) (*model.Card, error) { + if c == nil { + return nil, errors.New("nil card") + } + c.Prefix = strings.TrimSpace(c.Prefix) + c.Bonusprogramm = strings.TrimSpace(c.Bonusprogramm) + if c.Prefix == "" { + return nil, errors.New("invalid card: empty prefix") + } + + tri := cardKey{Prefix: c.Prefix, Number: c.Number, Bonus: c.Bonusprogramm} + pair := cardPairKey{Prefix: c.Prefix, Number: c.Number} + + s.mu.Lock() + defer s.mu.Unlock() + + // exact triple + if id, ok := s.cardToCID[tri]; ok { + ex := s.cards[id] + if ex.UserID == 0 && c.UserID != 0 { + ex.UserID = c.UserID + if s.cardsByUser[ex.UserID] == nil { + s.cardsByUser[ex.UserID] = make(map[uint64]struct{}, 1024) + } + v := s.cardsByUser[ex.UserID] + v[ex.ID] = struct{}{} + s.cardsByUser[ex.UserID] = v + } + return ex, nil + } + + // by pair + if id, ok := s.cardPairToCID[pair]; ok { + ex := s.cards[id] + // link user once + if ex.UserID == 0 && c.UserID != 0 { + ex.UserID = c.UserID + } + if s.cardsByUser[ex.UserID] == nil { + s.cardsByUser[ex.UserID] = make(map[uint64]struct{}, 1024) + } + v := s.cardsByUser[ex.UserID] + v[ex.ID] = struct{}{} + s.cardsByUser[ex.UserID] = v + switch { + case ex.Bonusprogramm == "" && c.Bonusprogramm != "": + // move triple index from empty -> new bonus + oldTri := cardKey{Prefix: ex.Prefix, Number: ex.Number, Bonus: ex.Bonusprogramm} + delete(s.cardToCID, oldTri) + ex.Bonusprogramm = c.Bonusprogramm + newTri := cardKey{Prefix: ex.Prefix, Number: ex.Number, Bonus: ex.Bonusprogramm} + s.cardToCID[newTri] = id + return ex, nil + case ex.Bonusprogramm == "" && c.Bonusprogramm == "": + return ex, nil + case ex.Bonusprogramm != "" && c.Bonusprogramm == "": + return ex, nil + case ex.Bonusprogramm != "" && c.Bonusprogramm != "" && ex.Bonusprogramm != c.Bonusprogramm: + // different program → create new card record + default: + return ex, nil + } + } + + // create + c.ID = uint64(len(s.cards)) + s.cards = append(s.cards, c) + s.cardPairToCID[pair] = c.ID + s.cardToCID[tri] = c.ID // even if bonus == "", we still index triple + + if s.cardsByUser[c.UserID] == nil { + s.cardsByUser[c.UserID] = make(map[uint64]struct{}, 1024) + } + v := s.cardsByUser[c.UserID] + v[c.ID] = struct{}{} + s.cardsByUser[c.UserID] = v + + return c, nil +} + +/* ============================== flights =========================== */ +/* +Identity: + - date-only: (Number, From, To, DateYMD, false, 0) + - timed : (Number, From, To, DateYMD, true, SecSinceMidnight) +Upgrade: + - if a date-only exists and a timed arrives for the same day, upgrade in place +Merge: + - coords: fill when missing + - relations: add (dedup via sets) +*/ + +func (s *Store) SaveFlight(f *model.Flight) (*model.Flight, error) { + if f == nil { + return nil, errors.New("nil flight") + } + f.Number = strings.TrimSpace(f.Number) + f.From = strings.TrimSpace(f.From) + f.To = strings.TrimSpace(f.To) + + // normalize day + dayUTC := time.Date(f.Date.Year(), f.Date.Month(), f.Date.Day(), 0, 0, 0, 0, time.UTC) + ymd := ymdUTC(dayUTC) + + var pKey flightKey + if f.HasTime { + pKey = flightKey{Number: f.Number, From: f.From, To: f.To, DateYMD: ymd, HasTime: true, Sec: secSinceMidnight(f.Date)} + } else { + f.Date = dayUTC // store as date-only + pKey = flightKey{Number: f.Number, From: f.From, To: f.To, DateYMD: ymd, HasTime: false, Sec: 0} + } + dayKey := flightDayKey{Number: f.Number, From: f.From, To: f.To, DateYMD: ymd} + + s.mu.Lock() + defer s.mu.Unlock() + + // 1) exact (precise) key + if id, ok := s.flightToFID[pKey]; ok { + ex := s.flights[id] + s.mergeFlightFields(id, ex, f) + return ex, nil + } + + // 2) same day exists -> maybe upgrade date-only to timed + if id, ok := s.flightByDay[dayKey]; ok { + ex := s.flights[id] + exKey := s.keyOfFlight(ex) + if !ex.HasTime && f.HasTime { + // move map key to timed + delete(s.flightToFID, exKey) + ex.HasTime = true + // set clock from incoming (keep same calendar date) + ex.Date = time.Date(dayUTC.Year(), dayUTC.Month(), dayUTC.Day(), + f.Date.Hour(), f.Date.Minute(), f.Date.Second(), f.Date.Nanosecond(), f.Date.Location()) + s.flightToFID[s.keyOfFlight(ex)] = id + // day index already points to best precision + } + // merge fields/relations + s.mergeFlightFields(id, ex, f) + return ex, nil + } + + // 3) brand new + f.ID = uint64(len(s.flights)) + s.flights = append(s.flights, f) + s.flightToFID[pKey] = f.ID + s.flightByDay[dayKey] = f.ID + + // if s.countriesByUser[f.UserID] == nil { + // s.countriesByUser[f.UserID] = make(map[string]struct{}, 1024) + // } + + // v := s.countriesByUser[f.UserID] + // dd, _ := airports.LookupIATA(f.From) + // v[dd.Country] = struct{}{} + // s.countriesByUser[f.UserID] = v + + if f.Code != "" { + if s.codesByUser[f.UserID] == nil { + s.codesByUser[f.UserID] = make(map[string]struct{}, 1024) + } + codesByUser := s.codesByUser[f.UserID] + codesByUser[f.Code] = struct{}{} + s.codesByUser[f.UserID] = codesByUser + } + + // relations + if f.UserID != 0 { + ensureSet(s.userFlights, f.UserID)[f.ID] = struct{}{} + } + if f.CardID != 0 { + ensureSet(s.cardFlights, f.CardID)[f.ID] = struct{}{} + } + return f, nil +} + +func (s *Store) keyOfFlight(f *model.Flight) flightKey { + ymd := ymdUTC(time.Date(f.Date.Year(), f.Date.Month(), f.Date.Day(), 0, 0, 0, 0, time.UTC)) + if f.HasTime { + return flightKey{Number: f.Number, From: f.From, To: f.To, DateYMD: ymd, HasTime: true, Sec: secSinceMidnight(f.Date)} + } + return flightKey{Number: f.Number, From: f.From, To: f.To, DateYMD: ymd, HasTime: false, Sec: 0} +} + +func (s *Store) mergeFlightFields(id uint64, ex, in *model.Flight) { + // coords: fill when empty + if isZeroCoord(ex.FromCoords) && !isZeroCoord(in.FromCoords) { + ex.FromCoords = in.FromCoords + } + if isZeroCoord(ex.ToCoords) && !isZeroCoord(in.ToCoords) { + ex.ToCoords = in.ToCoords + } + // relations + if in.UserID != 0 { + ensureSet(s.userFlights, in.UserID)[id] = struct{}{} + } + if in.CardID != 0 { + ensureSet(s.cardFlights, in.CardID)[id] = struct{}{} + } + if in.Code != "" && ex.Code == "" { + ex.Code = in.Code + + // if s.codesByUser[in.UserID] == nil { + // s.codesByUser[in.UserID] = make(map[string]struct{}, 1024) + // } + // codesByUser := s.codesByUser[in.UserID] + // codesByUser[in.Code] = struct{}{} + // s.codesByUser[in.UserID] = codesByUser + } +} + +/* ============================== finders =========================== */ + +func (s *Store) FindUserByNick(nick string) (*model.User, bool) { + s.mu.RLock() + defer s.mu.RUnlock() + id, ok := s.nickToUID[strings.TrimSpace(nick)] + if !ok || id == 0 || int(id) >= len(s.users) { + return nil, false + } + return s.users[id], true +} + +func (s *Store) FindUserByName(name, surname, fathers string, bday time.Time) (*model.User, bool) { + key := userNameKey{ + Surname: strings.TrimSpace(surname), + Name: strings.TrimSpace(name), + Fathersname: strings.TrimSpace(fathers), + BirthYMD: ymdUTC(bday), + } + s.mu.RLock() + defer s.mu.RUnlock() + id, ok := s.nameToUID[key] + if !ok || id == 0 || int(id) >= len(s.users) { + return nil, false + } + return s.users[id], true +} + +func (s *Store) FindCard(prefix string, number uint64, bonus string) (*model.Card, bool) { + tri := cardKey{Prefix: strings.TrimSpace(prefix), Number: number, Bonus: strings.TrimSpace(bonus)} + s.mu.RLock() + defer s.mu.RUnlock() + if id, ok := s.cardToCID[tri]; ok && id != 0 && int(id) < len(s.cards) { + return s.cards[id], true + } + // fall back to pair if no exact + pair := cardPairKey{Prefix: strings.TrimSpace(prefix), Number: number} + if id, ok := s.cardPairToCID[pair]; ok && id != 0 && int(id) < len(s.cards) { + return s.cards[id], true + } + return nil, false +} + +func (s *Store) FindFlight(number, from, to string, date time.Time, hasTime bool) (*model.Flight, bool) { + number = strings.TrimSpace(number) + from = strings.TrimSpace(from) + to = strings.TrimSpace(to) + + ymd := ymdUTC(time.Date(date.Year(), date.Month(), date.Day(), 0, 0, 0, 0, time.UTC)) + var k flightKey + if hasTime { + k = flightKey{Number: number, From: from, To: to, DateYMD: ymd, HasTime: true, Sec: secSinceMidnight(date)} + } else { + k = flightKey{Number: number, From: from, To: to, DateYMD: ymd, HasTime: false, Sec: 0} + } + + s.mu.RLock() + defer s.mu.RUnlock() + if id, ok := s.flightToFID[k]; ok && id != 0 && int(id) < len(s.flights) { + return s.flights[id], true + } + // day-level fallback (returns best precision for the day if exact key absent) + if id, ok := s.flightByDay[flightDayKey{Number: number, From: from, To: to, DateYMD: ymd}]; ok && id != 0 && int(id) < len(s.flights) { + return s.flights[id], true + } + return nil, false +} diff --git a/pkg/model/card.go b/pkg/model/card.go new file mode 100644 index 0000000..6ed666b --- /dev/null +++ b/pkg/model/card.go @@ -0,0 +1,56 @@ +package model + +import ( + "regexp" + "strconv" + "strings" +) + +func ParseCardLine(s string) (prefix string, number uint64, bonus string) { + raw := strings.TrimSpace(s) + if raw == "" { + return "", 0, "" + } + // number = last run of digits + if m := regexp.MustCompile(`(\d{3,})\D*$`).FindStringSubmatch(raw); len(m) == 2 { + if n, err := strconv.ParseUint(m[1], 10, 64); err == nil { + number = n + } + } + + // tokens (letters with '-', '/', apostrophes) + tokRe := regexp.MustCompile(`[A-Za-z][A-Za-z'/-]*`) + toks := tokRe.FindAllString(s, -1) + + // prefix = first 2–3 letter all-caps-ish token + for _, t := range toks { + u := strings.ToUpper(t) + if len(u) >= 2 && len(u) <= 3 && regexp.MustCompile(`^[A-Z]{2,3}$`).MatchString(u) { + prefix = u + break + } + } + // bonus = all tokens except prefix + words := []string{} + for _, t := range toks { + if strings.ToUpper(t) == prefix { + continue + } + words = append(words, t) + } + if len(words) > 0 { + bonus = strings.Join(words, " ") + } + if bonus == "" && prefix != "" { + bonus = prefix + } + return +} + + +func FirstNonEmpty(a, b string) string { + if strings.TrimSpace(a) != "" { + return a + } + return b +} diff --git a/pkg/model/store.go b/pkg/model/store.go new file mode 100644 index 0000000..8479de6 --- /dev/null +++ b/pkg/model/store.go @@ -0,0 +1,7 @@ +package model + +type Store interface { + SaveUser(u *User) (*User, error) + SaveCard(c *Card) (*Card, error) + SaveFlight(f *Flight) (*Flight, error) +} diff --git a/pkg/model/types.go b/pkg/model/types.go new file mode 100644 index 0000000..fd65d46 --- /dev/null +++ b/pkg/model/types.go @@ -0,0 +1,74 @@ +package model + +import ( + "encoding/json" + "math" + "strconv" + "strings" + "time" + + "airlines/pkg/airports" +) + +type Sex uint8 + +const ( + SexUnknown Sex = 0 + SexMale Sex = 1 + SexFemale Sex = 2 +) + +func (s *Sex) UnmarshalJSON(b []byte) error { + var raw string + if err := json.Unmarshal(b, &raw); err == nil { + switch strings.ToLower(strings.TrimSpace(raw)) { + case "male": + *s = SexMale + return nil + case "female": + *s = SexFemale + return nil + case "", "unknown", "null": + *s = SexUnknown + return nil + } + } + // also accept numbers in JSON + var n int + if err := json.Unmarshal(b, &n); err == nil { + *s = Sex(n) + return nil + } + *s = SexUnknown + return nil +} + +func TzFromAirportRecord(a airports.Airport) *time.Location { + return TzFromOffsetHours(a.Timezone) +} + +func TzFromOffsetHours(hours float64) *time.Location { + minTotal := int(math.Round(hours * 60.0)) + sec := minTotal * 60 + + name := fixedZoneNameFromMinutes(minTotal) + return time.FixedZone(name, sec) +} + +func fixedZoneNameFromMinutes(minTotal int) string { + sign := "+" + if minTotal < 0 { + sign = "-" + minTotal = -minTotal + } + h := minTotal / 60 + m := minTotal % 60 + return "UTC" + sign + two(h) + ":" + two(m) +} + +func two(x int) string { + if x < 10 { + return "0" + strconv.Itoa(x) + } + return strconv.Itoa(x) +} diff --git a/pkg/model/user.go b/pkg/model/user.go index bfa3694..213934a 100644 --- a/pkg/model/user.go +++ b/pkg/model/user.go @@ -1,48 +1,11 @@ package model import ( - "encoding/json" - "strings" "time" ) -const sentinelYear = 1 - func SentinelBirthday() time.Time { - return time.Date(sentinelYear, 1, 1, 0, 0, 0, 0, time.UTC) -} - -type Sex uint8 - -const ( - SexUnknown Sex = 0 - SexMale Sex = 1 - SexFemale Sex = 2 -) - -func (s *Sex) UnmarshalJSON(b []byte) error { - var raw string - if err := json.Unmarshal(b, &raw); err == nil { - switch strings.ToLower(strings.TrimSpace(raw)) { - case "male": - *s = SexMale - return nil - case "female": - *s = SexFemale - return nil - case "", "unknown", "null": - *s = SexUnknown - return nil - } - } - // also accept numbers in JSON - var n int - if err := json.Unmarshal(b, &n); err == nil { - *s = Sex(n) - return nil - } - *s = SexUnknown - return nil + return time.Date(1, 1, 1, 0, 0, 0, 0, time.UTC) } type User struct { @@ -58,9 +21,11 @@ type User struct { Birthday time.Time Cards []Card `gorm:"foreignKey:UserID"` + CardsIDs []uint64 `gorm:"-"` // just for compatibility Flights []Flight `gorm:"many2many:user_flights;joinForeignKey:UserID;joinReferences:FlightID"` + FlightsIDs []uint64 `gorm:"-"` } func (User) TableName() string { return "users" } @@ -73,8 +38,8 @@ type Card struct { Bonusprogramm string `gorm:"not null;uniqueIndex:uniq_card_identity"` - // User has multiple cards -> each card has registered flights to it Flights []Flight `gorm:"many2many:card_flights;joinForeignKey:CardID;joinReferences:FlightID"` + FlightsIDs []uint64 `gorm:"-"` UserID uint64 User User `gorm:"foreignKey:UserID;constraint:OnUpdate:CASCADE,OnDelete:SET NULL;"` @@ -82,22 +47,29 @@ type Card struct { func (Card) TableName() string { return "cards" } +type LatLong struct { + Lat, Long float64 +} + type Flight struct { ID uint64 `gorm:"primaryKey"` - Number string `gorm:"not null;uniqueIndex:uniq_flight_identity"` - From string `gorm:"not null;uniqueIndex:uniq_flight_identity"` - FromCity string `gorm:"not null;uniqueIndex:uniq_flight_identity"` - FromCountry string `gorm:"not null;uniqueIndex:uniq_flight_identity"` + Number string `gorm:"not null;uniqueIndex:uniq_flight_identity"` + From string `gorm:"not null;uniqueIndex:uniq_flight_identity"` + FromCoords LatLong `gorm:"-"` + + To string `gorm:"not null;uniqueIndex:uniq_flight_identity"` + ToCoords LatLong `gorm:"-"` - To string `gorm:"not null;uniqueIndex:uniq_flight_identity"` - ToCity string `gorm:"not null;uniqueIndex:uniq_flight_identity"` - ToCountry string `gorm:"not null;uniqueIndex:uniq_flight_identity"` + Date time.Time `gorm:"not null;uniqueIndex:uniq_flight_identity"` + HasTime bool - Date time.Time `gorm:"not null;uniqueIndex:uniq_flight_identity"` + Code string `gorm:"-"` Users []User `gorm:"many2many:user_flights;joinForeignKey:FlightID;joinReferences:UserID"` Cards []Card `gorm:"many2many:card_flights;joinForeignKey:FlightID;joinReferences:CardID"` + UserID uint64 `gorm:"-"` + CardID uint64 `gorm:"-"` } func (Flight) TableName() string { return "flights" } diff --git a/pkg/store/db.go b/pkg/store/db.go index 648bca8..6853563 100644 --- a/pkg/store/db.go +++ b/pkg/store/db.go @@ -3,32 +3,27 @@ package store import ( "context" "errors" - "fmt" "strings" "time" "airlines/pkg/model" "gorm.io/driver/postgres" - _ "gorm.io/driver/sqlite" "gorm.io/gorm" "gorm.io/gorm/clause" "gorm.io/gorm/logger" ) -func normTime(t time.Time) time.Time { - return t.UTC().Truncate(time.Second) -} - -func normDateDay(t time.Time) time.Time { return t.UTC().Truncate(24 * time.Hour) } - type Store struct { DB *gorm.DB } func NewStore(dsn string) (*Store, error) { db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{ - Logger: logger.Default.LogMode(logger.Silent), + SkipDefaultTransaction: true, // you can wrap outside for big imports + PrepareStmt: true, // statement cache + DisableNestedTransaction: true, + Logger: logger.Default.LogMode(logger.Silent), }) if err != nil { return nil, err @@ -40,369 +35,162 @@ func (s *Store) AutoMigrate() error { return s.DB.AutoMigrate(&model.User{}, &model.Card{}, &model.Flight{}) } -func (s *Store) withTx(ctx context.Context, fn func(tx *gorm.DB) error) error { - return s.DB.WithContext(ctx).Transaction(fn) -} - -func (s *Store) getUserByID(ctx context.Context, id uint64) (*model.User, error) { - var u model.User - if err := s.DB.WithContext(ctx).First(&u, id).Error; err != nil { - return nil, err - } - return &u, nil -} - -func (s *Store) getUserByNick(ctx context.Context, nick string) (*model.User, error) { - var u model.User - if err := s.DB.WithContext(ctx).Where("nick = ?", nick).First(&u).Error; err != nil { - return nil, err - } - return &u, nil -} - -func (s *Store) getCardByIdentity(ctx context.Context, prefix string, number uint64, bp string) (*model.Card, error) { - var c model.Card - err := s.DB.WithContext(ctx). - Where("prefix = ? AND number = ? AND bonusprogramm = ?", prefix, number, bp). - First(&c).Error - if err != nil { - return nil, err - } - return &c, nil -} +/* ============================= Users ============================= */ -func (s *Store) getFlightByIdentity(ctx context.Context, f *model.Flight) (*model.Flight, error) { - if strings.TrimSpace(f.Number) == "" { - return nil, gorm.ErrRecordNotFound +func (s *Store) SaveUser(ctx context.Context, in *model.User) (*model.User, error) { + if in == nil { + return nil, errors.New("nil user") } - - q := s.DB.WithContext(ctx).Model(&model.Flight{}) - - q = q.Where("number = ?", f.Number) - - if f.From != "" { - q = q.Where(`"from" = ?`, f.From) - } - if f.FromCity != "" { - q = q.Where("from_city = ?", f.FromCity) - } - if f.FromCountry != "" { - q = q.Where("from_country = ?", f.FromCountry) - } - if f.To != "" { - q = q.Where(`"to" = ?`, f.To) - } - if f.ToCity != "" { - q = q.Where("to_city = ?", f.ToCity) - } - if f.ToCountry != "" { - q = q.Where("to_country = ?", f.ToCountry) - } - if !f.Date.IsZero() { - q = q.Where(`"date" = ?`, normDateDay(f.Date)) - } - - var out model.Flight - if err := q.First(&out).Error; err != nil { - return nil, err - } - return &out, nil -} - -func (s *Store) CreateOrGetUser(ctx context.Context, in *model.User) (*model.User, error) { + in.Nick = strings.TrimSpace(in.Nick) + in.Name = strings.TrimSpace(in.Name) + in.Surname = strings.TrimSpace(in.Surname) + in.Fathersname = strings.TrimSpace(in.Fathersname) if in.Birthday.IsZero() { - in.Birthday = time.Date(1900, 1, 1, 0, 0, 0, 0, time.UTC) + in.Birthday = model.SentinelBirthday() } - in.Birthday = in.Birthday.UTC().Truncate(time.Second) + in.Birthday = in.Birthday.In(time.UTC) - var out model.User - err := s.withTx(ctx, func(tx *gorm.DB) error { - // 1) Try by unique nick (if provided) + out := &model.User{} + err := s.DB.WithContext(ctx).Transaction(func(tx *gorm.DB) error { + // 1) Try by Nick if in.Nick != "" { - if err := tx.Where("nick = ?", in.Nick).First(&out).Error; err == nil { + if err := tx.Where("nick = ?", in.Nick).First(out).Error; err == nil { return nil } else if !errors.Is(err, gorm.ErrRecordNotFound) { return err } - - // 2) Nick not found — check composite identity - if in.Name != "" || in.Surname != "" || in.Fathersname != "" { - tmp := tx - if in.Name != "" { - tmp = tmp.Where("name = ?", in.Name) - } - if in.Surname != "" { - tmp = tmp.Where("surname = ?", in.Surname) - } - if in.Fathersname != "" { - tmp = tmp.Where("fathersname = ?", in.Fathersname) - } - - if err := tmp.First(&out).Error; err == nil { - if out.Nick == "" { - _ = tx.Model(&out).Update("nick", in.Nick).Error - } - return nil - } else if !errors.Is(err, gorm.ErrRecordNotFound) { - return err - } - } - - // 3) Neither nick nor composite exist — create with full payload - if err := tx.Create(in).Error; err != nil { - return err - } - // Prefer selecting by nick first; fallback to composite if needed - if err := tx.Where("nick = ?", in.Nick).First(&out).Error; err == nil { - return nil - } - return tx.Where( - "name = ? AND surname = ? AND fathersname = ? AND sex = ? AND birthday = ?", - in.Name, in.Surname, in.Fathersname, in.Sex, in.Birthday, - ).First(&out).Error } - - // (Nick empty) — try composite identity - if err := tx.Where( - "name = ? AND surname = ? AND fathersname = ? AND sex = ? AND birthday = ?", - in.Name, in.Surname, in.Fathersname, in.Sex, in.Birthday, - ).First(&out).Error; err == nil { + // 2) Fallback by identity tuple + q := tx.Where("name = ? AND surname = ?", in.Name, in.Surname) + if in.Fathersname != "" { + q = q.Where("fathersname = ?", in.Fathersname) + } else { + q = q.Where("(fathersname IS NULL OR fathersname = '')") + } + if in.Birthday.Year() != model.SentinelBirthday().Year() { + q = q.Where("birthday = ?", in.Birthday) + } + if err := q.First(out).Error; err == nil { return nil } else if !errors.Is(err, gorm.ErrRecordNotFound) { return err } - // Create by composite (no nick) - if err := tx.Clauses(clause.OnConflict{DoNothing: true}).Create(in).Error; err != nil { + // 3) Not found → create + if err := tx.Create(in).Error; err != nil { return err } - return tx.Where( - "name = ? AND surname = ? AND fathersname = ? AND sex = ? AND birthday = ?", - in.Name, in.Surname, in.Fathersname, in.Sex, in.Birthday, - ).First(&out).Error + *out = *in + return nil }) - if err != nil { - return nil, err - } - return &out, nil + return out, err } -func (s *Store) AddCardsToUser(ctx context.Context, userID uint64, cards ...*model.Card) ([]model.Card, error) { - var attached []model.Card - - err := s.withTx(ctx, func(tx *gorm.DB) error { - u := model.User{ID: userID} - if err := tx.First(&u).Error; err != nil { - return err - } - - for i := range cards { - c := cards[i] - c.UserID = userID - - // Upsert by card identity composite (prefix, number, bonusprogramm) - // We DoNothing on conflict and then SELECT. - if err := tx.Clauses(clause.OnConflict{DoNothing: true}).Create(c).Error; err != nil && !errors.Is(err, gorm.ErrDuplicatedKey) { - return err - } - - var dbCard model.Card - if err := tx. - Where("prefix = ? AND number = ? AND bonusprogramm = ?", c.Prefix, c.Number, c.Bonusprogramm). - First(&dbCard).Error; err != nil { - return err - } +/* ============================= Cards ============================= */ +/* Card→User is a plain FK (cards.user_id). Keep it. */ - // If card is already bound to another user, fail explicitly - if dbCard.UserID != 0 && dbCard.UserID != u.ID { - return fmt.Errorf("card %+v already belongs to a user %+v", c) - } +func (s *Store) SaveCard(ctx context.Context, in *model.Card) (*model.Card, error) { + if in == nil { + return nil, errors.New("nil card") + } + in.Prefix = strings.TrimSpace(in.Prefix) + in.Bonusprogramm = strings.TrimSpace(in.Bonusprogramm) + if in.Prefix == "" || in.Bonusprogramm == "" { + return nil, errors.New("invalid card: empty prefix or bonusprogramm") + } - // Attach to this user if not already - if dbCard.UserID != u.ID { - if err := tx.Model(&dbCard).Update("user_id", u.ID).Error; err != nil { + out := &model.Card{} + err := s.DB.WithContext(ctx).Transaction(func(tx *gorm.DB) error { + // find by unique triple + if err := tx.Where("prefix = ? AND number = ? AND bonusprogramm = ?", + in.Prefix, in.Number, in.Bonusprogramm).First(out).Error; err == nil { + // Link to user once if requested and not yet linked + if in.UserID != 0 && out.UserID == 0 { + if err := tx.Model(out).Update("user_id", in.UserID).Error; err != nil { return err } + out.UserID = in.UserID } - - attached = append(attached, dbCard) - } - return nil - }) - - if err != nil { - return nil, err - } - return attached, nil -} - -func (s *Store) AddFlightForUserAndCard(ctx context.Context, userID, cardID uint64, in *model.Flight) (*model.Flight, error) { - // ensure day-only Date consistency - in.Date = normDateDay(in.Date) - - var out model.Flight - err := s.withTx(ctx, func(tx *gorm.DB) error { - // 1) ensure user exists - var u model.User - if err := tx.First(&u, userID).Error; err != nil { - return err - } - - // 2) if cardID provided, ensure card exists and belongs to the user - var c model.Card - if cardID != 0 { - if err := tx.First(&c, cardID).Error; err != nil { - return err - } - if c.UserID != u.ID { - return fmt.Errorf("card %d does not belong to user %d", c.ID, u.ID) + // refuse stealing if different user already set + if in.UserID != 0 && out.UserID != 0 && out.UserID != in.UserID { + return errors.New("card already linked to another user") } - } - - // 3) upsert/create flight by its unique identity - // If you actually created the unique index with name "uniq_flight_identity", - // you can use the Constraint form. Otherwise list Columns explicitly. - if err := tx.Clauses(clause.OnConflict{ - DoNothing: true, - }).Create(in).Error; err != nil { - return err - } - - // 4) re-select by identity - if err := tx.Where( - `number = ? AND "from" = ? AND from_city = ? AND from_country = ? AND "to" = ? AND to_city = ? AND to_country = ? AND "date" = ?`, - in.Number, in.From, in.FromCity, in.FromCountry, in.To, in.ToCity, in.ToCountry, in.Date, - ).First(&out).Error; err != nil { + return nil + } else if !errors.Is(err, gorm.ErrRecordNotFound) { return err } - // 5) link user <-> flight (user_flights) - if err := tx.Table("user_flights"). - Clauses(clause.OnConflict{DoNothing: true}). - Create(map[string]any{"user_id": u.ID, "flight_id": out.ID}).Error; err != nil { + // not found → create (includes FK if provided) + if err := tx.Create(in).Error; err != nil { return err } - - // 6) optionally link card <-> flight (card_flights) - if cardID != 0 { - if err := tx.Table("card_flights"). - Clauses(clause.OnConflict{DoNothing: true}). - Create(map[string]any{"card_id": c.ID, "flight_id": out.ID}).Error; err != nil { - return err - } - } - + *out = *in return nil }) - if err != nil { - return nil, err - } - return &out, nil -} - -// Optional convenience: preload user’s cards & flights for display -func (s *Store) GetUserFull(ctx context.Context, userID uint64) (*model.User, error) { - var u model.User - if err := s.DB.WithContext(ctx). - Preload("Cards"). - Preload("Flights"). - First(&u, userID).Error; err != nil { - return nil, err - } - return &u, nil + return out, err } -func (s *Store) AddFlightToUser(ctx context.Context, userID uint64, in *model.Flight) (*model.Flight, error) { - // normalize date if set - if !in.Date.IsZero() { - in.Date = normDateDay(in.Date) - } - - var out model.Flight - err := s.withTx(ctx, func(tx *gorm.DB) error { - // 1) ensure user exists - var u model.User - if err := tx.First(&u, userID).Error; err != nil { - return err - } - - // 2) try to find an existing flight using dynamic filters - q := tx.Model(&model.Flight{}).Where("number = ?", in.Number) - if in.From != "" { - q = q.Where(`"from" = ?`, in.From) - } - if in.FromCity != "" { - q = q.Where("from_city = ?", in.FromCity) - } - if in.FromCountry != "" { - q = q.Where("from_country = ?", in.FromCountry) - } - if in.To != "" { - q = q.Where(`"to" = ?`, in.To) - } - if in.ToCity != "" { - q = q.Where("to_city = ?", in.ToCity) - } - if in.ToCountry != "" { - q = q.Where("to_country = ?", in.ToCountry) - } - if !in.Date.IsZero() { - q = q.Where(`"date" = ?`, in.Date) - } - - // deterministic pick if multiple match - if err := q.Order(`"date" DESC, id DESC`).First(&out).Error; err != nil { - if !errors.Is(err, gorm.ErrRecordNotFound) { +/* ============================= Flights ============================= */ +/* + Find/create by (number, from, to, date). Do NOT write user_id/card_id columns. + Use associations to link: + - flight.Users ↔ user_flights + - flight.Cards ↔ card_flights + This avoids “raw IDs” on the flight row and uses the relations instead. +*/ + +func (s *Store) SaveFlight(ctx context.Context, in *model.Flight) (*model.Flight, error) { + if in == nil { + return nil, errors.New("nil flight") + } + in.Date = in.Date.In(time.UTC) + + out := &model.Flight{} + err := s.DB.WithContext(ctx).Transaction(func(tx *gorm.DB) error { + // Try to find existing + if err := tx.Where(`"number" = ? AND "from" = ? AND "to" = ? AND "date" = ?`, + in.Number, in.From, in.To, in.Date).First(out).Error; err == nil { + // found: do NOT update columns; only link relations below + } else if errors.Is(err, gorm.ErrRecordNotFound) { + // Not found → create (no user_id/card_id columns are written) + cre := model.Flight{ + Number: in.Number, + From: in.From, + To: in.To, + Date: in.Date, + } + if err := tx.Clauses(clause.OnConflict{DoNothing: true}).Create(&cre).Error; err != nil { return err } - - // 3) not found -> create (requires full identity fields) - // Validate required identity fields before create - if strings.TrimSpace(in.Number) == "" || - in.From == "" || in.FromCity == "" || - in.To == "" || in.ToCity == "" || - in.Date.IsZero() { - return fmt.Errorf("%+v cannot create flight: full identity required (number, from/from_city/from_country, to/to_city/to_country, date)", in) + // If conflict, fetch the existing one + if cre.ID == 0 { + if err := tx.Where(`"number" = ? AND "from" = ? AND "to" = ? AND "date" = ?`, + in.Number, in.From, in.To, in.Date).First(&cre).Error; err != nil { + return err + } } + *out = cre + } else { + return err + } - // Upsert by unique identity - if err := tx.Clauses(clause.OnConflict{ - Columns: []clause.Column{ - {Name: "number"}, - {Name: "from"}, - {Name: "from_city"}, - {Name: "from_country"}, - {Name: "to"}, - {Name: "to_city"}, - {Name: "to_country"}, - {Name: "date"}, - }, - DoNothing: true, - }).Create(in).Error; err != nil { + // ---- Link relations via associations (no raw IDs in the row) ---- + // Link to User (many-to-many) if caller provided a UserID + if in.UserID != 0 { + u := model.User{ID: in.UserID} + // Avoid dup join rows by adding a unique index on (user_id, flight_id). + if err := tx.Model(out).Association("Users").Append(&u); err != nil { return err } - - // Re-select by full identity - if err := tx.Where( - `number = ? AND "from" = ? AND from_city = ? AND from_country = ? AND "to" = ? AND to_city = ? AND to_country = ? AND "date" = ?`, - in.Number, in.From, in.FromCity, in.FromCountry, in.To, in.ToCity, in.ToCountry, in.Date, - ).First(&out).Error; err != nil { + } + // Link to Card (many-to-many) + if in.CardID != 0 { + c := model.Card{ID: in.CardID} + if err := tx.Model(out).Association("Cards").Append(&c); err != nil { return err } } - - // 4) link user <-> flight (idempotent) - if err := tx.Table("user_flights"). - Clauses(clause.OnConflict{DoNothing: true}). - Create(map[string]any{"user_id": u.ID, "flight_id": out.ID}).Error; err != nil { - return err - } - return nil }) - - if err != nil { - return nil, err - } - return &out, nil + return out, err } diff --git a/py.ipynb b/py.ipynb new file mode 100644 index 0000000..b903e36 --- /dev/null +++ b/py.ipynb @@ -0,0 +1,296 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "aa17ff76-7c65-44e2-b36e-23ad9ffe4c9c", + "metadata": {}, + "outputs": [], + "source": [ + "import cudf\n", + "import cupy as cp\n", + "import numpy as np\n" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "170ea4a3-1b4d-41c3-9e17-fd8943dc6b31", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'status': 'ok', 'restart': True}" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import IPython\n", + "app = IPython.Application.instance()\n", + "app.kernel.do_shutdown(True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b5a0b20f-ff99-401d-804c-568f0bfb2f11", + "metadata": {}, + "outputs": [], + "source": [ + "DIR = \"./data\"\n", + "BIG_KM = 2000.0\n", + "MAX_GAP_HOURS = 6\n", + "MAX_GAP = np.timedelta64(MAX_GAP_HOURS, \"h\")" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "fc1282ce-b717-453e-bc64-9fbb758a2fdc", + "metadata": {}, + "outputs": [], + "source": [ + "users = cudf.read_csv(f\"{DIR}/users.csv\", dtype={\"id\": \"uint64\"})\n", + "flights = cudf.read_csv(f\"{DIR}/flights.csv\")\n", + "user_flights = cudf.read_csv(\n", + " f\"{DIR}/user_flights.csv\", dtype={\"user_id\": \"uint64\", \"flight_id\": \"uint64\"}\n", + ")\n", + "cards = cudf.read_csv(\n", + " f\"{DIR}/cards.csv\", dtype={\"id\": \"uint64\", \"user_id\": \"uint64\", \"number\": \"uint64\"}\n", + ")\n", + "card_flights = cudf.read_csv(\n", + " f\"{DIR}/card_flights.csv\", dtype={\"card_id\": \"uint64\", \"flight_id\": \"uint64\"}\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bdcaa3d1-6414-425f-9a40-f65f74c004b6", + "metadata": {}, + "outputs": [], + "source": [ + "has_time = flights[\"has_time\"].astype(\"str\").str.strip().str.lower()\n", + "has_time = (has_time == \"true\")\n", + "\n", + "date = flights[\"dep_date\"].fillna(\"\").astype(\"str\").str.strip()\n", + "time = flights[\"dep_time\"].fillna(\"\").astype(\"str\").str.strip()\n", + "\n", + "mask_date = date.str.match(r\"^\\d{4}-\\d{2}-\\d{2}$\")\n", + "mask_time = time.str.match(r\"^\\d{2}:\\d{2}(:\\d{2})?$\") \n", + "\n", + "mask_dt = mask_date & mask_time & has_time \n", + "mask_d = mask_date & (~has_time | ~mask_time) \n" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "302947fa-af35-4fad-91bc-6da2468d9708", + "metadata": {}, + "outputs": [], + "source": [ + "for c in (\"fromlat\", \"fromlon\", \"tolat\", \"tolon\"):\n", + " flights[c] = flights[c].astype(\"float64\")\n", + "\n", + "R = cp.float64(6371.0088)\n", + "rad = cp.float64(cp.pi / 180.0)\n", + "\n", + "lat1 = flights[\"fromlat\"].values * rad\n", + "lon1 = flights[\"fromlon\"].values * rad\n", + "lat2 = flights[\"tolat\"].values * rad\n", + "lon2 = flights[\"tolon\"].values * rad\n", + "\n", + "dlat = lat2 - lat1\n", + "dlon = lon2 - lon1\n", + "a = cp.sin(dlat * 0.5)**2 + cp.cos(lat1) * cp.cos(lat2) * cp.sin(dlon * 0.5)**2\n", + "flights[\"distance_km\"] = cudf.Series(R * (2.0 * cp.arcsin(cp.sqrt(a))))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b141f399-4f52-40d0-a2f6-6434ab1ebb74", + "metadata": {}, + "outputs": [], + "source": [ + "map_user_flights = user_flights[[\"user_id\", \"flight_id\"]]\n", + "\n", + "cards_min = cards[[\"id\", \"user_id\"]].rename(columns={\"id\": \"card_id\"})\n", + "map_card_users = card_flights.merge(cards_min, on=\"card_id\", how=\"left\")[[\"user_id\", \"flight_id\"]]\n", + "\n", + "user_flight_map = cudf.concat([map_user_flights, map_card_users], ignore_index=True)\n", + "user_flight_map = user_flight_map.dropna(subset=[\"user_id\", \"flight_id\"]).drop_duplicates()\n", + "\n", + "uf = user_flight_map.merge(\n", + " flights,\n", + " left_on=\"flight_id\",\n", + " right_on=\"id\",\n", + " how=\"inner\", \n", + ")\n", + "uf = uf.dropna(subset=[\"dep_ts\"]).sort_values([\"user_id\", \"dep_ts\", \"flight_id\"])" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "0cb5b280-451b-4cf1-ad61-de990b490d63", + "metadata": {}, + "outputs": [], + "source": [ + "uid = \"user_id\"" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "44c7edf4-276d-49c2-a93d-2b8a60bcfaab", + "metadata": {}, + "outputs": [], + "source": [ + "prev_dep = uf.groupby(uid)[\"dep_ts\"].shift(1)\n", + "gap = uf[\"dep_ts\"] - prev_dep\n", + "cond_lt6h = gap <= MAX_GAP\n", + "is_new_seg = cond_lt6h.isna() | (~cond_lt6h)\n", + "seg_id = is_new_seg.astype(\"int32\").groupby(uf[uid]).cumsum()\n", + "streak_sizes = uf.groupby([uid, seg_id]).size().rename(\"streak_len\")\n", + "max_streak_lt6h = streak_sizes.groupby(level=0).max().rename(\"max_streak_lt6h\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "6cbe6321-2033-413e-9dd4-305c339361fc", + "metadata": {}, + "outputs": [], + "source": [ + "big = uf[\"distance_km\"] >= BIG_KM\n", + "big_new = big.isna() | (~big)\n", + "big_seg = big_new.astype(\"int32\").groupby(uf[uid]).cumsum()\n", + "big_sizes = uf[big].groupby([uid, big_seg]).size().rename(\"big_run_len\")\n", + "count_big_streaks_ge3 = (big_sizes >= 3).groupby(level=0).sum().astype(\"int64\").rename(\"count_big_streaks_ge3\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "6668873f-f36d-4423-a735-d744647db88e", + "metadata": {}, + "outputs": [], + "source": [ + "route = uf[\"from\"].astype(\"str\") + \"→\" + uf[\"to\"].astype(\"str\")\n", + "route_prev = route.groupby(uf[uid]).shift(1)\n", + "route_change = route_prev.isna() | (route != route_prev)\n", + "route_seg = route_change.astype(\"int32\").groupby(uf[uid]).cumsum()\n", + "route_run_sizes = uf.groupby([uid, route_seg]).size().rename(\"route_run_len\")\n", + "max_consec_same_route = route_run_sizes.groupby(level=0).max().rename(\"max_consec_same_route\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b3d44e46-147b-433f-b985-5d6b3baefd6e", + "metadata": {}, + "outputs": [], + "source": [ + "orig = uf[\"from\"].astype(\"str\")\n", + "orig_prev = orig.groupby(uf[uid]).shift(1)\n", + "orig_change = orig_prev.isna() | (orig != orig_prev)\n", + "orig_seg = orig_change.astype(\"int32\").groupby(uf[uid]).cumsum()\n", + "orig_run_sizes = uf.groupby([uid, orig_seg]).size().rename(\"orig_run_len\")\n", + "max_consec_same_origin = orig_run_sizes.groupby(level=0).max().rename(\"max_consec_same_origin\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "52028ba2-bd19-44fc-a7eb-bf76be246b79", + "metadata": {}, + "outputs": [], + "source": [ + "longest_distance_km = uf.groupby(uid)[\"distance_km\"].max().rename(\"longest_distance_km\")\n", + "\n", + "gap_days = (gap / np.timedelta64(1, \"D\")).astype(\"float64\")\n", + "avg_days_between = gap_days.groupby(uf[uid]).mean().rename(\"avg_days_between_flights\")\n", + "\n", + "unique_airports = cudf.concat(\n", + " [\n", + " uf[[uid, \"from\"]].rename(columns={\"from\": \"airport\"}),\n", + " uf[[uid, \"to\"]].rename(columns={\"to\": \"airport\"}),\n", + " ],\n", + " ignore_index=True,\n", + ").groupby(uid)[\"airport\"].nunique().astype(\"int64\").rename(\"unique_airports\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "88e632af-278b-43af-a15d-7e9e9235afe6", + "metadata": {}, + "outputs": [], + "source": [ + "metrics = (\n", + " max_streak_lt6h.to_frame()\n", + " .join(count_big_streaks_ge3, how=\"left\")\n", + " .join(max_consec_same_route, how=\"left\")\n", + " .join(max_consec_same_origin, how=\"left\")\n", + " .join(unique_airports, how=\"left\")\n", + " .join(longest_distance_km, how=\"left\")\n", + " .join(avg_days_between, how=\"left\")\n", + ").fillna({\n", + " \"max_streak_lt6h\": 0,\n", + " \"count_big_streaks_ge3\": 0,\n", + " \"max_consec_same_route\": 0,\n", + " \"max_consec_same_origin\": 0,\n", + " \"unique_airports\": 0,\n", + "})\n", + "\n", + "users_analytics = users.set_index(\"id\").join(metrics, how=\"left\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "951fe3b3-dac6-4c3a-8e83-80a048f5864d", + "metadata": {}, + "outputs": [], + "source": [ + "users_analytics.to_csv(f\"{DIR}/users_analytics_gpu_cudf.csv\", index=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "86817955-42e9-480e-8ffd-2a628816f6a9", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.15" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/test.pdf b/test.pdf deleted file mode 100644 index bd85b31..0000000 Binary files a/test.pdf and /dev/null differ -- cgit v1.2.3