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

Сводка

Создает куб пространство-время из многомерного растрового слоя и структурирует данные в пространственно-временные бины для эффективного пространственно-временного анализа и визуализации.

Более подробно о добавлении и визуализации многомерных растровых слоев на картах см. ArcGIS Pro

Более подробно о создании куба пространство-время

Иллюстрация

Создает куб пространство-время из многомерного растрового слоя.
Создает куб пространство-время из многомерного растрового слоя.

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

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

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

  • Этот инструмент аналогичен инструментам Создать Куб пространство-время из указанных местоположений и Создать куб пространство-время по агрегации точек за исключением того, что в этом инструменте для преобразования не используется пространственная или временная агрегация. Расположение пространственно-временного куба совпадает с расположением отдельных ячеек растра, а временные интервалы куба совпадают с временными интервалами растра.

  • Каждое местоположение будет проанализировано на предмет временных трендов с применением статистики Манна-Кендалла. Эта информация, наряду с другими свойствами куба пространство-время записывается как сообщение геообработки в нижней части панели Геообработки во время выполнения инструмента. Вы также можете получить доступ к сообщениям при помощи Истории геообработки, остановив курсор мыши над индикатором выполнения и щелкнув на всплывающей кнопке Открыть всплывающее окно либо развернув раздел сообщений на панели Геообработка.

  • Вы можете визуализировать данные куба пространство-время в 2D или 3D с помощью инструмента Визуализация куба пространство-время в 2D или Визуализация куба пространство-время в 3D, загрузив надстройку Space Time Cube Explorer.

  • Этот инструмент требует, чтобы Входной многомерный растровый слой был спроецирован для точного измерения расстояний. Если он находится в географической системе координат с координатами широты и долготы и параметр среды Выходная система координат не задан, растровый слой будет проецироваться в проекцию WGS 1984 World Equidistant Cylindrical (WKID 4087).

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

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

  • Любая ячейка растра, имеющая значение NoData для всех временных интервалов, будет исключена из выходных данных и не будет включена в пространственно-временной бин.

  • Если ваш многомерный растр хранится в формате Cloud Raster Format (*.crf), вы можете выбрать или указать путь к файлу набора растровых данных для параметра Входной многомерный растровый слой без создания многомерного растрового слоя. Если растр имеет несколько переменных, то инструмент будет использовать первую переменную. Для использования другой переменной необходимо добавить переменную слоя многомерного растра с помощью опции Импорт переменных из многомерного растра.

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

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

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

  • Тип заполнения TEMPORAL_TREND использует метод Interpolated Univariate Spline из пакета интерполяции SciPy.

Синтаксис

arcpy.stpm.CreateSpaceTimeCubeMDRasterLayer(in_md_raster, output_cube, fill_empty_bins)
ParameterОбъяснениеТип данных
in_md_raster

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

Raster Layer
output_cube

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

File
fill_empty_bins

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

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

Пример кода

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

В следующем скрипте окна Python показано, как используется инструмент CreateSpaceTimeCubeMDRasterLayer.

import arcpy
arcpy.env.workspace = r"C:\STPM\CSTCMDRL"
arcpy.CreateSpaceTimeCubeMDRasterLayer_stpm(r"Crime_Density", 
                  r"Chicago_STCube.nc", "SPACE_TIME_NEIGHBORS")
CreateSpaceTimeCubeMDRasterLayer, пример 2 (автономный скрипт)

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

# Convert a multidimensional raster layer to a space-time cube
# Fill in missing values using space-time neighbors
# 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\CSTCMDRL"
try:
    # Create a space-time cube from the multidimensional raster layer
    arcpy.CreateSpaceTimeCubeMDRasterLayer_stpm(r"Precipitation_MDRLayer",
                                       r"SierraNevada_Precipitation.nc", 
                                       "SPACE_TIME_NEIGHBORS")
    # Run an emerging hot spot analysis on the space-time cube
    # using contiguity edges and corners so that neighbors are defined
    # by all bordering bins in space and time.
    arcpy.EmergingHotSpotAnalysis_stpm(r"SierraNevada_Precipitation.nc",
                                       "PRECIPITATION_SPACE_TIME_NEIGHBORS",
                                       "SierraNevada_Precipitation_EmergingHotSpot", 
                                       "", 1, "", "CONTIGUITY_EDGES_CORNERS")
    # Use Visualize Cube in 3d to see the hot spot results for each time slice
    arcpy.VisualizeSpaceTimeCube3D_stpm(r"SierraNevada_Precipitation.nc", 
                                        "PRECIPITATION_SPACE_TIME_NEIGHBORS",
                                        "HOT_AND_COLD_SPOT_RESULTS",
                                        "SierraNevada_Precipitation_Visualize3d")
except arcpy.ExecuteError:
    # If any error occurred while running the tool, print the messages
    print(arcpy.GetMessages())

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

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

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