├── README.md ├── css └── styles.css ├── img ├── airplane-green.png ├── airplane-orange.png ├── airplane-red.png └── airplane-yellow.png ├── index.html ├── introduction-to-google-maps-api-all-lessons_download.zip └── js ├── airportdata.js ├── mapstyle.js └── scripts.js /README.md: -------------------------------------------------------------------------------- 1 | 2 | # Introduction 3 | 4 | Hello and welcome to Introduction to the Google Maps JavaScript API course! My name is Robert Dickerson. In this course, we will start with the basics of getting the Google Maps set up, and getting a solid understanding of the JavaScript API. You learn how to interact and control the map, how to style it, use custom colors, add marker overlays withc ustom icons, handle mouse events when clicking on an icon, and create customized info windows that pop up when markers are clicked. 5 | 6 | Once you've mastered the basics, the lessons will start to build on each other in the creation of our course project. We'll be creating an interactive visualization of U.S. airport arrival and departure times with a number of techniques to enhance visualization, so users can quickly find the information of interest, and spot trends in the data. I've created a website for the final course project we will be building - you can check it out at [learnaboutmaps.com](http://learnaboutmaps.com). 7 | 8 | # What is API 9 | 10 | Throughout the course, we'll refer to the term **API** (**Application Program Interface**). It refers to the classes, methods, properties, and events, that will allow you to interface and control the Google Map. For this course, we'll focus on using the JavaScript API for creating web based maps that can be used across desktop and mobile browsers. Once you've completed this introductory course,you will have a solid understanding of the Google Maps API, as well as a strong foundation to learn more about advanced concepts. 11 | 12 | #What's Next 13 | View all handouts for the course [Introduction to Google Maps API ](https://www.sitepoint.com/premium/courses/introduction-to-google-maps-api-2895) on [Lesson 1.1](https://github.com/learnable-content/introduction-to-google-maps-api/tree/lesson1.1) 14 | -------------------------------------------------------------------------------- /css/styles.css: -------------------------------------------------------------------------------- 1 | html, body, #map { 2 | height: 100%; 3 | margin: 0px; 4 | padding: 0px 5 | } 6 | 7 | /* Override */ 8 | #map { 9 | /*width: 800px; 10 | height: 600px;*/ 11 | } 12 | 13 | /* Style for the info window */ 14 | .infowindowcontent { 15 | font-family: "FranklinITCStdLight","Helvetica","Arial",sans-serif; 16 | line-height: 10px; 17 | 18 | width: 300px; 19 | height: 225px; 20 | 21 | padding: 0px; 22 | margin: 0px; 23 | } 24 | 25 | .row { 26 | margin: 0px; 27 | padding: 0px; 28 | } 29 | 30 | .row .total { 31 | float: left; 32 | font-size: 28px; 33 | 34 | margin: 0px 10px 5px 0px; 35 | padding: 20px 10px 20px 10px; 36 | text-align: center; 37 | } 38 | 39 | .highlight { 40 | 41 | width: 60px; 42 | padding: 5px; 43 | margin: 0px; 44 | 45 | } 46 | 47 | .row .location { 48 | margin: 0px; 49 | padding: 10px 0px 10px 0px; 50 | color: #333; 51 | font-size: 16px; 52 | } 53 | 54 | .row .code { 55 | margin: 0px; 56 | padding: 3px 0px 0px 10px; 57 | font-size: 26px; 58 | } 59 | 60 | .data { 61 | margin-top: 14px; 62 | padding:0px; 63 | } 64 | 65 | .tagbelow { 66 | font-size: 10px; 67 | 68 | } 69 | 70 | .label { 71 | text-transform: uppercase; 72 | font-size: 16px; 73 | } 74 | 75 | .details { 76 | font-size: 18px; 77 | } 78 | 79 | .coords { 80 | font-size: 10px; 81 | } 82 | 83 | .greenbk { 84 | background: #00a651; 85 | } 86 | 87 | .yellowbk { 88 | background: #fff202; 89 | } 90 | 91 | .orangebk { 92 | background: #ff8300; 93 | } 94 | 95 | .redbk { 96 | background: #ff2d08; 97 | } -------------------------------------------------------------------------------- /img/airplane-green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learnable-content/introduction-to-google-maps-api/dbcfb0723bb56abb054f9f0a8f3df9fd3284b6d3/img/airplane-green.png -------------------------------------------------------------------------------- /img/airplane-orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learnable-content/introduction-to-google-maps-api/dbcfb0723bb56abb054f9f0a8f3df9fd3284b6d3/img/airplane-orange.png -------------------------------------------------------------------------------- /img/airplane-red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learnable-content/introduction-to-google-maps-api/dbcfb0723bb56abb054f9f0a8f3df9fd3284b6d3/img/airplane-red.png -------------------------------------------------------------------------------- /img/airplane-yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learnable-content/introduction-to-google-maps-api/dbcfb0723bb56abb054f9f0a8f3df9fd3284b6d3/img/airplane-yellow.png -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Google Maps API Course 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /introduction-to-google-maps-api-all-lessons_download.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/learnable-content/introduction-to-google-maps-api/dbcfb0723bb56abb054f9f0a8f3df9fd3284b6d3/introduction-to-google-maps-api-all-lessons_download.zip -------------------------------------------------------------------------------- /js/airportdata.js: -------------------------------------------------------------------------------- 1 | //February 2015 Air Travel Consumer Report for the Month of December 2014 2 | //Department of Transportation 3 | //Source - http://www.dot.gov/airconsumer/february-2015-air-travel-consumer-report 4 | //Geocoded by Google Geocode API 5 | // aper - Arrival On-time Percentage 6 | // code - Airport Code 7 | // dper - Departure On-time Percentage 8 | // airport - Text Description 9 | // aop - Arrival Operations 10 | // lat - Latitude of Airport 11 | // dop - Departure Operations 12 | // lng - Longitude 13 | 14 | var airportData = [ 15 | { 16 | "aper": 87.1, 17 | "code": "ABR", 18 | "dper": 88.7, 19 | "airport": "ABERDEEN SD (ABR)", 20 | "aop": 62, 21 | "lat": 45.4530017, 22 | "dop": 62, 23 | "lng": -98.4183339 24 | }, 25 | { 26 | "aper": 58.1, 27 | "code": "ABI", 28 | "dper": 70.1, 29 | "airport": "ABILENE TX (ABI)", 30 | "aop": 241, 31 | "lat": 32.411111, 32 | "dop": 241, 33 | "lng": -99.681667 34 | }, 35 | { 36 | "aper": 87.5, 37 | "code": "ADK", 38 | "dper": 50, 39 | "airport": "ADAK ISLAND AK (ADK)", 40 | "aop": 8, 41 | "dop": 8 42 | }, 43 | { 44 | "aper": 79.5, 45 | "code": "BQN", 46 | "dper": 84.7, 47 | "airport": "AGUADILLA PR (BQN)", 48 | "aop": 132, 49 | "lat": 18.4953957, 50 | "dop": 131, 51 | "lng": -67.1355779 52 | }, 53 | { 54 | "aper": 80.7, 55 | "code": "CAK", 56 | "dper": 88.3, 57 | "airport": "AKRON OH (CAK)", 58 | "aop": 596, 59 | "lat": 40.9154509, 60 | "dop": 596, 61 | "lng": -81.4414907 62 | }, 63 | { 64 | "aper": 78.2, 65 | "code": "ABY", 66 | "dper": 82.1, 67 | "airport": "ALBANY GA (ABY)", 68 | "aop": 78, 69 | "lat": 31.5332486, 70 | "dop": 78, 71 | "lng": -84.192852 72 | }, 73 | { 74 | "aper": 77.1, 75 | "code": "ALB", 76 | "dper": 84.2, 77 | "airport": "ALBANY NY (ALB)", 78 | "aop": 663, 79 | "lat": 42.7487124, 80 | "dop": 664, 81 | "lng": -73.8054981 82 | }, 83 | { 84 | "aper": 67.5, 85 | "code": "ABQ", 86 | "dper": 70.7, 87 | "airport": "ALBUQUERQUE NM (ABQ)", 88 | "aop": 1762, 89 | "lat": 35.0433333, 90 | "dop": 1764, 91 | "lng": -106.6129085 92 | }, 93 | { 94 | "aper": 74.7, 95 | "code": "AEX", 96 | "dper": 81.4, 97 | "airport": "ALEXANDRIA LA (AEX)", 98 | "aop": 273, 99 | "lat": 31.3223879, 100 | "dop": 274, 101 | "lng": -92.5428806 102 | }, 103 | { 104 | "aper": 80, 105 | "code": "ABE", 106 | "dper": 87.5, 107 | "airport": "ALLENTOWN\/BETHLEHEM\/EASTON PA (ABE)", 108 | "aop": 120, 109 | "lat": 40.6519194, 110 | "dop": 120, 111 | "lng": -75.4342013 112 | }, 113 | { 114 | "aper": 81.5, 115 | "code": "APN", 116 | "dper": 85.2, 117 | "airport": "ALPENA MI (APN)", 118 | "aop": 54, 119 | "lat": 45.0780559, 120 | "dop": 54, 121 | "lng": -83.560278 122 | }, 123 | { 124 | "aper": 57.9, 125 | "code": "AMA", 126 | "dper": 65.2, 127 | "airport": "AMARILLO TX (AMA)", 128 | "aop": 573, 129 | "lat": 35.2185, 130 | "dop": 572, 131 | "lng": -101.705264 132 | }, 133 | { 134 | "aper": 82.7, 135 | "code": "ANC", 136 | "dper": 86.4, 137 | "airport": "ANCHORAGE AK (ANC)", 138 | "aop": 1254, 139 | "lat": 61.1758863, 140 | "dop": 1253, 141 | "lng": -149.9900791 142 | }, 143 | { 144 | "aper": 75.1, 145 | "code": "ATW", 146 | "dper": 84.6, 147 | "airport": "APPLETON WI (ATW)", 148 | "aop": 201, 149 | "lat": 44.2605, 150 | "dop": 201, 151 | "lng": -88.5111 152 | }, 153 | { 154 | "aper": 41.4, 155 | "code": "ACV", 156 | "dper": 45.9, 157 | "airport": "ARCATA\/EUREKA CA (ACV)", 158 | "aop": 169, 159 | "lat": 40.9711476, 160 | "dop": 170, 161 | "lng": -124.1066147 162 | }, 163 | { 164 | "aper": 83.2, 165 | "code": "DCA", 166 | "dper": 86.5, 167 | "airport": "ARLINGTON VA (DCA)", 168 | "aop": 6460, 169 | "lat": 38.851242, 170 | "dop": 6464, 171 | "lng": -77.0402315 172 | }, 173 | { 174 | "aper": 81.9, 175 | "code": "AVL", 176 | "dper": 82.8, 177 | "airport": "ASHEVILLE NC (AVL)", 178 | "aop": 237, 179 | "lat": 35.4354641, 180 | "dop": 238, 181 | "lng": -82.5376742 182 | }, 183 | { 184 | "aper": 32.8, 185 | "code": "ASE", 186 | "dper": 41.4, 187 | "airport": "ASPEN CO (ASE)", 188 | "aop": 439, 189 | "lat": 39.2207537, 190 | "dop": 435, 191 | "lng": -106.8666179 192 | }, 193 | { 194 | "aper": 87, 195 | "code": "ATL", 196 | "dper": 84, 197 | "airport": "ATLANTA GA (ATL)", 198 | "aop": 30000, 199 | "lat": 33.6407282, 200 | "dop": 29951, 201 | "lng": -84.4277001 202 | }, 203 | { 204 | "aper": 66.7, 205 | "code": "ACY", 206 | "dper": 100, 207 | "airport": "ATLANTIC CITY NJ (ACY)", 208 | "aop": 3, 209 | "lat": 39.4551142, 210 | "dop": 4, 211 | "lng": -74.5708448 212 | }, 213 | { 214 | "aper": 83.2, 215 | "code": "AGS", 216 | "dper": 84.7, 217 | "airport": "AUGUSTA GA (AGS)", 218 | "aop": 208, 219 | "lat": 33.3737657, 220 | "dop": 209, 221 | "lng": -81.9722352 222 | }, 223 | { 224 | "aper": 74, 225 | "code": "AUS", 226 | "dper": 79.3, 227 | "airport": "AUSTIN TX (AUS)", 228 | "aop": 3540, 229 | "lat": 30.1974292, 230 | "dop": 3544, 231 | "lng": -97.6663058 232 | }, 233 | { 234 | "aper": 63.2, 235 | "code": "BFL", 236 | "dper": 80.4, 237 | "airport": "BAKERSFIELD CA (BFL)", 238 | "aop": 239, 239 | "lat": 35.4380585, 240 | "dop": 240, 241 | "lng": -119.0546234 242 | }, 243 | { 244 | "aper": 82.1, 245 | "code": "BWI", 246 | "dper": 75.9, 247 | "airport": "BALTIMORE MD (BWI)", 248 | "aop": 7383, 249 | "lat": 39.1774042, 250 | "dop": 7381, 251 | "lng": -76.6683922 252 | }, 253 | { 254 | "aper": 100, 255 | "code": "BGR", 256 | "dper": 100, 257 | "airport": "BANGOR ME (BGR)", 258 | "aop": 2, 259 | "lat": 44.8079749, 260 | "dop": 3, 261 | "lng": -68.8166829 262 | }, 263 | { 264 | "aper": 78.2, 265 | "code": "BRW", 266 | "dper": 69.2, 267 | "airport": "BARROW AK (BRW)", 268 | "aop": 78, 269 | "lat": 71.285278, 270 | "dop": 78, 271 | "lng": -156.7658329 272 | }, 273 | { 274 | "aper": 71.2, 275 | "code": "BTR", 276 | "dper": 73.4, 277 | "airport": "BATON ROUGE LA (BTR)", 278 | "aop": 690, 279 | "lat": 30.5323599, 280 | "dop": 689, 281 | "lng": -91.151461 282 | }, 283 | { 284 | "aper": 42.4, 285 | "code": "BPT", 286 | "dper": 57.6, 287 | "airport": "BEAUMONT\/PORT ARTHUR TX (BPT)", 288 | "aop": 92, 289 | "lat": 29.950833, 290 | "dop": 92, 291 | "lng": -94.020694 292 | }, 293 | { 294 | "aper": 77.2, 295 | "code": "BLI", 296 | "dper": 91.1, 297 | "airport": "BELLINGHAM WA (BLI)", 298 | "aop": 101, 299 | "lat": 48.7956526, 300 | "dop": 101, 301 | "lng": -122.5330734 302 | }, 303 | { 304 | "aper": 85.5, 305 | "code": "BJI", 306 | "dper": 83.9, 307 | "airport": "BEMIDJI MN (BJI)", 308 | "aop": 62, 309 | "lat": 47.509167, 310 | "dop": 62, 311 | "lng": -94.933611 312 | }, 313 | { 314 | "aper": 52.8, 315 | "code": "RDM", 316 | "dper": 64.4, 317 | "airport": "BEND\/REDMOND OR (RDM)", 318 | "aop": 176, 319 | "lat": 44.2531845, 320 | "dop": 177, 321 | "lng": -121.1504052 322 | }, 323 | { 324 | "aper": 89.9, 325 | "code": "BET", 326 | "dper": 88.6, 327 | "airport": "BETHEL AK (BET)", 328 | "aop": 79, 329 | "lat": 60.779722, 330 | "dop": 79, 331 | "lng": -161.8377779 332 | }, 333 | { 334 | "aper": 74.1, 335 | "code": "BIL", 336 | "dper": 85.4, 337 | "airport": "BILLINGS MT (BIL)", 338 | "aop": 224, 339 | "lat": 45.8220359, 340 | "dop": 226, 341 | "lng": -108.3736092 342 | }, 343 | { 344 | "aper": 76.5, 345 | "code": "BHM", 346 | "dper": 81.9, 347 | "airport": "BIRMINGHAM AL (BHM)", 348 | "aop": 1120, 349 | "lat": 33.5624269, 350 | "dop": 1122, 351 | "lng": -86.754126 352 | }, 353 | { 354 | "aper": 67.4, 355 | "code": "BIS", 356 | "dper": 78.8, 357 | "airport": "BISMARCK\/MANDAN ND (BIS)", 358 | "aop": 264, 359 | "lat": 46.8083268, 360 | "dop": 264, 361 | "lng": -100.7837392 362 | }, 363 | { 364 | "aper": 65.4, 365 | "code": "BMI", 366 | "dper": 77.5, 367 | "airport": "BLOOMINGTON\/NORMAL IL (BMI)", 368 | "aop": 228, 369 | "lat": 40.4833097, 370 | "dop": 231, 371 | "lng": -88.9141853 372 | }, 373 | { 374 | "aper": 64, 375 | "code": "BOI", 376 | "dper": 67.4, 377 | "airport": "BOISE ID (BOI)", 378 | "aop": 982, 379 | "lat": 43.5658231, 380 | "dop": 981, 381 | "lng": -116.222316 382 | }, 383 | { 384 | "aper": 77.8, 385 | "code": "BOS", 386 | "dper": 82.3, 387 | "airport": "BOSTON MA (BOS)", 388 | "aop": 8872, 389 | "lat": 42.3656132, 390 | "dop": 8887, 391 | "lng": -71.0095602 392 | }, 393 | { 394 | "aper": 68.8, 395 | "code": "BZN", 396 | "dper": 68.3, 397 | "airport": "BOZEMAN MT (BZN)", 398 | "aop": 292, 399 | "lat": 45.7773831, 400 | "dop": 290, 401 | "lng": -111.1603722 402 | }, 403 | { 404 | "aper": 66.2, 405 | "code": "BRD", 406 | "dper": 75.3, 407 | "airport": "BRAINERD MN (BRD)", 408 | "aop": 77, 409 | "lat": 46.397778, 410 | "dop": 77, 411 | "lng": -94.137222 412 | }, 413 | { 414 | "aper": 91.4, 415 | "code": "TRI", 416 | "dper": 91.5, 417 | "airport": "BRISTOL\/JOHNSON CITY\/KINGSPORT TN (TRI)", 418 | "aop": 163, 419 | "lat": 36.475201, 420 | "dop": 165, 421 | "lng": -82.407402 422 | }, 423 | { 424 | "aper": 68.4, 425 | "code": "BRO", 426 | "dper": 78.2, 427 | "airport": "BROWNSVILLE TX (BRO)", 428 | "aop": 206, 429 | "lat": 25.9017472, 430 | "dop": 206, 431 | "lng": -97.4974838 432 | }, 433 | { 434 | "aper": 83.1, 435 | "code": "BQK", 436 | "dper": 86.7, 437 | "airport": "BRUNSWICK GA (BQK)", 438 | "aop": 83, 439 | "lat": 31.2572019, 440 | "dop": 83, 441 | "lng": -81.4690089 442 | }, 443 | { 444 | "aper": 81.6, 445 | "code": "BUF", 446 | "dper": 87.6, 447 | "airport": "BUFFALO NY (BUF)", 448 | "aop": 1420, 449 | "lat": 42.9397059, 450 | "dop": 1420, 451 | "lng": -78.7295067 452 | }, 453 | { 454 | "aper": 66.9, 455 | "code": "BUR", 456 | "dper": 69.2, 457 | "airport": "BURBANK CA (BUR)", 458 | "aop": 1715, 459 | "lat": 34.1983122, 460 | "dop": 1715, 461 | "lng": -118.3574036 462 | }, 463 | { 464 | "aper": 73.6, 465 | "code": "BTV", 466 | "dper": 75.1, 467 | "airport": "BURLINGTON VT (BTV)", 468 | "aop": 387, 469 | "lat": 44.4706939, 470 | "dop": 386, 471 | "lng": -73.1516037 472 | }, 473 | { 474 | "aper": 79, 475 | "code": "BTM", 476 | "dper": 85.5, 477 | "airport": "BUTTE MT (BTM)", 478 | "aop": 62, 479 | "lat": 45.9547219, 480 | "dop": 62, 481 | "lng": -112.497222 482 | }, 483 | { 484 | "aper": 67, 485 | "code": "CLD", 486 | "dper": 73.9, 487 | "airport": "CARLSBAD CA (CLD)", 488 | "aop": 203, 489 | "lat": 33.1265833, 490 | "dop": 203, 491 | "lng": -117.2788379 492 | }, 493 | { 494 | "aper": 70.1, 495 | "code": "CPR", 496 | "dper": 78.2, 497 | "airport": "CASPER WY (CPR)", 498 | "aop": 201, 499 | "lat": 42.9002899, 500 | "dop": 202, 501 | "lng": -106.4645584 502 | }, 503 | { 504 | "aper": 86.8, 505 | "code": "CDC", 506 | "dper": 86.8, 507 | "airport": "CEDAR CITY UT (CDC)", 508 | "aop": 53, 509 | "lat": 37.700833, 510 | "dop": 53, 511 | "lng": -113.098611 512 | }, 513 | { 514 | "aper": 65.5, 515 | "code": "CID", 516 | "dper": 73.9, 517 | "airport": "CEDAR RAPIDS\/IOWA CITY IA (CID)", 518 | "aop": 618, 519 | "lat": 41.8863861, 520 | "dop": 618, 521 | "lng": -91.7069754 522 | }, 523 | { 524 | "aper": 62, 525 | "code": "CMI", 526 | "dper": 76.4, 527 | "airport": "CHAMPAIGN\/URBANA IL (CMI)", 528 | "aop": 208, 529 | "lat": 40.0400682, 530 | "dop": 208, 531 | "lng": -88.2707151 532 | }, 533 | { 534 | "aper": 77.4, 535 | "code": "IAD", 536 | "dper": 77.1, 537 | "airport": "CHANTILLY VA (IAD)", 538 | "aop": 4320, 539 | "lat": 38.8942786, 540 | "dop": 4354, 541 | "lng": -77.4310992 542 | }, 543 | { 544 | "aper": 80.3, 545 | "code": "CHS", 546 | "dper": 84, 547 | "airport": "CHARLESTON SC (CHS)", 548 | "aop": 1019, 549 | "lat": 32.8942676, 550 | "dop": 1020, 551 | "lng": -80.038159 552 | }, 553 | { 554 | "aper": 73.1, 555 | "code": "CRW", 556 | "dper": 74.5, 557 | "airport": "CHARLESTON\/DUNBAR WV (CRW)", 558 | "aop": 208, 559 | "lat": 38.3711704, 560 | "dop": 208, 561 | "lng": -81.593344 562 | }, 563 | { 564 | "aper": 81.3, 565 | "code": "STT", 566 | "dper": 84.6, 567 | "airport": "CHARLOTTE AMALIE VI (STT)", 568 | "aop": 411, 569 | "lat": 18.3419004, 570 | "dop": 410, 571 | "lng": -64.9307007 572 | }, 573 | { 574 | "aper": 84.7, 575 | "code": "CLT", 576 | "dper": 86.3, 577 | "airport": "CHARLOTTE NC (CLT)", 578 | "aop": 9506, 579 | "lat": 35.2144026, 580 | "dop": 9531, 581 | "lng": -80.9473146 582 | }, 583 | { 584 | "aper": 64.3, 585 | "code": "CHO", 586 | "dper": 77.4, 587 | "airport": "CHARLOTTESVILLE VA (CHO)", 588 | "aop": 185, 589 | "lat": 38.1393766, 590 | "dop": 186, 591 | "lng": -78.449417 592 | }, 593 | { 594 | "aper": 76.7, 595 | "code": "CHA", 596 | "dper": 82.6, 597 | "airport": "CHATTANOOGA TN (CHA)", 598 | "aop": 344, 599 | "lat": 35.0374869, 600 | "dop": 345, 601 | "lng": -85.1971491 602 | }, 603 | { 604 | "aper": 82, 605 | "code": "MDW", 606 | "dper": 74.1, 607 | "airport": "CHICAGO IL (MDW)", 608 | "aop": 7189, 609 | "lat": 41.7867759, 610 | "dop": 7187, 611 | "lng": -87.7521884 612 | }, 613 | { 614 | "aper": 78, 615 | "code": "ORD", 616 | "dper": 74.9, 617 | "airport": "CHICAGO IL (ORD)", 618 | "aop": 23484, 619 | "lat": 41.9741625, 620 | "dop": 23481, 621 | "lng": -87.9073214 622 | }, 623 | { 624 | "aper": 20, 625 | "code": "CIC", 626 | "dper": 33.3, 627 | "airport": "CHICO CA (CIC)", 628 | "aop": 5, 629 | "lat": 39.7990924, 630 | "dop": 6, 631 | "lng": -121.8546733 632 | }, 633 | { 634 | "aper": 79.8, 635 | "code": "STX", 636 | "dper": 79.8, 637 | "airport": "CHRISTIANSTED VI (STX)", 638 | "aop": 89, 639 | "lat": 17.701287, 640 | "dop": 89, 641 | "lng": -64.805797 642 | }, 643 | { 644 | "aper": 79.1, 645 | "code": "CLE", 646 | "dper": 82.6, 647 | "airport": "CLEVELAND OH (CLE)", 648 | "aop": 3038, 649 | "lat": 41.4124339, 650 | "dop": 3041, 651 | "lng": -81.8479925 652 | }, 653 | { 654 | "aper": 74.2, 655 | "code": "COD", 656 | "dper": 87.1, 657 | "airport": "CODY WY (COD)", 658 | "aop": 62, 659 | "lat": 44.52, 660 | "dop": 62, 661 | "lng": -109.023611 662 | }, 663 | { 664 | "aper": 69.3, 665 | "code": "CLL", 666 | "dper": 76.6, 667 | "airport": "COLLEGE STATION\/BRYAN TX (CLL)", 668 | "aop": 205, 669 | "lat": 30.6326956, 670 | "dop": 205, 671 | "lng": -96.3393462 672 | }, 673 | { 674 | "aper": 66.8, 675 | "code": "COS", 676 | "dper": 79.6, 677 | "airport": "COLORADO SPRINGS CO (COS)", 678 | "aop": 686, 679 | "lat": 38.801712, 680 | "dop": 686, 681 | "lng": -104.7026039 682 | }, 683 | { 684 | "aper": 63.7, 685 | "code": "COU", 686 | "dper": 77.4, 687 | "airport": "COLUMBIA MO (COU)", 688 | "aop": 124, 689 | "lat": 38.818093, 690 | "dop": 124, 691 | "lng": -92.219629 692 | }, 693 | { 694 | "aper": 76.4, 695 | "code": "CAE", 696 | "dper": 84.1, 697 | "airport": "COLUMBIA SC (CAE)", 698 | "aop": 554, 699 | "lat": 33.941917, 700 | "dop": 554, 701 | "lng": -81.1220015 702 | }, 703 | { 704 | "aper": 79.7, 705 | "code": "CSG", 706 | "dper": 89.9, 707 | "airport": "COLUMBUS GA (CSG)", 708 | "aop": 79, 709 | "lat": 32.516847, 710 | "dop": 79, 711 | "lng": -84.939169 712 | }, 713 | { 714 | "aper": 87, 715 | "code": "GTR", 716 | "dper": 91, 717 | "airport": "COLUMBUS MS (GTR)", 718 | "aop": 77, 719 | "lat": 33.4540699, 720 | "dop": 78, 721 | "lng": -88.5896327 722 | }, 723 | { 724 | "aper": 76, 725 | "code": "CMH", 726 | "dper": 80.6, 727 | "airport": "COLUMBUS OH (CMH)", 728 | "aop": 2119, 729 | "lat": 39.9999399, 730 | "dop": 2122, 731 | "lng": -82.8871767 732 | }, 733 | { 734 | "aper": 81.7, 735 | "code": "CDV", 736 | "dper": 85, 737 | "airport": "CORDOVA AK (CDV)", 738 | "aop": 60, 739 | "lat": 60.4934354, 740 | "dop": 60, 741 | "lng": -145.4757287 742 | }, 743 | { 744 | "aper": 58.9, 745 | "code": "CRP", 746 | "dper": 66.1, 747 | "airport": "CORPUS CHRISTI TX (CRP)", 748 | "aop": 547, 749 | "lat": 27.7744653, 750 | "dop": 549, 751 | "lng": -97.5027118 752 | }, 753 | { 754 | "aper": 75.6, 755 | "code": "CVG", 756 | "dper": 81, 757 | "airport": "COVINGTON KY (CVG)", 758 | "aop": 1857, 759 | "lat": 39.0836712, 760 | "dop": 1857, 761 | "lng": -84.5085536 762 | }, 763 | { 764 | "aper": 37.3, 765 | "code": "CEC", 766 | "dper": 25.4, 767 | "airport": "CRESCENT CITY CA (CEC)", 768 | "aop": 59, 769 | "lat": 41.78, 770 | "dop": 59, 771 | "lng": -124.236389 772 | }, 773 | { 774 | "aper": 73.4, 775 | "code": "DAL", 776 | "dper": 65.6, 777 | "airport": "DALLAS TX (DAL)", 778 | "aop": 5045, 779 | "lat": 32.8481029, 780 | "dop": 5046, 781 | "lng": -96.8512063 782 | }, 783 | { 784 | "aper": 68.4, 785 | "code": "DFW", 786 | "dper": 65.2, 787 | "airport": "DALLAS\/FORT WORTH TX (DFW)", 788 | "aop": 23058, 789 | "lat": 32.8998091, 790 | "dop": 23059, 791 | "lng": -97.0403352 792 | }, 793 | { 794 | "aper": 71.6, 795 | "code": "DAY", 796 | "dper": 81.1, 797 | "airport": "DAYTON OH (DAY)", 798 | "aop": 737, 799 | "lat": 39.9025242, 800 | "dop": 736, 801 | "lng": -84.2217719 802 | }, 803 | { 804 | "aper": 91.9, 805 | "code": "DAB", 806 | "dper": 91.1, 807 | "airport": "DAYTONA BEACH FL (DAB)", 808 | "aop": 124, 809 | "lat": 29.2108147, 810 | "dop": 123, 811 | "lng": -81.0228331 812 | }, 813 | { 814 | "aper": 81, 815 | "code": "SCC", 816 | "dper": 83.5, 817 | "airport": "DEADHORSE AK (SCC)", 818 | "aop": 79, 819 | "lat": 70.198084, 820 | "dop": 79, 821 | "lng": -148.460274 822 | }, 823 | { 824 | "aper": 73.8, 825 | "code": "DEN", 826 | "dper": 65.7, 827 | "airport": "DENVER CO (DEN)", 828 | "aop": 18206, 829 | "lat": 39.8589188, 830 | "dop": 18232, 831 | "lng": -104.6742865 832 | }, 833 | { 834 | "aper": 67, 835 | "code": "DSM", 836 | "dper": 75.5, 837 | "airport": "DES MOINES IA (DSM)", 838 | "aop": 778, 839 | "lat": 41.5341333, 840 | "dop": 781, 841 | "lng": -93.6587958 842 | }, 843 | { 844 | "aper": 85.9, 845 | "code": "DTW", 846 | "dper": 84.8, 847 | "airport": "DETROIT MI (DTW)", 848 | "aop": 8696, 849 | "lat": 42.2161722, 850 | "dop": 8689, 851 | "lng": -83.3553842 852 | }, 853 | { 854 | "aper": 48, 855 | "code": "DVL", 856 | "dper": 62, 857 | "airport": "DEVILS LAKE ND (DVL)", 858 | "aop": 50, 859 | "lat": 48.11458, 860 | "dop": 50, 861 | "lng": -98.9082555 862 | }, 863 | { 864 | "aper": 79.2, 865 | "code": "DIK", 866 | "dper": 89.3, 867 | "airport": "DICKINSON ND (DIK)", 868 | "aop": 130, 869 | "lat": 46.8791756, 870 | "dop": 131, 871 | "lng": -102.7896242 872 | }, 873 | { 874 | "aper": 82.8, 875 | "code": "DHN", 876 | "dper": 87.9, 877 | "airport": "DOTHAN AL (DHN)", 878 | "aop": 116, 879 | "lat": 31.3183368, 880 | "dop": 116, 881 | "lng": -85.4485162 882 | }, 883 | { 884 | "aper": 71.6, 885 | "code": "DBQ", 886 | "dper": 83.8, 887 | "airport": "DUBUQUE IA (DBQ)", 888 | "aop": 74, 889 | "lat": 42.4063072, 890 | "dop": 74, 891 | "lng": -90.7050326 892 | }, 893 | { 894 | "aper": 73.6, 895 | "code": "DLH", 896 | "dper": 81.4, 897 | "airport": "DULUTH MN (DLH)", 898 | "aop": 144, 899 | "lat": 46.8417186, 900 | "dop": 145, 901 | "lng": -92.1784096 902 | }, 903 | { 904 | "aper": 69.7, 905 | "code": "DRO", 906 | "dper": 73.7, 907 | "airport": "DURANGO CO (DRO)", 908 | "aop": 152, 909 | "lat": 37.1513355, 910 | "dop": 152, 911 | "lng": -107.7551243 912 | }, 913 | { 914 | "aper": 57.8, 915 | "code": "EGE", 916 | "dper": 55.8, 917 | "airport": "EAGLE CO (EGE)", 918 | "aop": 166, 919 | "lat": 39.6425, 920 | "dop": 165, 921 | "lng": -106.9175 922 | }, 923 | { 924 | "aper": 77.4, 925 | "code": "EAU", 926 | "dper": 80.6, 927 | "airport": "EAU CLAIRE WI (EAU)", 928 | "aop": 62, 929 | "lat": 44.8623198, 930 | "dop": 62, 931 | "lng": -91.4827045 932 | }, 933 | { 934 | "aper": 66.5, 935 | "code": "ELP", 936 | "dper": 74, 937 | "airport": "EL PASO TX (ELP)", 938 | "aop": 1136, 939 | "lat": 31.8053354, 940 | "dop": 1141, 941 | "lng": -106.3824345 942 | }, 943 | { 944 | "aper": 88.8, 945 | "code": "EKO", 946 | "dper": 92.5, 947 | "airport": "ELKO NV (EKO)", 948 | "aop": 80, 949 | "lat": 40.8243131, 950 | "dop": 80, 951 | "lng": -115.7915407 952 | }, 953 | { 954 | "aper": 88.3, 955 | "code": "ELM", 956 | "dper": 89, 957 | "airport": "ELMIRA\/CORNING NY (ELM)", 958 | "aop": 145, 959 | "lat": 42.1628009, 960 | "dop": 146, 961 | "lng": -76.8957169 962 | }, 963 | { 964 | "aper": 82.5, 965 | "code": "ERI", 966 | "dper": 83.9, 967 | "airport": "ERIE PA (ERI)", 968 | "aop": 63, 969 | "lat": 42.0830079, 970 | "dop": 62, 971 | "lng": -80.1818153 972 | }, 973 | { 974 | "aper": 65.4, 975 | "code": "ESC", 976 | "dper": 74.5, 977 | "airport": "ESCANABA MI (ESC)", 978 | "aop": 52, 979 | "lat": 45.719907, 980 | "dop": 51, 981 | "lng": -87.0940733 982 | }, 983 | { 984 | "aper": 52.9, 985 | "code": "EUG", 986 | "dper": 60.6, 987 | "airport": "EUGENE OR (EUG)", 988 | "aop": 393, 989 | "lat": 44.1217811, 990 | "dop": 393, 991 | "lng": -123.2159003 992 | }, 993 | { 994 | "aper": 77.1, 995 | "code": "EVV", 996 | "dper": 82.9, 997 | "airport": "EVANSVILLE IN (EVV)", 998 | "aop": 292, 999 | "lat": 38.0469933, 1000 | "dop": 293, 1001 | "lng": -87.5293781 1002 | }, 1003 | { 1004 | "aper": 78.6, 1005 | "code": "FAI", 1006 | "dper": 82.5, 1007 | "airport": "FAIRBANKS AK (FAI)", 1008 | "aop": 154, 1009 | "lat": 64.8164163, 1010 | "dop": 154, 1011 | "lng": -147.8635169 1012 | }, 1013 | { 1014 | "aper": 69.8, 1015 | "code": "FAR", 1016 | "dper": 77.3, 1017 | "airport": "FARGO ND (FAR)", 1018 | "aop": 451, 1019 | "lat": 46.8170107, 1020 | "dop": 450, 1021 | "lng": -96.834017 1022 | }, 1023 | { 1024 | "aper": 70.5, 1025 | "code": "XNA", 1026 | "dper": 79, 1027 | "airport": "FAYETTEVILLE AR (XNA)", 1028 | "aop": 772, 1029 | "lat": 36.2786587, 1030 | "dop": 772, 1031 | "lng": -94.304294 1032 | }, 1033 | { 1034 | "aper": 89.5, 1035 | "code": "FAY", 1036 | "dper": 89.6, 1037 | "airport": "FAYETTEVILLE NC (FAY)", 1038 | "aop": 153, 1039 | "lat": 34.9903243, 1040 | "dop": 154, 1041 | "lng": -78.8870718 1042 | }, 1043 | { 1044 | "aper": 72.7, 1045 | "code": "FLG", 1046 | "dper": 81.3, 1047 | "airport": "FLAGSTAFF AZ (FLG)", 1048 | "aop": 128, 1049 | "lat": 35.13778, 1050 | "dop": 128, 1051 | "lng": -111.67167 1052 | }, 1053 | { 1054 | "aper": 81, 1055 | "code": "FNT", 1056 | "dper": 85, 1057 | "airport": "FLINT MI (FNT)", 1058 | "aop": 420, 1059 | "lat": 42.9724562, 1060 | "dop": 419, 1061 | "lng": -83.7506011 1062 | }, 1063 | { 1064 | "aper": 80.8, 1065 | "code": "FLL", 1066 | "dper": 81.4, 1067 | "airport": "FORT LAUDERDALE FL (FLL)", 1068 | "aop": 6034, 1069 | "lat": 26.0742344, 1070 | "dop": 6022, 1071 | "lng": -80.1506022 1072 | }, 1073 | { 1074 | "aper": 80, 1075 | "code": "RSW", 1076 | "dper": 81.7, 1077 | "airport": "FORT MYERS FL (RSW)", 1078 | "aop": 2492, 1079 | "lat": 26.5337051, 1080 | "dop": 2485, 1081 | "lng": -81.7553083 1082 | }, 1083 | { 1084 | "aper": 64.3, 1085 | "code": "FSM", 1086 | "dper": 75, 1087 | "airport": "FORT SMITH AR (FSM)", 1088 | "aop": 196, 1089 | "lat": 35.3408595, 1090 | "dop": 196, 1091 | "lng": -94.3590081 1092 | }, 1093 | { 1094 | "aper": 71.1, 1095 | "code": "FWA", 1096 | "dper": 83, 1097 | "airport": "FORT WAYNE IN (FWA)", 1098 | "aop": 357, 1099 | "lat": 40.9864636, 1100 | "dop": 358, 1101 | "lng": -85.1881479 1102 | }, 1103 | { 1104 | "aper": 64.7, 1105 | "code": "FAT", 1106 | "dper": 69.3, 1107 | "airport": "FRESNO CA (FAT)", 1108 | "aop": 739, 1109 | "lat": 36.7758493, 1110 | "dop": 739, 1111 | "lng": -119.7181083 1112 | }, 1113 | { 1114 | "aper": 78.6, 1115 | "code": "GNV", 1116 | "dper": 82, 1117 | "airport": "GAINESVILLE FL (GNV)", 1118 | "aop": 220, 1119 | "lat": 29.686569, 1120 | "dop": 222, 1121 | "lng": -82.2767345 1122 | }, 1123 | { 1124 | "aper": 51.6, 1125 | "code": "GCK", 1126 | "dper": 67.7, 1127 | "airport": "GARDEN CITY KS (GCK)", 1128 | "aop": 62, 1129 | "lat": 37.9275, 1130 | "dop": 62, 1131 | "lng": -100.724167 1132 | }, 1133 | { 1134 | "aper": 64.2, 1135 | "code": "GCC", 1136 | "dper": 72.5, 1137 | "airport": "GILLETTE WY (GCC)", 1138 | "aop": 120, 1139 | "lat": 44.3479793, 1140 | "dop": 120, 1141 | "lng": -105.5390967 1142 | }, 1143 | { 1144 | "aper": 75, 1145 | "code": "GFK", 1146 | "dper": 77.4, 1147 | "airport": "GRAND FORKS ND (GFK)", 1148 | "aop": 32, 1149 | "lat": 47.949167, 1150 | "dop": 31, 1151 | "lng": -97.176111 1152 | }, 1153 | { 1154 | "aper": 53.4, 1155 | "code": "GRI", 1156 | "dper": 69, 1157 | "airport": "GRAND ISLAND NE (GRI)", 1158 | "aop": 58, 1159 | "lat": 40.9698237, 1160 | "dop": 58, 1161 | "lng": -98.3161543 1162 | }, 1163 | { 1164 | "aper": 70.1, 1165 | "code": "GJT", 1166 | "dper": 84.3, 1167 | "airport": "GRAND JUNCTION CO (GJT)", 1168 | "aop": 331, 1169 | "lat": 39.1222533, 1170 | "dop": 331, 1171 | "lng": -108.5289252 1172 | }, 1173 | { 1174 | "aper": 74.5, 1175 | "code": "GRR", 1176 | "dper": 83.7, 1177 | "airport": "GRAND RAPIDS MI (GRR)", 1178 | "aop": 956, 1179 | "lat": 42.8846633, 1180 | "dop": 955, 1181 | "lng": -85.5248434 1182 | }, 1183 | { 1184 | "aper": 69.6, 1185 | "code": "GTF", 1186 | "dper": 83, 1187 | "airport": "GREAT FALLS MT (GTF)", 1188 | "aop": 171, 1189 | "lat": 47.4823898, 1190 | "dop": 171, 1191 | "lng": -111.3567377 1192 | }, 1193 | { 1194 | "aper": 72.2, 1195 | "code": "GRB", 1196 | "dper": 80.5, 1197 | "airport": "GREEN BAY WI (GRB)", 1198 | "aop": 399, 1199 | "lat": 44.4919741, 1200 | "dop": 399, 1201 | "lng": -88.1275065 1202 | }, 1203 | { 1204 | "aper": 74.5, 1205 | "code": "GSO", 1206 | "dper": 80.4, 1207 | "airport": "GREENSBORO\/HIGH POINT NC (GSO)", 1208 | "aop": 766, 1209 | "lat": 36.1043671, 1210 | "dop": 769, 1211 | "lng": -79.9351805 1212 | }, 1213 | { 1214 | "aper": 74.9, 1215 | "code": "GSP", 1216 | "dper": 79.9, 1217 | "airport": "GREER SC (GSP)", 1218 | "aop": 590, 1219 | "lat": 34.8959008, 1220 | "dop": 592, 1221 | "lng": -82.2172338 1222 | }, 1223 | { 1224 | "aper": 67.7, 1225 | "code": "GUM", 1226 | "dper": 71, 1227 | "airport": "GUAM TT (GUM)", 1228 | "aop": 31, 1229 | "lat": 13.444304, 1230 | "dop": 31, 1231 | "lng": 144.793731 1232 | }, 1233 | { 1234 | "aper": 74.1, 1235 | "code": "GPT", 1236 | "dper": 80.7, 1237 | "airport": "GULFPORT\/BILOXI MS (GPT)", 1238 | "aop": 347, 1239 | "lat": 30.41338, 1240 | "dop": 347, 1241 | "lng": -89.072958 1242 | }, 1243 | { 1244 | "aper": 57.1, 1245 | "code": "GUC", 1246 | "dper": 68.7, 1247 | "airport": "GUNNISON CO (GUC)", 1248 | "aop": 84, 1249 | "lat": 38.533889, 1250 | "dop": 83, 1251 | "lng": -106.932778 1252 | }, 1253 | { 1254 | "aper": 71, 1255 | "code": "CMX", 1256 | "dper": 79, 1257 | "airport": "HANCOCK\/HOUGHTON MI (CMX)", 1258 | "aop": 62, 1259 | "lat": 47.1268714, 1260 | "dop": 62, 1261 | "lng": -88.5809563 1262 | }, 1263 | { 1264 | "aper": 69, 1265 | "code": "HRL", 1266 | "dper": 79.6, 1267 | "airport": "HARLINGEN\/SAN BENITO TX (HRL)", 1268 | "aop": 284, 1269 | "lat": 26.2285, 1270 | "dop": 285, 1271 | "lng": -97.654404 1272 | }, 1273 | { 1274 | "aper": 84.9, 1275 | "code": "MDT", 1276 | "dper": 88.1, 1277 | "airport": "HARRISBURG PA (MDT)", 1278 | "aop": 251, 1279 | "lat": 40.1942375, 1280 | "dop": 253, 1281 | "lng": -76.7576672 1282 | }, 1283 | { 1284 | "aper": 80.8, 1285 | "code": "BDL", 1286 | "dper": 88.1, 1287 | "airport": "HARTFORD CT (BDL)", 1288 | "aop": 1854, 1289 | "lat": 41.9388735, 1290 | "dop": 1856, 1291 | "lng": -72.6860314 1292 | }, 1293 | { 1294 | "aper": 59.3, 1295 | "code": "PIB", 1296 | "dper": 75.9, 1297 | "airport": "HATTIESBURG\/LAUREL MS (PIB)", 1298 | "aop": 54, 1299 | "lat": 31.4682389, 1300 | "dop": 54, 1301 | "lng": -89.3354206 1302 | }, 1303 | { 1304 | "aper": 59, 1305 | "code": "HDN", 1306 | "dper": 60.3, 1307 | "airport": "HAYDEN CO (HDN)", 1308 | "aop": 78, 1309 | "lat": 40.4847268, 1310 | "dop": 78, 1311 | "lng": -107.2198832 1312 | }, 1313 | { 1314 | "aper": 73.6, 1315 | "code": "HYS", 1316 | "dper": 75.5, 1317 | "airport": "HAYS KS (HYS)", 1318 | "aop": 53, 1319 | "lat": 38.8539085, 1320 | "dop": 53, 1321 | "lng": -99.2737859 1322 | }, 1323 | { 1324 | "aper": 86.4, 1325 | "code": "HLN", 1326 | "dper": 93.2, 1327 | "airport": "HELENA MT (HLN)", 1328 | "aop": 103, 1329 | "lat": 46.6097372, 1330 | "dop": 103, 1331 | "lng": -111.990078 1332 | }, 1333 | { 1334 | "aper": 90.9, 1335 | "code": "HIB", 1336 | "dper": 92.7, 1337 | "airport": "HIBBING MN (HIB)", 1338 | "aop": 55, 1339 | "lat": 47.386389, 1340 | "dop": 55, 1341 | "lng": -92.838889 1342 | }, 1343 | { 1344 | "aper": 91.1, 1345 | "code": "ITO", 1346 | "dper": 92.3, 1347 | "airport": "HILO HI (ITO)", 1348 | "aop": 517, 1349 | "lat": 19.7188342, 1350 | "dop": 517, 1351 | "lng": -155.0416866 1352 | }, 1353 | { 1354 | "aper": 62.3, 1355 | "code": "HOB", 1356 | "dper": 63.5, 1357 | "airport": "HOBBS NM (HOB)", 1358 | "aop": 53, 1359 | "lat": 32.6875, 1360 | "dop": 52, 1361 | "lng": -103.216942 1362 | }, 1363 | { 1364 | "aper": 79.2, 1365 | "code": "HNL", 1366 | "dper": 90.6, 1367 | "airport": "HONOLULU HI (HNL)", 1368 | "aop": 3993, 1369 | "lat": 21.3245132, 1370 | "dop": 3993, 1371 | "lng": -157.9250736 1372 | }, 1373 | { 1374 | "aper": 73.3, 1375 | "code": "HOU", 1376 | "dper": 67.4, 1377 | "airport": "HOUSTON TX (HOU)", 1378 | "aop": 4849, 1379 | "lat": 29.6541074, 1380 | "dop": 4850, 1381 | "lng": -95.2766145 1382 | }, 1383 | { 1384 | "aper": 75.2, 1385 | "code": "IAH", 1386 | "dper": 74.7, 1387 | "airport": "HOUSTON TX (IAH)", 1388 | "aop": 14143, 1389 | "lat": 29.9902199, 1390 | "dop": 14129, 1391 | "lng": -95.3367827 1392 | }, 1393 | { 1394 | "aper": 78.3, 1395 | "code": "HSV", 1396 | "dper": 82.9, 1397 | "airport": "HUNTSVILLE AL (HSV)", 1398 | "aop": 471, 1399 | "lat": 34.6403329, 1400 | "dop": 473, 1401 | "lng": -86.7756899 1402 | }, 1403 | { 1404 | "aper": 71, 1405 | "code": "IDA", 1406 | "dper": 81.3, 1407 | "airport": "IDAHO FALLS ID (IDA)", 1408 | "aop": 224, 1409 | "lat": 43.5155832, 1410 | "dop": 224, 1411 | "lng": -112.0684032 1412 | }, 1413 | { 1414 | "aper": 78.8, 1415 | "code": "IND", 1416 | "dper": 83.6, 1417 | "airport": "INDIANAPOLIS IN (IND)", 1418 | "aop": 2306, 1419 | "lat": 39.768403, 1420 | "dop": 2308, 1421 | "lng": -86.158068 1422 | }, 1423 | { 1424 | "aper": 63, 1425 | "code": "INL", 1426 | "dper": 85.2, 1427 | "airport": "INTERNATIONAL FALLS MN (INL)", 1428 | "aop": 54, 1429 | "lat": 48.566111, 1430 | "dop": 54, 1431 | "lng": -93.403056 1432 | }, 1433 | { 1434 | "aper": 82.8, 1435 | "code": "IMT", 1436 | "dper": 86.2, 1437 | "airport": "IRON MOUNTAIN\/KINGSFD MI (IMT)", 1438 | "aop": 58, 1439 | "lat": 45.8149821, 1440 | "dop": 58, 1441 | "lng": -88.1185699 1442 | }, 1443 | { 1444 | "aper": 70, 1445 | "code": "ISP", 1446 | "dper": 70.6, 1447 | "airport": "ISLIP NY (ISP)", 1448 | "aop": 397, 1449 | "lat": 40.7972401, 1450 | "dop": 398, 1451 | "lng": -73.1003215 1452 | }, 1453 | { 1454 | "aper": 61.9, 1455 | "code": "JAC", 1456 | "dper": 63.7, 1457 | "airport": "JACKSON WY (JAC)", 1458 | "aop": 318, 1459 | "lat": 43.6046209, 1460 | "dop": 317, 1461 | "lng": -110.7386093 1462 | }, 1463 | { 1464 | "aper": 67.7, 1465 | "code": "JAN", 1466 | "dper": 72.5, 1467 | "airport": "JACKSON\/VICKSBURG MS (JAN)", 1468 | "aop": 628, 1469 | "lat": 32.3122283, 1470 | "dop": 628, 1471 | "lng": -90.0764217 1472 | }, 1473 | { 1474 | "aper": 79.6, 1475 | "code": "JAX", 1476 | "dper": 84.6, 1477 | "airport": "JACKSONVILLE FL (JAX)", 1478 | "aop": 1793, 1479 | "lat": 30.4940713, 1480 | "dop": 1789, 1481 | "lng": -81.6879368 1482 | }, 1483 | { 1484 | "aper": 89.8, 1485 | "code": "OAJ", 1486 | "dper": 90.8, 1487 | "airport": "JACKSONVILLE\/CAMP LEJEUNE NC (OAJ)", 1488 | "aop": 98, 1489 | "lat": 34.7044439, 1490 | "dop": 98, 1491 | "lng": -77.3447966 1492 | }, 1493 | { 1494 | "aper": 48.1, 1495 | "code": "JMS", 1496 | "dper": 54.5, 1497 | "airport": "JAMESTOWN ND (JMS)", 1498 | "aop": 79, 1499 | "lat": 46.9263971, 1500 | "dop": 77, 1501 | "lng": -98.6787689 1502 | }, 1503 | { 1504 | "aper": 44.1, 1505 | "code": "JLN", 1506 | "dper": 54.2, 1507 | "airport": "JOPLIN MO (JLN)", 1508 | "aop": 59, 1509 | "lat": 37.1574041, 1510 | "dop": 59, 1511 | "lng": -94.5014793 1512 | }, 1513 | { 1514 | "aper": 82.1, 1515 | "code": "JNU", 1516 | "dper": 80.3, 1517 | "airport": "JUNEAU AK (JNU)", 1518 | "aop": 296, 1519 | "lat": 58.3579806, 1520 | "dop": 295, 1521 | "lng": -134.5831791 1522 | }, 1523 | { 1524 | "aper": 81.5, 1525 | "code": "OGG", 1526 | "dper": 86.5, 1527 | "airport": "KAHULUI HI (OGG)", 1528 | "aop": 1932, 1529 | "lat": 20.8967924, 1530 | "dop": 1931, 1531 | "lng": -156.4329379 1532 | }, 1533 | { 1534 | "aper": 77.3, 1535 | "code": "AZO", 1536 | "dper": 85.8, 1537 | "airport": "KALAMAZOO MI (AZO)", 1538 | "aop": 154, 1539 | "lat": 42.2370076, 1540 | "dop": 155, 1541 | "lng": -85.5531781 1542 | }, 1543 | { 1544 | "aper": 64, 1545 | "code": "FCA", 1546 | "dper": 71.6, 1547 | "airport": "KALISPELL MT (FCA)", 1548 | "aop": 89, 1549 | "lat": 48.197778, 1550 | "dop": 88, 1551 | "lng": -114.316111 1552 | }, 1553 | { 1554 | "aper": 76.4, 1555 | "code": "MCI", 1556 | "dper": 79.3, 1557 | "airport": "KANSAS CITY MO (MCI)", 1558 | "aop": 3431, 1559 | "lat": 39.3006427, 1560 | "dop": 3432, 1561 | "lng": -94.7125937 1562 | }, 1563 | { 1564 | "aper": 81, 1565 | "code": "KTN", 1566 | "dper": 79.9, 1567 | "airport": "KETCHIKAN AK (KTN)", 1568 | "aop": 184, 1569 | "lat": 55.3554106, 1570 | "dop": 184, 1571 | "lng": -131.7105604 1572 | }, 1573 | { 1574 | "aper": 87.4, 1575 | "code": "EYW", 1576 | "dper": 90.4, 1577 | "airport": "KEY WEST FL (EYW)", 1578 | "aop": 301, 1579 | "lat": 24.556987, 1580 | "dop": 302, 1581 | "lng": -81.757397 1582 | }, 1583 | { 1584 | "aper": 60.8, 1585 | "code": "GRK", 1586 | "dper": 68.4, 1587 | "airport": "KILLEEN TX (GRK)", 1588 | "aop": 398, 1589 | "lat": 31.0619133, 1590 | "dop": 399, 1591 | "lng": -97.8212665 1592 | }, 1593 | { 1594 | "aper": 69.7, 1595 | "code": "TYS", 1596 | "dper": 76.2, 1597 | "airport": "KNOXVILLE TN (TYS)", 1598 | "aop": 725, 1599 | "lat": 35.810833, 1600 | "dop": 726, 1601 | "lng": -83.993889 1602 | }, 1603 | { 1604 | "aper": 79.3, 1605 | "code": "ADQ", 1606 | "dper": 86.2, 1607 | "airport": "KODIAK AK (ADQ)", 1608 | "aop": 29, 1609 | "lat": 57.749966, 1610 | "dop": 29, 1611 | "lng": -152.493851 1612 | }, 1613 | { 1614 | "aper": 85.5, 1615 | "code": "KOA", 1616 | "dper": 89.8, 1617 | "airport": "KONA HI (KOA)", 1618 | "aop": 967, 1619 | "lat": 19.736916, 1620 | "dop": 967, 1621 | "lng": -156.0429246 1622 | }, 1623 | { 1624 | "aper": 86.4, 1625 | "code": "OTZ", 1626 | "dper": 72.9, 1627 | "airport": "KOTZEBUE AK (OTZ)", 1628 | "aop": 59, 1629 | "lat": 66.889162, 1630 | "dop": 59, 1631 | "lng": -162.605408 1632 | }, 1633 | { 1634 | "aper": 81.5, 1635 | "code": "LSE", 1636 | "dper": 82.4, 1637 | "airport": "LA CROSSE WI (LSE)", 1638 | "aop": 108, 1639 | "lat": 43.8785549, 1640 | "dop": 108, 1641 | "lng": -91.2572053 1642 | }, 1643 | { 1644 | "aper": 72.3, 1645 | "code": "LFT", 1646 | "dper": 77.2, 1647 | "airport": "LAFAYETTE LA (LFT)", 1648 | "aop": 505, 1649 | "lat": 30.2074725, 1650 | "dop": 508, 1651 | "lng": -91.9919627 1652 | }, 1653 | { 1654 | "aper": 65.6, 1655 | "code": "LCH", 1656 | "dper": 78.9, 1657 | "airport": "LAKE CHARLES LA (LCH)", 1658 | "aop": 151, 1659 | "lat": 30.1228442, 1660 | "dop": 152, 1661 | "lng": -93.2219564 1662 | }, 1663 | { 1664 | "aper": 80.1, 1665 | "code": "LAN", 1666 | "dper": 84.5, 1667 | "airport": "LANSING MI (LAN)", 1668 | "aop": 156, 1669 | "lat": 42.7774769, 1670 | "dop": 155, 1671 | "lng": -84.5842239 1672 | }, 1673 | { 1674 | "aper": 52.5, 1675 | "code": "LAR", 1676 | "dper": 67.2, 1677 | "airport": "LARAMIE WY (LAR)", 1678 | "aop": 61, 1679 | "lat": 41.313481, 1680 | "dop": 61, 1681 | "lng": -105.672896 1682 | }, 1683 | { 1684 | "aper": 68.4, 1685 | "code": "LRD", 1686 | "dper": 73.9, 1687 | "airport": "LAREDO TX (LRD)", 1688 | "aop": 206, 1689 | "lat": 27.5437988, 1690 | "dop": 207, 1691 | "lng": -99.4575015 1692 | }, 1693 | { 1694 | "aper": 71.2, 1695 | "code": "LAS", 1696 | "dper": 68.8, 1697 | "airport": "LAS VEGAS NV (LAS)", 1698 | "aop": 10750, 1699 | "lat": 36.0839998, 1700 | "dop": 10742, 1701 | "lng": -115.1537389 1702 | }, 1703 | { 1704 | "aper": 41.3, 1705 | "code": "LAW", 1706 | "dper": 55.8, 1707 | "airport": "LAWTON\/FORT SILL OK (LAW)", 1708 | "aop": 138, 1709 | "lat": 34.5731458, 1710 | "dop": 138, 1711 | "lng": -98.4144055 1712 | }, 1713 | { 1714 | "aper": 86.4, 1715 | "code": "LWS", 1716 | "dper": 88.1, 1717 | "airport": "LEWISTON ID (LWS)", 1718 | "aop": 59, 1719 | "lat": 46.3761017, 1720 | "dop": 59, 1721 | "lng": -117.0126753 1722 | }, 1723 | { 1724 | "aper": 69, 1725 | "code": "LEX", 1726 | "dper": 78, 1727 | "airport": "LEXINGTON KY (LEX)", 1728 | "aop": 509, 1729 | "lat": 38.0377615, 1730 | "dop": 509, 1731 | "lng": -84.6026083 1732 | }, 1733 | { 1734 | "aper": 85.4, 1735 | "code": "LIH", 1736 | "dper": 91.8, 1737 | "airport": "LIHUE HI (LIH)", 1738 | "aop": 988, 1739 | "lat": 21.9788489, 1740 | "dop": 988, 1741 | "lng": -159.3437585 1742 | }, 1743 | { 1744 | "aper": 73.4, 1745 | "code": "LNK", 1746 | "dper": 84.4, 1747 | "airport": "LINCOLN NE (LNK)", 1748 | "aop": 199, 1749 | "lat": 40.847062, 1750 | "dop": 199, 1751 | "lng": -96.7552123 1752 | }, 1753 | { 1754 | "aper": 66.7, 1755 | "code": "LIT", 1756 | "dper": 75.3, 1757 | "airport": "LITTLE ROCK AR (LIT)", 1758 | "aop": 984, 1759 | "lat": 34.7307049, 1760 | "dop": 984, 1761 | "lng": -92.2216531 1762 | }, 1763 | { 1764 | "aper": 79.6, 1765 | "code": "LGB", 1766 | "dper": 78.6, 1767 | "airport": "LONG BEACH CA (LGB)", 1768 | "aop": 830, 1769 | "lat": 33.7700504, 1770 | "dop": 830, 1771 | "lng": -118.1937395 1772 | }, 1773 | { 1774 | "aper": 50.8, 1775 | "code": "GGG", 1776 | "dper": 49.2, 1777 | "airport": "LONGVIEW TX (GGG)", 1778 | "aop": 59, 1779 | "lat": 32.3876467, 1780 | "dop": 59, 1781 | "lng": -94.7191015 1782 | }, 1783 | { 1784 | "aper": 68.9, 1785 | "code": "LAX", 1786 | "dper": 70.1, 1787 | "airport": "LOS ANGELES CA (LAX)", 1788 | "aop": 17822, 1789 | "lat": 33.9415889, 1790 | "dop": 17802, 1791 | "lng": -118.40853 1792 | }, 1793 | { 1794 | "aper": 74.5, 1795 | "code": "SDF", 1796 | "dper": 79.8, 1797 | "airport": "LOUISVILLE KY (SDF)", 1798 | "aop": 1016, 1799 | "lat": 38.175662, 1800 | "dop": 1010, 1801 | "lng": -85.7369231 1802 | }, 1803 | { 1804 | "aper": 62.3, 1805 | "code": "LBB", 1806 | "dper": 73, 1807 | "airport": "LUBBOCK TX (LBB)", 1808 | "aop": 507, 1809 | "lat": 33.6582326, 1810 | "dop": 507, 1811 | "lng": -101.8244421 1812 | }, 1813 | { 1814 | "aper": 77.3, 1815 | "code": "MSN", 1816 | "dper": 82.1, 1817 | "airport": "MADISON WI (MSN)", 1818 | "aop": 860, 1819 | "lat": 43.1390659, 1820 | "dop": 857, 1821 | "lng": -89.3364128 1822 | }, 1823 | { 1824 | "aper": 40.9, 1825 | "code": "MMH", 1826 | "dper": 33.3, 1827 | "airport": "MAMMOTH LAKES CA (MMH)", 1828 | "aop": 22, 1829 | "lat": 37.624168, 1830 | "dop": 21, 1831 | "lng": -118.838608 1832 | }, 1833 | { 1834 | "aper": 72.7, 1835 | "code": "MHT", 1836 | "dper": 87.2, 1837 | "airport": "MANCHESTER NH (MHT)", 1838 | "aop": 521, 1839 | "lat": 42.929687, 1840 | "dop": 524, 1841 | "lng": -71.4352177 1842 | }, 1843 | { 1844 | "aper": 57.4, 1845 | "code": "MHK", 1846 | "dper": 76.1, 1847 | "airport": "MANHATTAN\/FT. RILEY KS (MHK)", 1848 | "aop": 155, 1849 | "lat": 39.1371707, 1850 | "dop": 155, 1851 | "lng": -96.6703919 1852 | }, 1853 | { 1854 | "aper": 70.4, 1855 | "code": "MQT", 1856 | "dper": 74.1, 1857 | "airport": "MARQUETTE MI (MQT)", 1858 | "aop": 27, 1859 | "lat": 46.3496331, 1860 | "dop": 27, 1861 | "lng": -87.3872848 1862 | }, 1863 | { 1864 | "aper": 49.4, 1865 | "code": "MFR", 1866 | "dper": 55.1, 1867 | "airport": "MEDFORD OR (MFR)", 1868 | "aop": 265, 1869 | "lat": 42.3685237, 1870 | "dop": 265, 1871 | "lng": -122.874072 1872 | }, 1873 | { 1874 | "aper": 89.9, 1875 | "code": "MLB", 1876 | "dper": 94.1, 1877 | "airport": "MELBOURNE FL (MLB)", 1878 | "aop": 119, 1879 | "lat": 28.0977074, 1880 | "dop": 119, 1881 | "lng": -80.6310153 1882 | }, 1883 | { 1884 | "aper": 77.7, 1885 | "code": "MEM", 1886 | "dper": 83.2, 1887 | "airport": "MEMPHIS TN (MEM)", 1888 | "aop": 1297, 1889 | "lat": 35.0420679, 1890 | "dop": 1295, 1891 | "lng": -89.9791729 1892 | }, 1893 | { 1894 | "aper": 65.9, 1895 | "code": "MEI", 1896 | "dper": 64.7, 1897 | "airport": "MERIDIAN MS (MEI)", 1898 | "aop": 85, 1899 | "lat": 32.330115, 1900 | "dop": 85, 1901 | "lng": -88.751805 1902 | }, 1903 | { 1904 | "aper": 79.1, 1905 | "code": "MIA", 1906 | "dper": 78.8, 1907 | "airport": "MIAMI FL (MIA)", 1908 | "aop": 6888, 1909 | "lat": 25.795865, 1910 | "dop": 6878, 1911 | "lng": -80.2870457 1912 | }, 1913 | { 1914 | "aper": 59.8, 1915 | "code": "MAF", 1916 | "dper": 67.4, 1917 | "airport": "MIDLAND\/ODESSA TX (MAF)", 1918 | "aop": 816, 1919 | "lat": 31.9369715, 1920 | "dop": 817, 1921 | "lng": -102.2098418 1922 | }, 1923 | { 1924 | "aper": 76.1, 1925 | "code": "MKE", 1926 | "dper": 80.1, 1927 | "airport": "MILWAUKEE WI (MKE)", 1928 | "aop": 2700, 1929 | "lat": 42.9475534, 1930 | "dop": 2703, 1931 | "lng": -87.896646 1932 | }, 1933 | { 1934 | "aper": 83.3, 1935 | "code": "MSP", 1936 | "dper": 84.2, 1937 | "airport": "MINNEAPOLIS MN (MSP)", 1938 | "aop": 8424, 1939 | "lat": 44.8847554, 1940 | "dop": 8421, 1941 | "lng": -93.2222846 1942 | }, 1943 | { 1944 | "aper": 67.2, 1945 | "code": "MOT", 1946 | "dper": 76.8, 1947 | "airport": "MINOT ND (MOT)", 1948 | "aop": 137, 1949 | "lat": 48.2563665, 1950 | "dop": 138, 1951 | "lng": -101.2916117 1952 | }, 1953 | { 1954 | "aper": 68.6, 1955 | "code": "MFE", 1956 | "dper": 80.8, 1957 | "airport": "MISSION\/MCALLEN\/EDINBURG TX (MFE)", 1958 | "aop": 370, 1959 | "lat": 26.1758, 1960 | "dop": 370, 1961 | "lng": -98.238602 1962 | }, 1963 | { 1964 | "aper": 65.3, 1965 | "code": "MSO", 1966 | "dper": 78.5, 1967 | "airport": "MISSOULA MT (MSO)", 1968 | "aop": 176, 1969 | "lat": 46.9188167, 1970 | "dop": 172, 1971 | "lng": -114.0837362 1972 | }, 1973 | { 1974 | "aper": 84.3, 1975 | "code": "CNY", 1976 | "dper": 92.2, 1977 | "airport": "MOAB UT (CNY)", 1978 | "aop": 51, 1979 | "lat": 38.754722, 1980 | "dop": 51, 1981 | "lng": -109.754722 1982 | }, 1983 | { 1984 | "aper": 75.1, 1985 | "code": "MOB", 1986 | "dper": 80.5, 1987 | "airport": "MOBILE AL (MOB)", 1988 | "aop": 450, 1989 | "lat": 30.691389, 1990 | "dop": 451, 1991 | "lng": -88.242778 1992 | }, 1993 | { 1994 | "aper": 69.4, 1995 | "code": "MLI", 1996 | "dper": 79.9, 1997 | "airport": "MOLINE IL (MLI)", 1998 | "aop": 369, 1999 | "lat": 41.4539937, 2000 | "dop": 369, 2001 | "lng": -90.506478 2002 | }, 2003 | { 2004 | "aper": 74.6, 2005 | "code": "MLU", 2006 | "dper": 78.4, 2007 | "airport": "MONROE LA (MLU)", 2008 | "aop": 268, 2009 | "lat": 32.5101466, 2010 | "dop": 268, 2011 | "lng": -92.0436835 2012 | }, 2013 | { 2014 | "aper": 56.3, 2015 | "code": "MRY", 2016 | "dper": 65, 2017 | "airport": "MONTEREY CA (MRY)", 2018 | "aop": 309, 2019 | "lat": 36.588269, 2020 | "dop": 309, 2021 | "lng": -121.8491091 2022 | }, 2023 | { 2024 | "aper": 72.8, 2025 | "code": "MGM", 2026 | "dper": 79.7, 2027 | "airport": "MONTGOMERY AL (MGM)", 2028 | "aop": 290, 2029 | "lat": 32.3045743, 2030 | "dop": 291, 2031 | "lng": -86.3910371 2032 | }, 2033 | { 2034 | "aper": 70.9, 2035 | "code": "MTJ", 2036 | "dper": 81.9, 2037 | "airport": "MONTROSE\/DELTA CO (MTJ)", 2038 | "aop": 117, 2039 | "lat": 38.5030355, 2040 | "dop": 116, 2041 | "lng": -107.8956795 2042 | }, 2043 | { 2044 | "aper": 64.1, 2045 | "code": "CWA", 2046 | "dper": 75.2, 2047 | "airport": "MOSINEE WI (CWA)", 2048 | "aop": 117, 2049 | "lat": 44.7840503, 2050 | "dop": 117, 2051 | "lng": -89.6724508 2052 | }, 2053 | { 2054 | "aper": 75.8, 2055 | "code": "MKG", 2056 | "dper": 80.6, 2057 | "airport": "MUSKEGON MI (MKG)", 2058 | "aop": 62, 2059 | "lat": 43.169444, 2060 | "dop": 62, 2061 | "lng": -86.238056 2062 | }, 2063 | { 2064 | "aper": 79.8, 2065 | "code": "MYR", 2066 | "dper": 80.9, 2067 | "airport": "MYRTLE BEACH SC (MYR)", 2068 | "aop": 114, 2069 | "lat": 33.6822019, 2070 | "dop": 115, 2071 | "lng": -78.9278943 2072 | }, 2073 | { 2074 | "aper": 77.4, 2075 | "code": "BNA", 2076 | "dper": 79.2, 2077 | "airport": "NASHVILLE TN (BNA)", 2078 | "aop": 4428, 2079 | "lat": 36.126317, 2080 | "dop": 4430, 2081 | "lng": -86.6773713 2082 | }, 2083 | { 2084 | "aper": 81.7, 2085 | "code": "EWN", 2086 | "dper": 83.1, 2087 | "airport": "NEW BERN\/MOREHEAD\/BEAUFORT NC (EWN)", 2088 | "aop": 60, 2089 | "lat": 35.108493, 2090 | "dop": 59, 2091 | "lng": -77.0441143 2092 | }, 2093 | { 2094 | "aper": 79.7, 2095 | "code": "MSY", 2096 | "dper": 81.6, 2097 | "airport": "NEW ORLEANS LA (MSY)", 2098 | "aop": 3307, 2099 | "lat": 29.9922012, 2100 | "dop": 3307, 2101 | "lng": -90.2590112 2102 | }, 2103 | { 2104 | "aper": 76, 2105 | "code": "JFK", 2106 | "dper": 80.5, 2107 | "airport": "NEW YORK NY (JFK)", 2108 | "aop": 8590, 2109 | "lat": 40.6413111, 2110 | "dop": 8589, 2111 | "lng": -73.7781391 2112 | }, 2113 | { 2114 | "aper": 71.6, 2115 | "code": "LGA", 2116 | "dper": 77.2, 2117 | "airport": "NEW YORK NY (LGA)", 2118 | "aop": 9217, 2119 | "lat": 40.7769271, 2120 | "dop": 9221, 2121 | "lng": -73.8739659 2122 | }, 2123 | { 2124 | "aper": 68.2, 2125 | "code": "EWR", 2126 | "dper": 69.5, 2127 | "airport": "NEWARK NJ (EWR)", 2128 | "aop": 9140, 2129 | "lat": 40.6895314, 2130 | "dop": 9155, 2131 | "lng": -74.1744624 2132 | }, 2133 | { 2134 | "aper": 77.5, 2135 | "code": "SWF", 2136 | "dper": 85.2, 2137 | "airport": "NEWBURGH\/POUGHKEEPSIE NY (SWF)", 2138 | "aop": 80, 2139 | "lat": 41.5034271, 2140 | "dop": 81, 2141 | "lng": -74.0104178 2142 | }, 2143 | { 2144 | "aper": 81.3, 2145 | "code": "PHF", 2146 | "dper": 83.1, 2147 | "airport": "NEWPORT NEWS\/WILLIAMSBURG VA (PHF)", 2148 | "aop": 160, 2149 | "lat": 37.131667, 2150 | "dop": 160, 2151 | "lng": -76.492778 2152 | }, 2153 | { 2154 | "aper": 74.6, 2155 | "code": "OME", 2156 | "dper": 76.3, 2157 | "airport": "NOME AK (OME)", 2158 | "aop": 59, 2159 | "lat": 64.5099347, 2160 | "dop": 59, 2161 | "lng": -165.4435152 2162 | }, 2163 | { 2164 | "aper": 76.5, 2165 | "code": "ORF", 2166 | "dper": 84.1, 2167 | "airport": "NORFOLK VA (ORF)", 2168 | "aop": 818, 2169 | "lat": 36.8956837, 2170 | "dop": 820, 2171 | "lng": -76.2000161 2172 | }, 2173 | { 2174 | "aper": 43.8, 2175 | "code": "OTH", 2176 | "dper": 37.5, 2177 | "airport": "NORTH BEND\/COOS BAY OR (OTH)", 2178 | "aop": 16, 2179 | "lat": 43.4163309, 2180 | "dop": 16, 2181 | "lng": -124.2467487 2182 | }, 2183 | { 2184 | "aper": 63.6, 2185 | "code": "OAK", 2186 | "dper": 60.8, 2187 | "airport": "OAKLAND CA (OAK)", 2188 | "aop": 3637, 2189 | "lat": 37.7125689, 2190 | "dop": 3638, 2191 | "lng": -122.2197428 2192 | }, 2193 | { 2194 | "aper": 71.4, 2195 | "code": "OKC", 2196 | "dper": 79.9, 2197 | "airport": "OKLAHOMA CITY OK (OKC)", 2198 | "aop": 1549, 2199 | "lat": 35.4675602, 2200 | "dop": 1550, 2201 | "lng": -97.5164276 2202 | }, 2203 | { 2204 | "aper": 76.9, 2205 | "code": "OMA", 2206 | "dper": 82.7, 2207 | "airport": "OMAHA NE (OMA)", 2208 | "aop": 1543, 2209 | "lat": 41.2497802, 2210 | "dop": 1544, 2211 | "lng": -95.9272125 2212 | }, 2213 | { 2214 | "aper": 62.9, 2215 | "code": "ONT", 2216 | "dper": 68.5, 2217 | "airport": "ONTARIO CA (ONT)", 2218 | "aop": 1678, 2219 | "lat": 34.0528, 2220 | "dop": 1681, 2221 | "lng": -117.6278 2222 | }, 2223 | { 2224 | "aper": 79.9, 2225 | "code": "MCO", 2226 | "dper": 81.1, 2227 | "airport": "ORLANDO FL (MCO)", 2228 | "aop": 9757, 2229 | "lat": 28.4311577, 2230 | "dop": 9739, 2231 | "lng": -81.308083 2232 | }, 2233 | { 2234 | "aper": 77, 2235 | "code": "PAH", 2236 | "dper": 85.2, 2237 | "airport": "PADUCAH KY (PAH)", 2238 | "aop": 61, 2239 | "lat": 37.0612537, 2240 | "dop": 61, 2241 | "lng": -88.7674445 2242 | }, 2243 | { 2244 | "aper": 63.6, 2245 | "code": "PPG", 2246 | "dper": 72.7, 2247 | "airport": "PAGO PAGO TT (PPG)", 2248 | "aop": 11, 2249 | "lat": -14.279444, 2250 | "dop": 11, 2251 | "lng": -170.700556 2252 | }, 2253 | { 2254 | "aper": 66.2, 2255 | "code": "PSP", 2256 | "dper": 70.2, 2257 | "airport": "PALM SPRINGS CA (PSP)", 2258 | "aop": 1064, 2259 | "lat": 33.8303194, 2260 | "dop": 1062, 2261 | "lng": -116.5070468 2262 | }, 2263 | { 2264 | "aper": 84.1, 2265 | "code": "ECP", 2266 | "dper": 89.6, 2267 | "airport": "PANAMA CITY FL (ECP)", 2268 | "aop": 239, 2269 | "lat": 30.3529337, 2270 | "dop": 241, 2271 | "lng": -85.7942695 2272 | }, 2273 | { 2274 | "aper": 68.2, 2275 | "code": "PSC", 2276 | "dper": 87.2, 2277 | "airport": "PASCO\/KENNEWICK\/RICHLAND WA (PSC)", 2278 | "aop": 195, 2279 | "lat": 46.2579124, 2280 | "dop": 196, 2281 | "lng": -119.1170487 2282 | }, 2283 | { 2284 | "aper": 81.5, 2285 | "code": "PLN", 2286 | "dper": 90.7, 2287 | "airport": "PELLSTON MI (PLN)", 2288 | "aop": 54, 2289 | "lat": 45.5714903, 2290 | "dop": 54, 2291 | "lng": -84.7861834 2292 | }, 2293 | { 2294 | "aper": 78.5, 2295 | "code": "PNS", 2296 | "dper": 81.3, 2297 | "airport": "PENSACOLA FL (PNS)", 2298 | "aop": 687, 2299 | "lat": 30.4738158, 2300 | "dop": 686, 2301 | "lng": -87.1867049 2302 | }, 2303 | { 2304 | "aper": 71.7, 2305 | "code": "PIA", 2306 | "dper": 78.5, 2307 | "airport": "PEORIA IL (PIA)", 2308 | "aop": 378, 2309 | "lat": 40.664167, 2310 | "dop": 376, 2311 | "lng": -89.693056 2312 | }, 2313 | { 2314 | "aper": 80, 2315 | "code": "PSG", 2316 | "dper": 76.7, 2317 | "airport": "PETERSBURG AK (PSG)", 2318 | "aop": 60, 2319 | "lat": 56.8016637, 2320 | "dop": 60, 2321 | "lng": -132.9453985 2322 | }, 2323 | { 2324 | "aper": 75.4, 2325 | "code": "PHL", 2326 | "dper": 80.3, 2327 | "airport": "PHILADELPHIA PA (PHL)", 2328 | "aop": 5729, 2329 | "lat": 39.8743959, 2330 | "dop": 5733, 2331 | "lng": -75.2424229 2332 | }, 2333 | { 2334 | "aper": 76.9, 2335 | "code": "PHX", 2336 | "dper": 75.5, 2337 | "airport": "PHOENIX AZ (PHX)", 2338 | "aop": 13298, 2339 | "lat": 33.4372686, 2340 | "dop": 13299, 2341 | "lng": -112.0077881 2342 | }, 2343 | { 2344 | "aper": 78.6, 2345 | "code": "PIT", 2346 | "dper": 88.1, 2347 | "airport": "PITTSBURGH PA (PIT)", 2348 | "aop": 2174, 2349 | "lat": 40.4957722, 2350 | "dop": 2179, 2351 | "lng": -80.2413113 2352 | }, 2353 | { 2354 | "aper": 89.3, 2355 | "code": "PIH", 2356 | "dper": 91.7, 2357 | "airport": "POCATELLO ID (PIH)", 2358 | "aop": 84, 2359 | "lat": 42.909722, 2360 | "dop": 84, 2361 | "lng": -112.595833 2362 | }, 2363 | { 2364 | "aper": 92.7, 2365 | "code": "PSE", 2366 | "dper": 96.3, 2367 | "airport": "PONCE PR (PSE)", 2368 | "aop": 82, 2369 | "lat": 18.008306, 2370 | "dop": 82, 2371 | "lng": -66.563028 2372 | }, 2373 | { 2374 | "aper": 78.2, 2375 | "code": "PWM", 2376 | "dper": 87.4, 2377 | "airport": "PORTLAND ME (PWM)", 2378 | "aop": 284, 2379 | "lat": 43.6464785, 2380 | "dop": 286, 2381 | "lng": -70.3096974 2382 | }, 2383 | { 2384 | "aper": 73.8, 2385 | "code": "PDX", 2386 | "dper": 79.5, 2387 | "airport": "PORTLAND OR (PDX)", 2388 | "aop": 3896, 2389 | "lat": 45.5155, 2390 | "dop": 3899, 2391 | "lng": -122.6789 2392 | }, 2393 | { 2394 | "aper": 79.6, 2395 | "code": "PVD", 2396 | "dper": 88.6, 2397 | "airport": "PROVIDENCE RI (PVD)", 2398 | "aop": 1022, 2399 | "lat": 41.8292199, 2400 | "dop": 1023, 2401 | "lng": -71.413331 2402 | }, 2403 | { 2404 | "aper": 61.1, 2405 | "code": "PUB", 2406 | "dper": 63, 2407 | "airport": "PUEBLO CO (PUB)", 2408 | "aop": 54, 2409 | "lat": 38.2837522, 2410 | "dop": 54, 2411 | "lng": -104.4953667 2412 | }, 2413 | { 2414 | "aper": 79.7, 2415 | "code": "RDU", 2416 | "dper": 82.9, 2417 | "airport": "RALEIGH\/DURHAM NC (RDU)", 2418 | "aop": 2996, 2419 | "lat": 35.8707528, 2420 | "dop": 2994, 2421 | "lng": -78.7980771 2422 | }, 2423 | { 2424 | "aper": 69.7, 2425 | "code": "RAP", 2426 | "dper": 76.6, 2427 | "airport": "RAPID CITY SD (RAP)", 2428 | "aop": 261, 2429 | "lat": 44.0383522, 2430 | "dop": 261, 2431 | "lng": -103.0606677 2432 | }, 2433 | { 2434 | "aper": 31.5, 2435 | "code": "RDD", 2436 | "dper": 42.4, 2437 | "airport": "REDDING CA (RDD)", 2438 | "aop": 92, 2439 | "lat": 40.5117182, 2440 | "dop": 92, 2441 | "lng": -122.2986385 2442 | }, 2443 | { 2444 | "aper": 64.7, 2445 | "code": "RNO", 2446 | "dper": 69.1, 2447 | "airport": "RENO NV (RNO)", 2448 | "aop": 1172, 2449 | "lat": 39.5058269, 2450 | "dop": 1172, 2451 | "lng": -119.7753869 2452 | }, 2453 | { 2454 | "aper": 77.5, 2455 | "code": "RHI", 2456 | "dper": 78.7, 2457 | "airport": "RHINELANDER WI (RHI)", 2458 | "aop": 89, 2459 | "lat": 45.631111, 2460 | "dop": 89, 2461 | "lng": -89.467222 2462 | }, 2463 | { 2464 | "aper": 77.9, 2465 | "code": "RIC", 2466 | "dper": 84.1, 2467 | "airport": "RICHMOND VA (RIC)", 2468 | "aop": 1420, 2469 | "lat": 37.5065795, 2470 | "dop": 1418, 2471 | "lng": -77.3208112 2472 | }, 2473 | { 2474 | "aper": 78.7, 2475 | "code": "ROA", 2476 | "dper": 80.9, 2477 | "airport": "ROANOKE VA (ROA)", 2478 | "aop": 141, 2479 | "lat": 37.3247628, 2480 | "dop": 141, 2481 | "lng": -79.9770414 2482 | }, 2483 | { 2484 | "aper": 73.7, 2485 | "code": "RST", 2486 | "dper": 76, 2487 | "airport": "ROCHESTER MN (RST)", 2488 | "aop": 175, 2489 | "lat": 43.9112289, 2490 | "dop": 175, 2491 | "lng": -92.4954708 2492 | }, 2493 | { 2494 | "aper": 75.7, 2495 | "code": "ROC", 2496 | "dper": 82.5, 2497 | "airport": "ROCHESTER NY (ROC)", 2498 | "aop": 659, 2499 | "lat": 43.1225229, 2500 | "dop": 656, 2501 | "lng": -77.6665722 2502 | }, 2503 | { 2504 | "aper": 70.6, 2505 | "code": "RKS", 2506 | "dper": 73.9, 2507 | "airport": "ROCK SPRINGS WY (RKS)", 2508 | "aop": 119, 2509 | "lat": 41.5948268, 2510 | "dop": 119, 2511 | "lng": -109.0650322 2512 | }, 2513 | { 2514 | "aper": 44.4, 2515 | "code": "ROW", 2516 | "dper": 64.4, 2517 | "airport": "ROSWELL NM (ROW)", 2518 | "aop": 90, 2519 | "lat": 33.2993413, 2520 | "dop": 90, 2521 | "lng": -104.5247463 2522 | }, 2523 | { 2524 | "aper": 66.4, 2525 | "code": "SMF", 2526 | "dper": 70.6, 2527 | "airport": "SACRAMENTO CA (SMF)", 2528 | "aop": 3408, 2529 | "lat": 38.6950854, 2530 | "dop": 3411, 2531 | "lng": -121.5900648 2532 | }, 2533 | { 2534 | "aper": 78.6, 2535 | "code": "MBS", 2536 | "dper": 88.3, 2537 | "airport": "SAGINAW\/BAY CITY\/MIDLAND MI (MBS)", 2538 | "aop": 145, 2539 | "lat": 43.5336799, 2540 | "dop": 145, 2541 | "lng": -84.0900759 2542 | }, 2543 | { 2544 | "aper": 81.3, 2545 | "code": "SLC", 2546 | "dper": 82.4, 2547 | "airport": "SALT LAKE CITY UT (SLC)", 2548 | "aop": 8825, 2549 | "lat": 40.7607793, 2550 | "dop": 8820, 2551 | "lng": -111.8910474 2552 | }, 2553 | { 2554 | "aper": 55.3, 2555 | "code": "SJT", 2556 | "dper": 54.6, 2557 | "airport": "SAN ANGELO TX (SJT)", 2558 | "aop": 152, 2559 | "lat": 31.3575, 2560 | "dop": 152, 2561 | "lng": -100.496111 2562 | }, 2563 | { 2564 | "aper": 68.1, 2565 | "code": "SAT", 2566 | "dper": 75.3, 2567 | "airport": "SAN ANTONIO TX (SAT)", 2568 | "aop": 2805, 2569 | "lat": 29.5311973, 2570 | "dop": 2806, 2571 | "lng": -98.4683484 2572 | }, 2573 | { 2574 | "aper": 70.8, 2575 | "code": "SAN", 2576 | "dper": 70.8, 2577 | "airport": "SAN DIEGO CA (SAN)", 2578 | "aop": 6339, 2579 | "lat": 32.7338006, 2580 | "dop": 6333, 2581 | "lng": -117.1933038 2582 | }, 2583 | { 2584 | "aper": 52, 2585 | "code": "SFO", 2586 | "dper": 59.5, 2587 | "airport": "SAN FRANCISCO CA (SFO)", 2588 | "aop": 13827, 2589 | "lat": 37.6213129, 2590 | "dop": 13816, 2591 | "lng": -122.3789554 2592 | }, 2593 | { 2594 | "aper": 67.6, 2595 | "code": "SJC", 2596 | "dper": 68.6, 2597 | "airport": "SAN JOSE CA (SJC)", 2598 | "aop": 3430, 2599 | "lat": 37.3639472, 2600 | "dop": 3433, 2601 | "lng": -121.9289375 2602 | }, 2603 | { 2604 | "aper": 80.5, 2605 | "code": "SJU", 2606 | "dper": 82.6, 2607 | "airport": "SAN JUAN PR (SJU)", 2608 | "aop": 2405, 2609 | "lat": 18.439167, 2610 | "dop": 2397, 2611 | "lng": -66.001667 2612 | }, 2613 | { 2614 | "aper": 58, 2615 | "code": "SBP", 2616 | "dper": 58.3, 2617 | "airport": "SAN LUIS OBISPO CA (SBP)", 2618 | "aop": 412, 2619 | "lat": 35.2827524, 2620 | "dop": 412, 2621 | "lng": -120.6596156 2622 | }, 2623 | { 2624 | "aper": 73.4, 2625 | "code": "SNA", 2626 | "dper": 72, 2627 | "airport": "SANTA ANA CA (SNA)", 2628 | "aop": 3257, 2629 | "lat": 33.6761901, 2630 | "dop": 3258, 2631 | "lng": -117.8674759 2632 | }, 2633 | { 2634 | "aper": 61.7, 2635 | "code": "SBA", 2636 | "dper": 65.7, 2637 | "airport": "SANTA BARBARA CA (SBA)", 2638 | "aop": 627, 2639 | "lat": 34.4271935, 2640 | "dop": 626, 2641 | "lng": -119.8398835 2642 | }, 2643 | { 2644 | "aper": 55.6, 2645 | "code": "SAF", 2646 | "dper": 64.3, 2647 | "airport": "SANTA FE NM (SAF)", 2648 | "aop": 144, 2649 | "lat": 35.6175, 2650 | "dop": 143, 2651 | "lng": -106.08833 2652 | }, 2653 | { 2654 | "aper": 65.8, 2655 | "code": "SMX", 2656 | "dper": 65.8, 2657 | "airport": "SANTA MARIA CA (SMX)", 2658 | "aop": 76, 2659 | "lat": 34.8989551, 2660 | "dop": 76, 2661 | "lng": -120.4477715 2662 | }, 2663 | { 2664 | "aper": 88.7, 2665 | "code": "SRQ", 2666 | "dper": 85.6, 2667 | "airport": "SARASOTA\/BRADENTON FL (SRQ)", 2668 | "aop": 326, 2669 | "lat": 27.395444, 2670 | "dop": 327, 2671 | "lng": -82.554389 2672 | }, 2673 | { 2674 | "aper": 70.7, 2675 | "code": "CIU", 2676 | "dper": 75.9, 2677 | "airport": "SAULT STE. MARIE MI (CIU)", 2678 | "aop": 58, 2679 | "lat": 46.4952996, 2680 | "dop": 58, 2681 | "lng": -84.3453169 2682 | }, 2683 | { 2684 | "aper": 81.2, 2685 | "code": "SAV", 2686 | "dper": 81.9, 2687 | "airport": "SAVANNAH GA (SAV)", 2688 | "aop": 759, 2689 | "lat": 32.1294267, 2690 | "dop": 759, 2691 | "lng": -81.2018521 2692 | }, 2693 | { 2694 | "aper": 75.2, 2695 | "code": "AVP", 2696 | "dper": 84.2, 2697 | "airport": "SCRANTON\/WILKES-BARRE PA (AVP)", 2698 | "aop": 113, 2699 | "lat": 41.408969, 2700 | "dop": 114, 2701 | "lng": -75.6624122 2702 | }, 2703 | { 2704 | "aper": 78.2, 2705 | "code": "SEA", 2706 | "dper": 79.9, 2707 | "airport": "SEATTLE WA (SEA)", 2708 | "aop": 8991, 2709 | "lat": 47.4502499, 2710 | "dop": 8985, 2711 | "lng": -122.3088165 2712 | }, 2713 | { 2714 | "aper": 64.1, 2715 | "code": "SHV", 2716 | "dper": 74.5, 2717 | "airport": "SHREVEPORT LA (SHV)", 2718 | "aop": 568, 2719 | "lat": 32.4545459, 2720 | "dop": 568, 2721 | "lng": -93.8284963 2722 | }, 2723 | { 2724 | "aper": 75, 2725 | "code": "SUX", 2726 | "dper": 78.3, 2727 | "airport": "SIOUX CITY IA (SUX)", 2728 | "aop": 60, 2729 | "lat": 42.4025, 2730 | "dop": 60, 2731 | "lng": -96.384167 2732 | }, 2733 | { 2734 | "aper": 62.8, 2735 | "code": "FSD", 2736 | "dper": 74.2, 2737 | "airport": "SIOUX FALLS SD (FSD)", 2738 | "aop": 549, 2739 | "lat": 43.5856538, 2740 | "dop": 551, 2741 | "lng": -96.7404041 2742 | }, 2743 | { 2744 | "aper": 74.7, 2745 | "code": "SIT", 2746 | "dper": 84.8, 2747 | "airport": "SITKA AK (SIT)", 2748 | "aop": 91, 2749 | "lat": 57.0530556, 2750 | "dop": 92, 2751 | "lng": -135.33 2752 | }, 2753 | { 2754 | "aper": 78.8, 2755 | "code": "SBN", 2756 | "dper": 85.8, 2757 | "airport": "SOUTH BEND IN (SBN)", 2758 | "aop": 372, 2759 | "lat": 41.7008365, 2760 | "dop": 372, 2761 | "lng": -86.3123004 2762 | }, 2763 | { 2764 | "aper": 76, 2765 | "code": "GEG", 2766 | "dper": 82.2, 2767 | "airport": "SPOKANE WA (GEG)", 2768 | "aop": 847, 2769 | "lat": 47.6217478, 2770 | "dop": 849, 2771 | "lng": -117.534812 2772 | }, 2773 | { 2774 | "aper": 66.7, 2775 | "code": "SPI", 2776 | "dper": 75.3, 2777 | "airport": "SPRINGFIELD IL (SPI)", 2778 | "aop": 150, 2779 | "lat": 39.843889, 2780 | "dop": 150, 2781 | "lng": -89.677778 2782 | }, 2783 | { 2784 | "aper": 62.1, 2785 | "code": "SGF", 2786 | "dper": 77, 2787 | "airport": "SPRINGFIELD MO (SGF)", 2788 | "aop": 564, 2789 | "lat": 37.2089572, 2790 | "dop": 564, 2791 | "lng": -93.2922989 2792 | }, 2793 | { 2794 | "aper": 63, 2795 | "code": "UST", 2796 | "dper": 59.3, 2797 | "airport": "ST. AUGUSTINE FL (UST)", 2798 | "aop": 27, 2799 | "lat": 29.958611, 2800 | "dop": 27, 2801 | "lng": -81.33889 2802 | }, 2803 | { 2804 | "aper": 65.6, 2805 | "code": "STC", 2806 | "dper": 75.4, 2807 | "airport": "ST. CLOUD MN (STC)", 2808 | "aop": 61, 2809 | "lat": 45.5579451, 2810 | "dop": 61, 2811 | "lng": -94.1632404 2812 | }, 2813 | { 2814 | "aper": 80.6, 2815 | "code": "SGU", 2816 | "dper": 85, 2817 | "airport": "ST. GEORGE UT (SGU)", 2818 | "aop": 139, 2819 | "lat": 37.030793, 2820 | "dop": 140, 2821 | "lng": -113.5089915 2822 | }, 2823 | { 2824 | "aper": 76, 2825 | "code": "STL", 2826 | "dper": 75.2, 2827 | "airport": "ST. LOUIS MO (STL)", 2828 | "aop": 4218, 2829 | "lat": 38.7368862, 2830 | "dop": 4216, 2831 | "lng": -90.3547796 2832 | }, 2833 | { 2834 | "aper": 77, 2835 | "code": "SCE", 2836 | "dper": 86.3, 2837 | "airport": "STATE COLLEGE PA (SCE)", 2838 | "aop": 74, 2839 | "lat": 40.8558806, 2840 | "dop": 73, 2841 | "lng": -77.8438406 2842 | }, 2843 | { 2844 | "aper": 51.6, 2845 | "code": "SUN", 2846 | "dper": 54.3, 2847 | "airport": "SUN VALLEY\/HAILEY\/KETCHUM ID (SUN)", 2848 | "aop": 95, 2849 | "lat": 43.6660517, 2850 | "dop": 94, 2851 | "lng": -114.3257529 2852 | }, 2853 | { 2854 | "aper": 78.8, 2855 | "code": "SYR", 2856 | "dper": 83.8, 2857 | "airport": "SYRACUSE NY (SYR)", 2858 | "aop": 472, 2859 | "lat": 43.1139301, 2860 | "dop": 474, 2861 | "lng": -76.1101888 2862 | }, 2863 | { 2864 | "aper": 75.6, 2865 | "code": "TLH", 2866 | "dper": 84.3, 2867 | "airport": "TALLAHASSEE FL (TLH)", 2868 | "aop": 360, 2869 | "lat": 30.3956195, 2870 | "dop": 360, 2871 | "lng": -84.3450619 2872 | }, 2873 | { 2874 | "aper": 79.5, 2875 | "code": "TPA", 2876 | "dper": 81.6, 2877 | "airport": "TAMPA FL (TPA)", 2878 | "aop": 5776, 2879 | "lat": 27.9834776, 2880 | "dop": 5776, 2881 | "lng": -82.5370781 2882 | }, 2883 | { 2884 | "aper": 48.9, 2885 | "code": "TXK", 2886 | "dper": 66.7, 2887 | "airport": "TEXARKANA AR (TXK)", 2888 | "aop": 90, 2889 | "lat": 33.4563112, 2890 | "dop": 90, 2891 | "lng": -93.991663 2892 | }, 2893 | { 2894 | "aper": 75, 2895 | "code": "TOL", 2896 | "dper": 84.1, 2897 | "airport": "TOLEDO OH (TOL)", 2898 | "aop": 88, 2899 | "lat": 41.638345, 2900 | "dop": 88, 2901 | "lng": -83.541721 2902 | }, 2903 | { 2904 | "aper": 77.6, 2905 | "code": "TVC", 2906 | "dper": 84.2, 2907 | "airport": "TRAVERSE CITY MI (TVC)", 2908 | "aop": 214, 2909 | "lat": 44.7368927, 2910 | "dop": 214, 2911 | "lng": -85.5795874 2912 | }, 2913 | { 2914 | "aper": 71.3, 2915 | "code": "TTN", 2916 | "dper": 78.1, 2917 | "airport": "TRENTON NJ (TTN)", 2918 | "aop": 279, 2919 | "lat": 40.2170534, 2920 | "dop": 279, 2921 | "lng": -74.7429384 2922 | }, 2923 | { 2924 | "aper": 65.4, 2925 | "code": "TUS", 2926 | "dper": 75.9, 2927 | "airport": "TUCSON AZ (TUS)", 2928 | "aop": 1460, 2929 | "lat": 32.1145102, 2930 | "dop": 1460, 2931 | "lng": -110.9392269 2932 | }, 2933 | { 2934 | "aper": 70.5, 2935 | "code": "TUL", 2936 | "dper": 79.9, 2937 | "airport": "TULSA OK (TUL)", 2938 | "aop": 1334, 2939 | "lat": 36.198778, 2940 | "dop": 1334, 2941 | "lng": -95.8838659 2942 | }, 2943 | { 2944 | "aper": 73.3, 2945 | "code": "TWF", 2946 | "dper": 90, 2947 | "airport": "TWIN FALLS ID (TWF)", 2948 | "aop": 60, 2949 | "lat": 42.4819682, 2950 | "dop": 60, 2951 | "lng": -114.4860478 2952 | }, 2953 | { 2954 | "aper": 65.4, 2955 | "code": "TYR", 2956 | "dper": 67.3, 2957 | "airport": "TYLER TX (TYR)", 2958 | "aop": 208, 2959 | "lat": 32.3512601, 2960 | "dop": 208, 2961 | "lng": -95.3010624 2962 | }, 2963 | { 2964 | "aper": 80.5, 2965 | "code": "VLD", 2966 | "dper": 85.1, 2967 | "airport": "VALDOSTA GA (VLD)", 2968 | "aop": 87, 2969 | "lat": 30.7850344, 2970 | "dop": 87, 2971 | "lng": -83.2765101 2972 | }, 2973 | { 2974 | "aper": 75.5, 2975 | "code": "VPS", 2976 | "dper": 80.1, 2977 | "airport": "VALPARAISO FL (VPS)", 2978 | "aop": 413, 2979 | "lat": 30.491389, 2980 | "dop": 413, 2981 | "lng": -86.525278 2982 | }, 2983 | { 2984 | "aper": 85.2, 2985 | "code": "VEL", 2986 | "dper": 92.6, 2987 | "airport": "VERNAL UT (VEL)", 2988 | "aop": 54, 2989 | "lat": 40.4408284, 2990 | "dop": 54, 2991 | "lng": -109.5101731 2992 | }, 2993 | { 2994 | "aper": 56.9, 2995 | "code": "ACT", 2996 | "dper": 64.1, 2997 | "airport": "WACO TX (ACT)", 2998 | "aop": 153, 2999 | "lat": 31.609182, 3000 | "dop": 153, 3001 | "lng": -97.223398 3002 | }, 3003 | { 3004 | "aper": 65, 3005 | "code": "ALO", 3006 | "dper": 81.7, 3007 | "airport": "WATERLOO IA (ALO)", 3008 | "aop": 60, 3009 | "lat": 42.556944, 3010 | "dop": 60, 3011 | "lng": -92.400278 3012 | }, 3013 | { 3014 | "aper": 78.4, 3015 | "code": "PBI", 3016 | "dper": 78.3, 3017 | "airport": "WEST PALM BEACH\/PALM BEACH FL (PBI)", 3018 | "aop": 2327, 3019 | "lat": 26.6857475, 3020 | "dop": 2327, 3021 | "lng": -80.0928165 3022 | }, 3023 | { 3024 | "aper": 79.7, 3025 | "code": "HPN", 3026 | "dper": 85, 3027 | "airport": "WHITE PLAINS NY (HPN)", 3028 | "aop": 698, 3029 | "lat": 41.0683325, 3030 | "dop": 698, 3031 | "lng": -73.7086641 3032 | }, 3033 | { 3034 | "aper": 56.5, 3035 | "code": "SPS", 3036 | "dper": 64.5, 3037 | "airport": "WICHITA FALLS TX (SPS)", 3038 | "aop": 124, 3039 | "lat": 33.988796, 3040 | "dop": 124, 3041 | "lng": -98.491893 3042 | }, 3043 | { 3044 | "aper": 70.1, 3045 | "code": "ICT", 3046 | "dper": 74.8, 3047 | "airport": "WICHITA KS (ICT)", 3048 | "aop": 715, 3049 | "lat": 37.6508529, 3050 | "dop": 715, 3051 | "lng": -97.4286988 3052 | }, 3053 | { 3054 | "aper": 74.5, 3055 | "code": "ISN", 3056 | "dper": 78, 3057 | "airport": "WILLISTON ND (ISN)", 3058 | "aop": 259, 3059 | "lat": 48.1469683, 3060 | "dop": 259, 3061 | "lng": -103.6179745 3062 | }, 3063 | { 3064 | "aper": 76.2, 3065 | "code": "ILG", 3066 | "dper": 76.2, 3067 | "airport": "WILMINGTON DE (ILG)", 3068 | "aop": 21, 3069 | "lat": 39.6776095, 3070 | "dop": 21, 3071 | "lng": -75.6070215 3072 | }, 3073 | { 3074 | "aper": 83.6, 3075 | "code": "ILM", 3076 | "dper": 86.4, 3077 | "airport": "WILMINGTON NC (ILM)", 3078 | "aop": 152, 3079 | "lat": 34.2668021, 3080 | "dop": 152, 3081 | "lng": -77.9103708 3082 | }, 3083 | { 3084 | "aper": 82.3, 3085 | "code": "ORH", 3086 | "dper": 79, 3087 | "airport": "WORCESTER MA (ORH)", 3088 | "aop": 62, 3089 | "lat": 42.2735301, 3090 | "dop": 62, 3091 | "lng": -71.8749833 3092 | }, 3093 | { 3094 | "aper": 78.3, 3095 | "code": "WRG", 3096 | "dper": 81.7, 3097 | "airport": "WRANGELL AK (WRG)", 3098 | "aop": 60, 3099 | "lat": 56.4851458, 3100 | "dop": 60, 3101 | "lng": -132.3796664 3102 | }, 3103 | { 3104 | "aper": 80, 3105 | "code": "YAK", 3106 | "dper": 80, 3107 | "airport": "YAKUTAT AK (YAK)", 3108 | "aop": 60, 3109 | "lat": 59.509167, 3110 | "dop": 60, 3111 | "lng": -139.65973 3112 | }, 3113 | { 3114 | "aper": 85.1, 3115 | "code": "YUM", 3116 | "dper": 89.6, 3117 | "airport": "YUMA AZ (YUM)", 3118 | "aop": 181, 3119 | "lat": 32.6926512, 3120 | "dop": 181, 3121 | "lng": -114.6276916 3122 | } 3123 | ]; -------------------------------------------------------------------------------- /js/mapstyle.js: -------------------------------------------------------------------------------- 1 | // Define the map style 2 | // SnazzyMaps - Shift Worker 3 | // https://snazzymaps.com/style/27/shift-worker 4 | var shiftWorkerMapStyle = [{"stylers":[{"saturation":-100},{"gamma":1}]},{"elementType":"labels.text.stroke","stylers":[{"visibility":"off"}]},{"featureType":"poi.business","elementType":"labels.text","stylers":[{"visibility":"off"}]},{"featureType":"poi.business","elementType":"labels.icon","stylers":[{"visibility":"off"}]},{"featureType":"poi.place_of_worship","elementType":"labels.text","stylers":[{"visibility":"off"}]},{"featureType":"poi.place_of_worship","elementType":"labels.icon","stylers":[{"visibility":"off"}]},{"featureType":"road","elementType":"geometry","stylers":[{"visibility":"simplified"}]},{"featureType":"water","stylers":[{"visibility":"on"},{"saturation":50},{"gamma":0},{"hue":"#50a5d1"}]},{"featureType":"administrative.neighborhood","elementType":"labels.text.fill","stylers":[{"color":"#333333"}]},{"featureType":"road.local","elementType":"labels.text","stylers":[{"weight":0.5},{"color":"#333333"}]},{"featureType":"transit.station","elementType":"labels.icon","stylers":[{"gamma":1},{"saturation":50}]}]; 5 | 6 | // SnazzyMaps - Cladme 7 | // https://snazzymaps.com/style/6618/cladme 8 | var cladmeMapStyle=[{"featureType":"administrative","elementType":"labels.text.fill","stylers":[{"color":"#444444"}]},{"featureType":"landscape","elementType":"all","stylers":[{"color":"#f2f2f2"}]},{"featureType":"poi","elementType":"all","stylers":[{"visibility":"off"}]},{"featureType":"road","elementType":"all","stylers":[{"saturation":-100},{"lightness":45}]},{"featureType":"road.highway","elementType":"all","stylers":[{"visibility":"simplified"}]},{"featureType":"road.arterial","elementType":"labels.icon","stylers":[{"visibility":"off"}]},{"featureType":"transit","elementType":"all","stylers":[{"visibility":"off"}]},{"featureType":"water","elementType":"all","stylers":[{"color":"#4f595d"},{"visibility":"on"}]}]; -------------------------------------------------------------------------------- /js/scripts.js: -------------------------------------------------------------------------------- 1 | //Global map variable 2 | var map; 3 | 4 | //Create a single infowindow 5 | var infoWindow = new google.maps.InfoWindow(); 6 | 7 | //Function run on DOM load 8 | function loadMap() { 9 | 10 | //Set the map options 11 | var mapOptions = { 12 | 13 | //Zoom on load 14 | zoom: 5, 15 | 16 | //Map center 17 | center: new google.maps.LatLng(39.828127,-98.579404), 18 | 19 | //Set the map style 20 | styles: shiftWorkerMapStyle 21 | }; 22 | 23 | //Get the id of the map container div 24 | var mapId = document.getElementById('map'); 25 | 26 | //Create the map 27 | map = new google.maps.Map(mapId,mapOptions); 28 | 29 | //Loop through the airport data 30 | for (var i=0;i 10000) { 42 | airport.iconsize = new google.maps.Size(48,48); 43 | } 44 | else if((1000 <= airport.totalflights) && (airport.totalflights <= 10000)) { 45 | airport.iconsize = new google.maps.Size(32,32); 46 | } 47 | else if(airport.totalflights < 1000) { 48 | airport.iconsize = new google.maps.Size(16,16); 49 | } 50 | 51 | //Set the icon 52 | if(airport.totalper >= 80) { 53 | airport.icon = 'green'; 54 | } 55 | else if((70 <= airport.totalper) && (airport.totalper < 80)) { 56 | airport.icon = 'yellow'; 57 | } 58 | else if((60 <= airport.totalper) && (airport.totalper < 70)) { 59 | airport.icon = 'orange'; 60 | } 61 | else { 62 | airport.icon = 'red'; 63 | } 64 | 65 | //Add the marker to the map 66 | newMarker = addMarker(airport); 67 | 68 | //Append the data to the marker 69 | newMarker.airport = airport; 70 | 71 | //Adds the infowindow 72 | addInfoWindow(newMarker); 73 | 74 | } 75 | 76 | } 77 | 78 | //Add a marker to the map 79 | function addMarker(airport) { 80 | 81 | //Create the marker (#MarkerOptions) 82 | var marker = new google.maps.Marker({ 83 | 84 | //Position of marker 85 | position: new google.maps.LatLng(airport.lat,airport.lng), 86 | 87 | //Map 88 | map: map, 89 | 90 | //Icon details 91 | icon: { 92 | 93 | //URL of the image 94 | url: 'img/airplane-'+airport.icon+'.png', 95 | 96 | //Sets the image size 97 | size: airport.iconsize, 98 | 99 | //Sets the origin of the image (top left) 100 | origin: new google.maps.Point(0,0), 101 | 102 | //Sets the anchor (middle, bottom) 103 | anchor: new google.maps.Point(16,32), 104 | 105 | //Scales the image 106 | scaledSize: airport.iconsize 107 | }, 108 | 109 | //Sets the title when mouse hovers 110 | title: airport.airport 111 | 112 | }); 113 | 114 | return marker; 115 | } 116 | 117 | 118 | //Associate an infowindow with the marker 119 | function addInfoWindow(marker) { 120 | 121 | var details = marker.airport; 122 | 123 | //Content string 124 | var contentString = '
'+ 125 | '
' + 126 | '

'+Math.round(details.totalper*10)/10+'%

'+ 127 | '

'+details.airport.split("(")[0].substring(0,19)+'

'+ 128 | '

'+details.code+'

'+ 129 | '
'+ 130 | '
'+ 131 | '

Avg On-Time

'+ 132 | '

Arrivals

'+ 133 | '

'+details.aper+'% ('+numberWithCommas(details.aop)+')

' + 134 | '

Departures

'+ 135 | '

'+details.dper+'% ('+numberWithCommas(details.dop)+')

' + 136 | '

'+details.lat+' , '+details.lng+'

' + 137 | '
'+ 138 | '
'; 139 | 140 | //Add click event listener 141 | google.maps.event.addListener(marker, 'click', function() { 142 | 143 | //Close any open infowindows 144 | infoWindow.close(); 145 | 146 | //Set the new content 147 | infoWindow.setContent(contentString); 148 | 149 | //Open the infowindow 150 | infoWindow.open(map,marker); 151 | 152 | }); 153 | } 154 | 155 | //Add Commas to number 156 | function numberWithCommas(x) { 157 | return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ','); 158 | } 159 | 160 | //Load the map 161 | google.maps.event.addDomListener(window, 'load', loadMap()); 162 | 163 | 164 | 165 | 166 | --------------------------------------------------------------------------------