【问题标题】:How to set regions as a parameter in an agent in anylogic如何在anylogic中将区域设置为代理中的参数
【发布时间】:2021-10-29 22:17:19
【问题描述】:

我已将人口代理(来自数据库)放置在 GIS 地图上的一个点上(按照本教程:https://www.anylogic.com/resources/educational-videos/how-to-video-placing-agents-on-the-gis-map/)。之后,我从 GIS 地图中转换了不同的区域。现在我希望每个代理都包含一个与其所在区域相对应的参数“区域”。有人知道该怎么做吗?

编辑:区域仅用于识别哪些 GIS 点位于同一区域中。所以参数“region”可以是整数。

【问题讨论】:

  • “区域”指的是什么?是GISRegion 吗?其他最简单的选择是添加一个参数或变量,然后在创建代理时设置它。
  • 是的,我的意思是一个 GISRegion。我使用“this”功能在 GIS 点上设置订单位置。但是选择其对应区域的功能是什么?
  • 我已经编辑了这个问题。我希望现在更清楚了。

标签: anylogic


【解决方案1】:

最简单的选择是在您的代理中拥有一个GISRegion 类型的变量,然后在代理的启动代码中,您只需访问地图并在地图上进行区域搜索,将值保存到变量中

gisRegion = main.map.searchFirstRegion(address);

【讨论】:

  • 嗨,Jaco,谢谢您的回答。我按照你建议的方式让它工作了。但是,自动选择的区域通常非常小(城市)。我想把这个地区扩大为省。是否可以自动选择更大的区域或从一组预定义(从 GIS 地图导入)区域中选择一个区域。
  • 如果您想使用预定义区域,您可以始终将它们包含在数据库数据中,然后使用这些值设置代理。也许看看这个问题是否会帮助你stackoverflow.com/questions/68707795/…
猜你喜欢
  • 2020-03-14
  • 2017-06-27
  • 2019-11-18
  • 2021-11-05
  • 2014-12-13
  • 2018-08-25
  • 2021-10-30
  • 2021-04-10
  • 1970-01-01
相关资源
最近更新 更多