Я загружаю своих агентов из файла .csv в NetLogo с расширением csv. Эти агенты имеют в качестве одного из своих атрибутов почтовый индекс того места, где они живут. Патчи также получают в качестве атрибутов почтовый индекс, загружаемый из шейп-файла с помощью ГИС-расширения. Чего я хочу добиться, так это того, чтобы агенты помещались непосредственно в один из патчей с соответствующим почтовым индексом.
На данный момент работает то, что агенты ходят, пока не окажутся в правильном патче.
Вот упрощенная версия:
turtles-own [ turtle-location ]
patches-own [ location ]
to setup
ca
crt 10 [
set turtle-location random 10
]
ask patches [
set location random 10
]
end
to go
ask turtles [
location-turtles
]
end
to location-turtles
if (location != turtle-location)
[ fd 2 ]
end
Однако на самом деле это невозможно, и я надеюсь на решение, в котором агенты будут помещены прямо в их правильное местоположение. Может с ростком/люком?
Я думал о чем-то вроде этого (не рабочий пример):
ask turtles [
move-to one-of patches with [ location = turtle-location ]
]
Но этот фрагмент кода дает мне сообщение об ошибке:
You can't use TURTLE-LOCATION in patch context, because TURTLE-LOCATION is turtle-only.
С последним фрагментом кода (часть перехода) я получаю сообщение об ошибке: вы не можете использовать TURTLE-LOCATION в контексте патча, потому что TURTLE-LOCATION предназначен только для черепах (я добавил это в текст).
Попробуй это:
ask turtles [
move-to one-of patches with [ location = [turtle-location] of myself ]
]
Вам нужно сообщить NetLogo, от какой черепахи получить местоположение черепахи.
Что не работает с вашим последним фрагментом кода? Вы получаете сообщение об ошибке, или они не двигаются, или...