GIS Админ
#########
GIS Админ это интегрированный модуль на gitea, позволяющий управлять основным функционалом ГИС АСДКУ.
Основой GIS админки являются группы, на базе которых создаются объекты. В свою очередь, объекты группы - элементы, отображающиеся на карте и с которыми можно взаимодействовать. Каждая группа имеет свой набор параметров, шаблонов и иконок, которые будут наследоваться объектами этих групп и иметь иметь соответсвенные визуальные отличия на карте.
Группы
======
Создание группы
+++++++++++++++
Для создания новой группы необходимо нажать на выпадающий список "Админ GIS", расположенный на верхней панеле, навести на "Добавить группу" и выбрать соответсвующий тип группы. В форме создания группы необходимо указать название группы объектов, а также папку для размещения в GIS. При создании новой группы происходит коммит в репозитории и в базе данных.
Редактирование группы
+++++++++++++++++++++
Чтобы отредактировать группу объектов, необходимо в верхней панеле нажать на "Админ GIS", навести на выпадающий список "Редактировать группу" и выбрать необходимую группу. Появится форма, в которой можно редактировать:
* Имя группы (description) ``*``
* Порядок отображения слоя (draw_order) ``*``
* URL api фреймворка (fw_api) ``*``
* Имя класса (items.class) ``*``
* Поле с широтой объекта (items.keyLatitude) ``*``
* Поле с долготой объекта (items.keyLongitude) ``*``
* Шаблон наименования объекта (items.title) ``*``
* Шаблон карточки информции об объекте (items.template) ``*``
* Имя иконки группы объектов (items.icon_group) ``*``
* Имя иконки объекта (items.icon_object) ``*``
* Задать фильтр для объектов (items.filter)
* Возможность группировать объекты на карте при масштабировании (no_group)
* Возможность поставить анимацию трека (Tracking_animation)
* Иконку маркера объекта на карте (marker_icon) ``*``
*Поля, помеченные знаком* ``*`` *обязательны для заполнения*
.. note:: В предках указываемого класса обязательно должны быть классы devices или location.
При выборе полей с широтой и долготой система автоматически определяет подходящие поля в текущем классе, которые можно выбрать из списка.
При нажатии на чекбокс "Объект отслеживается трекером" появляется возможность редактировать следующие поля:
* Выбрать поле с imei устройства слежения (items.keyImei)
* Mqtt брокер для обновления данных на карте (update.mqtt)
* Класс с координатами перемещения объекта во времени (track.class)
* Выбрать поле с датой временем фиксации координат объекта (track.keyDate)
* Выбрать поле с широтой объекта (track.keyLatitude) ``*``
* Выбрать поле с долготой объекта (track.keyLongitude) ``*``
* Период обновления трека (секунд) (track.period)
* Скорость движения штриха в маршруте (track.displayParams.delay)
* Размер штриха маршрута (track.displayParams.dashArray)
* Толщина линии маршрута (track.displayParams.weight)
* Основной цвет (track.displayParams.color)
* Цвет штриха (track.displayParams.pulseColor)
Удаление группы
+++++++++++++++
Чтобы удалить группу, необходимо открыть форму редактирования группы, и в нижней части формы нажать "Удалить".
Просмотр объектов группы
++++++++++++++++++++++++
Просмотреть объекты группы можно нажав на нужную группу в списке под названием "Объекты на карте", находящимся в левой части экрана. В списке доступна фильтрация объектов по названию. При вводе названия объекта, в списке отобразяться все объекты групп, имена которых совпадают с веденным. Также можно скрыть группу объектов на карте, путем нажатия на иконку глаза справа от группы.
Классы
++++++
Создание класса
+++++++++++++++
Создать класс возможно прямо из формы редактирования группы, нажав на плюс напротив поля для ввода имени класса. Выпадет новая форма, на первой вкладке необходимо указать:
* Обозначение класса
* Название класса
* Абстрактным ли является класс
* Унаследованные классы (обязательно должны присутствовать классы devices или location)
* Патриционирование по полям
Во второй вкладке под названием "Свойство для класса" можно добавить необходимые свойства нового класса в соответствующих классах-свойствах (добавить новые поля, связи, значения и константы для нового класса), нажав на плюсик справа от имени класса-свойства. При создании новой записи-свойства, оно появится под именем класса-владельца свойства, отображаясь со знаком ``*``, что означает, что свойство еще не сохранено. Во вкладке под названием "Класс-источник" добавляются временные ряды к классу.
Созданный класс сразу отобразится в соответствующем поле в форме редактирование группы.
Редактирование класса
+++++++++++++++++++++
Отредактировать класс можно из формы редактирования группы, нажав на на иконку карандаша справа от поля для ввода имени класса.
Последняя кнопка "Посмотреть данные в виде таблицы", находящаяся напротив поля для ввода имени класса, переводит на страницу, содержащую табличное представление данных указанного класса.
Иконки
++++++
Создание иконки объекта
+++++++++++++++++++++++
Для создания иконки объекта для полей ``Имя иконки группы объектов (items.icon_group)`` и ``Имя иконки объекта (items.icon_object)`` достаточно загрузить нужную иконку в формате svg в репозиторий в папку "gis", система автоматически добавит иконку в список.
Создание иконки маркера на карте
++++++++++++++++++++++++++++++++
Чтобы создать иконку, необходимо нажать на кнопку "Нов." справа от поля выбора иконки маркера в форме редактирования группы. В открывшейся форме, на вкладке "Маркер SVG" нужно ввести обозначение и селектор иконки, а также вставить HTML-код svg формата иконки. На вкладке "Параметры маркера" можно выставить размеры маркера и точку привязки, а также посмотреть, как будет выглядеть иконка маркера на карте.
Пример кода иконки:
.. code-block::
.. figure:: gis-admin-images/marker-example1.png
:align: center
:alt: Пример создания иконки.
.. figure:: gis-admin-images/marker-example2.png
:align: center
:alt: Пример создания иконки.
*Пример создания иконки*
Редактирование иконки
+++++++++++++++++++++
Чтобы отредактировать иконку, необходимо выбрать в списке нужную иконку, а затем нажать на кнопку "Ред." справа от поля выбора иконки маркера.
Шаблон карточки
+++++++++++++++
В шаблоне карточки указывается HTML-код, который будет использоваться для верстки карточки объекта группы. Карточку объекта можно увидеть, нажав на объект на карте. Пример:
.. code-block::
Тестовый объект статичный
Название:{{locName}}
Номер:{{locNumber}}
Здание:{{locBuild}}
Назв объекта:{{locGenuild}}
Ответственный:{{locoWnerName}}
Описание:{{location_test_desc}}
.. figure:: gis-admin-images/card-example.png
:align: center
:alt: Пример карточки.
*Пример карточки*
Фильтры для объекта
+++++++++++++++++++
В параметрах фильтра можно включить или выключить параметры, по которым будет происходить фильтрация для объектов группы, а также выставить значения для этих параметров. Список полей для фильтрации будует напрямую зависеть от полей класса, указанного при создании группы.
После сохранения значений, параметры фильтра отобразяться на главной форме редактирования группы.
Также в полях параметров фильтра, можно использовать подстановочный знак ``*``, и система автоматически будет выбирать объекты, которые начинаются ``...*``, заканчиваются ``*...`` или соответствуют вписанному значению.
Шаблон наименования объекта
+++++++++++++++++++++++++++
Шаблон наименования объекта будет отбражаться в списке объектов группы в левой части экрана. Имена полей класса указываются через двойные фигруные скобки. Допускается использование символов между полями. Пример:
.. code-block::
{{name}} №{{jira_route}}
Объекты
=======
Создание объекта
++++++++++++++++
Чтобы создать новый объект на карте, необходимо в верхней панеле нажать на "Админ GIS", навести на выпадающий список "Добавить объект" и выбрать необходимую группу-владельца нового объекта. Затем потребуется ввести координаты нового объекта на карте, либо переместить его вручную с помощью мыши. В следующей форме необходимо заполнить основные данные об объекте. Форма будет содержать в себе набор полей, соответствующий набору полей класса, указанного при создании группы.
Редактирование объекта
++++++++++++++++++++++
Чтобы отредактировать объект, необходимо нажать на него на карте (или выбрать в списке объектов), и в появившейся в карточке объекта нажать "Редактировать".
Удаление объекта
++++++++++++++++
Чтобы удалить объект, необходимо нажать на него на карте (или выбрать в списке объектов), и в появившейся карточке объекта нажать "Удалить".
Создание динамического объекта
++++++++++++++++++++++++++++++
Основное отличие динамического объекта от обычного заключается в том, что координаты динамического объекты содержаться в таблице отдельного класса.
Что бы создать динамический объект, для начала необходимо создать стандартный объект группы, а также выбрать его координаты на карте и нажать "Сохранить". После, в появившейся форме заполнить все необходимые поля (кроме поля "Трекер", оно заполняется автоматически после создания).
.. note:: Обязательным является поле "imei", на основе коротого система автоматически сгенерирует трекер для данного динамического объекта.
TMS
===
Настройка параметров TMS
++++++++++++++++++++++++
Настроить параметры TMS можно нажав на "Админ GIS" в верхней панеле, и выбрав "Параметры TMS" в списке. Откроется форма, содержащая следующие параметры:
* Минимальное допустимое кол-во спутников (MIN_SATS_COUNT)
* Время отсутствия связи с терминалом в секундах (NETOFFINSECONDS)
* Минимальный угол обратного движения (MAX_ANGLE_REVERSE)
* Минимальная скорость для определения подозрительного движения (MINSPEEDSUSPECTMOVE)
* Минимальная ширина дороги (ROADWIDTH)
* Счётчик шага отсутствия реального времени (COORDSNOTREAL)
* Шаг отсутствия назначения машины на маршрут (MAYBERRORSTEP)
* Невалидность навигационных данных по времени (WAITCARSECONDSREALTIME)
* Период отдачи телеметрии (SENDTELEMETRYAFTERSTOP)
* Максимальное количество точек без реального времени (MAXCOUNTNOTREALCOORDS)
* Максимальное количество точек без связи (MAXCOUNTNONENETOFCAR)
* Время для определения подозрительного движения в секундах (TIMEFORSUSPECTMOVE)
.. figure:: gis-admin-images/tms-settings-form.png
:align: center
:alt: Форма редактирования параметров TMS.
*Форма редактирования параметров TMS*
Маршруты
========
Создание маршрута
+++++++++++++++++
Для создания маршрута, первым шагом необходимо создать группу, содержащую в себе маршруты как объекты. Для этого нужно нажать на "Админ GIS" в верхней панеле, навестись на "Добавить группу" и выбрать "Маршруты". После введения названия группы и названия папки хранения, появится форма, содержащая следующие поля:
* Имя группы (description) ``*``
* URL api фреймворка (fw_api) ``*``
* Имя класса (class) ``*``
* Шаблон наименования маршрута (title) ``*``
* Имя поля с ссылкой на зоны (field_zones) ``*``
* Шаблон карточки информции о маршруте (template) ``*``
* Имя иконки группы маршрутов (icon_group) ``*``
* Имя иконки маршрута (icon_object) ``*``
* Возможность группировать объекты на карте при масштабировании (no_group)
* Порядок отображения слоя (draw_order) ``*``
* Цвет маршрута (color) ``*``
* Фильтр NMLK (nmlk_filter_info) ``*``
*Поля, помеченные знаком* ``*`` *обязательны для заполнения*
.. note:: Обязательным для класса-родителя является поле "Зоны маршрута" (routeZonesLink), в которой будут содержаться ссылки на геозоны, из которых будет состоять маршрут.
После создания группы, следующим шагом необходимо создать объект новой группы. Нужно нажать на "Админ GIS" в верхней панеле, навестить на "Добавить объект" и выбрать новосозданную группу.
.. note:: Форма создания маршрута будет содержать только те поля, которые содержит класс-родитель, указанный при создании группы.
После заполнения и сохранения формы, на карте должен появится маршрут из указанных геозон.
Создание геозон
+++++++++++++++
Для создания геозоны нужно нажать на "Админ GIS" в верхней панеле и выбрать "Добавить геозону(маршруты)". Появится форма, содержащая следующие поля:
* Идентификатор зоны (ref)
* Название зоны
* Тип геометрии
* Геометрия
* Допустимое время остановки в зоне (сек)
* Допустимое отклонение (м)
* Зона анализа старта
* Зона анализа финиша
* Возможность поднимать тревогу
.. note:: Поле "Контур зоны" будет содержать точки координат зоны на карте. Чем сложнее фигура зоны, тем больше будет точек. Поле заполняется автоматически.
При выборе типа геометрии геозоны, в центре экрана появится выбранная фигура, с возможностью редактирования ее формы. Для добавления новой вершины, необходимо нажать на прозрачную точку между двумя уже существующими вершинами. Вершину можно считать добавленной, если на смежных ребрах фигуры появятся такие же прозрачные точки. Что бы поменять расположение точки, достаточно перетащить ее в нужное место на карте.
.. note:: Добавить геозону в маршрут можно вписав имя нужной геозоны в поле "Зоны маршрута" в форме редактирования маршрута.
Редактирование маршрута
+++++++++++++++++++++++
Чтобы отредактировать маршрут, необходимо выбрать его в списке объектов, и в появившейся карточке объкта нажать "Редактировать". После нажатия на кнопку на геозонах маршрута появятся точки координат.
Удаление маршрута
+++++++++++++++++
Чтобы удалить маршрут, необходимо выбрать его в списке объектов, и в появившейся карточке объкта нажать "Удалить".
Маршруты состоят из набора геозон, которые создаются отдельно и затем вписываются в поле "Зоны маршрута".
Периметры
=========
Создание периметра
++++++++++++++++++
Для создания периметра, первым шагом необходимо создать группу, содержащую в себе периметры как объекты группы. Для этого нужно нажать на "Админ GIS" в верхней панеле, навестись на "Добавить группу" и выбрать "Зона, периметр". После введения названия группы и названия папки хранения, появится форма, содержащая следующие поля:
* Имя группы (description) ``*``
* URL api фреймворка (fw_api) ``*``
* Имя класса (class) ``*``
* Шаблон карточки информции о маршруте (template) ``*``
* Фильтр для зон (filter)
* Имя иконки группы маршрутов (icon_group) ``*``
* Имя иконки маршрута (icon_object) ``*``
* Возможность группировать объекты на карте при масштабировании (no_group)
*Поля, помеченные знаком* ``*`` *обязательны для заполнения*
.. note:: Создание класса, шаблона карточки, фильтров для объектов см. в разделах выше.
.. note:: Можно иметь несколько групп-периметров для различных типов зон.
После заполнения и сохранения формы, необходимо нажать на "Админ GIS" в верхней панеле, навестись на "Добавить объект" и выбрать новосозданную группу. Появится форма с данными о зоне, а также по центру экрана появится сама зона.
.. figure:: gis-admin-images/zone-example.png
:align: center
:alt: Создание периметра.
*Создание периметра*
.. note:: Форма новой зоны будет содержать только те поля, которые содержит класс-родитель, указанный при создании группы.
.. note:: Поле "Контур зоны" будет содержать точки координат зоны на карте. Чем сложнее фигура зоны, тем больше будет точек. Поле заполняется автоматически.
Между двумя уже существующими вершинами можно добавить еще одну (путем нажатия на прозрачную точку на ребре между существующими вершинами), тем самым добавив периметру еще один угол и усложнив форму периметра. Вершину можно считать добавленной, если на смежных ребрах фигуры появятся такие же прозраные точки. Что бы поменять расположение точки, достаточно перетащить ее в нужное место на карте.
Редактирование периметра
++++++++++++++++++++++++
Чтобы отредактировать периметр, необходимо нажать на него на карте (или выбрать в списке объектов), и в появившейся карточке объкта нажать "Редактировать". После нажатия на кнопку на ребрах периметра появятся точки координат.
Удаление приметра
+++++++++++++++++
Чтобы удалить периметр, необходимо нажать на него на карте (или выбрать в списке объектов), и в появившейся карточке объкта нажать "Удалить".