Формат kml-файлов геозон в FM3

FortMonitor поддерживает возможность импорта и экспорта геозон в формате kml. Но если вы импортируете файл из другой системы, либо же просто добавляете зоны из рукописного файла, его содержание должно подходить под формат, используемый в системе. В этой статье мы разберём файлы экспорта и импорта на конкретных примерах. Файлы можно редактировать в любом текстовом редакторе, например notepad++.


Разберём общее строение на конкретном примере геозоны типа "точка".

Файл содержит следующие теги:

  • ?xml version="1.0" encoding="utf-8"? - тип, версия и кодировка.
  • kml - формат файла, служебный тег.
  • Document - содержание файла, служебный тег.
  • Placemark - "метка", данные всех отдельных геозон, вложенных в файл, должны быть ограничены этим тегом.
  • name - имя геозоны.
  • description [параметры]=" " - здесь прописаны следующие параметры зоны:
    • addr=" " - использование зоны в качестве адреса, возможны варианты "1" и "0", соответственно использовать или нет.
    • width=" " - радиус геозоны "точка". Для других геозон этот тег не указывается.
    • ride_begin="0" и ride_end="0" - служебные теги, могут отсутствовать.
  • Point - конкретно здесь указание на тип геозоны "точка". Другие типы рассмотрим далее.
  • coordinates - собственно координаты точки.

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


Линия.

Здесь появляется тег Style, который отвечает за отображение в интерфейсе FortMonitor и включает в себя:

  • LineStyle - указание на тип "линия"
  • color - цвет в интерфейсе мониторинга
  • width - ширина геозоны

Далее Style закрывается и идёт LineString, который указывает, что в нём прописаны координаты, выстроенные последовательно в линию. Далее в теге coordinates идут сами координаты, где широта и долгота разделены запятой, а пары широта+долгота - пробелом.


Многоугольник.

Здесь мы видим тот же Style, и вложенные в него теги:

  • PolyStyle - тип "многоугольник
  • color - цвет в интерфейсе мониторинга

Далее идут теги:

  • Polygon - полигональная зона
  • outerBoundaryIs - с внешними границами
  • LinearRing - координаты закольцованы
  • coordinates - собственно координаты


Файл может содержать несколько зон разных типов, данные по этим зонам должны быть закрыты в теге Placemark. Как пример, скрин файла с тремя вышеуказанными зонами.

Оригинал файла для собственных экспериментов можно скачать по ссылке.


Повторюсь, очень важно соблюдать структуру документа и вложенность тегов. Но пробелы и переносы строк между тегами (не в самих тегах, как в случае с coordinates) в принципе выполняют чисто косметические функции, так код удобнее читать. В некоторых случаях рабочий файл может выглядеть и так: