Mi chiedevo se ci fosse un modo per confrontare le distanze dell'aeroporto (codici IATA). Ci sono alcuni script, ma non utilizza R. Così ho provato che con con l'API:Utilizzo di un'API per calcolare la distanza tra due aeroporti (due colonne) all'interno di R?
dati Esempio:
library(curl) # for curl post
departure <- c("DRS","TXL","STR","DUS","LEJ","FKB","LNZ")
arrival <- c("FKB","HER","BOJ","FUE","PMI","AYT","FUE")
flyID <- c(1,2,3,4,5,6,7)
df <- data.frame(departure,arrival,flyID)
departure arrival flyID
1 DRS FKB 1
2 TXL HER 2
3 STR BOJ 3
4 DUS FUE 4
5 LEJ PMI 5
6 FKB AYT 6
7 LNZ FUE 7
api<- curl_fetch_memory("https://airport.api.aero/airport/distance/DRS/FUE?user_key=d805e84363494ca03b9b52d5a505c4d1")
cat(rawToChar(api$content))
callback({"processingDurationMillis":0,"authorisedAPI":true,"success":true,"airline":null,"errorMessage":null,"distance":"3,416.1","units":"km"})
dove DRS corrisponde per l'aeroporto di partenza e di arrivo FUE
Quindi, devo eseguire il ciclo su df
e incollarlo nell'URL. Tuttavia, che sembra in qualche modo difficile per un R - Newbie
df$distance<- list(length = nrow(df))
for (i in 1:nrow(df)){
url <- paste0("https://airport.api.aero/airport/distance/", i, "FUE ?user_key=d805e84363494ca03b9b52d5a505c4d1")
myData[[i]] <- read.table(url, header=T,sep="|")
}
output desiderato:
departure arrival flyID distance
1 DRS FKB 1 1000
2 TXL HER 2 499
3 STR BOJ 3 300
4 DUS FUE 4 200
5 LEJ PMI 5 586
6 FKB AYT 6 10292
7 LNZ FUE 7 3939
Ottieni le distanze quando esegui 'read.table' e la tua domanda è come salvarle in un data.frame? O ottieni solo i geocoordinati degli aeroporti e la tua domanda riguarda come trasformarli in distanze? Oppure la tua domanda sul collegamento dei codici IATA ai geocoordinati? – Qaswed
Se ci fosse stata qualche risposta positiva alla richiesta di chiarimenti, non ci saremmo uniti al suggerimento closevote, ma con l'errore lanciato dalla seconda sezione del codice non è chiaro cosa sia stato chiesto. –