Вы можете хранить временные данные разными способами. Вот некоторые практические рекомендации, которым вы можете следовать при хранении временных данных.
Храните временные метки в поле даты
Временные метки временных данных рекомендуется хранить в выделенном поле дат. Это – тип поля базы данных, предназначенный специально для хранения информации о времени и датах. Он наиболее эффективен с точки зрения скорости обработки запроса и поддерживает более сложные запросы в базе данных по сравнению с вариантами хранения значений времени в числовом или строчном поле. В зависимости от источника данных доступные типы полей даты включают 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).
|
DateOnly Прежние версии:Этот формат был введен в ArcGIS Pro 3.2. | Только компонент даты | Когда слой учитывает время, этот слой будет работать с часовым поясом, установленным на None. Это означает, что для фильтрации и отображения содержимого будет использоваться часть бегунка времени с датой, независимо от часового пояса карты. Примечание:Один день в поле DateOnly фактически является 24-часовым периодом, поэтому строки будут показаны даже в том случае, если бегунок времени имеет фильтр на часть этого дня. | Данные, которые были получены с детализацией до дней или когда что-то касается/представляет собой целый день.
|
TimeOnly Прежние версии:Этот формат был введен в ArcGIS Pro 3.2. | Только компонент времени | Слои, использующие поле TimeOnly, нельзя сделать слоями с учетом времени. | Данные, повторяющиеся ежедневно, или ресурсы, в которых важна только временная составляющая.
|
TimestampOffset Прежние версии:Этот формат был введен в ArcGIS Pro 3.2. | Дата, время и относительное смещение часового пояса от UTC | Поскольку значение смещения часового пояса уже хранится вместе со значением в каждой ячейке, возможность выбора именованного часового пояса для слоя отсутствует. Для каждого значения в таблице может использоваться разное смещение времени. Примечание:Время смещения в часах указывает на смещение времени от UTC, а не на именованный часовой пояс, например Pacific Standard Time (Стандартное тихоокеанское время). Поскольку несколько именованных часовых поясов могут иметь одно и то же смещение времени, хранилище не имеет конкретного часового пояса с дополнительной информацией о переходе на летнее время или исторических изменениях. | Значения времени, когда даты пересекают несколько часовых поясов и важно значение местного времени.
|