Я новичок в r, поэтому я все еще разбираюсь в основах. Я пытаюсь взять список нескольких шейп-файлов и использовать их для обрезки нескольких стеков растеров. Затем используйте обрезанные растровые стеки и создайте из них гистограммы. Я знаю, что мне нужно составить списки шейп-файлов, которые я уже выяснил, как это сделать. Я также выяснил, как индивидуально обрезать растры и делать гистограммы. К сожалению, цикл забрасывает меня для цикла. У кого-нибудь есть предложения?Как обрезать растровый стек с использованием нескольких шейп-файлов в r
Вот что я до сих пор:
library('rgdal')
library('raster')
library('landsat')
library('ggplot2')
library('rasterVis')
library('spatial.tools')
library('plyr')
library('reshape')
library('reshape2')
library('GGally')
library('lattice')
library('sp')
library('maptools')
library('rgeos')
library('gdata')
#Create folder for shapefiles located and rasters
foldershp <- paste0("F:/2926/Hayes/crp/hnw/")
setwd("F:/2926/Hayes/crp/hnw/")
fileName<-list.files(path= ".", pattern = ".shp$")
folderout<- paste0("F:/Indices/Histograms/")
#list for Rasters
ras.root<- paste0("F:/2926/July/")
ras.list <- c("mtvi", "ndsvi", "ndvi", "ndwi", "satvi", "swir32")
#Loop
for (i in ras.list) {
s <- stack()
setwd(paste(ras.root,i,sep=""))
files <- list.files(path = getwd(), pattern = "*.tif$")
s <- stack(files)
for (fileName in fileNames){
setwd(foldershp)
data <- readOGR(dsn=".",substr(fileName,1,nchar(fileName)-4))
names(data) <- substr(fileName,1,nchar(fileName)-4)
m <- mask(s,data)
setwd(folderout)
png(paste(i,"_",names(data),"_hist_plot",sep=""))
hist(m)
dev.off()
png(paste(i,"_clipped_",names(data),sep=""))
plot(m)
dev.off()
}
}
Я бы разделил это на два вопроса, как обрезать растр и как гистограмме растра. Но посмотрим? Урожай для начала. Также не используйте назначение, попробуем ответить только для проверки кода – mdsumner