首页 文章

NetLogo GIS:处理大型shapefile

提问于
浏览
4

我正在使用GIS扩展开发NetLogo模型以导入道路网络shapefile . 当我在约5x5 km的小区域工作时,该模型工作正常 . 但是,我想允许模型的潜在用户确定他们的区域/兴趣范围 . 为了这个目的,我必须加载非常大(> 2GB)的完整道路形状文件,因为它覆盖了整个国家区域 . 我的想法是导入这个shapefile并使用用户定义的参数(使用“输入”按钮)来设置世界的包络 . 当然我在导入大型shapefile时遇到“GC开销限制”问题...

我想知道是否有人会建议处理这个问题 . 我想到R扩展命令向R发送命令以切割感兴趣的区域并将子区域发送回NetLogo,但我不确定扩展是否真的是为此而做的 .

谢谢你的帮助,

凯文

1 回答

  • 0

    我认为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)
    

相关问题