代码之家  ›  专栏  ›  技术社区  ›  Anisha Jayadevan

将光栅数据导入Netlogo将导致所有面片变量均为0的列

  •  10
  • Anisha Jayadevan  · 技术社区  · 6 年前

    当我使用此代码将光栅层导入Netlogo并调整世界大小时,最后一列的所有补丁变量在应该包含数据时都为零。这种情况只发生在同一景观中的几处刺耳的地方。

    set rasterLayer gis:load-dataset "x.asc"
    resize-world 0 (gis:width-of rasterLayer) -1 0 (gis:height-of rasterLayer) -1
    gis:set-world-envelope gis:envelope-of rasterLayer
    gis: apply-raster rasterLayer 
    

    在调整世界大小时,如果不使用“-1”,则会得到一列NaN值( Importing raster data into NetLogo results in a row/column of NaN values )。

    这个光栅的尺寸是正确的;0值的列不是额外的,这意味着一些数据会丢失。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Anisha Jayadevan    6 年前

    here

     file-open "data/my-folder/my-file.asc"
     let temp []
     repeat 6 [let header file-read-line] ; skip first 6 lines of header
     while [file-not-at-end?][
           set temp lput file-read temp 
    ]
     file-close
    (foreach sort patches temp [
           [a b] -> ask a [ set my-variable b] 
     ] )