Eu tenho pelo menos uma solução parcial para você. Como mencionei em um comentário anterior, fiz alguns trabalhos para esse objetivo no passado. O que eu fiz com base em sua solicitação foi extrair parte desse código para criar uma API de aeroportos que inclui valores de latitude, longitude, deslocamento UTC e fuso horário.
Aqui estão alguns exemplos sobre os endpoints.
Para todos os dados em toda a API, você pode enviar uma solicitação HTTP GET para https://airports-api.s3-us-west-2.amazonaws.com/
. Você receberá uma resposta JSON contendo todos os aeroportos como uma matriz de objetos. É uma resposta enorme.
Para obter informações mais detalhadas, os dois padrões RESTful a seguir podem ser utilizados para os códigos de aeroportos ICAO ou IATA, respectivamente.
https://airports-api.s3-us-west-2.amazonaws.com/icao/katl.json
https://airports-api.s3-us-west-2.amazonaws.com/iata/atl.json
Em ambos os casos, você receberá uma resposta JSON apenas para esse aeroporto. Deve ser assim.
{
"id":3682,
"city":"Hartsfield Jackson Atlanta Intl",
"state":"Atlanta",
"country":"United States",
"iata":"ATL",
"icao":"KATL",
"latitude":33.636719,
"longitude":-84.428067,
"elevation":1026,
"utc_offset":-5,
"_class":"A",
"timezone":"America/New_York"
}
Agora eu sei que você está trabalhando em PHP, mas certamente há bibliotecas em PHP que permitirão que você faça solicitações à API e analise o JSON em uma matriz PHP.
Além disso, um aviso de isenção e uma solicitação. Meus dados estão incompletos. Atualmente, este projeto é no Github na forma de um site de Middleman que lê o CSV de origem e cria uma API estática. Eu adoraria que os colaboradores me ajudassem a expandir e melhorar os dados de origem. Eu também tenho código que eu posso extrair de outros projetos que determinam os valores de deslocamento UTC e fuso horário, se pelo menos soubermos a latitude e a longitude. É necessário fazer solicitações para a API do fuso horário do Google Maps , que custaria caro se isso fosse feito sob demanda. Eu preferiria continuar digerindo os dados e reconstruindo a API como um site estático. Envolva-se no Github se quiser ajudar.
Atualizar
Encontrei outra fonte de dados que, uma vez integrada à minha API, melhorará drasticamente o número de aeroportos disponíveis. Trabalhando nisso em breve.