Рекомендации по хранению временных данных

Вы можете хранить временные данные разными способами. Вот некоторые практические рекомендации, которым вы можете следовать при хранении временных данных.

Храните временные метки в поле даты

Временные метки временных данных рекомендуется хранить в выделенном поле дат. Это – тип поля базы данных, предназначенный специально для хранения информации о времени и датах. Он наиболее эффективен с точки зрения скорости обработки запроса и поддерживает более сложные запросы в базе данных по сравнению с вариантами хранения значений времени в числовом или строчном поле. В зависимости от источника данных доступные типы полей даты включают Date, DateOnly, TimeOnly и TimestampOffset.

Если выделенное поле даты нельзя использовать, вы можете сохранить метки времени в своих данных в строковых или числовых полях. Например, вы можете хранить годовые данные как 2000, 2001 и так далее или вы можете сохранить полное значение даты и времени, например 2015-07-04T13:11:26.002, в котором используется стиль ISO-8601. Для строковых полей потребность в эффективных запросах и сортировке означает, что текстовые значения должны перечислять значения единиц времени от наибольшего к наименьшему, например 20120126 для 26 января 2012 г.

Примечание:

Отображение даты поддерживается только в диапазоне от AD100 до AD10,000. Для работы с датами вне этого диапазона рекомендуется конвертировать значения либо в числовой формат (и фильтровать с помощью бегунка диапазона), либо в строковый формат (для надписей).

Можно использовать инструмент геообработки Конвертировать поле времени для преобразования строкового или числового поля, содержащего временные метки, в поле дат.

Храните временные данные в формате строки

Для использования временных данных в ArcGIS AllSource следует хранить значения времени, связанные с отдельными объектами, в строковом формате. Вы можете использовать бегунок времени для навигации по вашим данным во времени, а бегунок времени фильтрует отображение на основе слоя, чтобы отображать только строки в течение указанного периода времени.

Каждый объект или строка в таблице может иметь либо значения времени в одном поле, представляющие момент времени, либо значения времени в двух полях, представляющие длительность во времени с началом и окончанием наблюдения.

В зависимости от того, что изменится со временем – атрибуты ваших данных или формы объектов – вы можете хранить свои временные данные в единой таблице или в нескольких отдельных таблицах.

Часто время в ваших данных будет представлено в столбцах таблицы атрибутов. Например, медицинские расходы по округам за 1990, 1991 и 1992 годы могут быть перечислены в отдельных столбцах в одной строке таблицы. Чтобы визуализировать эти данные во времени, используя возможности бегунка времени для фильтрации данных, вы должны переформатировать таблицу, чтобы значения времени были в формате строки.

Индексные поля, содержащие значения времени

Для улучшения производительности временной визуализации и запросов рекомендуется индексировать поля, содержащие значения времени. Вы можете использовать инструмент геообработки Добавить атрибутивный индекс, чтобы в поле существующей таблицы или в класс объектов был добавлен индекс.

Используйте стандартное время

Для временных данных, собранных в регионах, где существует переход на летнее время, следует стремиться хранить значения времени в стандартном времени. Обслуживание данных, собранных на основе летнего времени, может оказаться затруднительным. В разных регионах могут применяться различные правила перехода на летнее время, которые к тому же могут меняться со временем.

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

Использование значений null в поле времени

Бывают случаи, когда в поле времени хранится значение null. Например, слой с временем начала и окончания может указывать на то, что объект считается существующим в будущем, с помощью времени окончания null. Затем при воспроизведении бегунка времени объект появляется, когда включено время начала, и продолжает отображаться в течение оставшегося воспроизведения. То же самое можно сказать и в обратном порядке: нулевое время начала указывает на то, что объект существует в прошлом и немедленно отображается с начала до тех пор, пока не будет достигнуто время окончания.

Однако когда время хранится в одном поле, объект со значением null исключается, поскольку он не может попасть в промежуток времени.

Определение типа поля даты для использования

Способ хранения данных, а также то, как вы планируете использовать дату, напрямую влияют на то, какие типы полей даты и времени рекомендуется использовать. Важно выбрать оптимальный вариант, соответствующий вашим потребностям. Доступны следующие четыре типа полей даты: Date, DateOnly, TimeOnly и TimestampOffset.

В следующей таблице приведены соображения, на которые следует обратить внимание при выборе типа поля даты.

Тип поля ДатаЧто содержитКак определяется часовой поясДля чего лучше всего подходит

Дата

Дата со временем

Когда слой учитывает время, для него может быть определен часовой пояс, тем самым определяя его абсолютное положение во времени.

Предполагается, что все значения в поле находятся в одном часовом поясе.

Значения времени, которые либо все находятся в UTC (пример 1), либо все находятся в одном локальном часовом поясе (пример 2).

  • Пример 1: Научная группа собирает данные об ударах молний по всей планете.
  • Пример 2: Местные власти сохраняют даты и время, когда рестораны в их округе в последний раз проверялись на предмет чистоты.

DateOnly

Прежние версии:

Этот формат был введен в ArcGIS Pro 3.2.

Только компонент даты

Когда слой учитывает время, этот слой будет работать с часовым поясом, установленным на None. Это означает, что для фильтрации и отображения содержимого будет использоваться часть бегунка времени с датой, независимо от часового пояса карты.

Примечание:

Один день в поле DateOnly фактически является 24-часовым периодом, поэтому строки будут показаны даже в том случае, если бегунок времени имеет фильтр на часть этого дня.

Данные, которые были получены с детализацией до дней или когда что-то касается/представляет собой целый день.

  • Пример 1: Историки работают с датами инаугураций мировых лидеров.
  • Пример 2: Научная группа проводит мониторинг максимальной суточной температуры воздуха в городах по всему миру.

TimeOnly

Прежние версии:

Этот формат был введен в ArcGIS Pro 3.2.

Только компонент времени

Слои, использующие поле TimeOnly, нельзя сделать слоями с учетом времени.

Данные, повторяющиеся ежедневно, или ресурсы, в которых важна только временная составляющая.

  • Пример 1: Зоопарк, управляющий ежедневным режимом кормления своих животных.
  • Пример 2: Охраняемый объект, на котором отслеживается отпирание ворот и дверей по фиксированному ежедневному расписанию.

TimestampOffset

Прежние версии:

Этот формат был введен в ArcGIS Pro 3.2.

Дата, время и относительное смещение часового пояса от UTC

Поскольку значение смещения часового пояса уже хранится вместе со значением в каждой ячейке, возможность выбора именованного часового пояса для слоя отсутствует. Для каждого значения в таблице может использоваться разное смещение времени.

Примечание:
Время смещения в часах указывает на смещение времени от UTC, а не на именованный часовой пояс, например Pacific Standard Time (Стандартное тихоокеанское время). Поскольку несколько именованных часовых поясов могут иметь одно и то же смещение времени, хранилище не имеет конкретного часового пояса с дополнительной информацией о переходе на летнее время или исторических изменениях.

Значения времени, когда даты пересекают несколько часовых поясов и важно значение местного времени.

  • Пример 1: Авиакомпания, управляющая расписанием взлетов и посадок в абсолютном времени по всему миру и одновременно представляющая местное время для пассажиров.
  • Пример 2: Исследование материального урона от землетрясений, которое работает с событиями в абсолютном времени, но при этом фиксирует локальное время, в котором жители пережили это событие.