2016-09-07 4 views
0

list.vectorを使用して地理空間モデリング環境でシェイプファイルのリストを作成しようとしています。どちらが動作し、以下のリストが作成されます。Forループ - ジオスペースモデリング環境で使用する同じフォルダ(List.Vector)内のシェイプファイルのリストを定義します。

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......

Iだろうし、別のシェープファイルをループにisectpolypoly機能を使用してのように。現在、私のコードは:

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); 

}; 

私は次のエラーを受け取ります。

ループ内で使用できるように正しくリストを定義していないかのように見えます。私はこれを行う方法について明確な答えを見つけることができません。

シェイプファイルのリストを定義してリストのシェイプファイルをループすることができるように、誰でもコードを変更できますか?

答えて

0

誰かが興味がある場合は、私自身の問題を解決することができました。

リストを正常に呼び出すことができませんでした。各シェープファイルに固有の番号識別子が付いていたため、番号をループするだけでした。

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) 
}; 
関連する問題