Netlogo GIS:处理大型型号



我正在使用GIS扩展名开发NetLogo模型,以导入道路网络Shapefile。当我在约5x5公里的小面积上工作时,该型号正常工作。但是,我想允许模型的潜在用户确定他们的领域/感兴趣的范围。为了这个目标,我必须加载完整的道路形状文件,因为它覆盖了整个乡下地区,所以它非常大(> 2GB)。我的想法是导入此ShapeFile并使用用户定义的参数(使用"输入"按钮)来设置世界的信封。当然,导入大型型号时,我正在面临" GC架空限制"问题...

我想知道是否有人会建议解决这个问题。我考虑了将命令发送给R的R扩展名,以切割感兴趣的区域并将子区域发送回Netlogo,但我不确定是否真的为此做了扩展。

感谢您的帮助,

凯文

我认为r或python扩展名适用于此。

r:put "minX" extent_minX
r:put "minY" extent_minY
r:put "maxX" extent_maxX
r:put "maxY" extent_maxY
;Write a little function that takes the coordinates and returns the path to the clipped vector.
r:eval "PathVector = ClipFunction(minX, minY, maxX, maxY)"
set PathToVector r:get "PathVector"
;load the dataset. Something like
set roads gis:load-dataset PathToVector
gis:set-world-envelope (gis:envelope-of roads)
;etc. I've only ever loaded rasters, not vector, but you have this code. 

然后立即或运行结束时,您需要删除向量文件。

r:eval "deletefile(PathVector)

相关内容

  • 没有找到相关文章

最新更新