AnyLogic
Развернуть
Размер шрифта

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

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

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

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

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

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

  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 Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели.
Как мы можем улучшить эту статью?