GIS IN NETLOGO - 处理大型形状文件

问题描述 投票:0回答:1

我正在 netlog 中构建一个模型,并且有一个非常详细的栖息地地图,其中文件大小为 68mb (67,928 KB) - 我简化了顶点并将文件减少到 47mb (46,958 KB),但是当我尝试导入时,netlogo 仍然崩溃文件。

我的问题很简单 - 您会推荐什么 - 通过预处理方法或 netlogo 方法来提高文件大小或 netlogos 处理它的能力。

谢谢

我加载它的代码是

extensions [gis csv]
globals [world world-shape]
patches-own [habitat]

to set-up
  clear-all
  reset-ticks
  gis:load-coordinate-system "Habitat_map_Pflugmacher_20km_buffer.prj"
      set world gis:load-dataset "Habitat_map_Pflugmacher_20km_buffer.shp"
 ;; load in the circle around the island to create a buffer
  set world-shape gis:load-dataset "Habitat_map_Pflugmacher_20km_buffer.shp"  gis:set-drawing-color white
  gis:set-world-envelope-ds gis:envelope-of world-shape
  gis:apply-coverage world "Gridcode" habitat

        foreach gis:feature-list-of world
  [ ?1 ->
    if gis:property-value ?1 "Gridcode" = 1 [ gis:set-drawing-color 6  gis:fill ?1 2.0] ;; artificial land
    if gis:property-value ?1 "Gridcode" = 2[ gis:set-drawing-color 46  gis:fill ?1 2.0] ;; seasonal crops
    if gis:property-value ?1 "Gridcode" = 3 [ gis:set-drawing-color 43  gis:fill ?1 2.0] ;; perrenial crps
    if gis:property-value ?1 "Gridcode" = 4 [ gis:set-drawing-color 57  gis:fill ?1 2.0] ;; broadlead forest
     if gis:property-value ?1 "Gridcode" = 5 [ gis:set-drawing-color 52  gis:fill ?1 2.0] ;; conifer forest
        if gis:property-value ?1 "Gridcode" = 12  [ gis:set-drawing-color 55  gis:fill ?1 2.0] ;; mixed forest
    if gis:property-value ?1 "Gridcode" = 6 [ gis:set-drawing-color 63 gis:fill ?1 2.0] ;; shrubland
    if gis:property-value ?1 "Gridcode" = 7 [ gis:set-drawing-color 65  gis:fill ?1 2.0] ;; grassland
    if gis:property-value ?1 "Gridcode" = 8 [ gis:set-drawing-color 35  gis:fill ?1 2.0] ;; bareland
    if gis:property-value ?1 "Gridcode" = 9  [ gis:set-drawing-color 95  gis:fill ?1 2.0] ;; water
    if gis:property-value ?1 "Gridcode" = 10 [ gis:set-drawing-color 85  gis:fill ?1 2.0] ;; wetland
     if gis:property-value ?1 "Gridcode" = 11 [ gis:set-drawing-color 68  gis:fill ?1 2.0] ;; wetlands
    if gis:property-value ?1 "Gridcode" = 12  [ gis:set-drawing-color 9.9  gis:fill ?1 2.0] ;; snow    ]
  ]
memory gis netlogo agent-based-modeling
1个回答
0
投票

“NetLogo 崩溃”是什么意思?它是永远不会完成,还是您实际上收到错误消息?如果是的话,那是什么?

确保您了解内存分配问题 - 如果没有,请打开用户手册的常见问题解答部分并查找问题“我的模型可以有多大?”

如果您不确定发生了什么,您可以在 foreach 循环中放置一个“show”语句来告诉您它正在处理哪个功能。

(我从未尝试过导入这么大的形状文件,但理论上它应该可以工作。)

© www.soinside.com 2019 - 2024. All rights reserved.