### comandos para criar um banco de dados loc.map <- paste("/home/elias/Projetos/FUNDECITRUS/msc", "/relat-2006/dados/mapasCorrigidos-csv/", sep='') n.map <- length(system(paste("ls", loc.map),T)) ##nplt <- integer(n.map) ##for (i in 1:n.map) ## nplt[i] <- prod(dim(read.csv(paste(loc.map, "mapa", i, ".csv", sep="")))) ##summary(nplt) lat2y <- function(lat) 10006379.3 + 110964.9*lat lon2x <- function(lon) 5773715.1 + 103350.7*lon y2lat <- function(y) -9.017443e+01 + 9.011649e-06*y x2lon <- function(x) -5.585988e+01 + 9.668340e-06*x info <- read.csv2("dados/infoMapas/infoMapas.csv") names(info) head(info) talh <- paste(info$aprop, info$Talh, sep='-') utalh <- unique(talh) (nt <- length(utalh)) id.t <- sapply(utalh, function(y) which(is.element(talh, y))[1]) head(id.t) att.t <- data.frame(ID=paste(1:nt), info[id.t, c(3,4,5,6,8,9,10,13,12)]) colnames(att.t) <- c("ID", "Muncipio", "Propriedade", "Talhao", "Variedade", "EntreLinhas", "DentroLinhas", "AnoDePlantio", "Longitude", "Latitude") sapply(att.t, class) require(sp) sels.t <- SpatialPointsDataFrame(cbind(x=info$lon, info$lat)[id.t,], att.t) require(Rcitrus) ### conecta e cria banco require(aRT) con <- openConn(user="msc", pass="etkrbbpj") showDbs(con) if (any(showDbs(con) == "citrusAll")) deleteDb(con, "citrusAll", force = T) db <- createDb(con, "citrusAll") ### cria layer de plantas e tabela lplts <- createLayer(db, "plantas") tabEvent <- createTable(lplts, "statusPlanta", type="event") createColumn(tabEvent, "status", type="i") ### insere infomacoes de plantas de cada talhao polys <- list() id.plt.av <- tot.plt <- 0 for (th in 1:nt) { id0 <- which(is.element(talh, utalh[th])) n.av <- length(id0) odates <- as.character(info[id0,2]) ano <- as.numeric(substr(odates,7,10)) dates <- ISOdate(ano, substr(odates, 4, 5), substr(odates, 1, 2)) ord.id <- order(dates) id <- id0[ord.id] mp <- read.csv(paste(loc.map,'mapa',info[id[1],1],'.csv',sep="")) obj <- array(0, c(dim(mp),n.av)) obj[,,1] <- as.matrix(mp) if (n.av>1) for (i in 2:n.av) obj[,,i] <- as.matrix(read.csv(paste(loc.map,'mapa', info[id[i],1],'.csv',sep=""))) attributes(obj) <- c(attributes(obj), lapply(info[id[1], c(3:6,8,9,10,13,12)], as.character)) class(obj) <- c("citrus", "array") dimnames(obj) <- list(NULL, NULL, eval=dates) names(attributes(obj)) <- c("dim", "Municipio", "Propriedade", "Talhao", "Copa", "EntreLinhas", "DentroLinhas", "Plantio", "Longitude", "Latitude", "class", "dimnames") print(dim(obj)) obj <- citrus.conv(obj, "geo") a.obj <- citrus.conv(obj, 'array') n.plt <- nrow(obj$coords) pol <- .extract.poly.citrus(obj) med <- apply(pol, 2, function(x) mean(range(x))) cooX <- lon2x(as.numeric(attributes(obj)$Longitude)) pol[,1] <- x2lon(pol[,1] + cooX - med[1]) cooY <- lat2y(as.numeric(attributes(obj)$Latitude)) pol[,2] <- y2lat(pol[,2] + cooY - med[2]) polys[[th]] <- Polygons(list(Polygon(rbind(pol, pol[1,]))), th) coo <- cbind(x=x2lon(obj$coords[,1] + cooX - med[1]), y=y2lat(obj$coords[,2] + cooY - med[2])) ids.pl.th <- data.frame(ID=paste((1+tot.plt):(tot.plt+n.plt)), Talhao=rep(th, n.plt)) pts.talh <- SpatialPointsDataFrame(coo, ids.pl.th) addPoints(lplts, pts.talh) tab <- data.frame(id=paste(tot.plt + rep(1:n.plt, each=n.av))) tab$time <- rep(dates, n.plt) tab$status <- as.vector(obj$data) addRows(tabEvent, tab) id.plt.av <- id.plt.av+prod(dim(obj)) tot.plt <- tot.plt+n.plt cat(paste("Inserido talhao:", th, "\n")) } ### coloca poligonos formato sp spolys <- SpatialPolygons(polys, 1:nt) ### cria layer de poligonos ltalh <- createLayer(db, "talhoes") ### insere poligonos addPolygons(ltalh, spolys) ### insere tabela de informacoes de talhoes importTable(ltalh, "infoTalhoes", id="ID", sels.t) ### temas e vistas de talhoes tema.talh <- createTheme(ltalh, "temaTalhoes", view="talhView") setVisual(tema.talh, visualPolygons()) ### temas e vistas de plantas tema.plts <- createTheme(lplts, "TemaPlantas", view="plantaView") ##setVisual(tema.plts, visualPolygons()) ### tabela de media med.tab <- createTable(ltalh, type="media") urls <- data.frame("object_id"=paste(1:nt), "media_name"= paste("http://leg.est.ufpr.br/fundecitrus/msc/relats/", utalh, "/index.html", sep="")) ## paste("http://www.est.ufpr.br/~elias/relats/", ## sels.t$Talhao, "/index.html", sep="")) addRows(med.tab, urls) ### lendo mapas require(maptools) mg <- readShapePoly("/home/elias/mapas/31mu2500g", "NOME")##, ## proj4string=CRS("proj=latlong +a=6378160.0 +rf=298.25 +towgs84=-57,1.0,-41")) sp <- readShapePoly("/home/elias/mapas/35MU2500G", "MSLINK")##, ## proj4string=CRS("proj=latlong +a=6378160.0 +rf=298.25 +towgs84=-57,1.0,-41")) ### adicionando mapa de bh e sp lmuns <- createLayer(db, "Municipios") addPolygons(lmuns, mg) addPolygons(lmuns, sp) ### temas e vistas de municipios tema.muns <- createTheme(lmuns, "TemaMunicipios", view="municipiosView") setVisual(tema.muns, visualPolygons())