Gis NetLogo-将值应用于多边形内的面片
我让动物四处走动,然后用一条线连接它们行走的所有地点。这条线形成一个闭合多边形。我还使用图形扩展来填充多边形,以达到视觉效果。但我不知道如何让多边形内的所有斑块成为Gis NetLogo-将值应用于多边形内的面片,gis,netlogo,Gis,Netlogo,我让动物四处走动,然后用一条线连接它们行走的所有地点。这条线形成一个闭合多边形。我还使用图形扩展来填充多边形,以达到视觉效果。但我不知道如何让多边形内的所有斑块成为所有者的领地(即形成多边形的动物)。补丁可能由多个动物拥有。下面的代码演示了重叠多边形。我真的非常感谢你在这方面的帮助。谢谢 extensions [graphics] breed [animals animal] breed [homeranges homerange] animals-own [ Name X
所有者的领地(即形成多边形的动物)。补丁可能由多个动物拥有。下面的代码演示了重叠多边形。我真的非常感谢你在这方面的帮助。谢谢
extensions [graphics]
breed [animals animal]
breed [homeranges homerange]
animals-own
[
Name
X
Y
]
patches-own
[
owner
]
homeranges-own
[
Name
]
to setup
clear-all
random-seed 4
ask patches
[
set owner nobody
set pcolor grey
]
let $colors [brown orange violet sky lime]
let $Name ["t6" "t7" "t8" "t9" "t10"]
ask n-of 5 patches with [(pycor < 10 and pycor > -10) and (pxcor < 10 and pxcor > -10)]
[
sprout-animals 1
[
set shape "circle"
set color item who $colors
set pcolor color
set X (list xcor)
set Y (list ycor)
set Name item who $Name
set owner self
]
]
graphics:initialize min-pxcor max-pycor patch-size
reset-ticks
end
to go
repeat 5
[
ask animals
[
rt 45
fd 2
set X lput pxcor X
set Y lput pycor Y
set pcolor [color] of self
]
]
ask animals
[
pen-up
let tempXY (map [list ?1 ?2] X Y)
graphics:fill-polygon tempXY
; create a turtle, which draws the homerange boundary
hatch-homeranges 1
[
hide-turtle
set Name [Name] of myself
set color [color] of myself
]
; draw the homerange boundary
foreach tempXY
[
ask homeranges with [Name = [Name] of myself]
[
move-to patch (item 0 ?) (item 1 ?)
pen-down
]
]
; connect the last point of the homerange with the first one, to close the polygon
ask homeranges with [Name = [Name] of myself]
[
let lastpoint first tempXY
move-to patch (item 0 lastpoint) (item 1 lastpoint)
]
]
end
扩展[图形]
繁殖[动物]
品种[家庭范围]
动物拥有
[
名称
X
Y
]
补丁自己
[
所有者
]
homeranges自己的
[
名称
]
设置
清除所有
随机种子4
询问补丁
[
无人拥有
设置彩色灰色
]
let$colors[棕色橙色紫色天空石灰]
let$Name[“t6”“t7”“t8”“t9”“t10”]
使用[(pycor<10和pycor>-10)和(pxcor<10和pxcor>-10)]询问5个贴片中的n个
[
发芽动物1
[
设置形状“圆”
设置颜色项$colors
设置颜色
集合X(列表xcor)
集合Y(列表ycor)
设置名称项谁$Name
设置所有者自身
]
]
图形:初始化最小pxcor最大pycor面片大小
重置滴答声
结束
外带
重复5次
[
问动物
[
rt 45
fd 2
设置X lput pxcor X
设置Y lput pycor Y
设置自身的pcolor[颜色]
]
]
问动物
[
圈起
让tempXY(映射[列表?1?2]X Y)
图形:填充多边形tempXY
;创建一只海龟,绘制家庭范围边界
舱口homeranges 1
[
乌龟
设定我自己的名字[名字]
给自己定颜色
]
;绘制homerange边界
foreach tempXY
[
向homeranges询问[Name=[Name]本人]
[
移动到补丁(项目0?)(项目1?)
放下笔
]
]
;将homerange的最后一个点与第一个点连接,以闭合多边形
向homeranges询问[Name=[Name]本人]
[
让lastpoint先看tempXY
移动到修补程序(项目0 lastpoint)(项目1 lastpoint)
]
]
结束
如果你看一下,你会发现过去(2012年)讨论过这个问题的解决方案
在该线程的末尾,Jim Lyons在建模共享空间上发布了一个指向模型的链接,但该模型似乎不再存在。如果你想问他这件事,他很高兴。这篇文章提供了一个答案:。多边形将作为GIS形状文件导出,并使用GIS扩展插件重新导入。然后使用gis:intersecting
为属于gis导入多边形的面片提供变量 谢谢赛斯。我也遇到过这种讨论,尽管我找不到一种方法来解决我的问题。我在访问吉姆的模型时也遇到了麻烦。我会试着联系他。