Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Istruzioni per ottenere una tabella da aprire con QGis per creare mappe.
- Scarica l'elenco dal sito netindex, oppure da https://swift-yeg.cloud.cybera.ca:8080/v1/AUTH_233e84cd313945c992b4b585f7b9125d/ookla-data-raw/netindex/ Il file che interessa è "city_isp_daily_speeds.csv".
- Estrai con grep solo le righe contenenti Italy:
- head -n 1 city_isp_daily_speeds.csv > italia-isp-total.csv
- grep "\"Italy\"," city_isp_daily_speeds.csv >> italia-isp-total.csv
- Eliminare caratteri unicode:
- sed 's/\xe0/a/g' italia-isp-total.csv | sed 's/\xe8/e/g' | sed 's/\xec/i/g' | sed 's/\xf2/o/g' | sed 's/\xf9/u/g' > italia-isp-totaln.csv
- mv italia-isp-totaln.csv /tmp/italia-isp-total.csv
- Estrai con il linguaggio R (o l'interfaccia grafica RKWard) i levels della colonna city:
- data = read.csv("/tmp/italia-isp-total.csv", header = TRUE, encoding = "UTF8")
- names(data)
- livelli <- levels(data$city)
- write.csv(livelli, file = "/tmp/italia-isp-elenco.txt", row.names=FALSE, col.names=FALSE)
- Usa lo script di name-to-WGS84.sh (scaricabile dall'indirizzo http://pastebin.com/raw/C56CzdFM) per produrre tutte le posizioni WGS84 (si può modificare lo script per aggiungere ", Italy" ai nomi delle città da cercare):
- ./name-to-WGS84.sh italia-isp-elenco.txt > italia-isp-total-wgs.csv
- Unisci le due tabelle con R:
- data = read.csv("/tmp/italia-isp-total.csv", header = TRUE, encoding = "UTF8")
- wgs = read.csv("/tmp/italia-isp-total-wgs.csv", header = TRUE, encoding = "UTF8", sep=";")
- total <- merge(data,wgs,by="city") \n write.table(total, file = "/tmp/italia-isp-total-position.csv", row.names=FALSE, sep=";")
- Correggere il formato della posizione per leggerlo facilmente con QGis:
- sed 's/,/;/g' italia-isp-total-position.csv | sed 's/"//g' > /tmp/italia-isp-total-position.csv
- Ora si può aprire l'interprete del linguaggio R, oppure l'interfaccia grafica RKWard. Segue il codice R.
- PER OTTENERE LA MEDIA DI OGNI CITTÀ
- data = read.csv("/tmp/italia-isp-total-position.csv", header = TRUE, encoding = "UTF8")
- datamean <- aggregate(data[7:8], list(data$city), mean)
- data[7] <- NULL
- data[7] <- NULL
- data[7] <- NULL
- data[7] <- NULL
- data[6] <- NULL
- head(data[!duplicated(data),])
- names(datamean)[1] <- "city"
- total <- merge(data[!duplicated(data),],datamean,by="city")
- write.table(total, file = "/tmp/italia-total-position-mean.csv", row.names=FALSE, sep=";")
- PER LA MEDIA DI OGNI CITTÀ CON ISP
- data = read.csv("/tmp/italia-isp-total-position.csv", header = TRUE, encoding = "UTF8", sep=";")
- data[10] <- NULL
- data[10] <- NULL
- data[7] <- NULL
- telecom <- data[grep("telecom", data$isp_name, ignore.case=TRUE),]
- telecom <- transform(telecom, download_kbps = as.numeric(as.character(download_kbps)))
- telecommean <- aggregate(telecom[7:8], list(telecom$city), mean)
- names(telecommean)[1] <- "city"
- telecom[7] <- NULL
- telecom[7] <- NULL
- totaltelecom <- merge(telecom[!duplicated(telecom),],telecommean,by="city")
- write.table(totaltelecom, file = "/tmp/italia-isp-totale/csv/italia-total-position-mean-telecom.csv", row.names=FALSE, sep=";")
Add Comment
Please, Sign In to add comment