Skip to content
Prev 23880 / 398502 Next

help to make a map on R

"Ronaldo Reis Jr." wrote:
Hi Ronaldo,

ReadCoord <- function(file){
  ext <- readLines(con = file, n = -1)
  nam <- unlist(strsplit(ext[1], split = " "))
  nam <- nam[nam != ""]
  ext <- ext[-1]
  List <- list()
  j <- 1
  for (i in seq(along = ext)) {
    ok <- T
    coord <- character(0)
    while(ok){
      val <- unlist(strsplit(ext[i], split = " "))
      val <- val[val != ""]
      if(length(val) != 3) ok <- F
      else{
        coord <- c(coord, paste(val[1], j, sep = ""), val[2:3])
        i <- i + 1
        }
      }
    mat <- matrix(coord, ncol = 3, byrow = T)
    List[[j]] <- mat
    j <- j +1
  }
  df <- as.data.frame(do.call("rbind", List))
  names(df) <- nam
  df[,2] <- as.numeric(as.character(df[,2]))
  df[,3] <- as.numeric(as.character(df[,3]))
  dimnames(df)[[1]] <- as.character(seq(nrow(df)))
  df
}

Data <- ReadCoord("d:/analyses/travail/data/coord.txt")
attach(Data)
plot(longitude, latitude, asp = 1, type = "n")
tapply(seq(nrow(Data)),
       Data[,1],
       function(x, data) lines(data[x, "longitude"], data[x,
"latitude"]),
       data = Data)
detach()


Hope this helps,

Renaud