Mapinfo Pro 2021 приносит множество нововведений, в том числе и новые возможности по обработке и анализу данных, одним из которых является инструмент построения временных рядов. В данной статье рассмотрим его подробно.
Что такое временные ряды?
Временные ряды - это новый способ визуализации данных, позволяющий удобно просматривать и анализировать данные, собранный в разные моменты времени о значении каких-либо параметров исследуемого процесса.
Представьте, что вы работаете со страховой компанией, имеющей доступ к данным об ударах молний. У каждого удара молнии есть место, где он произошел, а также отметка времени, когда он произошел. С помощью временных рядов в MapInfo Pro v2021 вы сможете наглядно в динамике увидеть, когда и где они произошли.
Такая визуализация могла бы выглядеть вот так:
Подготовка данных
Для построения временных рядов необходимо несколько условий:
1. Нужно активное окно карты с одним или несколькими слоями.
2. Один из этих слоев должен содержать временной атрибут - столбец типа Date, Time или DateTime.
Для удобства реализации второго пункта в MapInfo Pro v2021 были добавлены новые функций MapBasic для работы с датой и временем.
Продолжим рассмотрение новых возможностей на том же примере - данных об ударах молний. Откроем таблицу в виде карты, а также списком, чтобы увидеть её атрибуты.
В данном наборе данных нету столбца типа DateTime, но есть два текстовых столбца с нужной нам информацией о времени. Один столбец содержит информацию о времени создания, а другой - о времени наблюдения. Мы будем использовать время наблюдения.
Чтобы использовать этот столбец для построения временных рядов, нам сначала нужно преобразовать исходный столбец со строковыми значениями в значения DateTime. Для этого добавим новый столбец под названием Observed_DateTime.
Как уже было подмечено ранее, в MapInfo Pro v2021 были усовершенствованны возможности MapBasic по обработке временных данных. В нашем случае мы будем использовать улучшенную функцию StringToDateTime, которая теперь позволяет указывать структуру временной строки.
Используя окно SQL , мы можем обновить новый столбец DateTime с помощью этого выражения:
Update Lightnings Set OBSERVED_DATETIME = StringToDateTime(OBSERVED, "yyyy-MM-ddTHH:mm:ss.ffffffZ")
После обновления столбца новыми значениями рекомендуется также его проиндексировать - поставить галочку «Индекс» в меню «Изменить структуру таблицы».
Построение временных рядов
Теперь, когда у нас есть активная карта и слой с данными о времени, на вкладке «Карта» в раскрывающемся списке «Добавить на карту» стал доступен инструмент «Временные ряды».
Щелкните его, чтобы начать настройку временных рядов.
В диалоговом окне «Параметры времени слоя» необходимо настроить слой с учетом временных параметров.
Сначала нужно указать слой, а затем выбрать соответствующий тип временной конфигурации. Так, данные о времени могут храниться в одном столбце или дата и время могут быть в отдельных столбцах, а если ваши данные содержат временные интервалы, также необходимо выбрать начальный и конечный столбцы для этих интервалов.
Кнопка «Статистика» рядом с выбором слоя отобразит статистику для временного столбца. Функция «Вычислить статистику» в MapInfo Pro 2021 также была обновлена для работы со временем.
В рассматриваемом нами примере временные данные хранятся в одном столбце. После указания столбца MapInfo Pro проверит данные и заполнит значения в «Экстентах», а также предложит интервалы по-умолчанию, но вы можете изменить их по своему вкусу.
Далее нажмем «OK» и увидим, что произойдет несколько вещей:
На ленте MapInfo Pro появится и откроется новая вкладка «Время», а в окно карты добавится «Ползунок времени», позволяющий удобно воспроизводить и просматривать наши данные. Кроме этого, слой, который вы выбрали в диалоговом окне «Параметры времени слоя», будет отфильтрован, чтобы отображать записи только за первый период времени.
Если дважды щелкнуть временной слой в окне «Проводника», чтобы открыть диалоговое окно «Параметры слоя», можно увидеть фильтр, примененный к вашему слою. Основное предназначения «Фильтра слоев» - отсортировывать записи, которые находятся в пределах первого периода времени и скрывать все остальные. «Фильтр слоя» обновляется , когда вы переключаетесь на другой период времени.
Параметры фильтрации слоя - это новая функция в MapInfo Pro, которую можно использовать не только для временных рядов, но и для других целей.
Управление временными рядами
Теперь, когда временные ряды созданы, можно начать использовать элементы управления на вкладке «Время» для управления и воспроизведения временных рядов.
Используя раскрывающийся список «Выбрать» в группе «Период» на вкладке «Время», вы можете перейти к другому периоду времени. Давай попробуем выбрать время после обеда. Выберем 13-й период.
Ползунок времени на карте покажет положение и интервал выбранного периода времени. Он дает хорошее представление о текущем моменте времени, и его можно удобно перетягивать.
Обратите внимание, что время на шкале не в полных часах, а с указанием минут и секунд. Как правило, временной ряд будет использовать первую метку времени из данных в качестве отправной точки, и уже на ее основе будут вычисляться периоды.
Вы можете привязать периоды времени к полным единицам, например часам или минутам, чтобы получить «более удобные» временные интервалы. Просто отметьте опцию «Привязка» в группе «Корректировать» на вкладке «Время».
Ниже можно увидеть как изменились интервалы, если включить привязку к часам. В интервалах теперь используются полные часы, которые, как правило, выглядят лучше, и их легче считывать и анализировать.
На вкладке «Время» вы также можете использовать элемент управления воспроизведением для автоматического обновления карты каждые одну или две секунды. Нажмите «Воспроизвести» в группе «Воспроизведение». Используйте параметры «Быстрее» или «Медленнее» , чтобы контролировать скорость воспроизведения. Вы также можете использовать элементы управления «Назад» и «Далее», чтобы вручную перемещаться по временным интервалам.
С помощью элемента управления «Параметры карты» можно получить доступ к диалоговому окну «Параметры времени карты». Это позволяет вам контролировать параметры времени для всей карты. Здесь можно настроить форматирование времени и скорость воспроизведения.
Оформление временных рядов
После создания временных рядов в раскрывающемся списке «Добавить на карту» на вкладке «Время» станет доступно «Оформление смарт-текста». Это позволит добавить на карту элемент оформления в виде текста, относящегося к временному ряду.
«Название периода» добавит текст, показывающий текущий период времени с использованием форматирования, настроенного в диалоговом окне «Параметры времени карты». Текст будет меняться в зависимости от текущего выбранного периода времени.
«Количество записей за период» добавит текст, отображающий текущее количество записей в слое.
Из этого меню на карту также можно добавить встроенную легенду для ситуаций, когда у вас есть тематический слой на карте. Эта функция была частично возвращена в MapInfo Pro v2021 с улучшенной поддержкой, и возможностью добавлять и удалять ее на любой карте.
Ниже вы можете увидеть пример, в котором на карту добавлено название периода, а также счетчик записей за период .
Вы можете вручную переместить смарт-текст в другое место на карте или дважды щелкнуть по нему мышкой и настроить положение через диалоговое окно.
Использование фиксированного положения сохранит положение смарт-текста даже при изменении размера окна карты.
Публикация временных рядов
Вы можете сохранить карту с временными рядами в рабочий набор, чтобы продолжить работу с ней позже, а «Экспорт» на вкладке «Время» позволит сохранить временные ряды в различные форматы.
Параметры экспорта можно настроить в диалоговом окне «Экспорт временных рядов».
Временные ряды можно экспортировать в отдельные изображения любого формата по вашему выбору (размер и разрешение этих изображений можно настроить с помощью кнопки «Параметры ...»), анимированный GIF-файл или же видео.
Такие элементы, как смарт-тексты и встроенные легенды, также будут включены в выходные файлы. В диалоговом окне «Экспорт временных рядов» вы также можете указать, хотите ли вы, чтобы ползунок времени карты отображался на выходном изображении или же нет.
В одной из прошлогодних статей мы уже рассматривали способ создания анимированного GIF изображения в MapInfo Pro на основе временных данных. Тогда для этого нам пришлось создавать скрипт Python, да и в целом процесс был менее интуитивен. Теперь же, с новой версией MapInfo 2021 это стало гораздо проще, удобнее и нагляднее!
Другие полезные статьи:
Что будет нового в MapInfo Pro 2021 |
Создание анимированного GIF в MapInfo Pro |
Открытие таблицы в MapInfo Pro под псевдонимом |