Waseem Ali
2016-Jun-02 11:10 UTC
[R] FW: How to read multiple raster and serial correlation between series of rasters
Dear members, With little effort in producing the code to read all nc files for Carbon dioxide variables I have produced the following code: library(ncdf)ncfiles <- list.files("C:/site-download/AIRS/", pattern='\\.nc$', full.names = TRUE)ncfilesncfname <- ncfiles[1]ncfnamedname <- "mole_fraction_of_carbon_dioxide_in_free_troposphere"ncin <- open.ncdf(ncfname)print(ncin)lon <- get.var.ncdf(ncin, "Longitude")nlon <- dim(lon)head(lon)lat <- get.var.ncdf(ncin, "Latitude")nlat <- dim(lat)head(lat)print(c(nlon, nlat))co2array <- get.var.ncdf(ncin, "mole_fraction_of_carbon_dioxide_in_free_troposphere")fillvalue <- att.get.ncdf(ncin, "mole_fraction_of_carbon_dioxide_in_free_troposphere", "Missval")fillvalueco2array[co2array == fillvalue] <- NAlibrary(RColorBrewer)image(co2array, col = rev(brewer.pal(10, "RdBu")))grid <- expand.grid(lon = lon, lat = lat)lonlat <- expand.grid(lon, lat)lonlathead(lonlat)m <- 1co2.vec <- as.vector(co2array)length(co2.vec)co2.df01 <- data.frame(cbind(lonlat, co2.vec*1000000))names(co2.df01) <- c("lon", "lat", paste("co2", as.character(m), sep = "_"))head(na.omit(co2.df01), 20)csvfile <- "co20020901.csv"write.table(na.omit(co2.df01), csvfile, row.names = FALSE, sep = ",")With the help of this code I can dump the values of Carbon dioxide variables in latitude and longitude wise. sample of the csv file is as under: lon lat co2_126 -117.5 89.5 381.802050 -57.5 89.5 373.8030147 -175.0 88.0 382.7285148 -172.5 88.0 373.6800152 -162.5 88.0 371.6560153 -160.0 88.0 373.4450154 -157.5 88.0 374.3705I need help to tune code to do this with iterative code for whole 120 raster to write it into csv file. Column names should be like as 200301, 200302....up to 200312. This starts from the January of 2003 till December of 2003 and so on for the next year. My next task to do the same for LST variable retrievable from MODIS LST product of 0.05 degree resolution which is in hdf file formate [I am trying to write the code to interpret the variable ]. I want to resample it first to have on same spatial resolution as my first raster then write to the another csv file in the same way before. After writing it into the csv files I want to correlate the both variables and serial correlation. Please guide to do it using R or any other way to deal with the situations I have briefly explained. Also suggest for interpolation for carbon dioxide variable first to make the raster layer. It may have missing some values. Waseem Ali From: w1malik at hotmail.com To: r-help at r-project.org Subject: How to real multiple raster and serial correlation between series of rasters Date: Sun, 29 May 2016 23:39:18 +0500 Hi, I have 120 raster (10 years) files in tif format of one variable (say X1) and same numbers for second variables (Say X2). Each raster consists the mean monthly values of corresponding variables. I want to write a script in R which operates the following operations: ? First reads the one by one raster from folder and save into the objects. ? Resample/aggregate the both raster over same spatial resolution 2? x 2.5?. ? After resampling the all raster over same resolution, conversions of all raster to points by using the rasterToPoint() function of raster library. ? After retrieving the same monthly raster values (like month of January for X1 and X2) into data frame, I want to compute regression and correlation values for all 120 raster for both variables (X1 and X2) and save into the data frame. Is there any way out to deal with such task. library(raster) x <- list.files("C:/site-download/", pattern = "*.tif", full.names = TRUE) x1 <- raster(x1) p <- as(x1, 'SpatialPixels') plot(x1) points(p) Resultant figure has been attached for you for only x1 variable. I have also attached the X1 and X2 variable tif raster for January 2002 for computation purpose. I need to operate it through loop for reading all these rasters and computing the correlation of each pairs. My next step to compute the Lag -1 correlations which is Serial Correlation for both variables. Waseem Ali
Waseem Ali
2016-Jul-04 12:24 UTC
[R] FW: How to read multiple raster and serial correlation between series of rasters
I have asked the below mentioned question a month before. Please guide me if the question is not properly asked to the list member. Waseem Ali From: w1malik at gmail.com To: r-help at r-project.org Subject: FW: How to read multiple raster and serial correlation between series of rasters Date: Thu, 2 Jun 2016 16:10:08 +0500 Dear members, With little effort in producing the code to read all nc files for Carbon dioxide variables I have produced the following code: library(ncdf)ncfiles <- list.files("C:/site-download/AIRS/", pattern='\\.nc$', full.names = TRUE)ncfilesncfname <- ncfiles[1]ncfnamedname <- "mole_fraction_of_carbon_dioxide_in_free_troposphere"ncin <- open.ncdf(ncfname)print(ncin)lon <- get.var.ncdf(ncin, "Longitude")nlon <- dim(lon)head(lon)lat <- get.var.ncdf(ncin, "Latitude")nlat <- dim(lat)head(lat)print(c(nlon, nlat))co2array <- get.var.ncdf(ncin, "mole_fraction_of_carbon_dioxide_in_free_troposphere")fillvalue <- att.get.ncdf(ncin, "mole_fraction_of_carbon_dioxide_in_free_troposphere", "Missval")fillvalueco2array[co2array == fillvalue] <- NAlibrary(RColorBrewer)image(co2array, col = rev(brewer.pal(10, "RdBu")))grid <- expand.grid(lon = lon, lat = lat)lonlat <- expand.grid(lon, lat)lonlathead(lonlat)m <- 1co2.vec <- as.vector(co2array)length(co2.vec)co2.df01 <- data.frame(cbind(lonlat, co2.vec*1000000))names(co2.df01) <- c("lon", "lat", paste("co2", as.character(m), sep = "_"))head(na.omit(co2.df01), 20)csvfile <- "co20020901.csv"write.table(na.omit(co2.df01), csvfile, row.names = FALSE, sep = ",")With the help of this code I can dump the values of Carbon dioxide variables in latitude and longitude wise. sample of the csv file is as under: lon lat co2_126 -117.5 89.5 381.802050 -57.5 89.5 373.8030147 -175.0 88.0 382.7285148 -172.5 88.0 373.6800152 -162.5 88.0 371.6560153 -160.0 88.0 373.4450154 -157.5 88.0 374.3705I need help to tune code to do this with iterative code for whole 120 raster to write it into csv file. Column names should be like as 200301, 200302....up to 200312. This starts from the January of 2003 till December of 2003 and so on for the next year. My next task to do the same for LST variable retrievable from MODIS LST product of 0.05 degree resolution which is in hdf file formate [I am trying to write the code to interpret the variable ]. I want to resample it first to have on same spatial resolution as my first raster then write to the another csv file in the same way before. After writing it into the csv files I want to correlate the both variables and serial correlation. Please guide to do it using R or any other way to deal with the situations I have briefly explained. Also suggest for interpolation for carbon dioxide variable first to make the raster layer. It may have missing some values. Waseem Ali From: w1malik at hotmail.com To: r-help at r-project.org Subject: How to real multiple raster and serial correlation between series of rasters Date: Sun, 29 May 2016 23:39:18 +0500 Hi, I have 120 raster (10 years) files in tif format of one variable (say X1) and same numbers for second variables (Say X2). Each raster consists the mean monthly values of corresponding variables. I want to write a script in R which operates the following operations: ? First reads the one by one raster from folder and save into the objects. ? Resample/aggregate the both raster over same spatial resolution 2? x 2.5?. ? After resampling the all raster over same resolution, conversions of all raster to points by using the rasterToPoint() function of raster library. ? After retrieving the same monthly raster values (like month of January for X1 and X2) into data frame, I want to compute regression and correlation values for all 120 raster for both variables (X1 and X2) and save into the data frame. Is there any way out to deal with such task. library(raster) x <- list.files("C:/site-download/", pattern = "*.tif", full.names = TRUE) x1 <- raster(x1) p <- as(x1, 'SpatialPixels') plot(x1) points(p) Resultant figure has been attached for you for only x1 variable. I have also attached the X1 and X2 variable tif raster for January 2002 for computation purpose. I need to operate it through loop for reading all these rasters and computing the correlation of each pairs. My next step to compute the Lag -1 correlations which is Serial Correlation for both variables. Waseem Ali