gis - 在 netlogo 中使用 2 张 map

标签 gis netlogo

是否可以在 netlogo 模型中使用两个映射?如果是,如何组合或导入到netlogo中?

第一张 map 具有土地使用值(value),第二张 map 具有土地价格值(value)。所以,我需要这两个属性来支持我的模型。

下面的代码用于导入第一张 map ;

to-report read-map[m] 
let raster-map gis:load-dataset m                                         
gis:load-dataset m
gis:set-world-envelope gis:envelope-of raster-map
report raster-map

end

to read-input-maps[m]
let data-source word"data/input/maps/" m
let input-map read-map data-source
gis:apply-raster input-map map-value
ask patches
[set map-value ifelse-value (map-value <= 0 or map-value >= 0)
[map-value]
[-9999]]                                                                         
end

to read-map-attributes[m]
let data-source word "data/input/maps/"m
file-open data-source
set n-cols read-from-string remove "NCOLS"file-read-line
set n-rows read-from-string remove "NROWS" file-read-line
set xll read-from-string remove "XLLCORNER" file-read-line
set yll read-from-string remove "YLLCORNER" file-read-line
set cell-size read-from-string remove "CELLSIZE"file-read-line
file-close
resize-map

end

to resize-map
  resize-world 0 n-cols 0 n-rows
  set-patch-size 50 / cell-size

 end

  to display-map
  ifelse input-file = "turi3400m2.asc"[
  ask patches with[map-value = 1] [ set pcolor orange];Hutan sekunder orange 
  ask patches with[map-value = 2] [ set pcolor orange];Semak/belukar orange
  ask patches with[map-value = 3] [ set pcolor yellow];Permukiman yellow
  ask patches with[map-value = 4] [ set pcolor green];Kebun campuran green
  ask patches with[map-value = 5] [ set pcolor green];Sawah green
  ask patches with[map-value = 6] [ set pcolor orange];Tanah terbuka orange
  ask patches with[map-value = 7] [ set pcolor green];Tegalan/ladang green

   ]
  end

  to setup-function [m]
    read-map-attributes m
    read-input-maps m
    display-map
   end


  to setup
    ca
    setup-function 
    Input-File

请帮忙解决这个问题。

最佳答案

更换怎么样:

patches-own [map-value]

gis:apply-raster input-map map-value

与:

patches-own [map-value-1 map-value-2]

ifelse m = "..."
  [ gis:apply-raster input-map map-value-1 ]
  [ gis:apply-raster input-map map-value-2 ]

这是我能想到的最简单的修复方法。它适合您的用例吗?

关于gis - 在 netlogo 中使用 2 张 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32185198/

相关文章:

google-maps - map 路由,类似于谷歌地图?

python - 将包含 GEOMETRY 列的表加载到 Pandas DataFrame

Netlogo - 从txt文件读取并导入字符串数据

c - R 树 50,000 英尺概览?

python - Python中的Shapefile阅读器?

netlogo - 你如何在 NetLogo 中生成直方图?

gis - 如何在 patch 变量的约束下设置海龟的随机 XY 坐标

count - Netlogo:如何计算连续指定坐标之间的海龟?

r - 简化 rgeos 中的多边形并维护 SpatialPolygonsDataFrame 中的数据

Java计算无效结果