Экспорт растра из Netlogo 6.0 с использованием переменных-исправлений ГИС против глобальных переменных
Я пытаюсь использовать расширение ГИС NetLogo 6.0 для экспорта растра патчей NetLogo со значением переменной патча. Я использую ГИС примитив gis:patch-dataset
поскольку согласно словарю расширения ГИС предполагается:
msgstr "сообщить о новом растре, чьи ячейки соответствуют непосредственно исправлениям NetLogo, а значения ячеек состоят из значений данной переменной исправления."
Однако этот примитив, похоже, не работает, если я использую переменную исправления в качестве параметра. Это работает, если я использую глобальную переменную, но, конечно, это сообщает об одном значении этой глобальной переменной. Кто-нибудь может увидеть, что мне не хватает? Может быть, я совершенно не понимаю, как gis:patch-dataset
работает, но насколько я понимаю gis:patch-dataset
должна требовать переменную исправления для сообщения растра.
Пример кода ниже. я бегу setup
тогда я пытаюсь бежать test-gis-output
, но получите ошибку, которую я не могу использовать test-gis-output
в контексте наблюдателя, так как это turtle/patch
только. Это имеет смысл для меня с точки зрения ошибок, глобальные переменные, переменные turtle и patch являются отдельными. Однако как я могу сообщить о растре всех патчей, не ссылаясь на переменную только для патчей?
extensions [
gis
]
globals [
test_file
]
to setup
ca
reset-ticks
ask patches with [pxcor mod 2 = 0 ] [
set pcolor red
]
end
to test-gis-output
set test_file gis:patch-dataset pcolor
gis:store-dataset test_file "test_export"
end
1 ответ
NetLogo рассказывал мне все, что мне нужно было знать - только патчи могут использовать gis:patch-dataset primitive.
Использование следующего кода работало для экспорта растра ASCII:
to test-gis-output
ask patches [
set test_file gis:patch-dataset pcolor
]
gis:store-dataset test_file "test_export"
end