You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NetLogo导入GIS Shapefile:解决多边形质心Patch重叠问题

问题解决方案

一、自动切换到最近的空Patch

你可以通过min-one-of命令筛选出目标Patch周围最近的未被占用(ID-parcel=0)的Patch,替换原有的直接定位逻辑。修正后的代码如下:

代码说明:

  • 先获取质心对应的target-patch,再通过min-one-of从所有空Patch中筛选出距离目标点最近的那个
  • 直接对选中的空Patch赋值属性,彻底避免重叠问题
  • 修正了原代码中ifelse的语法嵌套错误

二、不缩小多边形前提下增加单个多边形内的Patch数量

NetLogo的gis:set-world-envelope会自动将Shapefile的地理范围适配到当前世界的Patch网格中,要缩小Patch尺寸(让单个多边形覆盖更多Patch),只需先扩大世界的Patch总数,再设置地理范围:

  1. 打开NetLogo的「Settings」面板,在「World Size」选项中调大max-pxcor和max-pycor的值(比如从默认31改为127,世界总Patch数从64×64变为256×256)
  2. 保持Shapefile地理范围不变,重新运行gis:set-world-envelope (gis:envelope-of shpefile)

操作后,每个Patch对应的实际地理面积会变小,多边形的实际大小不会改变,但会覆盖更多Patch,从根源上降低质心重叠的概率。

内容的提问来源于stack exchange,提问作者Sarahdata

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 22:01:00