Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Hello, I am having trouble with this hw in C. Below, Ive listed the directions, codes provided, which include the test cases along with how

Hello, I am having trouble with this hw in C. Below, Ive listed the directions, codes provided, which include the test cases along with how to carry out the test cases, thank you. A sample output would be greatly appreciated along with an explanation.

Homework 3 - Data extraction, conversion, filter, sort, and build a CSV file output

Abstract

As discussed in Homework 1 many ETL (extraction, transformation, and load- ing) problems parse data files wherein the data fields is separated by commas. This assignment is a continuation of that process - with an additional two steps. The first step is to convert the input files latitude and longitude from sexagesimal (base 60) degrees to decimal degrees. For example, the inputs are in the form: degrees, minutes and seconds, arcseconds and direction. The outputs are in the form: sign, degrees, and decimal fractions to represent the same value.

Therefore this assignment requires the data extraction, degree conversion, data formatting, sorting, and output. The file inputs are defined in the Inputs, as are the outputs.

This assignment has an additional two requirements. The first is to sort the air- ports alphabetically. The second is to sort the airports geographically and plan a route from south to north, all the while flying over land

1 Objectives

The objectives of this assignment are to demonstrate proficiency in file I/O, data structures, data transformation, sorting techniques, and file output using C language re- sources.

1.1 Inputs

There are two basic inputs, the input file name, and the input file data sort order defined below. The input file data is defined below.

1

1.1.1

1.2

Command Line arguments

The input file name and sort parameters are input from the command line as shown below.

hw3Sort filename.ext sortParameter

In the event that the filename.ext is not available, an appropriate error message shall be displayed. Use the example below for guidance.

hw3Sort ERROR: File bogusFilename not found.

It would be appropriate to display the valid sort parameters in the error message. The valid sort parameters are a for alphabetical sort or n for North Bound Exit. The sort parameters can be entered in either upper or lower case.

hw3Sort ERROR: valid sort parameters are a or n.

Input File fields

The CSV input file contains the following fields. Please note these fields may vary in size, content, and validity of the data. Also note that some of the data formats are a melange of types. Specifically, note that both latitude and longitude contain numbers, punctuation, and text. Likewise, the FAA Site number contains digits, letters, and punctuation. (This assignment will treat all input data as character data. Data conversion for some data is specified in greater detail below.)

1.3 Processing the data structure

The data conversions for this assignment, specified below, require a certain degree of parsing and calculation. Initially reading the input is to your advantage to deal with all data elements as character data. And then process the latitude and longitude, here- inafter referred to as degrees. The degrees are expressed as sexagesimal (base 60) numbers. Therefore it is required to create functions to establish valid latitudes and longitudes.

Please note that there are some airports whose Loc ID begin with numerical digits. There are also quite a few that contain two trailing digits. Typically these are helipads. For the purposes of this assignment those airports can be ignored or discarded from the input. Careful review of these airports will reveal they typically start with the string FL or X and are followed by 2 digits.

Therefore, it is highly recommended to discard any airport that does not contain three or four letters only.

2

Table 1: Airports Data Fields

Field Title

Description

Size

FAA Site Number

Contains leading digits fol- lowed by a decimal point and short text

Leading digits fol- lowed by a decimal point and zero to two digits and a letter

Loc ID

The airports short name, i.e. MCO for Orlando

4 characters

Airport Name

The airports full name, i.e. Orlando International

~30 characters

Associated City

The nearest city

~25 characters

State

State

2 characters

Region

FAA Region

3 characters

ADO

Airline Dispatch Office

3 characters

Use

Public or Private

2 characters

Latitude

DD-MM-SS.MASDirection

Degrees, minutes, seconds, milliarc- seconds followed by either N or S.

Longitude

DD-MM-SS.MASDirection

Degrees, minutes, seconds, milliarc- seconds followed by either E or W.

Airport Ownership

Public or Private

2 characters

Part 139

FAA Regulation

No data

NPIAS Service Level

National Plan Integrated Airport Systems Descriptor

~10 characters

NPIAS Hub Type

Intentionally left blank

n/a

Airport Control Tower

Y/N

one character

Fuel

Fuel types available

up to 6 characters

Other Services

Collections of tag indicating INSTRuction, etc.

12 characters

Based Aircraft Total

Number of aircraft (may be blank)

Integer number

Total Operations

Takeoffs/Landings/etc (may be blank)

Integer number

3

1.3.1 Latitude/Longitude Input

The latitude and longitude are both degrees, expressed as shown in the tables below. Table 2: Degrees

Table 3: Direction

The conversion of the DDD-MM-SS.MASD string is shown in Table 2. The for- mula to convert a sexagesimal degree measurement to a digital degree measurement is shown below.

degreesdecimal = DDD + MM/60 + SS.MAS/602 Note that the is derived from the information in Table 3 above.

1.4 Functions

1.4.1 float sexag2decimal(char *degreeString);

Description: Convert the sexagesimal input string of chars to a decimal degree based on the formula in Tables 2 and 3.

Special Cases: If a NULL pointer is passed to this function, simply return 0.0. Sim- ilarly, if the DD-MM-SS.MASD fields have invalid or out-of-range data, return 0.0.

Caveat: Even though the valid range of Degrees is from 0 to 180, the data files for the Continental US and Florida are from 0 to 99. Make sure that the conversion can handle all valid cases correctly.

4

Placeholder

Name

Value

Decimal

DD

Degrees

180

0-180

MM

Minutes

0-59

value

60

SS.MAS

Seconds.MilliArcSeconds

0-59.0-9999

value

602

D

Direction

N,S,E,W

See Table 3

Unit

Name

Decimal Sign

Latitude

N S

+ -

Longitude

E W

+ -

Hint: Take care to make sure the values for each numeric component are within their valid ranges. Refer to Table 2 for the ranges.

Returns: A floating point representation of the calculated decimal degrees or 0.0 in the special cases mentioned above.

1.4.2 void sortByLocID(lListAirPdata *airports); Description: Sorts the airports alphabetically by the string named Loc ID. Remember

that the Loc ID has been filtered to three or four letters.

Special Cases: Remember the helipads! In other words, it is recommended to skip airports whose Loc ID begin with a number, or start with either FL or X followed by two digits. Therefore, it is recommended to discard any airport whose LocID is not three or four letters.

Caveat: Since the sorting options are mutually exclusive, this function can destruc- tively manipulate the input list to produce the desired results.

Returns: Nothing. However the input data should be seriously modified by this pro- cess.

1.4.3 void sortByLatitude(lListAirPdata *airports); Description: Sorts the airports by latitude from South to North. Think of this as an

Escape from Key West to Georgia.

Special Cases: Remember the helipads! In other words, it is acceptable to skip air- ports whose Loc ID begin with a number, or start with either FL or X followed by two digits. Remember, it is recommended to discard any Loc ID that does not contain three or four letters only.

Output: Output the airports data per the output file specification derived from walk- ing thru the AVL tree until reaching the maximum latitude for the Florida border. For the purposed of this exercise, assume 31 degrees North.

Caveat: Since the sorting options are mutually exclusive, this function can destruc- tively manipulate the input list to produce the desired results.

Hint: RemembertousethetheconvertedLatitudeasameasurementcriteriaforbuild- ing an AVL tree.

Returns: Nothing. However the input data could be seriously modified by this pro- cess.

5

2 Outputs

The outputs of the program will be populated Struct airPdata data. This data will be formatted so as to provide output as defined in the following sections.

2.1 Data Structure

The structure struct airPdata is described below. Please note the correlation with the data files Field Names refer to Table 1 on page 3 for more information. NB The Javascript APIs and many other APIs for plotting geographic data REQUIRES that longitude is before latitude.

typedef struct airPdata{ char *LocID; //Airports Short Name, ie MCO char *fieldName; //Airport Name char *city; //Associated City float longitude; //Longitude float latitude; //Latitude

} airPdata;

2.2 File output

The file output for this assignment is stdout, aka the console. Make sure there is a headline that names each column. For example:

code,name,city,lat,lon DAB,DAYTONA BEACH INTL,DAYTONA BEACH,29.1797,-81.0581 FLL,FORT LAUDERDALE/HOLLYWOOD INTL,FORT LAUDERDALE,26.0717,-80.1494 GNV,GAINESVILLE RGNL,GAINESVILLE,29.6900,-82.2717 JAX,JACKSONVILLE INTL,JACKSONVILLE,30.4939,-81.6878 EYW,KEY WEST INTL,KEY WEST,24.5561,-81.7594 LAL,LAKELAND LINDER RGNL,LAKELAND,27.9889,-82.0183 MLB,MELBOURNE INTL,MELBOURNE,28.1025,-80.6450 MIA,MIAMI INTL,MIAMI,25.7953,-80.2900 APF,NAPLES MUNI,NAPLES,26.1522,-81.7756 SGJ,NORTHEAST FLORIDA RGNL,ST AUGUSTINE,29.9592,-81.3397 ECP,NORTHWEST FLORIDA BEACHES INTL,PANAMA CITY,30.3581,-85.7956 OCF,OCALA INTL-JIM TAYLOR FIELD,OCALA,29.1717,-82.2239 MCO,ORLANDO INTL,ORLANDO,28.4292,-81.3089

Things to note:

Digital degrees are expressed as floating point numbers of varying digits of pre- cision. This is an artifact of Javascript usage by many APIs. In this exercise 4 digits to the right of the decimal point is sufficient.

The first line of the file identifies the field names. This is a material fact and will adversely impact the output of the data in the webpage. Capitalization and spelling matter - and must match the first line above.

The text shown above has been converted to uppercase as a piece of information to help debugging. String case conversion is not required for this exercise. 6

3 Processing

The primary goal is to provide programmatic access to the data from the input CSV file. This must be accomplished using standard C file IO techniques. Also note that it is vital to utilize the stuct airPdata for all data retrieval/extraction and conversion. Likewise, use of the stuct airPdata is required for the file output.

3.1 Reading the input

There are several approaches to read the input. Perhaps the most important considera- tion is reading the line in for each airport. Please note that there is one line per airport. Also note, that once the line is read into the input buffer it might be advantageous to parse the input buffer based on the comma delimiter.

There are several approaches possible. Make sure to test on Eustis as line termina- tion characters/behaviors vary amongst operating systems.

Make sure that the output is formatted with decimal degrees.

3.2 Testing

The input files used in Homework 1 will be used as an additional testing file. Errors may be induced for the degrees.

The following files are provided for program testing. They are described below. Table 4: Test Files

Filename

Description

FL-airports-PLOT.csv

All 25 airports data formatted as defined in the Output Specification.

FL-ALL.csv

All 874 airports, including helipads, in Florida.

FL-RAW-airports.csv

A list of the 25 public Florida airports, wherein all the data is formatted as defined in the Input Specfication.

orlando.csv

25 airports, including helipads, near Or- lando.

orlando3BadDegrees.csv

25 airports, including helipads, near Or- lando. 3 of the airports have bogus data in a degree field.

7

4 Grading

Scoring will be based on the following rubric: Table5: GradingRubric

Percentage

Description

-100

Cannot compile on Eustis

- 50

Cannot accept input filename as command line argu- ment

- 30

Cannot read input file

Cannot output valid csv formatted data

- 15

Severe deviations from csv format (eg. printing wrong fields, or excessive junk lines, or nothing)

- 10

Moderate deviations from csv format (eg. has format- ted columns)

-5

Only minor deviations from csv format (eg. an extra space or comma here or there)

- 15

Printed nothing

- 10

Printed only a few airports

-5

Only missing one or two airports

Does not correctly convert latitude or longitude to decimal degrees

- 30

Does not convert at all

- 20

Converts, but has many computational errors

- 10

Converts, with 10 or fewer errors

Note: While perfect accuracy is an achievable stan- dard for this conversion, your numbers are consid- ered correct if they are within +/- 0.0002 of the actual value.

Does not catch errors in degrees fields

- 10

Does not catch errors in degrees fields.

-5

Catches some but not all errors

5 Submission Instructions

The assignment shall be submitted via WebCourses. There should be one file in the submission.

The main source file named hw3Sort.c

A comment in the source file containing the following statement -Your state- ment that the program is entirely your own work and that you have neither de- veloped your code together with any another person, nor copied program code

8

from any other person, nor permitted your code to be copied or otherwise used by any other person, nor have you copied, modified, or otherwise used program code that you have found in any external source, including but not limited to, online sources

9

#include

#include

#include

#include "airPdata.h"

/*Code*/

/*Put each line of the text file into the airpdata structure (already done by parseline function) then put it into a double linked list. In the sort functions, you sort the double linked list either alphabetically or by latitude then you print it. In the sexag2decimal function you just apply the formula from the pdf to the longitude/latitude to turn them from sexagesimal degrees to decimal degrees.*/

void parseLine(char *line, airPdata *app);

void printData(int length, airPdata *apd);

void deleteStruct(airPdata *apd);

float sexag2decimal(char *degreeString);

void sortByLocID(lListAirPdata *airports);

void sortByLatitude(lListAirPdata *airports);

int checkLocID(tocheck);

#define BUFFER_SIZE 500

int main (int argc, char *argv[]){

// Declare input buffer and other parameters

FILE *fid;

char buffer[BUFFER_SIZE];

int count = 0;

// Check for command line input and open input file.

if(argc==3){

fid = fopen(argv[1], "r");

if(fid==NULL){

printf("hw3Sort ERROR: File 'bogusFilename' not found. ", argv[1]);

return 2;

}

if(tolower(argv[2]) != "a" || tolower(argv[2]) != "n"){

printf("hw3Sort ERROR: valid sort parameters are a or n.");

}

}

else{

printf("Incorect number of input parameters. Please specify the name of the input file and sort parameter only. ");

return 1;

}

// Determine length of the file.

while(fgets(buffer, BUFFER_SIZE, fid) != NULL){

count++;

}

rewind(fid);

// Declare a struct array and allocate memory.

airPdata *data;

data = malloc(sizeof(airPdata)*count);

if(data==NULL){

printf("Memory allocation for airPdata array failed. Aborting. ");

return 2;

}

// Read and parse each line of the inputt file.

for(int i = 0; i

fgets(buffer, BUFFER_SIZE, fid);

// fgets() includes the New Line delimiter in the output string.

// i.e. "This is my string. \0"

// We will truncate the string to drop the ' ' if it is there.

// Note: There will be no ' ' if the line is longer than the buffer.

if(buffer[strlen(buffer) - 1] == ' ') buffer[strlen(buffer)-1] = '\0';

parseLine(buffer, data+i);

}

// close the input file.

fclose(fid);

// Output the data to stdout.

printData(count, data);

// Free the memory used for fields of the structs.

for(int i=0; i

deleteStruct(data+i);

}

// Free the memory for the struct array.

free(data);

return 0;

}

void parseLine(char *line, airPdata *apd){

int i=0, j=0, commas=0;

while(commas<15){

while(*(line+i)!=','){

i++;

}

// strncpy does not append a '\0' to the end of the copied sub-string, so we will

// replace the comma with '\0'.

*(line+i) = '\0';

switch (commas){

case 0: //Grab the first "field" - Site Number

apd->siteNumber = malloc(sizeof(char)*(i-j+1));

if(apd->siteNumber==NULL){

printf("malloc failed to initialize airPdata.siteNumber. ");

exit(-1);

}

strncpy(apd->siteNumber, line+j, i-j+1);

break;

case 1: //Grab the second "field" - Location ID

apd->LocID = malloc(sizeof(char)*(i-j+1));

if(apd->LocID==NULL){

printf("malloc failed to initialize airPdata.LocID. ");

exit(-1);

}

strncpy(apd->LocID, line+j, i-j+1);

break;

case 2: //Grab the third "field" - Field Name

apd->fieldName = malloc(sizeof(char)*(i-j+1));

if(apd->fieldName==NULL){

printf("malloc failed to initialize airPdata.fieldName. ");

exit(-1);

}

strncpy(apd->fieldName, line+j, i-j+1);

break;

case 3: //Grab the fourth "field" - City

apd->city = malloc(sizeof(char)*(i-j+1));

if(apd->city==NULL){

printf("malloc failed to initialize airPdata.city. ");

exit(-1);

}

strncpy(apd->city, line+j, i-j+1);

break;

case 4: //Grab the fifth "field" - State

apd->state = malloc(sizeof(char)*(i-j+1));

if(apd->state==NULL){

printf("malloc failed to initialize airPdata.state. ");

exit(-1);

}

strncpy(apd->state, line+j, i-j+1);

break;

case 8: //Grab the ninth "field" - Latitude (sexagesimal string)

apd->latitude = malloc(sizeof(char)*(i-j+1));

if(apd->latitude==NULL){

printf("malloc failed to initialize airPdata.latitude. ");

exit(-1);

}

strncpy(apd->latitude, line+j, i-j+1);

break;

case 9: //Grab the tenth "field" - Longitude (sexagesimal string)

apd->longitude = malloc(sizeof(char)*(i-j+1));

if(apd->longitude==NULL){

printf("malloc failed to initialize airPdata.longitude. ");

exit(-1);

}

strncpy(apd->longitude, line+j, i-j+1);

break;

case 14: //Grab the fifteenth "field" - Control Tower (Y or N)

apd->controlTower=*(line+j);

break;

case 16: //Grab the seventeenth "field" - Control Tower on North/South runway (Y or N)

apd->controlTower=*(line+j);

break;

}

j=++i;

commas++;

}

}

int checkLocID(tocheck){

for(int i = 0; i < strlen(tocheck); i++){ //if there's a number, return 0 because it's a helipad

if(!isalpha(tocheck[i]){

return 0;

}

}

return 1;

}

float sexag2decimal(char *degreeString){

if(degreeString == NULL){

return 0.0;

}

print latitudaly;

}

void sortByLocID(lListAirPdata *airports){

//argv 2 = A sort alphabetically

//argv 2 = N sort by latitide

print alphabetically;

}

void printData(int length, airPdata *data){

printf("%-12s %-11s %-42s %-34s %-3s %-15s %-16s Tower ", "FAA Site", "Short Name", "Airport Name", "City", "ST", "Latitude", "Longitude");

printf("%-12s %-11s %-42s %-34s %-3s %-15s %-16s ===== ", "========", "==========", "============", "====", "==", "========", "=========");

for(int i=0; i

if((strlen((data+i)->LocID) == 3 || strlen((data+i)->LocID) == 4) && checkLocID((data+i)->LocID) == 1){

if(argv[2] == 'n'){

call function to print by location;

}

if(argv[2] == 'a'){

sortByLocID(data);

}

}

printf("%-12s %-11s %-42s %-34s %-3s %-15s %-16s %c ",(data+i)->siteNumber,(data+i)->LocID,(data+i)->fieldName,

(data+i)->city,(data+i)->state,(data+i)->latitude,(data+i)->longitude,(data+i)->controlTower);

}

}

void deleteStruct(airPdata *apd){

free(apd->longitude);

free(apd->latitude);

free(apd->state);

free(apd->city);

free(apd->fieldName);

free(apd->LocID);

free(apd->siteNumber);

}

/*

* This code is supplied for HW3 as a baseline for solving the

* problems uniq to HW3 - sorting decimal latitude and airports.

* It will likely use the code from the AVL labs to expedite the

* sorting.

*/

/*parseline puts each line into the data structure so we need to put that structure into an array and put the whole file into the array this way, one line at a time. Then in sortByLocID, sort the array alphabetically (no need to print, just

change the array).*/

/*AirPData.h*/

typedef struct airPdata{

char*LocID; //Airports Short Name, ie MCO

char*fieldName; //Airport Name

char*city; //Associated City

float longitude; //Longitude

float latitude; //Latitude

} airPdata;

We test the below test cases by using the following steps.

/*batchTest.sh*/

echo "Begin Testing"

gcc Hw3Sort.c

echo "Check just5.csv - alpha sort"

./a.out just5.csv A >scrat

diff scrat just5SortAlpha.txt

echo "Check just5.csv - north sort"

./a.out just5.csv n >scrat

diff scrat just5SortNorth.txt

echo "Check bad5.csv - alpha sort"

./a.out bad5.csv A >scrat

diff scrat bad5SortAlpha.txt

echo "Check bad5.csv - north sort"

./a.out bad5.csv n >scrat

diff scrat bad5SortNorth.txt

echo "Check FL-ALL.csv - alpha sort"

./a.out FL-ALL.csv A >scrat

diff scrat FL-ALL-SortAlpha.txt

echo "Check FL-ALL.csv - north sort"

./a.out FL-ALL.csv n >scrat

diff scrat FL-ALL-SortNorth.txt

/*bad5.csv*/

03263.*A,EYW,KEY WEST INTL,KEY WEST,FL,ASO,ORL,PU,24-33-22.0000N,081-45-34.4000W,PU,I B S 12/1978,Primary,Small,Y,100 A,AMB CHTR INSTR RNTL SALES,50,92390

03321.*A,MLB,MELBOURNE INTL,MELBOURNE,FL,ASO,ORL,PU,qq-06-09.9000N,080-38-42.9000W,PU,I C S 05/1973,Primary,Non-Hub,Y,100LLA,AMB AVNCS CARGO CHTR INSTR RNTL,224,0

03435.*A,PNS,PENSACOLA INTL,PENSACOLA,FL,ASO,ORL,PU,30-28-24.3320N,087-11-11.8040W,PU,I C S 04/2005,Primary,Small,Y,100 100LLA,AMB CHTR INSTR RNTL SALES,102,0

03532.*A,TIX,SPACE COAST RGNL,TITUSVILLE,FL,ASO,ORL,PU,28-30-53.2800N,080-47-57.2200W,PU,IV A U 10/1985,General Aviation,,Y,100LLA,AVNCS CHTR INSTR RNTL SALES,79,196000

03540.*A,VRB,VERO BEACH MUNI,VERO BEACH,FL,ASO,ORL,PU,z9-39-20.0000N,780-25-04.6000W,PU,I A S 11/1974,General Aviation,,Y,100 A,AFRT AMB AVNCS CHTR INSTR RNTL SALES,231,53160

/*bad5SortAlpha.txt*/

code,name,city,lat,lon

EYW,KEY WEST INTL,KEY WEST,24.5561,-81.7596

MLB,MELBOURNE INTL,MELBOURNE,0.0000,-80.6452

PNS,PENSACOLA INTL,PENSACOLA,30.4734,-87.1866

TIX,SPACE COAST RGNL,TITUSVILLE,28.5148,-80.7992

VRB,VERO BEACH MUNI,VERO BEACH,0.0000,0.0000

/*bad5SortNorth.txt*/

code,name,city,lat,lon

MLB,MELBOURNE INTL,MELBOURNE,0.0000,-80.6452

VRB,VERO BEACH MUNI,VERO BEACH,0.0000,0.0000

EYW,KEY WEST INTL,KEY WEST,24.5561,-81.7596

TIX,SPACE COAST RGNL,TITUSVILLE,28.5148,-80.7992

PNS,PENSACOLA INTL,PENSACOLA,30.4734,-87.1866

/*FL-ALL-SortAlpha.txt*/

code,name,city,lat,lon

AAF,APALACHICOLA RGNL-CLEVE RANDOLPH FIELD,APALACHICOLA,29.7275,-85.0274

AGR,MACDILL AFB AUX FLD,AVON PARK,27.6479,-81.3416

APF,NAPLES MUNI,NAPLES,26.1524,-81.7756

AVO,AVON PARK EXECUTIVE,AVON PARK,27.5913,-81.5290

BCT,BOCA RATON,BOCA RATON,26.3785,-80.1077

BKV,BROOKSVILLE-TAMPA BAY RGNL,BROOKSVILLE,28.4736,-82.4554

BOW,BARTOW MUNI,BARTOW,27.9434,-81.7834

CDK,GEORGE T LEWIS,CEDAR KEY,29.1342,-83.0505

CEW,BOB SIKES,CRESTVIEW,30.7788,-86.5221

CGC,CRYSTAL RIVER-CAPTAIN TOM DAVIS FLD,CRYSTAL RIVER,28.8676,-82.5741

CHN,WAUCHULA MUNI,WAUCHULA,27.5149,-81.8805

CLW,CLEARWATER AIR PARK,CLEARWATER,27.9772,-82.7591

COF,PATRICK AFB,COCOA BEACH,28.2350,-80.6100

COI,MERRITT ISLAND,MERRITT ISLAND,28.3416,-80.6855

CRG,JACKSONVILLE EXECUTIVE AT CRAIG,JACKSONVILLE,30.3363,-81.5144

CTY,CROSS CITY,CROSS CITY,29.6355,-83.1048

DAB,DAYTONA BEACH INTL,DAYTONA BEACH,29.1799,-81.0581

DED,DELAND MUNI-SIDNEY H TAYLOR FIELD,DELAND,29.0670,-81.2838

DTS,DESTIN EXECUTIVE,DESTIN,30.4001,-86.4715

ECP,NORTHWEST FLORIDA BEACHES INTL,PANAMA CITY,30.3582,-85.7956

EGI,DUKE FIELD-(EGLIN AF AUX NR 3),CRESTVIEW,30.6486,-86.5220

EVB,NEW SMYRNA BEACH MUNI,NEW SMYRNA BEACH,29.0557,-80.9489

EYW,KEY WEST INTL,KEY WEST,24.5561,-81.7596

FHB,FERNANDINA BEACH MUNI,FERNANDINA BEACH,30.6118,-81.4612

FIN,FLAGLER EXECUTIVE,PALM COAST,29.4657,-81.2087

FLL,FORT LAUDERDALE/HOLLYWOOD INTL,FORT LAUDERDALE,26.0717,-80.1497

FMY,PAGE FIELD,FORT MYERS,26.5866,-81.8633

FPR,TREASURE COAST INTL,FORT PIERCE,27.4975,-80.3726

FXE,FORT LAUDERDALE EXECUTIVE,FORT LAUDERDALE,26.1973,-80.1707

GIF,WINTER HAVEN'S GILBERT,WINTER HAVEN,28.0629,-81.7533

GNV,GAINESVILLE RGNL,GAINESVILLE,29.6901,-82.2718

HEG,HERLONG RECREATIONAL,JACKSONVILLE,30.2778,-81.8059

HRT,HURLBURT FIELD,MARY ESTHER,30.4289,-86.6888

HST,HOMESTEAD ARB,HOMESTEAD,25.4886,-80.3836

HWO,NORTH PERRY,HOLLYWOOD,26.0012,-80.2407

IMM,IMMOKALEE RGNL,IMMOKALEE,26.4338,-81.4014

INF,INVERNESS,INVERNESS,28.8036,-82.3183

ISM,KISSIMMEE GATEWAY,ORLANDO,28.2898,-81.4371

JAX,JACKSONVILLE INTL,JACKSONVILLE,30.4941,-81.6878

LAL,LAKELAND LINDER RGNL,LAKELAND,27.9889,-82.0186

LCQ,LAKE CITY GATEWAY,LAKE CITY,30.1821,-82.5769

LEE,LEESBURG INTL,LEESBURG,28.8229,-81.8084

LNA,PALM BEACH COUNTY PARK,WEST PALM BEACH,26.5931,-80.0851

MAI,MARIANNA MUNI,MARIANNA,30.8378,-85.1819

MCF,MACDILL AFB,TAMPA,27.8493,-82.5212

MCO,ORLANDO INTL,ORLANDO,28.4294,-81.3090

MIA,MIAMI INTL,MIAMI,25.7954,-80.2901

MKY,MARCO ISLAND,MARCO ISLAND,25.9950,-81.6725

MLB,MELBOURNE INTL,MELBOURNE,28.1028,-80.6452

MTH,THE FLORIDA KEYS MARATHON INTL,MARATHON,24.7262,-81.0514

NBV,NAVAL SURFACE WARFARE CENTER PANAMA CITY,PANAMA CITY,30.1752,-85.7525

NDZ,WHITING FIELD NAS SOUTH,MILTON,30.6986,-87.0144

NEN,WHITEHOUSE NOLF,JACKSONVILLE,30.3495,-81.8670

NFJ,CHOCTAW NOLF,MILTON,30.5069,-86.9597

NGS,SANTA ROSA NOLF,MILTON,30.6108,-86.9400

NIP,JACKSONVILLE NAS (TOWERS FLD),JACKSONVILLE,30.2337,-81.6761

NKL,HOLLEY NOLF,FORT WALTON BEACH,30.4252,-86.8938

NPA,PENSACOLA NAS/FORREST SHERMAN FIELD,PENSACOLA,30.3533,-87.3180

NQX,KEY WEST NAS /BOCA CHICA FIELD/,KEY WEST,24.5746,-81.6866

NRB,MAYPORT NS (ADM DAVID L MCDONALD FIELD),MAYPORT,30.3914,-81.4245

NRQ,SPENCER NOLF,PACE,30.6167,-87.1333

NSE,WHITING FIELD NAS NORTH,MILTON,30.7225,-87.0239

NUN,SAUFLEY FIELD NOLF,PENSACOLA,30.4697,-87.3381

NVI,PACE NOLF,WALLACE,30.6997,-87.1956

NZX,HAROLD NOLF,HAROLD,30.6807,-86.8872

OBE,OKEECHOBEE COUNTY,OKEECHOBEE,27.2666,-80.8504

OCF,OCALA INTL-JIM TAYLOR FIELD,OCALA,29.1719,-82.2241

OMN,ORMOND BEACH MUNI,ORMOND BEACH,29.3011,-81.1138

OPF,OPA-LOCKA EXECUTIVE,MIAMI,25.9074,-80.2782

ORL,EXECUTIVE,ORLANDO,28.5455,-81.3329

PAM,TYNDALL AFB,PANAMA CITY,30.0696,-85.5754

PBI,PALM BEACH INTL,WEST PALM BEACH,26.6832,-80.0956

PCM,PLANT CITY,PLANT CITY,28.0002,-82.1633

PGD,PUNTA GORDA,PUNTA GORDA,26.9189,-81.9909

PHK,PALM BEACH CO GLADES,PAHOKEE,26.7850,-80.6934

PIE,ST PETE-CLEARWATER INTL,ST PETERSBURG-CLEARWATER,27.9087,-82.6865

PMP,POMPANO BEACH AIRPARK,POMPANO BEACH,26.2474,-80.1112

PNS,PENSACOLA INTL,PENSACOLA,30.4734,-87.1866

RSW,SOUTHWEST FLORIDA INTL,FORT MYERS,26.5362,-81.7552

SEF,SEBRING RGNL,SEBRING,27.4564,-81.3424

SFB,ORLANDO SANFORD INTL,ORLANDO,28.7770,-81.2349

SGJ,NORTHEAST FLORIDA RGNL,ST AUGUSTINE,29.9593,-81.3397

SPG,ALBERT WHITTED,ST PETERSBURG,27.7651,-82.6270

SRQ,SARASOTA/BRADENTON INTL,SARASOTA/BRADENTON,27.3954,-82.5544

SUA,WITHAM FIELD,STUART,27.1817,-80.2213

TIX,SPACE COAST RGNL,TITUSVILLE,28.5148,-80.7992

TLH,TALLAHASSEE INTL,TALLAHASSEE,30.3967,-84.3509

TMB,MIAMI EXECUTIVE,MIAMI,25.6476,-80.4332

TNT,DADE-COLLIER TRAINING AND TRANSITION,MIAMI,25.8618,-80.8970

TPA,TAMPA INTL,TAMPA,27.9755,-82.5333

TPF,PETER O KNIGHT,TAMPA,27.9154,-82.4494

TTS,NASA SHUTTLE LANDING FACILITY,TITUSVILLE,28.6149,-80.6944

VDF,TAMPA EXECUTIVE,TAMPA,28.0140,-82.3453

VNC,VENICE MUNI,VENICE,27.0716,-82.4403

VPS,EGLIN AFB/DESTIN-FT WALTON BEACH,VALPARAISO/DESTIN-FT WALTON BEACH,30.4832,-86.5260

VQQ,CECIL,JACKSONVILLE,30.2188,-81.8772

VRB,VERO BEACH MUNI,VERO BEACH,27.6556,-80.4179

XMR,CAPE CANAVERAL AFS SKID STRIP,COCOA BEACH,28.4676,-80.5666

ZPH,ZEPHYRHILLS MUNI,ZEPHYRHILLS,28.2280,-82.1560

/*FL-ALL-SouthNorth.txt*/

code,name,city,lat,lon

EYW,KEY WEST INTL,KEY WEST,24.5561,-81.7596

NQX,KEY WEST NAS /BOCA CHICA FIELD/,KEY WEST,24.5746,-81.6866

MTH,THE FLORIDA KEYS MARATHON INTL,MARATHON,24.7262,-81.0514

HST,HOMESTEAD ARB,HOMESTEAD,25.4886,-80.3836

TMB,MIAMI EXECUTIVE,MIAMI,25.6476,-80.4332

MIA,MIAMI INTL,MIAMI,25.7954,-80.2901

TNT,DADE-COLLIER TRAINING AND TRANSITION,MIAMI,25.8618,-80.8970

OPF,OPA-LOCKA EXECUTIVE,MIAMI,25.9074,-80.2782

MKY,MARCO ISLAND,MARCO ISLAND,25.9950,-81.6725

HWO,NORTH PERRY,HOLLYWOOD,26.0012,-80.2407

FLL,FORT LAUDERDALE/HOLLYWOOD INTL,FORT LAUDERDALE,26.0717,-80.1497

APF,NAPLES MUNI,NAPLES,26.1524,-81.7756

FXE,FORT LAUDERDALE EXECUTIVE,FORT LAUDERDALE,26.1973,-80.1707

PMP,POMPANO BEACH AIRPARK,POMPANO BEACH,26.2474,-80.1112

BCT,BOCA RATON,BOCA RATON,26.3785,-80.1077

IMM,IMMOKALEE RGNL,IMMOKALEE,26.4338,-81.4014

RSW,SOUTHWEST FLORIDA INTL,FORT MYERS,26.5362,-81.7552

FMY,PAGE FIELD,FORT MYERS,26.5866,-81.8633

LNA,PALM BEACH COUNTY PARK,WEST PALM BEACH,26.5931,-80.0851

PBI,PALM BEACH INTL,WEST PALM BEACH,26.6832,-80.0956

PHK,PALM BEACH CO GLADES,PAHOKEE,26.7850,-80.6934

PGD,PUNTA GORDA,PUNTA GORDA,26.9189,-81.9909

VNC,VENICE MUNI,VENICE,27.0716,-82.4403

SUA,WITHAM FIELD,STUART,27.1817,-80.2213

OBE,OKEECHOBEE COUNTY,OKEECHOBEE,27.2666,-80.8504

SRQ,SARASOTA/BRADENTON INTL,SARASOTA/BRADENTON,27.3954,-82.5544

SEF,SEBRING RGNL,SEBRING,27.4564,-81.3424

FPR,TREASURE COAST INTL,FORT PIERCE,27.4975,-80.3726

CHN,WAUCHULA MUNI,WAUCHULA,27.5149,-81.8805

AVO,AVON PARK EXECUTIVE,AVON PARK,27.5913,-81.5290

AGR,MACDILL AFB AUX FLD,AVON PARK,27.6479,-81.3416

VRB,VERO BEACH MUNI,VERO BEACH,27.6556,-80.4179

SPG,ALBERT WHITTED,ST PETERSBURG,27.7651,-82.6270

MCF,MACDILL AFB,TAMPA,27.8493,-82.5212

PIE,ST PETE-CLEARWATER INTL,ST PETERSBURG-CLEARWATER,27.9087,-82.6865

TPF,PETER O KNIGHT,TAMPA,27.9154,-82.4494

BOW,BARTOW MUNI,BARTOW,27.9434,-81.7834

TPA,TAMPA INTL,TAMPA,27.9755,-82.5333

CLW,CLEARWATER AIR PARK,CLEARWATER,27.9772,-82.7591

LAL,LAKELAND LINDER RGNL,LAKELAND,27.9889,-82.0186

PCM,PLANT CITY,PLANT CITY,28.0002,-82.1633

VDF,TAMPA EXECUTIVE,TAMPA,28.0140,-82.3453

GIF,WINTER HAVEN'S GILBERT,WINTER HAVEN,28.0629,-81.7533

MLB,MELBOURNE INTL,MELBOURNE,28.1028,-80.6452

ZPH,ZEPHYRHILLS MUNI,ZEPHYRHILLS,28.2280,-82.1560

COF,PATRICK AFB,COCOA BEACH,28.2350,-80.6100

ISM,KISSIMMEE GATEWAY,ORLANDO,28.2898,-81.4371

COI,MERRITT ISLAND,MERRITT ISLAND,28.3416,-80.6855

MCO,ORLANDO INTL,ORLANDO,28.4294,-81.3090

XMR,CAPE CANAVERAL AFS SKID STRIP,COCOA BEACH,28.4676,-80.5666

BKV,BROOKSVILLE-TAMPA BAY RGNL,BROOKSVILLE,28.4736,-82.4554

TIX,SPACE COAST RGNL,TITUSVILLE,28.5148,-80.7992

ORL,EXECUTIVE,ORLANDO,28.5455,-81.3329

TTS,NASA SHUTTLE LANDING FACILITY,TITUSVILLE,28.6149,-80.6944

SFB,ORLANDO SANFORD INTL,ORLANDO,28.7770,-81.2349

INF,INVERNESS,INVERNESS,28.8036,-82.3183

LEE,LEESBURG INTL,LEESBURG,28.8229,-81.8084

CGC,CRYSTAL RIVER-CAPTAIN TOM DAVIS FLD,CRYSTAL RIVER,28.8676,-82.5741

EVB,NEW SMYRNA BEACH MUNI,NEW SMYRNA BEACH,29.0557,-80.9489

DED,DELAND MUNI-SIDNEY H TAYLOR FIELD,DELAND,29.0670,-81.2838

CDK,GEORGE T LEWIS,CEDAR KEY,29.1342,-83.0505

OCF,OCALA INTL-JIM TAYLOR FIELD,OCALA,29.1719,-82.2241

DAB,DAYTONA BEACH INTL,DAYTONA BEACH,29.1799,-81.0581

OMN,ORMOND BEACH MUNI,ORMOND BEACH,29.3011,-81.1138

FIN,FLAGLER EXECUTIVE,PALM COAST,29.4657,-81.2087

CTY,CROSS CITY,CROSS CITY,29.6355,-83.1048

GNV,GAINESVILLE RGNL,GAINESVILLE,29.6901,-82.2718

AAF,APALACHICOLA RGNL-CLEVE RANDOLPH FIELD,APALACHICOLA,29.7275,-85.0274

SGJ,NORTHEAST FLORIDA RGNL,ST AUGUSTINE,29.9593,-81.3397

PAM,TYNDALL AFB,PANAMA CITY,30.0696,-85.5754

NBV,NAVAL SURFACE WARFARE CENTER PANAMA CITY,PANAMA CITY,30.1752,-85.7525

LCQ,LAKE CITY GATEWAY,LAKE CITY,30.1821,-82.5769

VQQ,CECIL,JACKSONVILLE,30.2188,-81.8772

NIP,JACKSONVILLE NAS (TOWERS FLD),JACKSONVILLE,30.2337,-81.6761

HEG,HERLONG RECREATIONAL,JACKSONVILLE,30.2778,-81.8059

CRG,JACKSONVILLE EXECUTIVE AT CRAIG,JACKSONVILLE,30.3363,-81.5144

NEN,WHITEHOUSE NOLF,JACKSONVILLE,30.3495,-81.8670

NPA,PENSACOLA NAS/FORREST SHERMAN FIELD,PENSACOLA,30.3533,-87.3180

ECP,NORTHWEST FLORIDA BEACHES INTL,PANAMA CITY,30.3582,-85.7956

NRB,MAYPORT NS (ADM DAVID L MCDONALD FIELD),MAYPORT,30.3914,-81.4245

TLH,TALLAHASSEE INTL,TALLAHASSEE,30.3967,-84.3509

DTS,DESTIN EXECUTIVE,DESTIN,30.4001,-86.4715

NKL,HOLLEY NOLF,FORT WALTON BEACH,30.4252,-86.8938

HRT,HURLBURT FIELD,MARY ESTHER,30.4289,-86.6888

NUN,SAUFLEY FIELD NOLF,PENSACOLA,30.4697,-87.3381

PNS,PENSACOLA INTL,PENSACOLA,30.4734,-87.1866

VPS,EGLIN AFB/DESTIN-FT WALTON BEACH,VALPARAISO/DESTIN-FT WALTON BEACH,30.4832,-86.5260

JAX,JACKSONVILLE INTL,JACKSONVILLE,30.4941,-81.6878

NFJ,CHOCTAW NOLF,MILTON,30.5069,-86.9597

NGS,SANTA ROSA NOLF,MILTON,30.6108,-86.9400

FHB,FERNANDINA BEACH MUNI,FERNANDINA BEACH,30.6118,-81.4612

NRQ,SPENCER NOLF,PACE,30.6167,-87.1333

EGI,DUKE FIELD-(EGLIN AF AUX NR 3),CRESTVIEW,30.6486,-86.5220

NZX,HAROLD NOLF,HAROLD,30.6807,-86.8872

NDZ,WHITING FIELD NAS SOUTH,MILTON,30.6986,-87.0144

NVI,PACE NOLF,WALLACE,30.6997,-87.1956

NSE,WHITING FIELD NAS NORTH,MILTON,30.7225,-87.0239

CEW,BOB SIKES,CRESTVIEW,30.7788,-86.5221

MAI,MARIANNA MUNI,MARIANNA,30.8378,-85.1819

/*just5.csv*/

03263.*A,EYW,KEY WEST INTL,KEY WEST,FL,ASO,ORL,PU,24-33-22.0000N,081-45-34.4000W,PU,I B S 12/1978,Primary,Small,Y,100 A,AMB CHTR INSTR RNTL SALES,50,92390

03321.*A,MLB,MELBOURNE INTL,MELBOURNE,FL,ASO,ORL,PU,28-06-09.9000N,080-38-42.9000W,PU,I C S 05/1973,Primary,Non-Hub,Y,100LLA,AMB AVNCS CARGO CHTR INSTR RNTL,224,0

03435.*A,PNS,PENSACOLA INTL,PENSACOLA,FL,ASO,ORL,PU,30-28-24.3320N,087-11-11.8040W,PU,I C S 04/2005,Primary,Small,Y,100 100LLA,AMB CHTR INSTR RNTL SALES,102,0

03532.*A,TIX,SPACE COAST RGNL,TITUSVILLE,FL,ASO,ORL,PU,28-30-53.2800N,080-47-57.2200W,PU,IV A U 10/1985,General Aviation,,Y,100LLA,AVNCS CHTR INSTR RNTL SALES,79,196000

03540.*A,VRB,VERO BEACH MUNI,VERO BEACH,FL,ASO,ORL,PU,27-39-20.0000N,080-25-04.6000W,PU,I A S 11/1974,General Aviation,,Y,100 A,AFRT AMB AVNCS CHTR INSTR RNTL SALES,231,53160

/*just5SortAlpha.txt*/

code,name,city,lat,lon

EYW,KEY WEST INTL,KEY WEST,24.5561,-81.7596

MLB,MELBOURNE INTL,MELBOURNE,28.1028,-80.6452

PNS,PENSACOLA INTL,PENSACOLA,30.4734,-87.1866

TIX,SPACE COAST RGNL,TITUSVILLE,28.5148,-80.7992

VRB,VERO BEACH MUNI,VERO BEACH,27.6556,-80.4179

/*just5SortNorth.txt*/

code,name,city,lat,lon

EYW,KEY WEST INTL,KEY WEST,24.5561,-81.7596

VRB,VERO BEACH MUNI,VERO BEACH,27.6556,-80.4179

MLB,MELBOURNE INTL,MELBOURNE,28.1028,-80.6452

TIX,SPACE COAST RGNL,TITUSVILLE,28.5148,-80.7992

PNS,PENSACOLA INTL,PENSACOLA,30.4734,-87.1866

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

From Herds To Insights Harnessing Data Analytics For Sustainable Livestock Farming

Authors: Prof Suresh Neethirajan

1st Edition

B0CFD6K6KK, 979-8857075487

More Books

Students also viewed these Databases questions

Question

4. How has e-commerce affected business-to-business transactions?

Answered: 1 week ago