I have calculated time series NDWI (float TIFFF raster ) values from Landsat images. In few pixels of all raster (in a raster stack) objects have values <-1.000 and >1.0000 . I like to convert values that are <-1 to -1.000 and values that are >1 to +1.000 of all raster and save as getif (float) files in a loop. I have limited knowledge in looping. Help will be appreciated. Thanks Zia
-----Original Message----- From: Zia Uddin Ahmed Sent: Thursday, July 04, 2013 7:29 PM To: Oscar Perpiñán Lamigueiro Subject: Setting values between minus 1 to plus 1 in all raster object in a raster stack, I have calculated NDWI from Landsat images. I have get values few pixel Zia Ahmed, PhD Dept. Crop and Soil Sciences Cornell University Ithaca, NY 14850 On Jul 4, 2013, at 2:01 PM, "Oscar Perpiñán Lamigueiro" <[email protected]> wrote: > Hello, > > Because the differences between layers are small, a suitable solution > is to increase the number of breaks: > > library(raster) > library(rasterVis) > > f <- system.file("external/test.grd", package="raster") r <- raster(f) > r1 <- r + 100*runif(ncell(r)) > r2 <- r - 100*runif(ncell(r)) > > s <- stack(r, r1, r2) > > levelplot(s, > par.settings=rasterTheme(region=c('black', 'white', 'red')), > cuts=99) > > Another approach is to display each layer with an independent legend: > http://rastervis.r-forge.r-project.org/FAQ.html#sec-7 > > Best, > > Oscar. > > > jbaik writes: > >> I want to compare several layer plots of a set of raster files that I have. >> The problem is that the range of the data differs slightly for each >> file, so the legends and colours are not directly comparable if I >> plot the rasters side by side. For example, the range of data in >> raster A might be c(10, 90), but raster B might have a range of >> c(0,100) - but then the regions in raster A with values of 10 will be >> coloured the same as the regions in raster B with values of 0!! >> >> I tried modifying the plot using the "col.regions=", "at=" and "colorkey=" >> parameters in the "levelplot" command, but it does not seem to work. >> >> Here is a reproducible example of my problem: >> >> >> # Fix legend in raster plots >> library(raster) >> library(rasterVis) >> >> f <- system.file("external/test.grd", package="raster") r <- >> raster(f) >> >> # The original levelplot >> levelplot(r) >> >> # Try to modify the legend and region colours rgb.palette <- >> colorRampPalette(c("black", "white", "red"), >> space = "rgb") >> >> levelplot(r, col.regions=rgb.palette(16), >> at=seq(-30000, 30000, length=15) , contour=FALSE, >> colorkey=list( at=seq(-30000, 30000, length=15), >> col=rgb.palette(16) )) >> >> >> >> Notice that the original range of data is between approximately 0 and 2000. >> In my second levelplot, I expand the range to -30000 and 30000. The >> legend seems to reflect this, but the colours of the regions do not >> match the legend! >> >> How can I expand the range of the legend and force the regions to be >> coloured properly? >> >> >> >> -- >> View this message in context: >> http://r-sig-geo.2731867.n2.nabble.com/rasterVis-Region-colours-do-no >> t-match-the-legend-colours-tp7584032.html >> Sent from the R-sig-geo mailing list archive at Nabble.com. >> >> _______________________________________________ >> R-sig-Geo mailing list >> [email protected] >> https://stat.ethz.ch/mailman/listinfo/r-sig-geo > > > -- > Oscar Perpiñán Lamigueiro > Grupo de Sistemas Fotovoltaicos (IES-UPM) Dpto. Ingeniería Eléctrica > (EUITI-UPM) > URL: http://procomun.wordpress.com > Twitter: @oscarperpinan > > _______________________________________________ > R-sig-Geo mailing list > [email protected] > https://stat.ethz.ch/mailman/listinfo/r-sig-geo _______________________________________________ R-sig-Geo mailing list [email protected] https://stat.ethz.ch/mailman/listinfo/r-sig-geo
