0

タートルが位置するポリゴンと、タートルが位置するポリゴンの周囲 2 km の半径に位置する各ポリゴンとの間のエッジ間の距離を計算したいと思います。ポリゴンは異なる ID で表され、各ポリゴンは複数のパッチで構成されています。次のコードのエラー メッセージが表示されます。「[plabel = ID-polygon]) のパッチ」がリストではない理由がわかりません。実際、ラベルがポリゴンのラベルと等しいすべてのパッチを選択したいと思います。ご協力ありがとうございました。

to-report create-edge-turtles [ID-polygon] 
let edge-turtles nobody
ask ID-polygon [ 
foreach (patches with [plabel = ID-polygon]) [
foreach sort neighbors [ 
sprout 1 [
  if [plabel] of neighbors != ID-polygon [
    face ?
    fd distance ? / 2
    set edge-turtles (turtle-set edge-turtles self)] ] ] ] ]
report edge-turtles
end code here

to-report edge-distance-between-polygons-in-buffer [indvidual]
ask individual [ 
set list-ID-polygon-in-buffer ([plabel] of patch-here in-radius 2) 
set list-ID-polygon-in-buffer remove ([plabel] of patch-here) list-ID-polygon-in-buffer 
foreach list-ID-polygon-in-buffer [ 
let ID-polygon-with-individual ([plabel] of patch-here) 
let ID-polygon-in-buffer ?  
let edges-polygon-with-individual create-edge-turtles ID-polygon-with-individual 
let edges-polygon-in-buffer create-edge-turtles ID-polygon-in_buffer 
set distance-patches min [ min [ distance myself ] of edges-polygon-in-buffer ] of edges-polygon-with-individual 
ask edges-polygon-with-individual [ die ] 
ask edges-polygon-in-buffer [ die ] ] ]
report distance-patches
end
4

1 に答える 1