我刚开始使用Netlogo创建基于代理的模型 . 我有两个我想要使用的shapefile:一个城市的网络 Map (line-shapefile)和一个城市滑板车的点状文件 . 我们的想法是让他们在网络shapefile的线路上穿越城市 . 由于我是Netlogo的新手,我只是设法在我的模型中加载这些shapefile . 有人可以通过帮助我从踏板车注册(点)创建海龟并让他们在网络线上移动来给我一个启动 . 到目前为止,我在互联网上找不到任何帮助,它无法通过反复试验 . 到目前为止,我的代码就是这样:
extensions [ gis ]
to load
ca
let network gis:load-dataset "Roads_Asmterdam.shp"
foreach gis:feature-list-of network
[ gis:set-drawing-color white
gis:draw ? 0.3
]
let people gis:load-dataset "scooters_Amsterdam.shp"
foreach gis:feature-list-of people
[ gis:set-drawing-color blue
gis:draw people 3
]
end
所以,据我所知,我需要一个能够移动海龟的功能 . 我需要一个函数来创建可能的点状文件中的移动海龟,但我还需要让他们知道只使用线而不是整个区域 .
提前谢谢了!
1 回答
加载线形文件后,您需要将它们转换为代理/龟的网络并链接它们 . NetLogo不会为您做到这一点,您需要自己迭代所有功能,线段和坐标 . 然后你需要将滑板车放在线网络的坐标上,然后你可以“要求”他们四处移动 .
这是我想出的:
我发现的一些资源和示例代码特别有用:
NetLogo Programming Guide&关于NetLogo附带的"walking"和"networks"的示例模型
NetLogo Bag of Tricks - Venice Example Code
Duncan Golicher:Importing points into Netlogo and forming a network