On Oct 22, 2013, at 11:34 AM, Roy Mendelssohn - NOAA Federal wrote: > Your script didn't make it. There are restrictions on the mail list for > attached files. You might try putting the script directly into the email.
Thinking that the rejection might have be due to a Nabble posting I located it there and here include it. I'm hoping to use the method as well. #---------------- # title : MODIS_download_HTTP.R # purpose : Download of MODIS EVI images for the British Colombia; # reference : http://spatial-analyst.net/wiki/index.php?title=Download_and_resampling_of_MODIS_images # producer : Prepared by T. Hengl (addapted by T. Smejkalova) # last update : Southampton, UK, 18 October 2013. # inputs : Coordinates of the area of interest; proj4 parameters; ftp addresses etc.; # outputs : a series of EVI images (geoTIFF) projected in the local coordinate system; # remarks 1 : To run this script, you need to obtain and install the MODIS resampling tool from [https://lpdaac.usgs.gov/lpdaac/tools/modis_reprojection_tool]; # remarks 2 : You should also obtain the WGET from [http://users.ugent.be/~bpuype/wget/] --- simply copy the wget exe to windows system folder; # remarks 3 : make sure you disable your antivirus tools such as Norton or McAfee otherwise it might block wget from running! library(rgdal) library(RCurl) setInternet2(use = TRUE) # Obtain the MODIS tool from: http://lpdaac.usgs.gov/landdaac/tools/modis/index.asp # setwd("E:/PineBeetleBC/MODIS") # location of the MODIS 1 km monthly blocks: MOD09GQ <- "http://e4ftl01.cr.usgs.gov/MOLT/MOD09GQ.005/" MOD09GQa <- "http://anonymous:t...@e4ftl01.cr.usgs.gov/MOLT/MOD09GQ.005/" product = "MOD09GQ" year = 2000 # location of the mosaicing tool: MRT <- 'D:\\MRT\\MRT_Win\\bin\\' workd <- 'D:\\R_Modis\\' setwd('D:\\R_Modis\\') options(download.file.method="auto") # get the list of directories (thanks to Barry Rowlingson): items1 <- strsplit(getURL(MOD09GQ), "\n")[[1]] # get the directory names and create a new data frame: dates=data.frame(dirname=substr(items1[20:length(items1)],52,62)) # get the list of *.hdf files: dates$BLOCK1 <- rep(NA, length(dates)) dates$BLOCK2 <- rep(NA, length(dates)) #dates$BLOCK3 <- rep(NA, length(dates)) #dates$BLOCK4 <- rep(NA, length(dates)) for (i in 1:1)#length(dates))# for each date per year { getlist <- strsplit(getURL(paste(MOD09GQ, dates$dirname[i], sep="")), ">")[[1]] getlist=getlist[grep(product,getlist)] getlist=getlist[grep(".hdf<",getlist)] filenames=substr(getlist,1,nchar(getlist[1])-3) BLOCK1 <- filenames[grep(filenames,pattern="MOD09GQ.*.h18v02.*.hdf")[1]] BLOCK2 <- filenames[grep(filenames,pattern="MOD09GQ.*.h19v02.*.hdf")[1]] # write up the file names back to the dates.txt: for(j in 2:3){ dates[i,j] <- get(paste("BLOCK", j-1, sep="")) } # Download all blocks from the list to a local drive: # while(!is.na(dates[i,2])&!is.na(dates[i,3])&!is.na(dates[i,4])&!is.na(dates[i,5])&!is.na(dates[i,6])&!is.na(dates[i,7])&!is.na(dates[i,8])&!is.na(dates[i,9])&!is.na(dates[i,10])){ download.file(paste(MOD09GQa, dates$dirname[i], dates$BLOCK1[i],sep=""),destfile=paste(getwd(), "/", BLOCK1, sep="")) download.file(paste(MOD09GQ, dates$dirname[i], dates$BLOCK2[i],sep=""),destfile=paste(getwd(), "/", BLOCK2, sep=""), cacheOK=FALSE, ) # remove "." from the file name: dirname1 <- sub(sub(pattern="\\.", replacement="_", dates$dirname[[i]]), pattern="\\.", replacement="_", dates$dirname[[i]]) # mosaic the blocks: mosaicname = file(paste(MRT, "TmpMosaic.prm", sep=""), open="wt") write(paste(workd, BLOCK1, sep=""), mosaicname) write(paste(workd, BLOCK2, sep=""), mosaicname, append=T) #write(paste(workd, BLOCK3, sep=""), mosaicname, append=T) #write(paste(workd, BLOCK4, sep=""), mosaicname, append=T) close(mosaicname) # generate temporary mosaic: shell(cmd=paste(MRT, 'mrtmosaic -i ', MRT, 'TmpMosaic.prm -s "0 1 0 0 0 0 0 0 0 0 0" -o ', workd, 'TmpMosaic.hdf', sep="")) # resample to epsg=3005: filename = file(paste(MRT, "mrt", dirname1, ".prm", sep=""), open="wt") write(paste('INPUT_FILENAME = ', workd, 'TmpMosaic.hdf', sep=""), filename) # write(paste('INPUT_FILENAMES = ( ', workd, BLOCK1, ' ', workd, BLOCK2, ' ', workd, BLOCK3, ' ', workd, BLOCK4, ' ', workd, BLOCK5, ' ', workd, BLOCK6, ' ', workd, BLOCK7, ' ', workd, BLOCK8, ' ', workd, BLOCK9, ' )', sep=""), filename) # unfortunatelly does not work via command line :( write(' ', filename, append=TRUE) # write('SPECTRAL_SUBSET = ( 0 1 0 0 0 0 0 0 0 0 0 )', filename, append=TRUE) write('SPECTRAL_SUBSET = ( 1 )', filename, append=TRUE) write(' ', filename, append=TRUE) write('SPATIAL_SUBSET_TYPE = OUTPUT_PROJ_COORDS', filename, append=TRUE) write(' ', filename, append=TRUE) write('SPATIAL_SUBSET_UL_CORNER = ( 500000.0 -1800000.0 )', filename, append=TRUE) write('SPATIAL_SUBSET_LR_CORNER = ( 1600000.0 -2700000.0 )', filename, append=TRUE) write(' ', filename, append=TRUE) write(paste('OUTPUT_FILENAME = ', workd, 'tmp', dirname1, '.tif', sep=""), filename, append=TRUE) write(' ', filename, append=TRUE) write('RESAMPLING_TYPE = NEAREST_NEIGHBOR', filename, append=TRUE) write(' ', filename, append=TRUE) write('OUTPUT_PROJECTION_TYPE = PS', filename, append=TRUE) write(' ', filename, append=TRUE) write('OUTPUT_PROJECTION_PARAMETERS = ( ', filename, append=TRUE) write(' 6378137.0 6356752.314245179 0.0', filename, append=TRUE) write(' 0.0 0.0 71.0', filename, append=TRUE) write(' 0.0 0.0 0.0', filename, append=TRUE) write(' 0.0 0.0 0.0', filename, append=TRUE) write(' 0.0 0.0 0.0 )', filename, append=TRUE) write(' ', filename, append=TRUE) write('DATUM = WGS84', filename, append=TRUE) write(' ', filename, append=TRUE) write('OUTPUT_PIXEL_SIZE = 250', filename, append=TRUE) write(' ', filename, append=TRUE) close(filename) # Mosaic the images to get the whole area: shell(cmd=paste(MRT, 'resample -p ', MRT, 'mrt', dirname1, '.prm', sep="")) # delete all hdf files! unlink(paste(getwd(), '/', BLOCK1, sep="")) unlink(paste(getwd(), '/', BLOCK2, sep="")) #unlink(paste(getwd(), '/', BLOCK3, sep="")) #unlink(paste(getwd(), '/', BLOCK4, sep="")) } # end of script! -- David. > -Roy > > On Oct 22, 2013, at 9:40 AM, "Tereza Smejkalova" <terka...@gmail.com> wrote: > >> I am triing one more time since my first message was rejected by the filter: >> >> >> >> Dear all, >> I need to download and process large amounts of MODIS surface reflectance >> imagery. I have adapted a script written by T. Hengl ( >> <http://www.spatial-analyst.net/wiki/?title=Download_and_resampling_of_MODIS >> _images> >> http://www.spatial-analyst.net/wiki/?title=Download_and_resampling_of_MODIS_ >> images) for download from the new HTTP (since FTP is no longer available). >> The downloaded .HDF files however have no headers and it is impossible to >> work with them. If I download directly from the webpage everything is fine. >> Does anyone know what the problem might be, please? >> >> I am attaching my code >> >> >> Please it is urgent. It only delays response if you don't "read the directions" for your toys that "may require assembly". -- David Winsemius Alameda, CA, USA ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.