Создать куб пространство-время из указанных местоположений (Углубленный анализ пространственно-временных закономерностей)

Краткая информация

Структурирует данные многомерного временного ряда или данные станций (заданные местоположения, в которых география остается постоянной, а атрибуты меняются с течением времени) в формат данных netCDF, создавая бины пространство-время. Для всех местоположений проводится оценка трендов или суммы значений полей.

Более подробно о том, как работает инструмент Создать куб пространство-время из указанных местоположений

Иллюстрация

Иллюстрация инструмента Создать Куб пространство-время из указанных местоположений

Использование

  • Структуру данных, создаваемую инструментом, можно представить в виде трехмерного куба, который состоит из пространственно-временных бинов, где x,y-измерения представляют пространство, а t-измерение представляет время.

    Бины пространство-время в трехмерном кубе

  • Каждый бин имеет постоянную позицию в пространстве (местоположение x,y, если входные данные – точки, или фиксированный набор вершин, если входные местоположения представлены полигонами) и во времени (t). Бины, охватывающие одну и ту же определенную область расположения (либо x, y, либо вершины), имеют один и тот же идентификатор местоположения. Бины, охватывающие одинаковый временной период, имеют один и тот же идентификатор временного шага.

    Местоположения в кубе Пространство-Время.

  • Каждый бин в кубе пространство-время содержит значение LOCATION_ID, time_step_ID и COUNT, а также значения параметров Переменные или Поля суммирования, которые были включены при создании куба. Набор бинов, связанный с одним и тем же местоположением, имеет одинаковый идентификатор местоположения и представляет собой временной ряд. Набор бинов, связанный с одним и тем же временным интервалом, имеет одинаковый идентификатор шага времени и представляет собой временной срез.

  • Входные объекты могут быть точками или полигонами, которые представляют указанные или фиксированные местоположения, и связанные с ними атрибуты, собираемые в течении временного периода. Этот тип данных обычно называется данными временного ряда или данными станций. Поле, содержащее временную метку события, должно иметь тип Date.

    Примечание:

    Если Входные объекты хранятся в файловой базе геоданных и содержат кривые (записанные, как дуги, а не как вершины), полигональные формы при хранении в пространственно-временном кубе будут искажены. Чтобы определить, содержат ли Входные объекты кривые, запустите инструмент Проверить геометрию с опцией OGC для параметра Метод проверки. Если вы получите ошибку, сообщающую о том, что выбранная опция не поддерживает нелинейные сегменты, это значит, что в наборе данных содержатся кривые, и они могут быть удалены и заменены вершинами при помощи инструмента Плотность с опцией Угол для параметра Метод уплотнения перед созданием куба пространство-время.

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

  • Данный инструмент прекратит работу, если с указанным параметром будет создан куб с числом бинов, превышающим два миллиарда.

  • Для точного измерения расстояний этому инструменту требуются проецированные данные.

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

  • Выходными данными этого инструмента будет представление netCDF входных объектов, а также сообщения, в которых отражены итоговые характеристики куба. Сообщения отображаются в нижней части панели Геообработка в процессе выполнения инструмента. Чтобы получить доступ к сообщениям, поместите курсор мыши над индикатором выполнения и щелкните всплывающую кнопку Всплывающее окно или разверните раздел сообщений в панели Геообработка. Вы можете получить доступ к сообщениям для выполненного ранее инструмента через Историю геообработки. Вы можете использовать файл netCDF в качестве входных данных для других инструментов, например для инструмента Анализ возникновения горячих точек или Анализ локальных выбросов. См. Визуализация куба пространство-время, чтобы узнать о стратегиях просмотра внутренней структуры куба.

  • Укажите поле типа Date для параметра Поле времени. Если в качестве входных данных используется повторяющаяся геометрия, поле должно содержать метку времени, связанную с каждым объектом. Если предоставлено значение параметра Связанная таблица, это поле будет содержать метку времени, связанную с каждой записью в таблице. Если поле высокой точности (содержат миллисекунды), метка времени каждого бина пространства-времени будет содержать только секунды, а миллисекунды будут отброшены.

  • Параметр Интервал временного шага определяет временные отрезки, на которые будут разбиты данные. Если параметр Агрегация времени не включен, задайте параметр Интервал временного шага в соответствии с существующей структурой данных. Например, если у вас есть данные переписи, которые собираются каждые пять лет, в качестве входных данных указывается 5 лет. Включите параметр Агрегация времени, чтобы использовать агрегацию по времени. Например, если у вас есть данные сенсора, которые записываются каждые пять минут, можно выполнять агрегацию, используя однодневный интервал. Значение интервала временного шага всегда фиксировано, и для инструмента требуется наличие, как минимум, 10 временных шагов.

    Примечание:

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

  • Если куб пространство-время не удалось создать, инструмент, возможно, не смог структурировать предоставленные входные данные по 10 временным интервалам. Если вы получили сообщение об ошибке, проверьте метки времени входных данных, чтобы убедиться, что они содержат диапазон значений (хотя бы десять). Диапазон значений должен охватывать хотя бы 10 секунд, поскольку это наименьшее приращение времени, которое использует инструмент. Для статистики Манна-Кендалла требуется десять интервалов временных шагов.

  • Для параметра Базовое время может быть указано значение даты и времени или только даты; только значение времени не может быть указано. Используемый формат даты зависит от региональных настроек компьютера.

  • Анализ трендов выполняется по агрегированным переменным или по значениям суммируемых полей с применением статистики Манна-Кендалла.

  • Для агрегации атрибутов при помощи этого инструмента доступны следующие статистические операции: Сумма, Среднее, Минимум, Максимум, Среднеквадратическое отклонение и Медиана.

  • Значения Null, имеющиеся в любых записях суммируемых полей, приведут к исключению таких объектов из выходного куба. Если ваши входные объекты содержат значения Null, рекомендуется запустить сначала инструмент Заполнить отсутствующие значения. Если после запуска инструмента Заполнить отсутствующие значения ещё остались значения Null, и вычисление числа точек в каждом бине является частью вашей стратегии анализа, рассмотрите возможность создания отдельных кубов, по одному для каждого числа точек (без полей суммирования) и одного для полей суммирования. Если набор пустых значений отличается в каждом поле суммирования, также можно создать отдельный куб для каждого поля суммирования.

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

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

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

  • Метод заполнения Временной тренд использует метод одномерного интерполированного сплина из пакета интерполяции SciPy.

  • Этот инструмент пользуется преимуществом увеличения производительности, доступным в системе, использующей несколько CPU (или многоядерные CPU). Инструмент по умолчанию будет использовать 50% доступных процессоров, но количество используемых процессоров может быть увеличено или уменьшено с помощью параметра среды Коэффициент параллельной обработки. Увеличение скорости обработки наиболее заметно при создании больших кубов пространство-время.

Параметры

ПодписьОписаниеТип данных
Входные объекты

Входной класс точечных или полигональных объектов будет преобразован в куб пространство-время.

Feature Layer
Выходной куб пространство-время

Выходной куб данных netCDF, который будет создан.

File
ID местоположения

Целочисленное или текстовое поле, содержащее номер ID каждого уникального местоположения.

Field
Агрегация времени

Определяет, будут ли данные агрегированы по времени.

  • Не отмечено – куб пространство-время будет создан на основании существующей временной структуры входных объектов. Например, у вас есть данные с годовой периодичностью, и вы хотите создать куб с интервалом временного шага в один год. Это значение по умолчанию
  • Отмечено – в кубе пространство-время объекты будут агрегированы по времени на основании указанного интервала временного шага. Например, данные записывались с периодичностью в один день, и вы хотите создать куб с интервалом временного шага в одну неделю.
Boolean
Поле времени

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

Field
Интервал временного шага
(Дополнительный)

Число секунд, минут, часов, дней, недель или лет, которое будет представлять один временной шаг. Примером этого параметра может быть значение 1 Неделя, 13 Дней или 1 Месяц.

Если вы не применяете временную агрегацию (Агрегация времени не отмечена), задайте этот параметр по существующей временной структуре данных.

Если вы применяете временную агрегацию (Агрегация времени отмечена), задайте этот параметр с интервалом временного шага, который хотите создать. Агрегированы будут все объекты в пределах интервала временного шага.

Time Unit
Выравнивание временного шага
(Дополнительный)

Определяет, как структура куба будет выровнена, основываясь на заданном интервале временного шага.

  • Конечное времяВременные шаги выравниваются по последнему событию и агрегируются во времени назад. Это значение по умолчанию
  • Начальное времяВременные шаги выравниваются по первому событию и агрегируются во времени вперед.
  • Базовое времяВременные шаги будут выровнены по определённой дате или времени. Если все точки во входных объектах имеют временную метку, которая больше указанного базового времени (или точно соответствует начальному времени входных объектов), интервал временного шага начнется с этого времени, а агрегирование пойдет во времени вперед (так, как это происходит с выравниванием по начальному времени). Если все точки во входных объектах имеют временную метку, которая меньше указанного базового времени (или точно соответствует конечному времени входных объектов), интервал временного шага закончится на этом базовом времени, а агрегирование пойдет во времени назад (так, как это происходит с выравниванием по конечному времени). Если указанное базовое время находится в середине временного экстента данных, то интервал временного шаг создается по окончанию базового времени (так, как это происходит с выравниванием по конечному времени). Дополнительные интервалы будут создаваться и до, и после базового времени, пока не будет охвачен весь временной экстент данных.
String
Базовое время
(Дополнительный)

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

Date
Переменные
(Дополнительный)

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

Доступны следующие типы заполнения:

  • DROP_LOCATIONS – местоположения с отсутствующими данными для любой из переменных будут исключены из выходного куба пространство-время.
  • ZEROS – пустые бины будут заполнены нулями.
  • SPATIAL_NEIGHBORS – пустые бины будут заполнены средним значением пространственных соседей.
  • SPACE_TIME_NEIGHBORS – пустые бины будут заполнены средним значением пространственно-временных соседей.
  • TEMPORAL_TREND – пустые бины будут заполнены с помощью алгоритма интерполированного одномерного сплайна.

Примечание:

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

Value Table
Поля суммирования
(Дополнительный)

Числовое поле, содержащее значения атрибута, для которого будет вычислен определенный статистический показатель при агрегации в куб пространства-времени. Могут быть заданы различные комбинации статистических показателей и полей. Значения Null, имеющиеся в любых полях, приведут к исключению таких объектов из выходного куба. Если входные объекты содержат значения Null, рекомендуется запустить инструмент Заполнить отсутствующие значения до создания куба пространство-время.

Доступны следующие типы статистики:

  • SUM – будет вычислено суммарное значение в указанном поля в каждом бине.
  • MEAN – будет вычислено среднее значение для указанного поля в каждом бине.
  • MIN – будет определено наименьшее значение для всех записей заданного поля в каждом бине.
  • MAX – будет определено наибольшее значение для всех записей заданного поля в каждом бине.
  • STD – будет вычислено среднеквадратическое отклонение для значений указанного поля в каждом бине.
  • MEDIAN – будет вычислено отсортированное среднее значение всех записей заданного поля в каждом бине.

Доступны следующие типы заполнения:

  • ZEROS – пустые бины будут заполнены нулями.
  • SPATIAL_NEIGHBORS – пустые бины будут заполнены средним значением пространственных соседей.
  • SPACE_TIME_NEIGHBORS – пустые бины будут заполнены средним значением пространственно-временных соседей.
  • TEMPORAL_TREND – пустые бины будут заполнены с помощью алгоритма интерполированного одномерного сплайна.

Примечание:

Значения Null, имеющиеся в любых записях суммируемых полей, приведут к исключению таких объектов из выходного куба. Если входные объекты содержат значения Null, рекомендуется запустить сначала инструмент Заполнить отсутствующие значения. Если после запуска инструмента Заполнить отсутствующие значения ещё остались значения Null, и вычисление числа точек в каждом бине является частью вашей стратегии анализа, рассмотрите возможность создания отдельных кубов, по одному для каждого числа точек (без полей суммирования) и одного для полей суммирования. Если набор пустых значений отличается в каждом поле суммирования, также можно создать отдельный куб для каждого поля суммирования.

Value Table
Связанная таблица
(Дополнительный)

Таблица или представление таблицы, которая будет связана с входными объектами.

Table View
Связанный ID местоположения
(Дополнительный)

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

Field

arcpy.stpm.CreateSpaceTimeCubeDefinedLocations(in_features, output_cube, location_id, temporal_aggregation, time_field, {time_step_interval}, {time_step_alignment}, {reference_time}, {variables}, {summary_fields}, {in_related_table}, {related_location_id})
ИмяОписаниеТип данных
in_features

Входной класс точечных или полигональных объектов будет преобразован в куб пространство-время.

Feature Layer
output_cube

Выходной куб данных netCDF, который будет создан.

File
location_id

Целочисленное или текстовое поле, содержащее номер ID каждого уникального местоположения.

Field
temporal_aggregation
  • APPLY_TEMPORAL_AGGREGATIONВ кубе пространство-время объекты будут агрегированы по времени на основании указанного интервала временного шага. Например, данные записывались с периодичностью в один день, и вы хотите создать куб с интервалом временного шага в одну неделю.
  • NO_TEMPORAL_AGGREGATIONКуб пространство-время будет создан на основании существующей временной структуры входных объектов. Например, у вас есть данные с годовой периодичностью, и вы хотите создать куб с интервалом временного шага в один год. Это значение по умолчанию
Boolean
time_field

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

Field
time_step_interval
(Дополнительный)

Число секунд, минут, часов, дней, недель или лет, которое будет представлять один временной шаг. Примером этого параметра может быть значение 1 Неделя, 13 Дней или 1 Месяц.

Если вы не применяете временную агрегацию (temporal_aggregation = "NO TEMPORAL_AGGREGATION"), задайте этот параметр по существующей временной структуре данных.

Если вы применяете временную агрегацию (temporal_aggregation = "APPLY TEMPORAL_AGGREGATION"), задайте этот параметр с интервалом временного шага, который хотите создать. Агрегированы будут все объекты в пределах интервала временного шага.

Time Unit
time_step_alignment
(Дополнительный)

Определяет, как структура куба будет выровнена, основываясь на заданном значении time_step_interval.

  • END_TIMEВременные шаги выравниваются по последнему событию и агрегируются во времени назад. Это значение по умолчанию
  • START_TIMEВременные шаги выравниваются по первому событию и агрегируются во времени вперед.
  • REFERENCE_TIMEВременные шаги будут выровнены по определённой дате или времени. Если все точки во входных объектах имеют временную метку, которая больше указанного базового времени (или точно соответствует начальному времени входных объектов), интервал временного шага начнется с этого времени, а агрегирование пойдет во времени вперед (так, как это происходит с выравниванием по начальному времени). Если все точки во входных объектах имеют временную метку, которая меньше указанного базового времени (или точно соответствует конечному времени входных объектов), интервал временного шага закончится на этом базовом времени, а агрегирование пойдет во времени назад (так, как это происходит с выравниванием по конечному времени). Если указанное базовое время находится в середине временного экстента данных, то интервал временного шаг создается по окончанию базового времени (так, как это происходит с выравниванием по конечному времени). Дополнительные интервалы будут создаваться и до, и после базового времени, пока не будет охвачен весь временной экстент данных.
String
reference_time
(Дополнительный)

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

Date
variables
[[Field, Fill Empty Bins with],...]
(Дополнительный)

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

Доступны следующие типы заполнения:

  • DROP_LOCATIONS – местоположения с отсутствующими данными для любой из переменных будут исключены из выходного куба пространство-время.
  • ZEROS – пустые бины будут заполнены нулями.
  • SPATIAL_NEIGHBORS – пустые бины будут заполнены средним значением пространственных соседей.
  • SPACE_TIME_NEIGHBORS – пустые бины будут заполнены средним значением пространственно-временных соседей.
  • TEMPORAL_TREND – пустые бины будут заполнены с помощью алгоритма интерполированного одномерного сплайна.

Примечание:

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

Value Table
summary_fields
[[Field, Statistic, Fill Empty Bins with],...]
(Дополнительный)

Числовое поле, содержащее значения атрибута, для которого будет вычислен определенный статистический показатель при агрегации в куб пространства-времени. Могут быть заданы различные комбинации статистических показателей и полей. Значения Null, имеющиеся в любых полях, приведут к исключению таких объектов из выходного куба. Если входные объекты содержат значения Null, рекомендуется запустить инструмент Заполнить отсутствующие значения до создания куба пространство-время.

Доступны следующие типы статистики:

  • SUM – будет вычислено суммарное значение в указанном поля в каждом бине.
  • MEAN – будет вычислено среднее значение для указанного поля в каждом бине.
  • MIN – будет определено наименьшее значение для всех записей заданного поля в каждом бине.
  • MAX – будет определено наибольшее значение для всех записей заданного поля в каждом бине.
  • STD – будет вычислено среднеквадратическое отклонение для значений указанного поля в каждом бине.
  • MEDIAN – будет вычислено отсортированное среднее значение всех записей заданного поля в каждом бине.

Доступны следующие типы заполнения:

  • ZEROS – пустые бины будут заполнены нулями.
  • SPATIAL_NEIGHBORS – пустые бины будут заполнены средним значением пространственных соседей.
  • SPACE_TIME_NEIGHBORS – пустые бины будут заполнены средним значением пространственно-временных соседей.
  • TEMPORAL_TREND – пустые бины будут заполнены с помощью алгоритма интерполированного одномерного сплайна.

Примечание:

Значения Null, имеющиеся в любых записях суммируемых полей, приведут к исключению таких объектов из выходного куба. Если входные объекты содержат значения Null, рекомендуется запустить сначала инструмент Заполнить отсутствующие значения. Если после запуска инструмента Заполнить отсутствующие значения ещё остались значения Null, и вычисление числа точек в каждом бине является частью вашей стратегии анализа, рассмотрите возможность создания отдельных кубов, по одному для каждого числа точек (без полей суммирования) и одного для полей суммирования. Если набор пустых значений отличается в каждом поле суммирования, также можно создать отдельный куб для каждого поля суммирования.

Value Table
in_related_table
(Дополнительный)

Таблица или представление таблицы, которая будет связана с входными объектами.

Table View
related_location_id
(Дополнительный)

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

Field

Пример кода

CreateSpaceTimeCubeDefinedLocations, пример 1 (окно Python)

Скрипт окна Python, демонстрирующий использование функции CreateSpaceTimeCubeDefinedLocations.

import arcpy
arcpy.env.workspace = r"C:\STPM\Chicago.gdb"
arcpy.stpm.CreateSpaceTimeCubeDefinedLocations("Chicago_Data", r"C:\STPM\Chicago_Cube.nc", "MYID",
                                               "NO_TEMPORAL_AGGREGATION", "TIME", "1 Months",
                                               "END_TIME", "", "COUNT ZEROS")
CreateSpaceTimeCubeDefinedLocations, пример 2 (автономный скрипт Python)

В следующем автономном скрипте Python показано использование функции CreateSpaceTimeCubeDefinedLocations.

# Fill missing values using a feature set and related table
# Use the results to create a space-time cube from defined locations
# Run Emerging Hot Spot Analysis on the data
# Visualize the results in 3d

# Import system modules
import arcpy

# Set overwriteOutput property to overwrite existing output, by default
arcpy.env.overwriteOutput = True

# Local variables ...
arcpy.env.workspace = r"C:\STPM\Chicago.gdb"

try:

    # Fill missing values in a feature class containing block group polygon shapes and a related table containing the incidents
    # Since some of the values are missing, fill them using the temporal trend method

    arcpy.stpm.FillMissingValues("Chicago_Feature", "Chicago_FilledFeature", "COUNT", "TEMPORAL_TREND", "", "", NoneNone,
                                 "TIME", "", "MYID", "Chicago_Table", "MYID", "", "", "", "Chicago_FilledTable")



    # Create a defined location space-time cube using a related table
    # Using a reference time at the start of the month to force binning fall on month breaks
    # Using temporal aggregation to sum multiple entries into one month
    # Using the method drop location if missing values since you already filled using Fill Missing Values
    arcpy.stpm.CreateSpaceTimeCubeDefinedLocations("Chicago_FilledFeature", r"C:\STPM\Chicago_Cube.nc", "MYID",
                                                   "APPLY_TEMPORAL_AGGREGATION", "TIME", "1 Months", "REFERENCE_TIME",
                                                   "10/1/2015", "", "COUNT SUM DROP_LOCATIONS", "Chicago_FilledTable",
                                                   "MYID")

    # Run an emerging hot spot analysis on the defined locations cube
    # Using contiguity edges so only block groups that bound each other are considered neighbors
    arcpy.stpm.EmergingHotSpotAnalysis(r"C:\STPM\Chicago_Cube.nc", "COUNT_SUM_NONE",
                                       "Chicago_Cube_EmergingHotSpot", "", 1, "",
                                       "CONTIGUITY_EDGES_ONLY")

    # Use Visualize Cube in 3d to see the hot spot results for each time slice
    arcpy.stpm.VisualizeSpaceTimeCube3D(r"C:\STPM\Chicago_Cube.nc", "COUNT_SUM_NONE", "HOT_AND_COLD_SPOT_RESULTS",
                                        "Chicago_Cube_Visualize3d")

except arcpy.ExecuteError:
    # If any error occurred when running the tool, print the messages
    print(arcpy.GetMessages())

Информация о лицензиях

  • Basic: Да
  • Standard: Да
  • Advanced: Да

Связанные разделы