在同一文件夹 (List.Vector) 中定义要在 For 循环中使用的 shapefile 列表——地理空间建​​模环境

Define list of shapefiles in same folder (List.Vector) to use in For Loop -- Geospatial Modeling Environment

我正在尝试使用 list.vector 在地理空间建​​模环境中创建 shapefile 列表。哪个有效并产生以下列表。

list.vector(in="D:\Buffers", match="*.shp");

D:\Buffers\OBJECTID_1.shp, D:\Buffers\OBJECTID_10.shp, D:\Buffers\OBJECTID_100.shp,
D:\Buffers\OBJECTID_1000.shp, D:\Buffers\OBJECTID_10000.shp......

然后我想使用 isectpolypoly 函数遍历不同的 shapefile。目前我的代码是:

list<-list.vector(in="D:\Buffers", match="*.shp");

for (i in 1:length(list)) {

isectpolypoly(in=paste(i), poly="D:\Polygons\agri.shp", field="P_", thematic=TRUE, proportion=TRUE);

};

我收到以下错误。

Error: The for loop has not been specified correctly. The length function does not appear to refer to a defined vector.

所以看起来好像我没有正确定义 "list" 以便能够在循环中使用它。我找不到关于如何执行此操作的任何明确答案。

任何人都可以帮助我更改我的代码,以便我可以定义 shapefile 列表,然后循环遍历列表中的 shapefile 吗?

万一有人感兴趣,我设法解决了我自己的问题。

我无法成功地回忆起这个列表,并且由于我的每个 shapefile 都有一个唯一的数字标识符,所以可以循环遍历这些数字。

wd<-"D:\Buffers\";
for (i in 10001:10006);
{ 
isectpolypoly(in=paste(wd,"OBJECTID_",i,".shp"),
poly="D:\Polygons\agri.shp", 
field=“CLASS”, 
prefix="P_", 
thematic=TRUE, proportion=TRUE) 
};