联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codinghelp

您当前位置:首页 >> Database作业Database作业

日期:2018-08-06 07:59

一.使用软件: Repast j和 Openmap

二.需求:

1.模型初始化:

根据输入的预测区域的Shapefile文件,创建研究区域的polygon智能体作为人口智能体移动的环境,并根据预测区域人口属性值(人口数,年龄层分布)创建人口智能体。(模型初始化部分已经搭建完成,如图1)

注:现阶段没有考虑人口的年龄,性别。所以现在模型初始化时,人口智能体是根据区域polygon的人口数属性值(population)来生成的,一个点代表100个人,随机分布在对应的polygon内。


2.智能体的移动:

 (1)确定影响人口移动因素:如  学校,医院,车站,绿地的分布等,根据这些在ArcGIS内做空间分析(缓冲区分析等),根据分析结果,给每个区域附上相应的权值,这些权值也成为对应区域的属性值,如School属性值代表,此区域学校的权值(现阶段是这么考虑的)。所有影响因素之和为此区域的舒适度,用Y来表示。

 (2)一个step人口智能体的移动:

先判断人口智能体的年龄是否符合移动标准(如处于25-40岁之间),不处于,则不移动,处于则开始移动。先提取自身所处的polygon内的Y值作为自身的满足值S,然后搜索相邻的polygon的Y值,如果相邻polygon的Y值大于自身的S值,则移动到相邻polygon里Y值最大的区域(位置随机),自身的Y值等于此polygon的Y值,如果相邻polygon的Y值都比自身S小,就全区域搜索其他polygon,然后随机移动到比自身S值大的polygon内(位置随机),自身S值等于此polygon的Y值。

(3)一个step结束(postStep):

人口智能体:在openmap上更新人口智能体移动的位置。

环境智能体:输出相应polygon内人口智能体的个数。


注:

一个step代表一个月,根据每年人口的增长率,经过12个步长,向环境中增加对应数目的智能体(位置随机),人口智能体的年龄加1。

确定人口死亡的年龄,当人口年龄到达死亡年龄时,移除此人口智能体。


版权所有:留学生编程辅导网 2020 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp