Вы можете хранить временные данные разными способами. Вот некоторые практические рекомендации, которым вы можете следовать при хранении ваших временных данных.
Храните временные метки в поле даты
Временные метки временных данных рекомендуется хранить в поле дат. Это – тип поля базы данных, предназначенный специально для хранения информации о времени и датах. Он наиболее эффективен с точки зрения скорости обработки запроса и поддерживает более сложные запросы в базе данных по сравнению с вариантами хранения значений времени в числовом или строчном поле.
Если поле даты нельзя использовать, вы можете сохранить метки времени в своих данных в строковых или числовых полях. Например, вы можете хранить годовые данные как 2000, 2001 и так далее. Для строковых полей потребность в эффективных запросах и сортировке означает, что текстовые значения должны перечислять значения единиц времени от наибольшего к наименьшему, например 20120126 для 26 января 2012 г.
Примечание:
Отображение даты поддерживается только в диапазоне от AD100 до AD10,000. Для работы с датами вне этого диапазона рекомендуется конвертировать значения либо в числовой формат (и фильтровать с помощью бегунка диапазона), либо в строковый формат (для надписей).
Можно использовать инструмент геообработки Конвертировать поле времени для преобразования строкового или числового поля, содержащего временные метки, в поле дат.
Храните временные данные в формате строки
Для использования временных данных в ArcGIS Pro следует хранить значения времени, связанные с отдельными объектами, в строковом формате. Вы можете использовать бегунок времени для навигации по вашим данным во времени, а бегунок времени фильтрует отображение на основе слоя, чтобы отображать только строки в течение указанного периода времени.
Каждый объект или строка в таблице может иметь либо значения времени в одном поле, представляющие момент времени, либо значения времени в двух полях, представляющие длительность во времени с началом и окончанием наблюдения.
В зависимости от того, что изменится со временем – атрибуты ваших данных или формы объектов – вы можете хранить ваши временные данные в одной единой таблице или в разных отдельных таблицах.
Часто время в ваших данных будет представлено в столбцах таблицы атрибутов. Например, медицинские расходы по округам за 1990, 1991 и 1992 годы могут быть перечислены в отдельных столбцах в одной строке таблицы. Чтобы визуализировать эти данные во времени, используя возможности бегунка времени для фильтрации данных, вы должны переформатировать таблицу, чтобы значения времени были в формате строки.
Индексные поля, содержащие значения времени
Для улучшения производительности временной визуализации и запросов рекомендуется индексировать поля, содержащие значения времени. Вы можете использовать инструмент геообработки Добавить атрибутивный индекс, чтобы в поле существующей таблицы или в класс объектов был добавлен индекс.
Используйте стандартное время
Для временных данных, собранных в регионах, где существует переход на летнее время, следует стремиться хранить значения времени в стандартном времени. Обслуживание данных, собранных на основе летнего времени, может оказаться затруднительным. В разных регионах могут применяться различные правила перехода на летнее время, которые к тому же могут меняться со временем.
Хранение значений времени в стандартном времени позволяет избежать потерь или перекрытия данных при компиляции данных и исключает неопределенность при временной визуализации данных, относящихся к переходному периоду.
Использование значений null в поле времени
Бывают случаи, когда в поле времени хранится значение null. Например, слой с временем начала и окончания может указывать на то, что объект считается существующим в будущем, с помощью времени окончания null. Затем при воспроизведении бегунка времени объект появляется, когда включено время начала, и продолжает отображаться в течение оставшегося воспроизведения. То же самое можно сказать и в обратном порядке: нулевое время начала указывает на то, что объект существует в прошлом и немедленно отображается с начала до тех пор, пока не будет достигнуто время окончания.
Однако, когда время хранится в одном поле, объект со значением null исключается, поскольку он не может попасть в промежуток времени.