{"word_count": 147, "character_count": 2115}
2 - Interrogation de l'API et constitution de la matrice de distance avec RLe programme R suivant construit la matrice de distance entre une table d'origines et une table de destination. Le format de ces tables doit comprendre un champ d'identifiant et deux champs contenant les longitudes et latitudes des points en WGS84.  NOMYXAmiens49.8875572.296143Reims49.2606354.031982Nancy48.6982126.174316Metz49.1242196.174316Arras50.2963582.757568Dunkerque51.0344862.373047Epinal48.1807396.448975Lille50.6320423.065186Bruxelles50.8441054.350586Namur50.4679954.86145Liège50.6424945.570068Anvers51.2206474.389038Gand51.058663.718872Luxembourg49.607156.119385Amsterdam52.3621834.87793Rotterdam51.9239434.460449Dusseldorf51.2223686.764832Cologne50.9393936.957092Tilburg51.5634125.075684Dortmund51.5121617.467957# librairieslibrary(RCurl)library(RJSONIO)# import de donnéesdataOrig&#60;-read.csv("./data/ville.csv",sep=";")dataDest&#60;-read.csv("./data/ville.csv",sep=";")# nombre d'origines et de destinationdOrig&#60;-dim(dataOrig)[1]dDest&#60;-dim(dataDest)[1]# creation de la matrice videreq &#60;-matrix(nrow=dOrig,ncol=dDest, dimnames=list(dataOrig$NOM,dataDest$NOM))# création de la matrice des requêtes à envoyerfor (i in 1:dOrig){  for (j in 1:dDest){    req[i,j] &#60;- paste("http://localhost:8989/api/route?point=",                    paste(dataOrig$Y[i],dataOrig$X[i],sep=","),"&#38;point=",                    paste(dataDest$Y[j],dataDest$X[j],sep=","),                    "&#38;locale=fr&#38;instructions=false&#38;calc_points=false",sep="")  }}# reception des requêtesresult&#60;-apply(X=req,c(1,2),function(x) {try(getURL(URLencode(x) ),silent=TRUE)})# fonction de parsage des réponses decode&#60;-function(x){  if (class(x)=="character"){  # décodage du résultat de la requête    if (length(fromJSON(x)$paths[[1]]&#62;0)){       fromJSON(x)$paths[[1]][1]    } else {      NA    }  } else {    NA  }}mat&#60;-apply(X=result,c(1,2), decode)# passage des milliseconde en minutesmat&#60;-round(mat/(1000*60),0)La matrice produite indique les temps de trajet en minutes entre les 20 villes.les données : ville.csv