I'm writing a program to use with X-Plane 11. It involves airports ( ICAO codes), FAA Regions and Countries.
And what I need is the ICAO code, FAA Region, Country, Latitude and Longitude for some 34,000 +/- airports.
The data looks like this:
KPHX K2 Phoenix United States 33.434277778 -112.011583333
I have about 12,000 records which are complete and about 23,000 which are missing various data items.
All have ICAO, Latitude and Longitude but some are missing City, Country or Region code.. Some are missing one, two or even three of the data items.
I have a working API into Airport-Data and I could just do a mass lookup for the data as the API returns all the information I require.
However, it might bring down the sites.
There are ways of resolving a lot of the 23,000 bad records without doing an API call for the data.
Example: If an ICAO starts with 'ED' as in EDDK the airport is located in Germany and the city is Cologne. I did not get Cologne from knowing the ICAO code started with 'ED'. But there are ways in some cases of determine the city other than the API call.
Because I have some 12,000 complete records such as:
"KPHX K2 Phoenix United States 33.434277778 -112.011583333"
I can do a haversine calculation (Great-Circle Distance between two points on a sphere GCD). If I do the GCD between an airport record missing data against the 12,000 complete records I will get the closet distance to the nearest airport. This will probably resolve the missing Country and sometimes the missing FAA Region code and even the city is some cases.
I do not intend to do a mass API look up for the data I need but rather a 15 or 20 ICAO look up. And I willing to do it at off hours.
The end program is not for commercial use. It may be made available to the X-Plane 11 user community free of charge but won't be old.
When the program is complete I will have a database of about 35,000 +/- worldwide airports with ICAO code, City, Country, Latitude and Longitude. It will be made available free of charge for the asking.
As there was no other place to post or no contact for something like this I have posted it here.
Thanks;