我有一个模特,其中我的代理人是人,我想考虑该地区的人口密度。即:我希望在某些地区生成的代理商比其他代理商更多。理想情况下,我希望这可以使用GIS地图。 我该如何开始实施呢? 我已经有了GIS地图,人口数据文件(.grd,.gri和.vrt)。
答案 0 :(得分:1)
这不是那么简单,因为没有任何逻辑内置的int函数可以帮助你......
您必须创建自己的2D分布函数f(经度,纬度)= Z,其中Z越高,代理在该位置启动的可能性就越大。你必须能够自己定义这个功能......
一旦你拥有它,一个简单但可能效率低的方法来获得随机样本(假设Z被归一化到最大值1)从3维空间中取随机值(随机纬度,经度和Z )如果Z最终低于纬度经度所需的Z,则取该值,否则再试一次,直到找到适合的随机值。
您也可以以类似的方式使用离散解决方案,您可以阅读本网站以了解如何操作: http://code-spot.co.za/2009/04/15/generating-random-points-from-arbitrary-distributions-for-2d-and-up/