我有一个模型,其中的景观是使用 GIS 扩展从 shapefile 生成的。这是用于生成景观的(简化的)代码(LU_2022 是 shapefile 中多边形的属性),包括名为“字段”的代理类别的定义:
extensions [gis]
globals [landscape-dataset]
set landscape-dataset gis:load-dataset "FILE.shp"
gis:load-coordinate-system "FILE.prj"
gis:set-world-envelope (gis:envelope-of landscape-dataset)
foreach gis:feature-list-of landscape-dataset [
feature -> let centroid gis:location-of gis:centroid-of feature
if gis:property-value feature "LU_2022" = "AL" [
create-fields 1
]
gis:set-drawing-color black
gis:draw feature 3
if gis:property-value feature "LU_2022" = "AL" [
gis:set-drawing-color yellow gis:fill feature 2.0 gis:draw feature 0.01
]
]
到目前为止,一切顺利,一切顺利。现在,在稍后使用的过程中,我想更改某些字段多边形的颜色。
我不知道该怎么做。仅更改字段的“颜色”属性是行不通的:
ask fields [
set color black
]
没有错误消息,只是景观地图没有变化。现在,我猜测这一更改需要使用 GIS 扩展来实现,但我真的不知道如何实现(无需重新绘制整个景观)。大家有什么建议吗?
我在“可重复使用的构建块”档案中找到了类似问题的解决方案(基于 GIS 多边形的河流栖息地单元):https://www.rbb4abm.com/ - 查找“数字河流”。
它定义了一个“单元”,一个类似于“场”的海龟,它的多边形中有一个面片的主体集。您必须更改色块的颜色,而不是单元格/字段的颜色。