在同一文件夹 (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)
};
我正在尝试使用 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)
};