Boa noite pessoal,
Estou extraindo de um arquivo ncdf os valores de latitude (lat) longitude( lon) e temperatura da superfície da agua do mar( SST), entretanto a longitude (lon) ela está na projeção 0 a 360 graus. Minha pergunta é como faço para converter ela para -180 a 180 graus? Segue o script que estou utilizando juntamente com o link dos dados.
Desde já agradeço a ajuda
Humberto
lon | lat | data | sst | | Lon como deveria ser |
299.5 | 10.5 | 11/30/1981 | 27.85 | | -60.000 |
300.5 | 10.5 | 11/30/1981 | 27.96 | | -59.500 |
301.5 | 10.5 | 11/30/1981 | 28.02 | | -58.500 |
302.5 | 10.5 | 11/30/1981 | 28.02 | | -57.500 |
303.5 | 10.5 | 11/30/1981 | 27.97 | | -56.500 |
304.5 | 10.5 | 11/30/1981 | 27.84 | | -55.500 |
305.5 | 10.5 | 11/30/1981 | 27.81 | | -54.500 |
306.5 | 10.5 | 11/30/1981 | 27.78 | | -53.500 |
307.5 | 10.5 | 11/30/1981 | 27.75 | | -52.500 |
Script:
require(ncdf) #'ncdf' versao 1.6.6
require(reshape)
require(chron)
###sst
nc <- open.ncdf("SST_81_14.nc")
nc
lat <- get.var.ncdf(nc, "lat")
lon <- get.var.ncdf(nc, "lon")
tunits <- att.get.ncdf(nc,"time","units")
# print tunits
tunits$value
# criar tempo "real" Times
time<- get.var.ncdf(nc,"time")
Time<-chron(time,origin=c(month=1, day=1, year=1900))
## array da variavel sst
wm <- get.var.ncdf(nc, "sst")
str(wm)
## atribuindo dimnames conforme lon, lat e tempo
dimnames(wm)[[1]] <- as.character(lon)
dimnames(wm)[[2]] <- as.character(lat)
dimnames(wm)[[3]] <- as.character(Time)
str(wm)
## melt para reestruturação dos dados
mwm <- melt(wm)
head(mwm)