#En este capitulo se describe como explorar y utilizar los datos obtenidos del satelite, y tambien conocer como usarlos para hacer mapas.

#PROPIEDADESDE LA IMAGEN
 #Creacion de raster para capas o bandas individuales de Landsat.
library(raster)
## Loading required package: sp
#blue
b2<-raster("data/rs/LC08_044034_20170614_b2.tif")
#green
b3<-raster("data/rs/LC08_044034_20170614_b3.tif")
#red
b4<-raster("data/rs/LC08_044034_20170614_b4.tif")
#Near infrared
b5<-raster("data/rs/LC08_044034_20170614_b5.tif")
#Se puede observar la resolucion espacial, la extencion, el numero de capas, las cordenadas entre otras.
#AZUL
b2
## class      : RasterLayer 
## dimensions : 1245, 1497, 1863765  (nrow, ncol, ncell)
## resolution : 30, 30  (x, y)
## extent     : 594090, 639000, 4190190, 4227540  (xmin, xmax, ymin, ymax)
## crs        : +proj=utm +zone=10 +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0 
## source     : C:/Users/Giovanni/Documents/data/rs/LC08_044034_20170614_b2.tif 
## names      : LC08_044034_20170614_b2 
## values     : 0.0748399, 0.7177562  (min, max)
#GREEN
b3
## class      : RasterLayer 
## dimensions : 1245, 1497, 1863765  (nrow, ncol, ncell)
## resolution : 30, 30  (x, y)
## extent     : 594090, 639000, 4190190, 4227540  (xmin, xmax, ymin, ymax)
## crs        : +proj=utm +zone=10 +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0 
## source     : C:/Users/Giovanni/Documents/data/rs/LC08_044034_20170614_b3.tif 
## names      : LC08_044034_20170614_b3 
## values     : 0.04259216, 0.6924697  (min, max)
#RED
b4
## class      : RasterLayer 
## dimensions : 1245, 1497, 1863765  (nrow, ncol, ncell)
## resolution : 30, 30  (x, y)
## extent     : 594090, 639000, 4190190, 4227540  (xmin, xmax, ymin, ymax)
## crs        : +proj=utm +zone=10 +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0 
## source     : C:/Users/Giovanni/Documents/data/rs/LC08_044034_20170614_b4.tif 
## names      : LC08_044034_20170614_b4 
## values     : 0.02084067, 0.7861769  (min, max)
#NEAR INFRARED (NIR)
b5
## class      : RasterLayer 
## dimensions : 1245, 1497, 1863765  (nrow, ncol, ncell)
## resolution : 30, 30  (x, y)
## extent     : 594090, 639000, 4190190, 4227540  (xmin, xmax, ymin, ymax)
## crs        : +proj=utm +zone=10 +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0 
## source     : C:/Users/Giovanni/Documents/data/rs/LC08_044034_20170614_b5.tif 
## names      : LC08_044034_20170614_b5 
## values     : 0.0008457669, 1.012432  (min, max)
#INFORMACION DE IMAGENES Y ESTADISTICAS
#Se pueden observar las propiedades desde un objeto raster
#CORDINATE REFERENCE SYSTEM (CRS)
crs(b2)
## CRS arguments:
##  +proj=utm +zone=10 +datum=WGS84 +units=m +no_defs +ellps=WGS84
## +towgs84=0,0,0
##CRS arguments
##+proj=utm+zone=10+datum=wgs84+units=m+no_defs+ellps=wgs84
##+towgs84=0,0,0
#Number of cells, rows,columns
ncell(b2)
## [1] 1863765
##[1]1863765
dim(b2)
## [1] 1245 1497    1
##[1] 1245 1497    1
#spatial resolution
res(b2)
## [1] 30 30
##[1] 30 30
#Number of bands
nlayers(b2)
## [1] 1
##[1] 1
#Do the bands have the same extent, number of rows and columns, projection, resolution, and origin
compareRaster(b2,b3)
## [1] TRUE
##[1] TRUE
#Puede crear un RasterStack (un objeto con varias capas) a partir de los objetos RasterLayer (banda única).

s<-stack(b5,b4,b3)
#Check the properties of the RasterStack
s
## class      : RasterStack 
## dimensions : 1245, 1497, 1863765, 3  (nrow, ncol, ncell, nlayers)
## resolution : 30, 30  (x, y)
## extent     : 594090, 639000, 4190190, 4227540  (xmin, xmax, ymin, ymax)
## crs        : +proj=utm +zone=10 +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0 
## names      : LC08_044034_20170614_b5, LC08_044034_20170614_b4, LC08_044034_20170614_b3 
## min values :            0.0008457669,            0.0208406653,            0.0425921641 
## max values :               1.0124315,               0.7861769,               0.6924697
##class: RasterStack
## dimensions : 1245, 1497, 1863765, 3  (nrow, ncol, ncell, nlayers)
## resolution : 30, 30 (x,y)
## extent : 594090, 639000, 4190190, 4227540  (xmin, xmax, ymin, ymax)
## crc : +proj=utm +zone=10 +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0
## names LC08_044034_20170614_B5, LC08_044034_20170614_B4, LC08_044034_20170614_B3
## min values :    0.0008457669,            0.0208406653,            0.0425921641
## max values :               1.0124315,               0.7861769,               0.6924697
#Puede crear un rasterStack usando nombres de archivo
# first create a list of raster layers to use
filenames <- paste0('data/rs/LC08_044034_20170614_B', 1:11, ".tif")
filenames
##  [1] "data/rs/LC08_044034_20170614_B1.tif" 
##  [2] "data/rs/LC08_044034_20170614_B2.tif" 
##  [3] "data/rs/LC08_044034_20170614_B3.tif" 
##  [4] "data/rs/LC08_044034_20170614_B4.tif" 
##  [5] "data/rs/LC08_044034_20170614_B5.tif" 
##  [6] "data/rs/LC08_044034_20170614_B6.tif" 
##  [7] "data/rs/LC08_044034_20170614_B7.tif" 
##  [8] "data/rs/LC08_044034_20170614_B8.tif" 
##  [9] "data/rs/LC08_044034_20170614_B9.tif" 
## [10] "data/rs/LC08_044034_20170614_B10.tif"
## [11] "data/rs/LC08_044034_20170614_B11.tif"
##  [1] "data/rs/LC08_044034_20170614_B1.tif"
##  [2] "data/rs/LC08_044034_20170614_B2.tif"
##  [3] "data/rs/LC08_044034_20170614_B3.tif"
##  [4] "data/rs/LC08_044034_20170614_B4.tif"
##  [5] "data/rs/LC08_044034_20170614_B5.tif"
##  [6] "data/rs/LC08_044034_20170614_B6.tif"
##  [7] "data/rs/LC08_044034_20170614_B7.tif"
##  [8] "data/rs/LC08_044034_20170614_B8.tif"
##  [9] "data/rs/LC08_044034_20170614_B9.tif"
## [10] "data/rs/LC08_044034_20170614_B10.tif"
## [11] "data/rs/LC08_044034_20170614_B11.tif"
landsat <- stack(filenames)
landsat
## class      : RasterStack 
## dimensions : 1245, 1497, 1863765, 11  (nrow, ncol, ncell, nlayers)
## resolution : 30, 30  (x, y)
## extent     : 594090, 639000, 4190190, 4227540  (xmin, xmax, ymin, ymax)
## crs        : +proj=utm +zone=10 +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0 
## names      : LC08_044034_20170614_B1, LC08_044034_20170614_B2, LC08_044034_20170614_B3, LC08_044034_20170614_B4, LC08_044034_20170614_B5, LC08_044034_20170614_B6, LC08_044034_20170614_B7, LC08_044034_20170614_B8, LC08_044034_20170614_B9, LC08_044034_20170614_B10, LC08_044034_20170614_B11 
## min values :            9.641791e-02,            7.483990e-02,            4.259216e-02,            2.084067e-02,            8.457669e-04,           -7.872183e-03,           -5.052945e-03,            3.931751e-02,           -4.337332e-04,             2.897978e+02,             2.885000e+02 
## max values :              0.73462820,              0.71775615,              0.69246972,              0.78617686,              1.01243150,              1.04320455,              1.11793602,              0.82673049,              0.03547901,             322.43139648,             317.99530029
## class      : RasterStack
## dimensions : 1245, 1497, 1863765, 11  (nrow, ncol, ncell, nlayers)
## resolution : 30, 30  (x, y)
## extent     : 594090, 639000, 4190190, 4227540  (xmin, xmax, ymin, ymax)
## crs        : +proj=utm +zone=10 +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0
## names      : LC08_044034_20170614_B1, LC08_044034_20170614_B2, LC08_044034_20170614_B3, LC08_044034_20170614_B4, LC08_044034_20170614_B5, LC08_044034_20170614_B6, LC08_044034_20170614_B7, LC08_044034_20170614_B8, LC08_044034_20170614_B9, LC08_044034_20170614_B10, LC08_044034_20170614_B11
## min values :            9.641791e-02,            7.483990e-02,            4.259216e-02,            2.084067e-02,            8.457669e-04,           -7.872183e-03,           -5.052945e-03,            3.931751e-02,           -4.337332e-04,             2.897978e+02,             2.885000e+02
## max values :              0.73462820,              0.71775615,              0.69246972,              0.78617686,              1.01243150,              1.04320455,              1.11793602,              0.82673049,              0.03547901,             322.43139648,             317.99530029
#BANDA UNICA Y CAMPOS COMPUESTOS
#Se pueden trazar capas individuales de una imagen multiespectral, a partir de un RasterStack

par(mfrow = c(2,2))
plot(b2, main = "BLUE", col= gray(0:100/100))
plot(b3, main = "GREEN", col = gray(0:100/100))
plot(b4, main = "RED" , col = gray(0:100/100))
plot(b5, main = "NIR" , col = gray (0:100/100))

#Echa un vistazo a las leyendas de los mapas creados anteriormente. Pueden variar entre 0 y 1. Observe la diferencia en el sombreado y el rango de leyendas entre las diferentes bandas. Esto se debe a que las diferentes características de la superficie reflejan la radiación solar incidente de manera diferente. Cada capa representa la cantidad de radiación solar incidente que se refleja para un rango de longitud de onda particular. Por ejemplo, la vegetación refleja más energía en NIR que otras longitudes de onda y, por lo tanto, parece más brillante. Por el contrario, el agua absorbe la mayor parte de la energía en la longitud de onda NIR y parece oscura
landsatrgb<- stack(b4,b3,b2)
plotRGB( landsatrgb, axes = TRUE, stretch = "lin", main = "Landsat True color composite" )

# Otro método popular de visualización de imágenes en la teledetección es la imagen conocida como "color falso" en la que se combinan las bandas NIR, rojo y verde. Esta representación es popular ya que hace que sea fácil ver la vegetación (en rojo).

par(mfrow = c (1,2))
plotRGB(landsatrgb, axes = TRUE, stretch = "lin", main = "Landsat True color composite")
lansatFCC <- stack(b5, b4, b3)
plotRGB(lansatFCC, axes = TRUE, stretch = "lin", main = "False color composite")

#SUBCONJUNTO ESPACIAL O RECORTE

#Using extent
extent(landsat)
## class      : Extent 
## xmin       : 594090 
## xmax       : 639000 
## ymin       : 4190190 
## ymax       : 4227540
## Class: extent
## x min : 594090
## x max : 639000
## y min : 4190190
## ymax  : 4227540
e<- extent(624387, 635752, 4200047, 4210939)
#crop Landsat by extent
landsatcrop <- crop(landsat, e)