我有一个文件夹类似这样的各种形状文件的具体形状文件:选择输入
- 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