reactive conductor
传递光栅对象。
server<-function(input, output) {
Raster <- reactive({
bands <- c("B((0[2348]_10m)).jp2$")
S2 <- list.files(input$mypath, full.names = TRUE, pattern = ".SAFE")
S2 <- list.files(S2, recursive = TRUE, full.names = TRUE, pattern=bands)
S2 <- lapply(1:length(S2), function (x) {raster(S2[x])})
stack(S2)
})
output$mymap <- renderLeaflet({
m <- leaflet() %>%
addTiles() %>%
setView(lng=-60.143, lat=-19.9052, zoom=7)
S2 <- Raster()
utmcoor<-SpatialPoints(cbind(xmin(S2[[1]]),ymax(S2[[1]])), proj4string=CRS(proj4string(S2[[1]]))) # prepare UTM coordinates matrix
longlatcoor<-spTransform(utmcoor,CRS("+proj=longlat +datum=WGS84")) # converting
utmcoor2<-SpatialPoints(cbind(xmax(S2[[1]]),ymin(S2[[1]])), proj4string=CRS(proj4string(S2[[1]]))) # prepare UTM coordinates matrix abajo derecha
longlatcoor2<-spTransform(utmcoor2,CRS("+proj=longlat +datum=WGS84")) # converting
lng1<-xmin(longlatcoor) # extract coordinates to variable
lng2<-xmin(longlatcoor2)
lat1<-ymin(longlatcoor)
lat2<-ymin(longlatcoor2)
m %>% # Add coordinates to map
addRectangles(
lng1=lng1, lat1=lat1,
lng2=lng2, lat2=lat2,
fillColor = "transparent")
})
output$myrgb <- renderPlot({
S2 <- Raster()
plotRGB(S2, r=3, g=2, b=1, scale=maxValue(S2[[1]]), stretch="lin")
})
output$mynrg <- renderPlot({
S2 <- Raster()
plotRGB(S2, r=4, g=3, b=2, scale=maxValue(S2[[1]]), stretch="lin")
})
}