Карты ГИС часто используются в агентных моделях для задания ГИС пространства, в котором обитают агенты. ГИС пространство позволяет размещать агентов в геопространственной среде, заданной с помощью карты ГИС. Поддержка ГИС пространства включает возможности помещения агента в новое место, получения информации о текущем местоположении, перемещения агента из текущего местоположения в новое с заданной скоростью, выполнения определенного действия по прибытии, отображения анимации агента (статической или движущейся), установления связей между агентами в зависимости от их расположения и многое другое.
Данное видео показывает, как получить из базы данных значения адресов/географических координат агентов и расположить агентов на ГИС-карте согласно полученным значениям:
Вы можете легко создать агентов и расположить их на карте с помощью встроенного поиска по карте ГИС. Сначала вам понадобится найти местоположение на карте, а затем вы сможете создать в этом месте агента и поместить туда его анимацию.
Чтобы создать и расположить агентов с помощью поиска
- Откройте модель, которая содержит одного или несколько созданных вами типов агентов, которые живут в пространстве ГИС.
- Сделайте двойной щелчок по карте, чтобы войти в режим редактирования и найдите на карте те места, в которых хотите разместить ваших агентов.
- Перейдите в панель Результаты ГИС поиска, выделите в списке элементы, которые вам подходят, щелкните их правой кнопкой мыши и выберите опцию Создать агентов в выбранных элементах.
- Из раскрывающегося списка типов агентов выберите тот тип, агента которого вы хотите создать на карте в выбранном месте.
- AnyLogic автоматически создаст агента и разместит его анимацию в выбранном месте.
- Таким образом вы можете выбрать несколько результатов поиска и создать по агенту в каждом из них одним щелчком.
Чтобы задать начальное положение агента
- Предположим, в вашей модели имеется агент, который живет в ГИС пространстве. Выделите этого агента в графическом редакторе и перейдите в панель Свойства.
- Откройте секцию свойств Начальное местоположение. В этой секции вы можете задать местоположение агента тремя разными способами. По умолчанию агент находится в месте расположения анимации агента.
- Очень удобно задавать расположение агента на карте с помощью объектов разметки ГИС пространства: ГИС Точки или ГИС Региона. Выберите расположить агентов в узле и затем выберите точку или регион в соответствующем параметре ниже.
- Также вы можете поместить агента в точке (широта, долгота). Выбрав эту опцию, вы сможете задать координаты конкретной точки на карте с помощью параметров Широта и Долгота.
Вы можете использовать следующие методы, чтобы задавать местоположение агентов на карте ГИС. При использовании этих методов мы полагаем, что агент не находится в движении, они используются только для задания начального положения агента.
Вы можете сначала создать ГИС точки или регионы на карте, чтобы затем использовать их в этих функциях, или использовать местоположения других агентов, которые уже находятся на карте. Также вы всегда можете использовать координаты широты и долготы какой-то точки на карте, куда хотите поместить агента.
Функция | Описание |
---|---|
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) |
-
Как мы можем улучшить эту статью?
-