If you are running this for the first time, you may need to install additional geospatial dependencies
# sudo add-apt-repository ppa:ubuntugis
# sudo apt-get update
# sudo apt-get install libgdal-dev libgeos-dev libproj-dev
# sudo apt-get install libudunits2-dev
The following code block executes when the notebook is opened.
This command uses wget
to download data into the container.
The CyVerse iRODS data store also supports WebDav; we are hosting the extracted raster data in a folder with anonymous public read-only settings.
All of the landsat data are ~22.8 GB in size, and will take ~18 minutes to transfer within the CyVerse workbench for all four sites.
A subset of the collection will take less time, here we’re taking the /okavango
collection.
# uncomment to run
# cd ~/emsi/data/
#time wget -r -nH --cut-dirs=7 --no-parent -l8 --reject="index.html*" https://data.cyverse.org/dav-anon/iplant/home/tswetnam/emsi/data/collections/usmex
# Test for raster metadata with GDALinfo
GDALinfo("~/emsi/data/collections/usmex/gee-collection-usmex-landsat7/LE07_035038_20000912.tif")
## rows 686
## columns 1059
## bands 1
## lower left origin.x 528510
## lower left origin.y 3456780
## res.x 30
## res.y 30
## ysign -1
## oblique.x 0
## oblique.y 0
## driver GTiff
## projection +proj=utm +zone=12 +datum=WGS84 +units=m +no_defs
## file ~/emsi/data/collections/usmex/gee-collection-usmex-landsat7/LE07_035038_20000912.tif
## apparent band summary:
## GDType hasNoDataValue NoDataValue blockSize1 blockSize2
## 1 Float32 FALSE 0 256 256
## apparent band statistics:
## Bmin Bmax Bmean Bsd
## 1 -4294967295 4294967295 NA NA
## Metadata:
## AREA_OR_POINT=Area
# Load all rasters in usmex-landsat5
setwd("~/emsi/data/collections/usmex/gee-collection-usmex-landsat5/")
rlist5=list.files(getwd(), pattern="tif$", full.names=FALSE)
for(i in rlist5) { assign(unlist(strsplit(i, "[.]"))[1], raster(i)) }
# Load all rasters in usmex-landsat7
setwd("~/emsi/data/collections/usmex/gee-collection-usmex-landsat7/")
rlist7=list.files(getwd(), pattern="tif$", full.names=FALSE)
for(i in rlist7) { assign(unlist(strsplit(i, "[.]"))[1], raster(i)) }
# Load all rasters in usmex-landsat8
setwd("~/emsi/data/collections/usmex/gee-collection-usmex-landsat8/")
rlist8=list.files(getwd(), pattern="tif$", full.names=FALSE)
for(i in rlist8) { assign(unlist(strsplit(i, "[.]"))[1], raster(i)) }
setwd("~/emsi/data/collections/usmex/gee-collection-usmex-landsat5/")
rlist5 <- list.files(getwd(),full.names = TRUE,pattern = ".tif$")
l5_stack <- stack(rlist5)
l5_stack
## class : RasterStack
## dimensions : 686, 1059, 726474, 360 (nrow, ncol, ncell, nlayers)
## resolution : 30, 30 (x, y)
## extent : 528510, 560280, 3456780, 3477360 (xmin, xmax, ymin, ymax)
## crs : +proj=utm +zone=12 +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0
## names : LT05_035038_19840503, LT05_035038_19840620, LT05_035038_19840706, LT05_035038_19841127, LT05_035038_19841229, LT05_035038_19850404, LT05_035038_19850420, LT05_035038_19850725, LT05_035038_19850826, LT05_035038_19850927, LT05_035038_19851013, LT05_035038_19851029, LT05_035038_19851114, LT05_035038_19860117, LT05_035038_19860218, ...
list_l5 <- ls(pattern="LT05", all.names = TRUE)
list_l5
## [1] "LT05_035038_19840503" "LT05_035038_19840620" "LT05_035038_19840706"
## [4] "LT05_035038_19841127" "LT05_035038_19841229" "LT05_035038_19850404"
## [7] "LT05_035038_19850420" "LT05_035038_19850725" "LT05_035038_19850826"
## [10] "LT05_035038_19850927" "LT05_035038_19851013" "LT05_035038_19851029"
## [13] "LT05_035038_19851114" "LT05_035038_19860117" "LT05_035038_19860218"
## [16] "LT05_035038_19860322" "LT05_035038_19860407" "LT05_035038_19860610"
## [19] "LT05_035038_19860626" "LT05_035038_19860914" "LT05_035038_19861219"
## [22] "LT05_035038_19870104" "LT05_035038_19870205" "LT05_035038_19870410"
## [25] "LT05_035038_19870426" "LT05_035038_19870512" "LT05_035038_19870528"
## [28] "LT05_035038_19870613" "LT05_035038_19870629" "LT05_035038_19870816"
## [31] "LT05_035038_19870901" "LT05_035038_19871003" "LT05_035038_19871019"
## [34] "LT05_035038_19880514" "LT05_035038_19880530" "LT05_035038_19880615"
## [37] "LT05_035038_19880701" "LT05_035038_19880818" "LT05_035038_19880903"
## [40] "LT05_035038_19880919" "LT05_035038_19881005" "LT05_035038_19890415"
## [43] "LT05_035038_19890501" "LT05_035038_19890618" "LT05_035038_19890704"
## [46] "LT05_035038_19890720" "LT05_035038_19890821" "LT05_035038_19890906"
## [49] "LT05_035038_19890922" "LT05_035038_19891008" "LT05_035038_19891024"
## [52] "LT05_035038_19900317" "LT05_035038_19900418" "LT05_035038_19900504"
## [55] "LT05_035038_19900605" "LT05_035038_19900621" "LT05_035038_19900824"
## [58] "LT05_035038_19900909" "LT05_035038_19901011" "LT05_035038_19901027"
## [61] "LT05_035038_19910320" "LT05_035038_19910405" "LT05_035038_19910421"
## [64] "LT05_035038_19910507" "LT05_035038_19910523" "LT05_035038_19910608"
## [67] "LT05_035038_19910624" "LT05_035038_19910726" "LT05_035038_19910811"
## [70] "LT05_035038_19910928" "LT05_035038_19911014" "LT05_035038_19920509"
## [73] "LT05_035038_19920610" "LT05_035038_19920626" "LT05_035038_19920712"
## [76] "LT05_035038_19920813" "LT05_035038_19920914" "LT05_035038_19920930"
## [79] "LT05_035038_19921016" "LT05_035038_19921101" "LT05_035038_19921117"
## [82] "LT05_035038_19930104" "LT05_035038_19930120" "LT05_035038_19930221"
## [85] "LT05_035038_19930309" "LT05_035038_19930325" "LT05_035038_19930410"
## [88] "LT05_035038_19930426" "LT05_035038_19930613" "LT05_035038_19930629"
## [91] "LT05_035038_19930731" "LT05_035038_19930816" "LT05_035038_19930901"
## [94] "LT05_035038_19930917" "LT05_035038_19931003" "LT05_035038_19931120"
## [97] "LT05_035038_19931206" "LT05_035038_19931222" "LT05_035038_19940107"
## [100] "LT05_035038_19940224" "LT05_035038_19940328" "LT05_035038_19940429"
## [103] "LT05_035038_19940515" "LT05_035038_19940531" "LT05_035038_19940616"
## [106] "LT05_035038_19940702" "LT05_035038_19940803" "LT05_035038_19941022"
## [109] "LT05_035038_19941123" "LT05_035038_19941209" "LT05_035038_19950211"
## [112] "LT05_035038_19950227" "LT05_035038_19950315" "LT05_035038_19950331"
## [115] "LT05_035038_19950518" "LT05_035038_19950603" "LT05_035038_19950619"
## [118] "LT05_035038_19950705" "LT05_035038_19950806" "LT05_035038_19950822"
## [121] "LT05_035038_19950907" "LT05_035038_19950923" "LT05_035038_19951009"
## [124] "LT05_035038_19951025" "LT05_035038_19951110" "LT05_035038_19951212"
## [127] "LT05_035038_19960113" "LT05_035038_19960129" "LT05_035038_19960214"
## [130] "LT05_035038_19960301" "LT05_035038_19960317" "LT05_035038_19960402"
## [133] "LT05_035038_19960418" "LT05_035038_19960504" "LT05_035038_19960520"
## [136] "LT05_035038_19960605" "LT05_035038_19960707" "LT05_035038_19960723"
## [139] "LT05_035038_19960824" "LT05_035038_19961011" "LT05_035038_19961112"
## [142] "LT05_035038_19961214" "LT05_035038_19970115" "LT05_035038_19970131"
## [145] "LT05_035038_19970320" "LT05_035038_19970421" "LT05_035038_19970507"
## [148] "LT05_035038_19970523" "LT05_035038_19970608" "LT05_035038_19970624"
## [151] "LT05_035038_19970827" "LT05_035038_19970928" "LT05_035038_19971014"
## [154] "LT05_035038_19971217" "LT05_035038_19980102" "LT05_035038_19980118"
## [157] "LT05_035038_19980203" "LT05_035038_19980219" "LT05_035038_19980323"
## [160] "LT05_035038_19980408" "LT05_035038_19980424" "LT05_035038_19980510"
## [163] "LT05_035038_19980526" "LT05_035038_19980611" "LT05_035038_19980627"
## [166] "LT05_035038_19980814" "LT05_035038_19980830" "LT05_035038_19981001"
## [169] "LT05_035038_19981102" "LT05_035038_19981118" "LT05_035038_19981204"
## [172] "LT05_035038_19981220" "LT05_035038_19990105" "LT05_035038_19990206"
## [175] "LT05_035038_19990427" "LT05_035038_19990513" "LT05_035038_19990529"
## [178] "LT05_035038_19990614" "LT05_035038_19990630" "LT05_035038_19990817"
## [181] "LT05_035038_19991004" "LT05_035038_19991105" "LT05_035038_19991121"
## [184] "LT05_035038_19991223" "LT05_035038_20000108" "LT05_035038_20000124"
## [187] "LT05_035038_20000209" "LT05_035038_20000312" "LT05_035038_20000413"
## [190] "LT05_035038_20000531" "LT05_035038_20000616" "LT05_035038_20000803"
## [193] "LT05_035038_20000819" "LT05_035038_20000904" "LT05_035038_20001006"
## [196] "LT05_035038_20001123" "LT05_035038_20001225" "LT05_035038_20010110"
## [199] "LT05_035038_20010126" "LT05_035038_20010211" "LT05_035038_20010315"
## [202] "LT05_035038_20010331" "LT05_035038_20010416" "LT05_035038_20010502"
## [205] "LT05_035038_20010822" "LT05_035038_20010907" "LT05_035038_20011025"
## [208] "LT05_035038_20011110" "LT05_035038_20011228" "LT05_035038_20020113"
## [211] "LT05_035038_20020214" "LT05_035038_20020302" "LT05_035038_20020521"
## [214] "LT05_035038_20020606" "LT05_035038_20020622" "LT05_035038_20020724"
## [217] "LT05_035038_20020809" "LT05_035038_20020825" "LT05_035038_20020910"
## [220] "LT05_035038_20020926" "LT05_035038_20021028" "LT05_035038_20021113"
## [223] "LT05_035038_20021231" "LT05_035038_20030116" "LT05_035038_20030201"
## [226] "LT05_035038_20030406" "LT05_035038_20030422" "LT05_035038_20030508"
## [229] "LT05_035038_20030524" "LT05_035038_20030609" "LT05_035038_20030625"
## [232] "LT05_035038_20030812" "LT05_035038_20030913" "LT05_035038_20030929"
## [235] "LT05_035038_20031015" "LT05_035038_20031202" "LT05_035038_20031218"
## [238] "LT05_035038_20040103" "LT05_035038_20040119" "LT05_035038_20040307"
## [241] "LT05_035038_20040408" "LT05_035038_20040424" "LT05_035038_20040510"
## [244] "LT05_035038_20040611" "LT05_035038_20040713" "LT05_035038_20040729"
## [247] "LT05_035038_20040830" "LT05_035038_20040915" "LT05_035038_20041001"
## [250] "LT05_035038_20041102" "LT05_035038_20041220" "LT05_035038_20050310"
## [253] "LT05_035038_20050326" "LT05_035038_20050411" "LT05_035038_20050427"
## [256] "LT05_035038_20050513" "LT05_035038_20050614" "LT05_035038_20050630"
## [259] "LT05_035038_20050716" "LT05_035038_20050801" "LT05_035038_20050902"
## [262] "LT05_035038_20050918" "LT05_035038_20051020" "LT05_035038_20051105"
## [265] "LT05_035038_20051121" "LT05_035038_20060225" "LT05_035038_20060313"
## [268] "LT05_035038_20060430" "LT05_035038_20060601" "LT05_035038_20060617"
## [271] "LT05_035038_20060703" "LT05_035038_20060719" "LT05_035038_20061108"
## [274] "LT05_035038_20061124" "LT05_035038_20061226" "LT05_035038_20070127"
## [277] "LT05_035038_20070212" "LT05_035038_20070316" "LT05_035038_20070401"
## [280] "LT05_035038_20070417" "LT05_035038_20070503" "LT05_035038_20070519"
## [283] "LT05_035038_20070620" "LT05_035038_20070706" "LT05_035038_20070823"
## [286] "LT05_035038_20070908" "LT05_035038_20080302" "LT05_035038_20080318"
## [289] "LT05_035038_20080403" "LT05_035038_20080505" "LT05_035038_20080521"
## [292] "LT05_035038_20080606" "LT05_035038_20080622" "LT05_035038_20081012"
## [295] "LT05_035038_20081028" "LT05_035038_20081113" "LT05_035038_20081129"
## [298] "LT05_035038_20081215" "LT05_035038_20081231" "LT05_035038_20090116"
## [301] "LT05_035038_20090201" "LT05_035038_20090321" "LT05_035038_20090406"
## [304] "LT05_035038_20090508" "LT05_035038_20090711" "LT05_035038_20090727"
## [307] "LT05_035038_20090828" "LT05_035038_20090913" "LT05_035038_20090929"
## [310] "LT05_035038_20091015" "LT05_035038_20091031" "LT05_035038_20091116"
## [313] "LT05_035038_20091202" "LT05_035038_20091218" "LT05_035038_20100324"
## [316] "LT05_035038_20100409" "LT05_035038_20100425" "LT05_035038_20100511"
## [319] "LT05_035038_20100527" "LT05_035038_20100612" "LT05_035038_20100628"
## [322] "LT05_035038_20100815" "LT05_035038_20100916" "LT05_035038_20101002"
## [325] "LT05_035038_20101018" "LT05_035038_20101103" "LT05_035038_20101119"
## [328] "LT05_035038_20101205" "LT05_035038_20101221" "LT05_035038_20110122"
## [331] "LT05_035038_20110207" "LT05_035038_20110311" "LT05_035038_20110327"
## [334] "LT05_035038_20110412" "LT05_035038_20110428" "LT05_035038_20110514"
## [337] "LT05_035038_20110530" "LT05_035038_20110615" "LT05_035038_20110701"
## [340] "LT05_035038_20110802" "LT05_035038_20110818" "LT05_035038_20110903"
## [343] "LT05_035038_20110919" "LT05_035038_20111005" "LT05_036038_20000303"
## [346] "LT05_036038_20040330" "LT05_036038_20040501" "LT05_036038_20040517"
## [349] "LT05_036038_20040602" "LT05_036038_20040618" "LT05_036038_20060115"
## [352] "LT05_036038_20060131" "LT05_036038_20060216" "LT05_036038_20060523"
## [355] "LT05_036038_20070830" "LT05_036038_20080121" "LT05_036038_20081120"
## [358] "LT05_036038_20081206" "LT05_036038_20081222" "LT05_036038_20090107"
dates_l5 = as.Date(str_sub(list_l5, -8 ,-1), format="%Y%m%d")
list_l7 <- ls(pattern="LE07", all.names = TRUE)
list_l7
## [1] "LE07_035038_19990708" "LE07_035038_19990724" "LE07_035038_19990809"
## [4] "LE07_035038_19990825" "LE07_035038_19990910" "LE07_035038_19990926"
## [7] "LE07_035038_19991012" "LE07_035038_19991028" "LE07_035038_19991113"
## [10] "LE07_035038_19991129" "LE07_035038_19991215" "LE07_035038_20000116"
## [13] "LE07_035038_20000201" "LE07_035038_20000217" "LE07_035038_20000304"
## [16] "LE07_035038_20000320" "LE07_035038_20000405" "LE07_035038_20000507"
## [19] "LE07_035038_20000523" "LE07_035038_20000624" "LE07_035038_20000710"
## [22] "LE07_035038_20000726" "LE07_035038_20000912" "LE07_035038_20000928"
## [25] "LE07_035038_20001030" "LE07_035038_20001217" "LE07_035038_20010118"
## [28] "LE07_035038_20010203" "LE07_035038_20010219" "LE07_035038_20010323"
## [31] "LE07_035038_20010408" "LE07_035038_20010510" "LE07_035038_20010526"
## [34] "LE07_035038_20010627" "LE07_035038_20011017" "LE07_035038_20011102"
## [37] "LE07_035038_20011220" "LE07_035038_20020105" "LE07_035038_20020121"
## [40] "LE07_035038_20020206" "LE07_035038_20020222" "LE07_035038_20020310"
## [43] "LE07_035038_20020326" "LE07_035038_20020411" "LE07_035038_20020427"
## [46] "LE07_035038_20020529" "LE07_035038_20020614" "LE07_035038_20020630"
## [49] "LE07_035038_20020817" "LE07_035038_20020902" "LE07_035038_20021004"
## [52] "LE07_035038_20021105" "LE07_035038_20021121" "LE07_035038_20030124"
## [55] "LE07_035038_20030209" "LE07_035038_20030329" "LE07_035038_20030430"
## [58] "LE07_035038_20030516" "LE07_035038_20030804" "LE07_035038_20030921"
## [61] "LE07_035038_20031023" "LE07_035038_20031108" "LE07_035038_20031124"
## [64] "LE07_035038_20031210" "LE07_035038_20040127" "LE07_035038_20040212"
## [67] "LE07_035038_20040315" "LE07_035038_20040331" "LE07_035038_20040416"
## [70] "LE07_035038_20040502" "LE07_035038_20040518" "LE07_035038_20040603"
## [73] "LE07_035038_20040619" "LE07_035038_20040705" "LE07_035038_20040721"
## [76] "LE07_035038_20040806" "LE07_035038_20040822" "LE07_035038_20040923"
## [79] "LE07_035038_20041009" "LE07_035038_20041126" "LE07_035038_20041212"
## [82] "LE07_035038_20050113" "LE07_035038_20050129" "LE07_035038_20050302"
## [85] "LE07_035038_20050419" "LE07_035038_20050505" "LE07_035038_20050521"
## [88] "LE07_035038_20050606" "LE07_035038_20050622" "LE07_035038_20050708"
## [91] "LE07_035038_20050825" "LE07_035038_20050926" "LE07_035038_20051012"
## [94] "LE07_035038_20051113" "LE07_035038_20051129" "LE07_035038_20060116"
## [97] "LE07_035038_20060321" "LE07_035038_20060406" "LE07_035038_20060422"
## [100] "LE07_035038_20060508" "LE07_035038_20060524" "LE07_035038_20060711"
## [103] "LE07_035038_20060828" "LE07_035038_20061031" "LE07_035038_20061116"
## [106] "LE07_035038_20061202" "LE07_035038_20070103" "LE07_035038_20070308"
## [109] "LE07_035038_20070409" "LE07_035038_20070425" "LE07_035038_20070511"
## [112] "LE07_035038_20070527" "LE07_035038_20070815" "LE07_035038_20070831"
## [115] "LE07_035038_20071018" "LE07_035038_20071103" "LE07_035038_20071119"
## [118] "LE07_035038_20071205" "LE07_035038_20080122" "LE07_035038_20080207"
## [121] "LE07_035038_20080223" "LE07_035038_20080310" "LE07_035038_20080411"
## [124] "LE07_035038_20080427" "LE07_035038_20080513" "LE07_035038_20080529"
## [127] "LE07_035038_20080630" "LE07_035038_20080801" "LE07_035038_20080918"
## [130] "LE07_035038_20081020" "LE07_035038_20081105" "LE07_035038_20090430"
## [133] "LE07_035038_20090516" "LE07_035038_20090601" "LE07_035038_20090719"
## [136] "LE07_035038_20090804" "LE07_035038_20090820" "LE07_035038_20091023"
## [139] "LE07_035038_20091108" "LE07_035038_20091124" "LE07_035038_20091210"
## [142] "LE07_035038_20091226" "LE07_035038_20100111" "LE07_035038_20100212"
## [145] "LE07_035038_20100316" "LE07_035038_20100417" "LE07_035038_20100503"
## [148] "LE07_035038_20100519" "LE07_035038_20100604" "LE07_035038_20100620"
## [151] "LE07_035038_20100706" "LE07_035038_20100823" "LE07_035038_20101010"
## [154] "LE07_035038_20101026" "LE07_035038_20101111" "LE07_035038_20101127"
## [157] "LE07_035038_20101213" "LE07_035038_20110114" "LE07_035038_20110130"
## [160] "LE07_035038_20110215" "LE07_035038_20110319" "LE07_035038_20110404"
## [163] "LE07_035038_20110420" "LE07_035038_20110506" "LE07_035038_20110522"
## [166] "LE07_035038_20110607" "LE07_035038_20110623" "LE07_035038_20110826"
## [169] "LE07_035038_20110911" "LE07_035038_20111013" "LE07_035038_20111130"
## [172] "LE07_035038_20120101" "LE07_035038_20120117" "LE07_035038_20120202"
## [175] "LE07_035038_20120218" "LE07_035038_20120321" "LE07_035038_20120406"
## [178] "LE07_035038_20120422" "LE07_035038_20120508" "LE07_035038_20120524"
## [181] "LE07_035038_20120609" "LE07_035038_20120812" "LE07_035038_20120929"
## [184] "LE07_035038_20121031" "LE07_035038_20121202" "LE07_035038_20121218"
## [187] "LE07_035038_20130119" "LE07_035038_20130324" "LE07_035038_20130425"
## [190] "LE07_035038_20130612" "LE07_035038_20130628" "LE07_035038_20130916"
## [193] "LE07_035038_20131002" "LE07_035038_20131018" "LE07_035038_20131119"
## [196] "LE07_035038_20140106" "LE07_035038_20140207" "LE07_035038_20140311"
## [199] "LE07_035038_20140327" "LE07_035038_20140428" "LE07_035038_20140514"
## [202] "LE07_035038_20140530" "LE07_035038_20140615" "LE07_035038_20140701"
## [205] "LE07_035038_20141005" "LE07_035038_20141021" "LE07_035038_20141106"
## [208] "LE07_035038_20141122" "LE07_035038_20141224" "LE07_035038_20150109"
## [211] "LE07_035038_20150226" "LE07_035038_20150314" "LE07_035038_20150501"
## [214] "LE07_035038_20150517" "LE07_035038_20150602" "LE07_035038_20150618"
## [217] "LE07_035038_20151024" "LE07_035038_20151109" "LE07_035038_20151227"
## [220] "LE07_035038_20160128" "LE07_035038_20160213" "LE07_035038_20160316"
## [223] "LE07_035038_20160503" "LE07_035038_20160722" "LE07_035038_20160807"
## [226] "LE07_035038_20161010" "LE07_035038_20161026" "LE07_035038_20161111"
## [229] "LE07_035038_20170130" "LE07_035038_20170215" "LE07_035038_20170404"
## [232] "LE07_035038_20170420" "LE07_035038_20170506" "LE07_035038_20170522"
## [235] "LE07_035038_20170623" "LE07_035038_20171029" "LE07_035038_20171114"
## [238] "LE07_035038_20180101" "LE07_035038_20180117" "LE07_035038_20180322"
## [241] "LE07_035038_20180423" "LE07_035038_20180509" "LE07_035038_20180525"
## [244] "LE07_035038_20180610" "LE07_035038_20180829"
dates_l7 = as.Date(str_sub(list_l7, -8 ,-1), format="%Y%m%d")
list_l8 <- ls(pattern="LC08", all.names = TRUE)
list_l8
## [1] "LC08_035038_20130417" "LC08_035038_20130503" "LC08_035038_20130519"
## [4] "LC08_035038_20130604" "LC08_035038_20130620" "LC08_035038_20130706"
## [7] "LC08_035038_20130924" "LC08_035038_20131026" "LC08_035038_20131111"
## [10] "LC08_035038_20131213" "LC08_035038_20140114" "LC08_035038_20140130"
## [13] "LC08_035038_20140215" "LC08_035038_20140303" "LC08_035038_20140319"
## [16] "LC08_035038_20140404" "LC08_035038_20140506" "LC08_035038_20140522"
## [19] "LC08_035038_20140607" "LC08_035038_20140623" "LC08_035038_20140725"
## [22] "LC08_035038_20140911" "LC08_035038_20141013" "LC08_035038_20141029"
## [25] "LC08_035038_20141114" "LC08_035038_20150101" "LC08_035038_20150117"
## [28] "LC08_035038_20150218" "LC08_035038_20150306" "LC08_035038_20150322"
## [31] "LC08_035038_20150407" "LC08_035038_20150423" "LC08_035038_20150509"
## [34] "LC08_035038_20150525" "LC08_035038_20150610" "LC08_035038_20150626"
## [37] "LC08_035038_20150712" "LC08_035038_20150813" "LC08_035038_20150829"
## [40] "LC08_035038_20150930" "LC08_035038_20151101" "LC08_035038_20151117"
## [43] "LC08_035038_20151203" "LC08_035038_20160120" "LC08_035038_20160205"
## [46] "LC08_035038_20160324" "LC08_035038_20160409" "LC08_035038_20160425"
## [49] "LC08_035038_20160511" "LC08_035038_20160527" "LC08_035038_20160612"
## [52] "LC08_035038_20160714" "LC08_035038_20160815" "LC08_035038_20160916"
## [55] "LC08_035038_20161002" "LC08_035038_20161018" "LC08_035038_20161119"
## [58] "LC08_035038_20161205" "LC08_035038_20170106" "LC08_035038_20170207"
## [61] "LC08_035038_20170223" "LC08_035038_20170311" "LC08_035038_20170327"
## [64] "LC08_035038_20170412" "LC08_035038_20170514" "LC08_035038_20170615"
## [67] "LC08_035038_20170701" "LC08_035038_20171005" "LC08_035038_20171021"
## [70] "LC08_035038_20171106" "LC08_035038_20171122" "LC08_035038_20171208"
## [73] "LC08_035038_20171224" "LC08_035038_20180125" "LC08_035038_20180226"
## [76] "LC08_035038_20180330" "LC08_035038_20180415" "LC08_035038_20180517"
## [79] "LC08_035038_20180602" "LC08_035038_20180618" "LC08_035038_20180704"
## [82] "LC08_035038_20180720" "LC08_035038_20180805" "LC08_035038_20180906"
dates_l8 = as.Date(str_sub(list_l8, -8 ,-1), format="%Y%m%d")
list_09 <- ls(pattern = "09", all.names = TRUE)
# Landsat 5,7,8 August scenes
l5_08 <- brick(LT05_035038_19850826,
LT05_035038_19870816,
LT05_035038_19880818,
LT05_035038_19890821,
LT05_035038_19900824,
LT05_035038_19910811,
LT05_035038_19920813,
LT05_035038_19930816,
LT05_035038_19940803,
LT05_035038_19950806,
LT05_035038_19950822,
LT05_035038_19960824,
LT05_035038_19970827,
LT05_035038_19980814,
LT05_035038_19980830,
LT05_035038_19990817,
LT05_035038_20000803,
LT05_035038_20000819,
LT05_035038_20010822,
LT05_035038_20020809,
LT05_035038_20020825,
LT05_035038_20030812,
LT05_035038_20040830,
LT05_035038_20050801,
LT05_035038_20070823,
LT05_035038_20090828,
LT05_035038_20100815,
LT05_035038_20110802,
LT05_035038_20110818)
l7_08 <- brick(LE07_035038_19990809,
LE07_035038_19990825,
LE07_035038_20020817,
LE07_035038_20030804,
LE07_035038_20040806,
LE07_035038_20040822,
LE07_035038_20050825,
LE07_035038_20060828,
LE07_035038_20070815,
LE07_035038_20070831,
LE07_035038_20080801,
LE07_035038_20090804,
LE07_035038_20100823,
LE07_035038_20110826,
LE07_035038_20120812,
LE07_035038_20160807,
LE07_035038_20180829)
l8_08 <- brick( LC08_035038_20150813,
LC08_035038_20150829,
LC08_035038_20160815,
LC08_035038_20180805)
lall_08 <- brick(LT05_035038_19850826,
LT05_035038_19870816,
LT05_035038_19880818,
LT05_035038_19890821,
LT05_035038_19900824,
LT05_035038_19910811,
LT05_035038_19920813,
LT05_035038_19930816,
LT05_035038_19940803,
LT05_035038_19950806,
LT05_035038_19950822,
LT05_035038_19960824,
LT05_035038_19970827,
LT05_035038_19980814,
LT05_035038_19980830,
LT05_035038_19990817,
LT05_035038_20000803,
LT05_035038_20000819,
LT05_035038_20010822,
LT05_035038_20020809,
LT05_035038_20020825,
LT05_035038_20030812,
LT05_035038_20040830,
LT05_035038_20050801,
LT05_035038_20070823,
LT05_035038_20090828,
LT05_035038_20100815,
LT05_035038_20110802,
LT05_035038_20110818,
LE07_035038_19990809,
LE07_035038_19990825,
LE07_035038_20020817,
LE07_035038_20030804,
LE07_035038_20040806,
LE07_035038_20040822,
LE07_035038_20050825,
LE07_035038_20060828,
LE07_035038_20070815,
LE07_035038_20070831,
LE07_035038_20080801,
LE07_035038_20090804,
LE07_035038_20100823,
LE07_035038_20110826,
LE07_035038_20120812,
LE07_035038_20160807,
LE07_035038_20180829,
LC08_035038_20150813,
LC08_035038_20150829,
LC08_035038_20160815,
LC08_035038_20180805)
# Calculate mean
l5_08_mean <- calc(l5_08, mean, na.rm=T)
l7_08_mean <- calc(l7_08, mean, na.rm=T)
l8_08_mean <- calc(l8_08, mean, na.rm=T)
lall_08_mean <- calc(lall_08, mean, na.rm=T)
# Calculate sd
l5_08_sd <- calc(l5_08, sd, na.rm=T)
l7_08_sd <- calc(l7_08, sd, na.rm=T)
l8_08_sd <- calc(l8_08, sd, na.rm=T)
lall_08_sd <- calc(lall_08, sd, na.rm=T)
l5_08_emsi <- overlay(l5_08, l5_08_mean, l5_08_sd, fun = function(r1, r2, r3) { return( (r1 - r2)/r3) })
l7_08_emsi <- overlay(l7_08, l7_08_mean, l7_08_sd, fun = function(r1, r2, r3) { return( (r1 - r2)/r3) })
l8_08_emsi <- overlay(l8_08, l5_08_mean, l5_08_sd, fun = function(r1, r2, r3) { return( (r1 - r2)/r3) })
lall_08_emsi <- overlay(lall_08, lall_08_mean, lall_08_sd, fun = function(r1, r2, r3) { return( (r1 - r2)/r3) })
l5_09 <- brick()
# Landsat 8 September dates
l8_09 <- brick(LC08_035038_20130924,
LC08_035038_20140911,
LC08_035038_20150930,
LC08_035038_20160916,
LC08_035038_20180906)
# Calculate mean
l8_09_mean <- calc(l8_09, mean)
# Calculate sd
l8_09_sd <- calc(l8_09, sd)
l8_09_emsi <- overlay(l8_09, l8_09_mean, l8_09_sd, fun = function(r1, r2, r3) { return( (r1 - r2)/r3) })
https://rstudio.github.io/leaflet http://leafletjs.com/ https://www.r-bloggers.com/interactive-mapping-with-leaflet-in-r/ https://www.color-hex.com/color-palette/19447
We are going to use a topo map, overlayed with a street map to show states. To browse all the provider layers, see http://leaflet-extras.github.io/leaflet-providers/preview/index.html
# Create custom NDVI color pallete
pal1 <- colorNumeric(c("#6E462C", "#9C8448", "#CCCC66", "#9CAB68", "#306466"), values(lall_08_mean), na.color = "transparent")
pal <- colorNumeric(c("#6E462C", "#9C8448", "#CCCC66", "#9CAB68", "#306466"), values(lall_08_emsi[[1]]), na.color = "transparent")
m <- leaflet() %>%
addTiles() %>%
#addLegend(pal = pal, values = values(l8_08_emsi[[1]]), title = "EMSI") %>%
#addLegend(pal = pal1, values = values(l8_08_mean), title = "NDVI") %>%
addRasterImage(l8_08_mean, group = "August Mean NDVI", colors = pal1, opacity = 1.0) %>%
addRasterImage(l8_08_sd, group = "August Standard Deviation NDVI", colors = pal1, opacity = 1.0) %>%
addRasterImage(l8_08_emsi[[1]], group = "early August 2015 EMSI", colors = pal, opacity = 1.0) %>%
addRasterImage(l8_08_emsi[[2]], group = "August 2015 EMSI", colors = pal, opacity = 1.0) %>%
addRasterImage(l8_08_emsi[[3]], group = "August 2016 EMSI", colors = pal, opacity = 1.0) %>%
addRasterImage(l8_08_emsi[[4]], group = "August 2018 EMSI", colors = pal, opacity = 1.0) %>%
setView(lng = -110.55, lat = 31.3, zoom = 12) %>%
addProviderTiles("Stamen.Toner", group = "Stamen") %>%
addProviderTiles("Esri.WorldImagery", group = "ESRI Satellite", options = providerTileOptions(opacity = 0.66, transparent = TRUE)) %>%
addProviderTiles("OpenStreetMap.Mapnik", group = "OpenStreetMap") %>%
#layers control panel
addLayersControl(baseGroups = c("Stamen", "ESRI Satellite", "OpenStreetMap"), overlayGroups = c("August Mean NDVI", "August Standard Deviation NDVI", "early August 2015 EMSI", "August 2015 EMSI", "August 2016 EMSI", "August 2018 EMSI"), options = layersControlOptions(collapsed = TRUE))
## Warning in colors(.): Some values were outside the color scale and will be
## treated as NA
## Warning in colors(.): Some values were outside the color scale and will be
## treated as NA
## Warning in colors(.): Some values were outside the color scale and will be
## treated as NA
## Warning in colors(.): Some values were outside the color scale and will be
## treated as NA
## Warning in colors(.): Some values were outside the color scale and will be
## treated as NA
m
library(raster)
library(rasterVis)
year_id <- c('LT05_035038_19850826'="1985",
'LT05_035038_19870816'="1987",
'LT05_035038_19880818'="1985",
'LT05_035038_19890821'="1989",
'LT05_035038_19900824'="1990",
'LT05_035038_19910811'="1991",
'LT05_035038_19920813'="1992",
'LT05_035038_19930816'="1993",
'LT05_035038_19940803'="1994",
'LT05_035038_19950806'="1995",
'LT05_035038_19960824'="1996",
'LT05_035038_19970827'="1997",
'LT05_035038_19980814'="1998",
'LT05_035038_19990817'="1999",
'LT05_035038_20000819'="2000",
'LT05_035038_20010822'="2001",
'LE07_035038_20020817'="2002",
'LT05_035038_20030812'="2003",
'LT05_035038_20040830'="2004",
'LT05_035038_20050801'="2005",
'LE07_035038_20060828'="2006",
'LT05_035038_20070823'="2007",
'LE07_035038_20080801'="2008",
'LT05_035038_20090828'="2009",
'LT05_035038_20100815'="2010",
'LT05_035038_20110818'="2011",
'LE07_035038_20120812'="2012",
'LC08_035038_20150813'="2015",
'LC08_035038_20160815'="2016",
'LC08_035038_20180805'="2018"
)
## Multipanel graph Augusts 1985 - 2018
lall_stack <- stack(LT05_035038_19850826,
LT05_035038_19870816,
LT05_035038_19880818,
LT05_035038_19890821,
LT05_035038_19900824,
LT05_035038_19910811,
LT05_035038_19920813,
LT05_035038_19930816,
LT05_035038_19940803,
LT05_035038_19950806,
LT05_035038_19960824,
LT05_035038_19970827,
LT05_035038_19980814,
LT05_035038_19990817,
LT05_035038_20000819,
LT05_035038_20010822,
LE07_035038_20020817,
LT05_035038_20030812,
LT05_035038_20040830,
LT05_035038_20050801,
LE07_035038_20060828,
LT05_035038_20070823,
LE07_035038_20080801,
LT05_035038_20090828,
LT05_035038_20100815,
LT05_035038_20110818,
LE07_035038_20120812,
LC08_035038_20150813,
LC08_035038_20160815,
LC08_035038_20180805)
lall_stack_df <- as.data.frame(lall_stack, xy = TRUE) %>%
melt(id.vars = c('x','y'))
ggplot() +
geom_raster(data = lall_stack_df, aes(x = x, y = y, fill = value)) +
scale_fill_gradientn(colours=c("#6E462C", "#9C8448", "#CCCC66", "#9CAB68", "#306466"), limits=c(0,0.95), guide = guide_colorbar(title ="NDVI")) +
facet_wrap(~ variable, labeller = as_labeller(year_id), ncol = 6) +
theme(axis.title = element_blank(),
axis.text.x = element_blank(),
axis.text.y = element_blank(),
axis.ticks = element_blank(),
rect = element_blank())
ggsave('~/emsi/rmd/figures/ndvi_timeseries_grassmx.png', width = 12, height = 8, dpi = 300, bg = "transparent")
l1994_stack_ndvi_df <- as.data.frame(lall_stack[[9]], xy = TRUE) %>%
melt(id.vars = c('x','y'))
ggplot() +
geom_raster(data = l1994_stack_ndvi_df, aes(x = x, y = y, fill = value)) +
scale_fill_gradientn(colours=c("#6E462C", "#9C8448", "#CCCC66", "#9CAB68", "#306466"), limits=c(0,0.95), guide = guide_colorbar(title ="NDVI")) +
theme(axis.title = element_blank(),
axis.text.x = element_blank(),
axis.text.y = element_blank(),
axis.ticks = element_blank(),
rect = element_blank())
ggsave('~/emsi/rmd/figures/ndvi_1994_grassmx.png', width = 12, height = 8, dpi = 300, bg = "transparent")
l2001_stack_ndvi_df <- as.data.frame(lall_stack[[16]], xy = TRUE) %>%
melt(id.vars = c('x','y'))
ggplot() +
geom_raster(data = l2001_stack_ndvi_df, aes(x = x, y = y, fill = value)) +
scale_fill_gradientn(colours=c("#6E462C", "#9C8448", "#CCCC66", "#9CAB68", "#306466"), limits=c(0,0.95), guide = guide_colorbar(title ="NDVI")) +
theme(axis.title = element_blank(),
axis.text.x = element_blank(),
axis.text.y = element_blank(),
axis.ticks = element_blank(),
rect = element_blank())
ggsave('~/emsi/rmd/figures/ndvi_2001_grassmx.png', width = 12, height = 8, dpi = 300, bg = "transparent")
l2016_stack_ndvi_df <- as.data.frame(lall_stack[[29]], xy = TRUE) %>%
melt(id.vars = c('x','y'))
ggplot() +
geom_raster(data = l2016_stack_ndvi_df, aes(x = x, y = y, fill = value)) +
scale_fill_gradientn(colours=c("#6E462C", "#9C8448", "#CCCC66", "#9CAB68", "#306466"), limits=c(0,0.95), guide = guide_colorbar(title ="NDVI")) +
theme(axis.title = element_blank(),
axis.text.x = element_blank(),
axis.text.y = element_blank(),
axis.ticks = element_blank(),
rect = element_blank())
ggsave('~/emsi/rmd/figures/ndvi_2016_grassmx.png', width = 12, height = 8, dpi = 300, bg = "transparent")
# Calculate mean
lall_stack_mean <- calc(lall_stack, mean, na.rm=T)
# Calculate sd
lall_stack_sd <- calc(lall_stack, sd, na.rm=T)
lall_stack_emsi <- overlay(lall_stack, lall_stack_mean, lall_stack_sd, fun = function(r1, r2, r3) { return( (r1 - r2)/r3) })
# Rename variable layers back to year dates
year_ids <- c(
'layer.1'="1985",
'layer.2'="1987",
'layer.3'="1988",
'layer.4'="1989",
'layer.5'="1990",
'layer.6'="1991",
'layer.7'="1992",
'layer.8'="1993",
'layer.9'="1994",
'layer.10'="1995",
'layer.11'="1996",
'layer.12'="1997",
'layer.13'="1998",
'layer.14'="1999",
'layer.15'="2000",
'layer.16'="2001",
'layer.17'="2002",
'layer.18'="2003",
'layer.19'="2004",
'layer.20'="2005",
'layer.21'="2006",
'layer.22'="2007",
'layer.23'="2008",
'layer.24'="2009",
'layer.25'="2010",
'layer.26'="2011",
'layer.27'="2012",
'layer.28'="2015",
'layer.29'="2016",
'layer.30'="2018"
)
lall_stack_emsi_df <- as.data.frame(lall_stack_emsi, xy = TRUE) %>%
melt(id.vars = c('x','y'))
ggplot() +
geom_raster(data = lall_stack_emsi_df, aes(x = x, y = y, fill = value)) +
scale_fill_gradientn(colours=c("#6E462C", "#9C8448", "#CCCC66", "#9CAB68", "#306466"), limits=c(-2.5,2.7), guide = guide_colorbar(title ="EMSI")) +
facet_wrap(~ variable, labeller = as_labeller(year_ids), ncol = 6) +
theme(axis.title = element_blank(),
axis.text.x = element_blank(),
axis.text.y = element_blank(),
axis.ticks = element_blank(),
rect = element_blank())
ggsave('~/emsi/rmd/figures/emsi_timeseries_grassmx.png', width = 12, height = 8, dpi = 300, bg = "transparent")
l1994_stack_emsi_df <- as.data.frame(lall_stack_emsi[[9]], xy = TRUE) %>%
melt(id.vars = c('x','y'))
ggplot() +
geom_raster(data = l1994_stack_emsi_df, aes(x = x, y = y, fill = value)) +
scale_fill_gradientn(colours=c("#6E462C", "#9C8448", "#CCCC66", "#9CAB68", "#306466"), limits=c(-3,2.7), guide = guide_colorbar(title ="EMSI")) +
theme(axis.title = element_blank(),
axis.text.x = element_blank(),
axis.text.y = element_blank(),
axis.ticks = element_blank(),
rect = element_blank())
ggsave('~/emsi/rmd/figures/emsi_1994_grassmx.png', width = 12, height = 8, dpi = 300, bg = "transparent")
l2001_stack_emsi_df <- as.data.frame(lall_stack_emsi[[16]], xy = TRUE) %>%
melt(id.vars = c('x','y'))
ggplot() +
geom_raster(data = l2001_stack_emsi_df, aes(x = x, y = y, fill = value)) +
scale_fill_gradientn(colours=c("#6E462C", "#9C8448", "#CCCC66", "#9CAB68", "#306466"), limits=c(-3,2.7), guide = guide_colorbar(title ="EMSI")) +
theme(axis.title = element_blank(),
axis.text.x = element_blank(),
axis.text.y = element_blank(),
axis.ticks = element_blank(),
rect = element_blank())
ggsave('~/emsi/rmd/figures/emsi_2001_grassmx.png', width = 12, height = 8, dpi = 300, bg = "transparent")
l2016_stack_emsi_df <- as.data.frame(lall_stack_emsi[[29]], xy = TRUE) %>%
melt(id.vars = c('x','y'))
ggplot() +
geom_raster(data = l2016_stack_emsi_df, aes(x = x, y = y, fill = value)) +
scale_fill_gradientn(colours=c("#6E462C", "#9C8448", "#CCCC66", "#9CAB68", "#306466"), limits=c(-3,3.2), guide = guide_colorbar(title ="EMSI")) +
theme(axis.title = element_blank(),
axis.text.x = element_blank(),
axis.text.y = element_blank(),
axis.ticks = element_blank(),
rect = element_blank())
ggsave('~/emsi/rmd/figures/emsi_2016_grassmx.png', width = 12, height = 8, dpi = 300, bg = "transparent")
ggplot(lall_stack_emsi_df) + geom_histogram(aes(value, fill = value)) +
scale_fill_gradientn(colours=c("#6E462C", "#9C8448", "#CCCC66", "#9CAB68", "#306466"), limits=c(-2.7,2.7), guide = guide_colorbar(title ="EMSI")) +
ylab("Density") + xlab("EMSI") + ggtitle("June") +
facet_wrap(~variable, labeller = as_labeller(year_ids), ncol = 5) +
theme_bw() +
theme(axis.text.y = element_blank(),
axis.ticks = element_blank(),
rect = element_blank())
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 1387311 rows containing non-finite values (stat_bin).