gis - 将栅格数据导入 NetLogo 会导致所有补丁变量 = 0 的列
问题描述
当我使用此代码将栅格图层导入 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 值(将栅格数据导入 NetLogo 会产生一行/列 NaN 值)。
这个栅格的尺寸是正确的;0 值的列不是额外的,这意味着丢失了一些数据。
解决方案
感谢@Tyr:此处发布了针对此可能错误的解决方法。这是我为 NetLogo 6 使用的代码,以确保将光栅正确应用于 NetLogo 世界:
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]
] )
推荐阅读
- sql - SQL - 按 LIMIT 或 TOP 分组
- mailkit - 无法触发 IMailFolder.MessageLabelsChanged 事件
- java - 按字母顺序对对象数组列表进行排序
- tensorflow - 保存验证错误最少的 Estimator 模型并恢复训练
- c# - C#Linq将元素添加到满足条件的对象列表中
- php - 如何从 Laravel 路由中排除文件夹?
- ios - 将字符串从我的应用程序传递到 Apple Maps 以便它可以搜索
- angular5 - 在从服务器收到的 HTTP 响应中看不到标头
- login - 如何为 alexa 设备创建 firebase 登录?
- tensorflow - TensorFlow 每批训练时间不断增加