Поместите агентов в патч с тем же значением переменной, что и у агентов - PullRequest
0 голосов
/ 15 мая 2019

Я загружаю своих агентов из CSV-файла в NetLogo с расширением CSV.Эти агенты имеют в качестве одного из своих атрибутов почтовый индекс от того места, где они живут.Патчи также получают в качестве атрибутов ZIP-код, загруженный из шейп-файла с помощью ГИС-расширения.Чего я хочу добиться, так это чтобы агенты помещались непосредственно в один из патчей с соответствующим ZIP-кодом.

На данный момент работает то, что агенты ходят до тех пор, пока не окажутся в нужном патче..

Вот упрощенная версия:

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

Однако это нереально, и я надеюсь на решение, в котором агенты будут размещены непосредственно в их правильном расположении.Может быть, с sprout / hatch?

Я думал о чем-то вроде этого (пример не работает):

ask turtles [
 move-to one-of patches with [ location = turtle-location ]  
]

Но этот кусок кода выдает мне сообщение об ошибке:

Вы не можете использовать TURTLE-LOCATION в контексте патча, поскольку TURTLE-LOCATION доступна только для черепах.

1 Ответ

1 голос
/ 15 мая 2019

Попробуйте это:

ask turtles [
 move-to one-of patches with [ location = [turtle-location] of myself ]  
]

Вам необходимо сообщить NetLogo, от какой черепахи можно получить местоположение черепахи.

...