diff --git a/R/calibrate_and_composite.r b/R/calibrate_and_composite.r index 3f8d0bc..2338ac7 100644 --- a/R/calibrate_and_composite.r +++ b/R/calibrate_and_composite.r @@ -18,7 +18,7 @@ #' @export -calibrate_and_composite = function(msswrs1dir,msswrs2dir,tmwrs2dir,oliwrs2dir,index,outdir,runname,useareafile,doyears="all",order="none",overlap="mean", cores=2, process, overwrite=F ,startday, endday){ +calibrate_and_composite = function(msswrs1dir,msswrs2dir,tmwrs2dir,oliwrs2dir,index,outdir,runname,useareafile,doyears="all",order="none",overlap="mean", cores=2, process, overwrite=F ,startday, endday, yearadj){ #msscal if(1 %in% process ==T){ @@ -60,10 +60,10 @@ calibrate_and_composite = function(msswrs1dir,msswrs2dir,tmwrs2dir,oliwrs2dir,in if(index == "all"){ index = c("tca", "tcb", "tcg", "tcw") outdir = c(file.path(outdir,"tca"),file.path(outdir,"tcb"),file.path(outdir,"tcg"),file.path(outdir,"tcw")) - for(i in 1:length(index)){mixel(msswrs1dir,msswrs2dir,tmwrs2dir,oliwrs2dir,index[i],outdir[i],runname,useareafile,doyears="all",order="none",overlap=overlap, startday=startday, endday=endday)} #overlap="mean" + for(i in 1:length(index)){mixel(msswrs1dir,msswrs2dir,tmwrs2dir,oliwrs2dir,index[i],outdir[i],runname,useareafile,doyears="all",order="none",overlap=overlap, startday=startday, endday=endday, yearadj=yearadj)} #overlap="mean" } else { outdir = file.path(outdir,index) - mixel(msswrs1dir,msswrs2dir,tmwrs2dir,oliwrs2dir,index,outdir,runname,useareafile,doyears="all",order="none",overlap=overlap, startday=startday, endday=endday) #overlap="mean" + mixel(msswrs1dir,msswrs2dir,tmwrs2dir,oliwrs2dir,index,outdir,runname,useareafile,doyears="all",order="none",overlap=overlap, startday=startday, endday=endday, yearadj=yearadj) #overlap="mean" } print(proc.time()-t) } diff --git a/R/mixel.r b/R/mixel.r index c0c86b2..e24ebee 100644 --- a/R/mixel.r +++ b/R/mixel.r @@ -17,7 +17,7 @@ #' @export -mixel = function(msswrs1dir,msswrs2dir,tmwrs2dir,oliwrs2dir,index,outdir,runname,useareafile,doyears="all",order="none",overlap="mean",startday,endday){ +mixel = function(msswrs1dir,msswrs2dir,tmwrs2dir,oliwrs2dir,index,outdir,runname,useareafile,doyears="all",order="none",overlap="mean",startday,endday,yearadj=0){ mixel_find = function(files, refimg){ info = matrix(ncol = 4, nrow=length(files)) @@ -74,7 +74,7 @@ mixel = function(msswrs1dir,msswrs2dir,tmwrs2dir,oliwrs2dir,index,outdir,runname file.rename(envixmlfile,bsqxmlfile) } - mixel_composite = function(outdir, imginfosub, runname, index, order, useareafile, overlap){ + mixel_composite = function(outdir, imginfosub, runname, index, order, useareafile, overlap, yearadj){ #outdir= mssdir #imginfosub = mssdf @@ -110,7 +110,8 @@ mixel = function(msswrs1dir,msswrs2dir,tmwrs2dir,oliwrs2dir,index,outdir,runname if(len == 1){newimg = r1} else {eval(parse(text=mergeit))} #only run merge it if there are multiple files to merge #name the new file - newbase = paste(uniyears[i],"_",runname,"_",index,"_composite.bsq", sep="") + yearlabel = as.character(as.numeric(uniyears[i])+yearadj) + newbase = paste(yearlabel,"_",runname,"_",index,"_composite.bsq", sep="") outimgfile = file.path(outdir,newbase) outtxtfile = sub("composite.bsq", "composite_img_list.csv", outimgfile) theseimgs = data.frame(theseimgs) @@ -341,7 +342,8 @@ mixel = function(msswrs1dir,msswrs2dir,tmwrs2dir,oliwrs2dir,index,outdir,runname for(i in 1:nrow(imginfo)){imginfo$decdate[i] = decyearday(as.numeric(imginfo$year[i]),as.numeric(imginfo$day[i]))} #figure out the dec year day range that is good - uniyears = as.numeric(sort(unique(imginfo$year))) + #uniyears = as.numeric(sort(unique(imginfo$year))) + uniyears = 1972:as.numeric(format(Sys.Date(),'%Y')) if(doyears != "all"){uniyears = uniyears[match(doyears,uniyears)]} @@ -376,15 +378,15 @@ mixel = function(msswrs1dir,msswrs2dir,tmwrs2dir,oliwrs2dir,index,outdir,runname #create annual composites for all sensors if(nrow(mssdf) != 0){ dir.create(mssdir, recursive=T, showWarnings=F) - mixel_composite(mssdir, mssdf, runname=runname,index=index, order=order, useareafile=useareafile, overlap=overlap) + mixel_composite(mssdir, mssdf, runname=runname,index=index, order=order, useareafile=useareafile, overlap=overlap, yearadj=yearadj) } if(nrow(tmetmdf) != 0){ dir.create(tmdir, recursive=T, showWarnings=F) - mixel_composite(tmdir, tmetmdf, runname=runname,index=index, order=order, useareafile=useareafile, overlap=overlap) + mixel_composite(tmdir, tmetmdf, runname=runname,index=index, order=order, useareafile=useareafile, overlap=overlap, yearadj=yearadj) } if(nrow(olidf) != 0){ dir.create(olidir, recursive=T, showWarnings=F) - mixel_composite(olidir, olidf, runname=runname,index=index, order=order, useareafile=useareafile, overlap=overlap) + mixel_composite(olidir, olidf, runname=runname,index=index, order=order, useareafile=useareafile, overlap=overlap, yearadj=yearadj) } #deal with the overlapping composites diff --git a/R/run_landsatlinkr.r b/R/run_landsatlinkr.r index fc976ed..53f3c2e 100644 --- a/R/run_landsatlinkr.r +++ b/R/run_landsatlinkr.r @@ -394,6 +394,19 @@ run_landsatlinkr = function(){ if(correct == "Exit"){return(cat("Stopping LLR","\n\n"))} } + #figure out how to name the files + if((endday-startday) < 0){ + cat("\n") + correct = "No" + while(correct == "No"){ + yearadj = select.list(c("Pre","Post"), title = "Your date range crosses the year divide, would you like to label the annual composite files with the pre- or post- divide year?") + cat("You have selected:",yearadj,"\n") + correct = select.list(c("Yes","No","Exit"), title = "Is that correct?") + if(correct == "Exit"){return(cat("Stopping LLR","\n\n"))} + } + yearadj = ifelse(yearadj == "Post", 1, 0) + } + #overlap methods correct = "No" while(correct == "No"){ @@ -425,7 +438,7 @@ run_landsatlinkr = function(){ ################################################################################################################# #execute the calibrate_and_composite function - calibrate_and_composite(msswrs1dir,msswrs2dir,tmwrs2dir,oliwrs2dir,index="all",outdir,runname,useareafile,doyears="all",order="none",overlap=overlap, cores=cores, process=calcomprocess, overwrite=overwrite, startday=startday, endday=endday) #overlap="mean" + calibrate_and_composite(msswrs1dir,msswrs2dir,tmwrs2dir,oliwrs2dir,index="all",outdir,runname,useareafile,doyears="all",order="none",overlap=overlap, cores=cores, process=calcomprocess, overwrite=overwrite, startday=startday, endday=endday, yearadj=yearadj) #overlap="mean" } #if(sum(process %in% 9 > 0)){ diff --git a/man/calibrate_and_composite.Rd b/man/calibrate_and_composite.Rd index f441369..3a898ed 100644 --- a/man/calibrate_and_composite.Rd +++ b/man/calibrate_and_composite.Rd @@ -6,7 +6,8 @@ \usage{ calibrate_and_composite(msswrs1dir, msswrs2dir, tmwrs2dir, oliwrs2dir, index, outdir, runname, useareafile, doyears = "all", order = "none", - overlap = "mean", cores = 2, process, overwrite = F, startday, endday) + overlap = "mean", cores = 2, process, overwrite = F, startday, endday, + yearadj) } \arguments{ \item{msswrs1dir}{character. mss wrs1 directory path} diff --git a/man/mixel.Rd b/man/mixel.Rd index 7ffc87b..4872f99 100644 --- a/man/mixel.Rd +++ b/man/mixel.Rd @@ -6,7 +6,7 @@ \usage{ mixel(msswrs1dir, msswrs2dir, tmwrs2dir, oliwrs2dir, index, outdir, runname, useareafile, doyears = "all", order = "none", overlap = "mean", - startday, endday) + startday, endday, yearadj = 0) } \arguments{ \item{msswrs1dir}{character. list of mss wrs1 directory paths}