Расположение агентов в пространстве ГИС 

Карты ГИС часто используются в агентных моделях для задания ГИС пространства, в котором обитают агенты. ГИС пространство позволяет размещать агентов в геопространственной среде, заданной с помощью карты ГИС. Поддержка ГИС пространства  включает возможности помещения агента в новое место, получения информации о текущем местоположении, перемещения агента из текущего местоположения в новое с заданной скоростью, выполнения определенного действия по прибытии, отображения анимации агента (статической или движущейся), установления связей между агентами в зависимости от их расположения и многое другое. 

Данное видео показывает, как получить из базы данных значения адресов/географических координат агентов и расположить агентов на ГИС-карте согласно полученным значениям:

Обучающее видео: Placing agents on the GIS map

Расположение агентов с помощью поиска

Вы можете легко создать агентов и расположить их на карте с помощью встроенного поиска по карте ГИС. Сначала вам понадобится найти местоположение на карте, а затем вы сможете создать в этом месте агента и поместить туда его анимацию.

Чтобы создать и расположить агентов с помощью поиска

  1. Откройте модель, которая содержит одного или несколько созданных вами типов агентов, которые живут в пространстве ГИС.
  2. Сделайте двойной щелчок по карте, чтобы войти в режим редактирования, и найдите на карте те места, в которых хотите разместить ваших агентов.
  3. Перейдите в панель Результаты ГИС поиска, выделите в списке элементы, которые вам подходят, щелкните их правой кнопкой мыши и выберите опцию Создать агентов в выбранных элементах
  4. Из раскрывающегося списка типов агентов выберите тот тип, агента которого вы хотите создать на карте в выбранном месте.

  5. AnyLogic автоматически создаст агента и разместит его анимацию в выбранном месте.

  6. Таким образом вы можете выбрать несколько результатов поиска и создать по агенту в каждом из них одним щелчком.

Опция Создать агентов в выбранных элементах доступна, только если в модели имеются созданные вами типы агентов.

Чтобы задать начальное положение агента 

  1. Предположим, в вашей модели имеется агент, который живет в ГИС пространстве. Выделите этого агента в графическом редакторе и перейдите в панель Свойства.
  2. Откройте секцию свойств Начальное местоположение. В этой секции вы можете задать местоположение агента тремя разными способами. По умолчанию агент находится в месте расположения анимации агента.
  3. Очень удобно задавать расположение агента на карте с помощью объектов разметки ГИС пространства: ГИС Точки или ГИС Региона. Выберите расположить агентов в узле и затем выберите точку или регион в соответствующем параметре ниже.
  4. Также вы можете поместить агента в точке (широта, долгота). Выбрав эту опцию, вы сможете задать координаты конкретной точки на карте с помощью параметров Широта и Долгота.

Расположение агентов с помощью функций

Вы можете использовать следующие методы, чтобы задавать местоположение агентов на карте ГИС. При использовании этих методов мы полагаем, что агент не находится в движении, они используются только для задания начального положения агента.

Вы можете сначала создать ГИС точки или регионы на карте, чтобы затем использовать их в этих функциях, или использовать местоположения других агентов, которые уже находятся на карте. Также вы всегда можете использовать координаты широты и долготы какой-то точки на карте, куда хотите поместить агента.

void setLocation(INode node) - Располагает агента в заданном узле: ГИС точке или ГИС регионе.
Параметр:
node - имя узла

void setLocation(Point point) - Располагает агента в заданной ГИС точке. 
Параметр:
point - имя ГИС точки

void setLocation(Agent agent) - Располагает агента в местоположении другого агента agent.

void setLatLon (double latitude, double longitude) - Задает координаты местоположения агента. 
Параметры:
latitude - координата широты местоположения, измеряемая в градусах (-90 ... (South) ... 0 ... (North) ... +90)
longitude - координата долготы местоположения, измеряемая в градусах (-180 ... (West) ... 0 ... (East) ... +180)

Пример модели: Product Delivery



См. также

Поиск по карте ГИС

Объекты разметки пространства ГИС

Движение агентов в пространстве ГИС