Сводка
Использует временные ряды или данные станций (указанные местоположения, в которых география остается постоянной, а атрибуты меняются с течением времени) и структурирует их в формат netCDF, создавая бины пространство-время. Для всех местоположений проводится оценка трендов или суммы значений полей.
Иллюстрация
Использование
Инструмент использует временные ряды или данные станций (указанные местоположения, в которых география остается постоянной, а атрибуты меняются с течением времени) как Входные объекты и структурирует их в бины пространства-времени. Структуру данных, которая будет создана, можно представить в виде трехмерного куба, который состоит из пространственно-временных бинов, где x,y-измерения представляют пространство, а t-измерение представляет время.
Каждый бин имеет постоянную позицию в пространстве (местоположение x,y, если входные данные – точки, или фиксированный набор вершин, если входные местоположения представлены полигонами) и во времени (t). Бин соответствует области указанного местоположения (или x,y, или набор вершин) и содержат единый ID местоположения. Бины, охватывающие одинаковый временной период, имеют один и тот же идентификатор временного шага.
Каждый бин в кубе Пространство-Время содержит значения LOCATION_ID, time_step_ID и COUNT, а также значения для любых Переменных или Полей суммирования, которые были включены при создании куба. Набор бинов, связанный с одним и тем же местоположением, имеет одинаковый идентификатор местоположения и представляет собой временной ряд. Набор бинов, связанный с одним и тем же временным интервалом, имеет одинаковый идентификатор шага времени и представляет собой временной срез.
Входные объекты могут быть точками или полигонами, которые представляют указанные или фиксированные местоположения, и связанные с ними атрибуты, собираемые в течении временного периода. Этот тип данных обычно называется временными рядами или данными станций. Поле со значением времени для события должно иметь тип Date.
Примечание:
Если ваши Входные объекты хранятся в файловой базе геоданных и содержат кривые (записанные, как дуги, а не как вершины), полигональные объекты при хранении в пространсвенно-временном кубе будут искажены. Чтобы определить, содержат ли ваши Входные объекты кривые, запустите инструмент Проверить геометрию с опцией OGC Метода проверки. Если вы получите ошибку, сообщающую о том, что выбранная опция не поддерживает нелинейные сегменты, значит, что в вашем наборе данных содержатся кривые, и они могут быть удалены и заменены вершинами инструментом Плотность с опцией Угол Метода уплотнения перед созданием куба пространство-время.
Входные объекты могут быть объектами с повторяющейся геометрией в пределах одного класса или набором объектов со связанной таблицей, содержащей атрибуты, записываемые в течение определенного периода времени.
Данный инструмент прекратит работу, если в ходе работы будет создан куб с числом элементов, превышающим два миллиарда бинов.
Для точного измерения расстояний этому инструменту требуются проецированные данные.
Если отмечен параметр Агрегация времени результирующий куб пространства-времени в каждом бине будет содержать числовое значение, отражающее число событий, произошедших в связанном местоположении в соответствующий временной интервал.
Выходными данными этого инструмента будут входные объекты, преобразованные в формат netCDF, а также сообщения, в которых отражены итоговые характеристики куба, которые отображаются в окне Результаты. Сообщения отображаются в нижней части панели Геообработка в процессе выполнения инструмента. Вы можете получить доступ к сообщениям, наведя курсор мыши на индикатор выполнения, щелкнув на кнопку или развернув раздел сообщений на панели Геообработка. Вы можете получить доступ к сообщениям для выполненного ранее инструмента из панели История геообработки. Вы будете использовать файл netCDF в качестве входных данных для других инструментов, например для инструмента Анализ возникновения горячих точек или Анализ локальных выбросов. См. Визуализация куба Пространство-Время для информации о том, как можно увидеть внутреннюю структуру куба.
Укажите поле типа Date для параметра Поле времени. Если в качестве входных данных используется повторяющаяся геометрия, поле должно содержать значение времени, связанное с каждым объектом. Если входные данные содержат Связанную таблицу, поле будет содержать значение времени, связанное с каждой записью в таблице.
Параметр Интервал временного шага определяет временные отрезки, на которые будут разбиты данные. Если Агрегация времени не отмечена, Интервал временного шага будет установлен в соответствии с существующей структурой данных. Например, если у вас есть данные переписи, которые фиксировались каждый пять лет, в качестве входных данных указывается 5 лет. Отметьте этот параметр, если вы хотите использовать агрегацию по времени. Допустим, если у вас есть данные сенсора, которые записываются каждые 5 минут, и вы хотите агрегировать всю информацию, например, за один день. Значение интервала временного шага всегда фиксировано, и для инструмента требуется наличие, как минимум, десяти временных шагов.
Примечание:
Хотя в ниспадающем списке параметра Интервал временного шага представлены разнообразные варианты единиц измерения, инструмент поддерживает только Годы, Месяцы, Недели, Дни, Часы, Минуты и Секунды.
Если куб пространства-времени не может быть создан, инструмент может не структурировать входные данные по 10 интервалам временного шага. Если вы получили сообщение об ошибке при запуске этого инструмента, проверьте метки времени выходных точек, чтобы убедиться, что они содержат диапазон значений (хотя бы десять). Диапазон значений должен охватывать хотя бы 10 секунд, поскольку это минимальное приращение времени, которое необходимо для инструмента. Для статистики Манна-Кендалла требуется десять интервалов временных шагов.
Для параметра Базовое время может быть указана дата и время или только дата; только значение времени не может быть указано. Используемый формат даты зависит от региональных настроек компьютера.
Анализ трендов выполняется по агрегированным переменным или по значениям суммируемых полей с применением статистики Манна-Кендалла.
Для агрегации атрибутов в этом инструменте доступны следующие статистические операции: Сумма, Среднее, Минимум, Максимум, Среднеквадратическое отклонение и Медиана.
Значения Null, имеющиеся в любых записях суммируемых полей, приведут к исключению таких объектов из выходного куба. Если ваши Входные объекты содержат значения Null, рекомендуется запустить сначала инструмент Заполнить отсутствующие значения. Если после запуска инструмента Заполнить отсутствующие значения ещё остались значения Null, и вычисление числа точек в каждом бине является частью вашей стратегии анализа, можно рассмотреть возможность создания отдельных кубов, по одному для каждого числа точек (без Полей суммирования) и одного для Полей суммирования. Если набор пустых значений отличается в каждом поле суммирования, также можно рассмотреть возможность создания отдельного куба для каждого поля.
Если для заполнения пустых бинов используется опция SPATIAL_NEIGHBORS, инструмент будет вычислять значение на основании 8 ближайших соседей. Для заполнения пустого бина с помощью этой опции требуется, чтобы как минимум 4 бина в окрестности содержали значения.
Если для заполнения пустых бинов используется опция SPACE_TIME_NEIGHBORS, инструмент будет вычислять значение на основании 8 ближайших соседей. Дополнительно, для каждого из этих бинов в качестве пространственных используются временные окрестности, что достигается переходом вперед и назад на 1 интервал. Для заполнения пустого бина с помощью этой опции требуется минимум 13 окрестностей пространства-времени.
При заполнении пустых бинов с TEMPORAL_TREND, первые два и последние два временных периода в данном местоположении должны содержать значения в бинах для интерполяции значений в других интервалах этого местоположения.
Тип заполнения TEMPORAL_TREND использует метод Interpolated Univariate Spline из пакета интерполяции SciPy.
Этот инструмент пользуется преимуществом увеличения производительности, доступным в системе, использующей несколько CPU (или многоядерные CPU). Инструмент по умолчанию будет использовать 50% доступных процессоров, но количество используемых процессоров может быть увеличено или уменьшено с помощью настройки среды Коэффициент параллельной обработки. Увеличение скорости обработки наиболее заметно при создании больших кубов пространство-время.
Синтаксис
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})
Parameter | Объяснение | Тип данных |
in_features | Входной класс точечных или полигональных объектов будет преобразован в куб пространство-время. | Feature Layer |
output_cube | Выходной куб netCDF, который будет создан. | File |
location_id | Целочисленное поле, содержащие уникальные ID каждого местоположения. | Field |
temporal_aggregation |
| Boolean |
time_field | Поле, содержащее значения временного шага для каждой строки в наборе данных. Это поле должно иметь тип Date. | Field |
time_step_interval (Дополнительный) | Число секунд, минут, часов, дней, недель или лет, которое будет представлять один временной шаг. Примером этого параметра может быть значение 1 Неделя, 13 Дней или 1 Месяц. Если temporal_aggregation не отмечена, данные не будут агрегированы и значение этого параметра будет установлено в соответствии с существующей временной структурой данных. Если параметр temporal_aggregationотмечен, данные будут агрегированы по времени, и этот параметр будет установлен в соответствии с указанным вами time_step_interval. Будут агрегированы все объекты, расположенные в пределах одного и того же time_step_interval. | Time Unit |
time_step_alignment (Дополнительный) | Определяет структуру куба, которая будет основана на данном time_step_interval.
| String |
reference_time (Дополнительный) | Дата/время для выравнивания интервалов временных шагов. Например, если вы хотите сгруппировать ваши данные по неделям (с понедельника по воскресенье), то вы можете выбрать для базового времени разделения элементов полночь воскресенья. | Date |
variables [[Field, Fill Empty Bins with],...] (Дополнительный) | Числовое поле, содержащее значения атрибута, которое будет использовано для куба пространство-время. Доступные типы заполнения:
Примечание:Значения Null в любой из записей переменных будут в результате давать пустой бин. Если ваши входные объекты содержат значения Null, рекомендуется запустить сначала инструмент Заполнить отсутствующие значения. | Value Table |
summary_fields [[Field, Statistic, Fill Empty Bins with],...] (Дополнительный) | Числовое поле, содержащее значения атрибута, для которого будет вычислен определенный статистический показатель при агрегации в куб пространства-времени. Могут быть заданы различные комбинации статистических показателей и полей. Значения Null, имеющиеся в любых полях, приведут к исключению таких объектов из выходного куба. Если ваши Входные объекты содержат значения Null, рекомендуется запустить инструмент Заполнить отсутствующие значения до создания куба Пространство-Время. Доступные типы статистики:
Доступные типы заполнения:
Примечание:Значения Null, имеющиеся в любых записях суммируемых полей, приведут к исключению таких объектов из выходного куба. Если ваши Входные объекты содержат значения Null, рекомендуется запустить сначала инструмент Заполнить отсутствующие значения. Если после запуска инструмента Заполнить отсутствующие значения ещё остались значения Null, и вычисление числа точек в каждом бине является частью вашей стратегии анализа, можно рассмотреть возможность создания отдельных кубов, по одному для каждого числа точек (без Полей суммирования) и одного для Полей суммирования. Если набор пустых значений отличается в каждом поле суммирования, также можно рассмотреть возможность создания отдельного куба для каждого поля. | Value Table |
in_related_table (Дополнительный) | Таблица или представление таблицы, которая будет связана с входными объектами. | Table View |
related_location_id (Дополнительный) | Целочисленное поле из связанной таблицы, содержащее ID местоположений, на базе которого будет основываться связь. | Field |
Пример кода
В следующем скрипте окна Python показано, как используется инструмент CreateSpaceTimeCubeDefinedLocations.
import arcpy
arcpy.env.workspace = r"C:\STPM\Chicago.gdb"
arcpy.CreateSpaceTimeCubeDefinedLocations_stpm("Chicago_Data", r"C:\STPM\Chicago_Cube.nc", "MYID",
"NO_TEMPORAL_AGGREGATION", "TIME", "1 Months",
"END_TIME", "", "COUNT ZEROS")
Следующий автономный скрипт 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 geoprocessor object 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 we will fill them using the temporal trend method.
arcpy.FillMissingValues_stpm("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 we already filled using Fill Missing Values
arcpy.CreateSpaceTimeCubeDefinedLocations_stpm("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 which bound each other are considered neighbours
arcpy.EmergingHotSpotAnalysis_stpm(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.VisualizeSpaceTimeCube3D_stpm(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())
Environments
Информация о лицензиях
- Basic: Да
- Standard: Да
- Advanced: Да
Связанные разделы
- Как работает инструмент Создать куб Пространство-Время.
- Анализ возникновения горячих точек
- Анализ локальных выбросов
- Кластеризация временных рядов
- Визуализация куба Пространство-время
- Что такое z-оценка? Что такое p-значение?
- Обзор набора инструментов Углубленный анализ пространственно-временных закономерностей
- Поиск инструмента геообработки