<div dir="ltr"><div class="gmail_default" style=""><div class="gmail_default"><font face="verdana, sans-serif">Olá, novamente!</font></div><div class="gmail_default"><font face="verdana, sans-serif"><br></font></div><div class="gmail_default"><font face="verdana, sans-serif">Encontrei um erro no código anterior e que está presente também na primeira solução que sugeri. Ao usar {raster} a definição de extent() estava incorreta. Os valores x e y correspondem ao centro do pixel e para o valor de extent() ficar correto deve-se considerar a resolução da imagem. É pouco perceptível na pequena escala, mas pode causar problemas ao aumentar a escala. Segue o código corrigido...</font></div><div class="gmail_default"><font face="verdana, sans-serif"><br></font></div><div class="gmail_default"><font face="monospace, monospace">### <code r></font></div><div class="gmail_default"><font face="monospace, monospace">### Dados</font></div><div class="gmail_default"><font face="monospace, monospace">require(raster)</font></div><div class="gmail_default"><font face="monospace, monospace">data(volcano); volcano <- 10*volcano</font></div><div class="gmail_default"><font face="monospace, monospace">image(volcano)</font></div><div class="gmail_default"><font face="monospace, monospace">x <- 100*(1:nrow(volcano))</font></div><div class="gmail_default"><font face="monospace, monospace">y <- 100*(1:ncol(volcano))</font></div><div class="gmail_default"><font face="monospace, monospace"><br></font></div><div class="gmail_default"><font face="monospace, monospace">########## {ncdf4} ###########################################################</font></div><div class="gmail_default"><font face="monospace, monospace"># browseURL("<a href="https://www.getdatajoy.com/learn/Read_and_Write_NetCDF_from_R">https://www.getdatajoy.com/learn/Read_and_Write_NetCDF_from_R</a>")</font></div><div class="gmail_default"><font face="monospace, monospace">library(ncdf4)</font></div><div class="gmail_default"><font face="monospace, monospace">nc1_dim1  <- ncdim_def('EW', 'm', as.double(x))</font></div><div class="gmail_default"><font face="monospace, monospace">nc1_dim2  <- ncdim_def('SN', 'm', as.double(y))</font></div><div class="gmail_default"><font face="monospace, monospace">nc1_varz  <- ncvar_def('Elevation', 'm', list(nc1_dim1, nc1_dim2), -1, longname = 'Data about a Volcano')</font></div><div class="gmail_default"><font face="monospace, monospace">nc1_out   <- nc_create('<a href="http://volcano.nc">volcano.nc</a>', nc1_varz, force_v4 = TRUE)</font></div><div class="gmail_default"><font face="monospace, monospace">ncvar_put(nc1_out, nc1_varz, volcano)</font></div><div class="gmail_default"><font face="monospace, monospace">nc_close(nc1_out)</font></div><div class="gmail_default"><font face="monospace, monospace"><br></font></div><div class="gmail_default"><font face="monospace, monospace">print(nc_open("<a href="http://volcano.nc">volcano.nc</a>"))</font></div><div class="gmail_default"><font face="monospace, monospace">plot(raster("<a href="http://volcano.nc">volcano.nc</a>")) </font></div><div class="gmail_default"><font face="monospace, monospace"><br></font></div><div class="gmail_default"><font face="monospace, monospace">########## {RNetCDF} #########################################################</font></div><div class="gmail_default"><font face="monospace, monospace"># browseURL("<a href="https://journal.r-project.org/archive/2013-2/michna-woods.pdf">https://journal.r-project.org/archive/2013-2/michna-woods.pdf</a>")</font></div><div class="gmail_default"><font face="monospace, monospace">require(RNetCDF)</font></div><div class="gmail_default"><font face="monospace, monospace">nc2_out <- <a href="http://create.nc">create.nc</a>("<a href="http://volcano2.nc">volcano2.nc</a>")</font></div><div class="gmail_default"><font face="monospace, monospace"><a href="http://dim.def.nc">dim.def.nc</a>(nc2_out, "EW", length(x))</font></div><div class="gmail_default"><font face="monospace, monospace"><a href="http://dim.def.nc">dim.def.nc</a>(nc2_out, "SN", length(y))</font></div><div class="gmail_default"><font face="monospace, monospace"><a href="http://var.def.nc">var.def.nc</a>(nc2_out, "EW", "NC_DOUBLE", "EW")</font></div><div class="gmail_default"><font face="monospace, monospace"><a href="http://var.def.nc">var.def.nc</a>(nc2_out, "SN", "NC_DOUBLE", "SN")</font></div><div class="gmail_default"><font face="monospace, monospace"><a href="http://var.def.nc">var.def.nc</a>(nc2_out, "Elevation", "NC_DOUBLE", c("EW", "SN"))</font></div><div class="gmail_default"><font face="monospace, monospace"><a href="http://att.put.nc">att.put.nc</a>(nc2_out, "Elevation", "_FillValue", "NC_DOUBLE", -999.9)</font></div><div class="gmail_default"><font face="monospace, monospace"><a href="http://var.put.nc">var.put.nc</a>(nc2_out, "EW", as.double(x))</font></div><div class="gmail_default"><font face="monospace, monospace"><a href="http://var.put.nc">var.put.nc</a>(nc2_out, "SN", as.double(y))</font></div><div class="gmail_default"><font face="monospace, monospace"><a href="http://var.put.nc">var.put.nc</a>(nc2_out, "Elevation", volcano)</font></div><div class="gmail_default"><font face="monospace, monospace"><a href="http://close.nc">close.nc</a>(nc2_out)</font></div><div class="gmail_default"><font face="monospace, monospace"><br></font></div><div class="gmail_default"><font face="monospace, monospace">print(nc_open("<a href="http://volcano2.nc">volcano2.nc</a>"))    ### {ncdf4}</font></div><div class="gmail_default"><font face="monospace, monospace"><a href="http://print.nc">print.nc</a>(<a href="http://open.nc">open.nc</a>("<a href="http://volcano2.nc">volcano2.nc</a>")) ### {RNetCDF}</font></div><div class="gmail_default"><font face="monospace, monospace"><a href="http://var.get.nc">var.get.nc</a>(nc2, "EW")</font></div><div class="gmail_default"><font face="monospace, monospace"><a href="http://var.get.nc">var.get.nc</a>(nc2, "Elevation")</font></div><div class="gmail_default"><font face="monospace, monospace">plot(raster("<a href="http://volcano2.nc">volcano2.nc</a>"))</font></div><div class="gmail_default"><font face="monospace, monospace"><br></font></div><div class="gmail_default"><font face="monospace, monospace">########## {raster} ##########################################################</font></div><div class="gmail_default"><font face="monospace, monospace">require(raster)</font></div><div class="gmail_default"><font face="monospace, monospace">tmp <- raster(volcano)</font></div><div class="gmail_default"><font face="monospace, monospace">r <- t(flip(tmp, 1))</font></div><div class="gmail_default"><font face="monospace, monospace">plot(r)</font></div><div class="gmail_default"><font face="monospace, monospace"><br></font></div><div class="gmail_default"><font face="monospace, monospace">resx <- round(mean(x[-1]-x[-length(x)]), 6) # 100</font></div><div class="gmail_default"><font face="monospace, monospace">resy <- round(mean(y[-1]-y[-length(y)]), 6) # 100</font></div><div class="gmail_default"><font face="monospace, monospace"><br></font></div><div class="gmail_default"><font face="monospace, monospace">extent(r) <- c(range(x), range(y)) + c(-resx, +resx, -resy, +resy)/2</font></div><div class="gmail_default"><font face="monospace, monospace">plot(r)</font></div><div class="gmail_default"><font face="monospace, monospace">writeFormats()</font></div><div class="gmail_default"><font face="monospace, monospace">writeRaster(r, "<a href="http://volcano3.nc">volcano3.nc</a>", "CDF", over=T)</font></div><div class="gmail_default"><font face="monospace, monospace"><br></font></div><div class="gmail_default"><font face="monospace, monospace">print(nc_open("<a href="http://volcano3.nc">volcano3.nc</a>")) ### {ncdf4}</font></div><div class="gmail_default"><font face="monospace, monospace">plot(raster("<a href="http://volcano3.nc">volcano3.nc</a>"))</font></div><div class="gmail_default"><font face="monospace, monospace"><br></font></div><div class="gmail_default"><font face="monospace, monospace">r1 <- raster("<a href="http://volcano.nc">volcano.nc</a>")</font></div><div class="gmail_default"><font face="monospace, monospace">r2 <- raster("<a href="http://volcano2.nc">volcano2.nc</a>")</font></div><div class="gmail_default"><font face="monospace, monospace">r3 <- raster("<a href="http://volcano3.nc">volcano3.nc</a>")</font></div><div class="gmail_default"><font face="monospace, monospace"><br></font></div><div class="gmail_default"><font face="monospace, monospace"># extents</font></div><div class="gmail_default"><font face="monospace, monospace">cbind(sapply(paste0("r", 1:3), function(x) as.vector(extent(get(x)))))</font></div><div class="gmail_default"><font face="monospace, monospace">#        r1   r2   r3</font></div><div class="gmail_default"><font face="monospace, monospace"># [1,]   50   50   50</font></div><div class="gmail_default"><font face="monospace, monospace"># [2,] 8750 8750 8750</font></div><div class="gmail_default"><font face="monospace, monospace"># [3,]   50   50   50</font></div><div class="gmail_default"><font face="monospace, monospace"># [4,] 6150 6150 6150</font></div><div class="gmail_default"><font face="monospace, monospace"><br></font></div><div class="gmail_default"><font face="monospace, monospace">{</font></div><div class="gmail_default"><font face="monospace, monospace">windows()</font></div><div class="gmail_default"><font face="monospace, monospace">par(mfrow=c(2,2))</font></div><div class="gmail_default"><font face="monospace, monospace">sapply(paste0("r", 1:3), function(x) plot(get(x), main=x))</font></div><div class="gmail_default"><font face="monospace, monospace">par(mfrow=c(1,1))</font></div><div class="gmail_default"><font face="monospace, monospace">}</font></div><div class="gmail_default"><font face="monospace, monospace"><br></font></div><div class="gmail_default"><font face="monospace, monospace">### </code></font></div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><font face="arial, helvetica, sans-serif" style="font-size:small"><div style="font-family:'trebuchet ms',sans-serif;display:inline">​</div></font><font face="arial, helvetica, sans-serif" style="font-size:12.8px"><span style="font-size:small">================================================</span><br>Éder Comunello</font><div style="font-size:12.8px"><span style="font-family:arial,helvetica,sans-serif">Agronomist (UEM), MSc in Environ. Sciences (UEM)</span><font face="arial, helvetica, sans-serif"><br></font></div><div style="font-size:12.8px"><div style="font-size:small"><span style="font-family:arial,helvetica,sans-serif">DSc in Agricultural Systems Engineering (USP/Esalq)</span><br></div><div><span style="font-size:small">Brazilian Agricultural Research Corporation (</span><font face="arial, helvetica, sans-serif" style="font-size:small">Embrapa)</font></div><div><div><font face="arial, helvetica, sans-serif" style="font-size:small">Dourados, MS, Brazil </font><font face="arial, helvetica, sans-serif" size="2">|<O>|</font></div><div style="font-size:small"><span style="font-family:arial,helvetica,sans-serif">================================================</span><br></div></div></div><div style="font-size:small"><font face="arial, helvetica, sans-serif">GEO, </font>-22.2752, -54.8182, 408m<span style="font-family:arial,helvetica,sans-serif"><br></span></div><div style="font-size:12.8px"><span style="font-size:small;font-family:arial,helvetica,sans-serif">UTC-04:00 / DST: UTC-03:00</span></div><div><div><div><br></div><div><br></div></div><div style="font-size:small"><br></div></div></div></div></div></div></div></div></div></div></div></div></div>