Экспорт растра из 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
Другие вопросы по тегам