1 |
4ef959c2
|
Adam M. Wilson
|
### Script to download and process the MOD44W water mask from the USGS
|
2 |
|
|
|
3 |
|
|
setwd("/home/adamw/acrobates/Global/land")
|
4 |
|
|
url="http://e4ftl01.cr.usgs.gov/MOLT/MOD44W.005/2000.02.24/"
|
5 |
|
|
|
6 |
|
|
|
7 |
|
|
### download the 250m land tiles
|
8 |
|
|
system(paste("wget -np -nd --no-clobber -r ",url," -P tiles -R html -A hdf"))
|
9 |
|
|
|
10 |
|
|
## modis projection
|
11 |
|
|
mproj="+proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6371007.181 +b=6371007.181 +units=m +no_defs"
|
12 |
|
|
|
13 |
|
|
## destination projection
|
14 |
|
|
dproj="+proj=cea +ellps=WGS84 +lat_ts=30"
|
15 |
|
|
|
16 |
|
|
### Get list of tiles
|
17 |
|
|
files=list.files("tiles",recursive=T,full=T)
|
18 |
|
|
maskfiles=paste("HDF4_EOS:EOS_GRID:\"",files,"\":MOD44W_250m_GRID:water_mask",sep="")
|
19 |
|
|
## write out a table of files to process into VRT
|
20 |
|
|
write.table(maskfiles,file="tiles.txt",row.names=F,col.names=F,quote=F)
|
21 |
|
|
## how many are there?
|
22 |
|
|
length(files)
|
23 |
|
|
|
24 |
|
|
## check them out
|
25 |
|
|
system(paste("gdalinfo ",files[1]))
|
26 |
|
|
system(paste("gdalinfo ",maskfiles[1]))
|
27 |
|
|
|
28 |
|
|
## test conversion of one tile
|
29 |
|
|
system(paste("gdalwarp -overwrite -multi -s_srs \"",mproj,"\" -t_srs \"",dproj,"\" -co COMPRESS=LZW -r near ",maskfiles[307]," land_behrmann.tif"))
|
30 |
|
|
|
31 |
|
|
### create VRT
|
32 |
|
|
system(paste("gdalbuildvrt -overwrite -input_file_list tiles.txt land.vrt"))
|
33 |
|
|
system(paste("gdalwarp -overwrite -multi -s_srs \"",mproj,"\" -t_srs \"",dproj,"\" -of GTiff -co COMPRESS=LZW land.vrt land.tif"))
|
34 |
|
|
|
35 |
|
|
## mosaic directly from tiles to tif
|
36 |
|
|
system(paste("gdal_merge.py -of GTiff -co COMPRESS=LZW -o land.tif ",paste(maskfiles,collapse=" ")))
|
37 |
|
|
|
38 |
|
|
system(paste("gdalwarp -overwrite -multi -s_srs \"",mproj,"\" -t_srs \"",dproj,"\" -of vrt -r near land.vrt land_behrmann.vrt"))
|
39 |
|
|
system(paste("gdal_translate -of GTiff -co COMPRESS=LZW land_behrmann.vrt land_behrmann.tif"))
|
40 |
|
|
|
41 |
|
|
system("gdalinfo land_behrmann.vrt")
|