У меня есть 500 файлов форм, содержащих данные точек (lon / lat) и буфер границы.
У меня также есть следующий код для чтения каждого шейп-файла, объединения его с буфером, вычисления некоторых значений, а затем добавления этих значений в столбец фрейма данных.
Вот мой код:
path="/Users/fun/Drought shapefiles/"
file.names <- list.files(path, pattern="*.shp", full.names=T, recursive=FALSE)
#Now automate this process:
for (m in 1:500){
dsn=path
##Load the buffer and the map:
Buffer <- readOGR("/Users/fun/Degrees Buffer Projections", "Germania buffer 10km")
Map <- readOGR("/Users/fun/Drought shapefiles/", m)
#Now convert the map into a dataframe and intersect it:
over(Map,as(Buffer,"SpatialPolygons"))
nrow(Map)
pts = Shapefile[!is.na(over(Shapefile,as(Buffer,"SpatialPolygons"))),]
nrow(pts)
head(pts@data)
plot(pts)
#Calculate the mean drought value across the border, and assign to a column:
drought_values <- pts$pdsi_440
drought.data[[2]][[m]] <- mean(drought_values)
}
Мой вопрос относится к следующей строке кода:
Map <- readOGR("/Users/fun/Drought shapefiles/", m)
Кажется, я не написал правильный код здесь, чтобы просмотреть 500 файлов. Что я делаю неправильно.
Для справки, файлы имеют следующие имена:
cru_drought_86_shape.shp
cru_drought_87_shape.shp
cru_drought_88_shape.shp
И так далее ...
Если вы хотите увидеть два шейп-файла, вот они:
Засуха 303
Засуха 304