我有一個文件夾類似這樣的各種形狀文件的具體形狀文件:選擇輸入
- 1965_120m.shp,
- 1967_120m.shp,
- 1968_120m.shp,
- 1965_50m.shp ,
- 1967_50m.shp,
- 1968_50m.shp,
- 1965_10m.shp,
- 1967_10m.shp,
- 1968_10m.shp
(該文件夾的數據更而這僅僅是一個例子),所以我很難自己找到一種方法來選擇50米的所有shape文件從這個文件夾中。
你有什麼想法嗎?
我有一個文件夾類似這樣的各種形狀文件的具體形狀文件:選擇輸入
(該文件夾的數據更而這僅僅是一個例子),所以我很難自己找到一種方法來選擇50米的所有shape文件從這個文件夾中。
你有什麼想法嗎?
沒有一個重複的例子,這將是很難提供一個完整的解決方案,但是......
filenames <- list.files(path=".", pattern="50m.shp", ignore.case = TRUE, recursive = FALSE, include.dirs = FALSE)
應該讓你的文件和...
for(f in filenames){
#do stuff with each file (f) such as mySHP <- readOGR(... layer = file_path_sans_ext(f))
}
會做你的東西用每個文件依次爲
這似乎是我正在尋找,但我不明白的是輸入層....文件路徑假設爲readOGR函數的第一個輸入。這是你的腳本適應我的需要和一些更多的細節,以幫助...
input_folder<- "C:/Users/Data_Analysis/R data processing/points_rastervalue"
output_folder<- "C:/Users/Data_Analysis/R data processing/output"
setwd("C:/Users/Data_Analysis/R data processing/points_rastervalue")
shps <- list.files(path=".", pattern="50m.shp", ignore.case = TRUE, recursive = FALSE, include.dirs = FALSE)
for(shp in shps){
mySHP <- readOGR('.', layer = ??)
}
'mySHP < - readOGR('。',layer = file_path_sans_ext(shp))'應該這樣做,因爲您已經設置了工作目錄。意識到這是一個循環,你需要在循環中進行處理和保存輸出,否則它將依次打開每個文件並覆蓋mySHP。 –
要打開(例如)列表中的第一個文件,請使用:'mySHP < - readOGR('。',layer = file_path_sans_ext(shps [1]))'而不在'for(shp in shps){} '循環。 –
爲了保存輸出,我應該使用循環內的assign/sapply/lapply這樣的函數嗎? (只要我的進一步目標是使用選定的形狀文件來製作磚塊) – Penelope
這是關於基於他們的名字選擇文件,如果它「50米」?這是如何完成的?使用使用choose.files的GUI?你需要提供更多的上下文。 – parvus