# Script en R pour calculer les distances d'une liste d'adresses sur un plan pour lequel l'origine est la cathedrale Notre Dame. Les coordonnees en degres decimaux ont ete collectee avec l'API version 2 de googlemaps et un script en python (cf.http://mehdikhaneboubi.free.fr/geocodage_googlemaps) # lecture du fichier gc1 <- read.csv2("output.txt", sep = ",", header = FALSE) # suppression de la derniere ligne gc1 <- gc[-(c(length(gc[, 1]))), ] # transformation des latitudes et longitudes en valeurs numeriques (par defaut elles sont en facteurs) gc1[, 3] <- as.numeric(as.character(gc1[, 3], digits = 16), digits = 16) gc1[, 4] <- as.numeric(as.character(gc1[, 4], digits = 16), digits = 16) # calcul de distance par rapport a la cathedrale Notre Dame dont les coordonnees sont : 48.852963, 2.349959 library(GEOmap) gc2 <- gc1[, 3:4] for (i in 1:length(gc2[, 1])) { # distance totale distaz(48.852963, 2.349959, gc2[i, 1], gc2[i, 2]) # coordonnee selon la latitude ydist <- distaz(48.852963, 2.349959, gc2[i, 1], 2.349959) gc3[i, 1] <- ydist$dist # coordonnes selon la longitude xdist <- distaz(48.852963, 2.349959, 48.852963, gc2[i, 2]) gc3[i, 2] <- xdist$dist } # calcul du signe for (i in 1:length(gc3[, 1])) { # latitude (Y) if ((48.852963 < gc3[i, 1]) == FALSE) { gc3[i, 1] <- -gc3[i, 1] } # longitude (X) if ((2.349959 < gc3[i, 2]) == FALSE) { gc3[i, 2] <- -gc3[i, 2] } } # ajout des coordonnees au tableau de resultats adresult <- cbind(gc1, gc3) # ecriture dans un fichier .txt write.csv2(adresult, file = "positions.txt", row.names = FALSE)