Построить матрицу пространственных весов (Пространственная статистика)

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

Создает файл с матрицей пространственных весов (.swm) для отображения пространственных отношений между объектами в наборе данных.

Подробнее о том, как работает инструмент Построить матрицу пространственных весов

Иллюстрация

Иллюстрация Построить матрицу пространственных весов
Пространственные отношения, основанные на смежности полигонов, принцип "ферзя": общие ребра или узлы.

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

  • Выходные данные этого инструмента – файл матрицы пространственных весов (.swm). Для таких инструментов, как Анализ горячих точек, для которых требуется указывать параметр Определение пространственных взаимоотношений, может использоваться файл матрицы пространственных весов. Выберите опцию Получить пространственные веса из файла для параметра Определение пространственных взаимоотношений, а для параметра Файл матрицы весов укажите полный путь к файлу пространственных весов, который вы создали с помощью этого инструмента.

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

  • Для анализа пространства/времени выберите опцию Пространственно-временное окно для параметра Определение пространственных взаимоотношений. Пространство задается значением Порогового расстояния; время задается значением Поле даты/времени, а также двумя значениями: Тип даты/времени (часы или дни) и Значение интервала даты/времени. Значение параметра Значение интервала даты/времени должно быть целым числом. Например, если ввести пороговое расстояние в 1000 футов, выбрать опцию Часы и задать для Значение интервала даты/времени значение 3, то соседями будут считаться объекты, расположенные один от другого в пределах 1000 футов и 3-х часов.

  • Файл матрицы пространственных весов (.swm) позволяет создавать, хранить, повторно использовать и передавать другим концептуальное представление взаимоотношений между объектами в наборе объектов. Для повышения быстродействия системы файл создается в двоичном формате. Отношения между пространственными объектами хранятся в виде разреженной матрицы, при этом в файл .swm записываются только ненулевые отношения. В общем, инструмент показывает высокую производительность даже тогда, когда файл .swm содержит более 15 миллионов ненулевых отношений. Тем не менее, если вдруг при работе с файлом .swm возникнет ошибка оперативной памяти, следует пересмотреть метод задания отношений между объектами. Лучше всего стремиться к матрице пространственных весов, в которой у каждого объекта есть как минимум 1 сосед, у большинства - 8 соседей, и ни один объект не имеет более 1000 соседей.

  • Совпадающие точки не используются в вычислении значения параметра Пороговое расстояние по умолчанию.

  • При использовании данных с координатами, включающими z-значения, значение параметра Пороговое расстояние будет 3D-расстоянием.

  • При использовании данных с координатами, включающими z-значения, единственными опциями, поддерживаемыми параметром Определение пространственных взаимоотношений, являются Обратное расстояние, Фиксированное расстояние, Ближайшая окрестность K и Пространственно-временное окно.

  • Если значение параметра Входной класс пространственных объектов содержит z-значения, линейные единицы измерения вертикальной системы координат (VCS) должны совпадать с линейными единицами измерения горизонтальный системы координат. Если значение параметра Входной класс пространственных объектов не имеет вертикальной системы координат, предполагается, что линейные вертикальные единицы измерения совпадают с горизонтальными.

  • Когда значение параметра Входной класс объектов не имеет проекции (т.е. когда координаты заданы в градусах, минутах и секундах), или когда в качестве выходной системы координат используется Географическая система координат, расстояния будут рассчитываться с помощью хордовых измерений. Измерения хордовых расстояний применяются постольку, поскольку они могут быть быстро вычислены и дают хорошие оценки истинных геодезических расстояний, по крайней мере для точек, расстояние между которыми в пределах порядка тридцати градусов. Хордовые расстояния основаны на эллипосиде вращения. Если взять две любые точки на поверхности Земли, то хордовым расстоянием между ними будет длина прямой линии, проходящей через трехмерное тело Земли и соединяющей эти две точки. Хордовые расстояния выражаются в метрах.

    Внимание:

    Проецируйте данные, если экстент области исследования превышает 30 градусов. Хордовые расстояния не обеспечивают точных оценок геодезических расстояний, превышающих 30 градусов.

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

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

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

  • Параметр Количество соседей может перевесить параметр Пороговое расстояние в случаях определения пространственных отношений по обратному или фиксированному расстоянию. Например, если вы зададите пороговое расстояние в 10 миль и значение 3 для параметра Количество соседей, то каждый из объектов будут иметь минимум по 3 соседа, даже если для того, чтобы найти их, пришлось бы увеличить пороговое расстояние. Пороговое расстояние увеличивается только в тех случаях, где минимальное число соседей не найдено.

  • Опция Конвертировать таблицу для параметра Определение пространственных взаимоотношений может быть использована для конвертации ASCII-файла матрицы пространственных весов в SWM-файл матрицы пространственных весов. Сначала вставьте ваш ASCII-файл с весами в форматированную таблицу (например, с помощью Excel).

    Внимание:

    Если таблица содержит веса для собственного потенциала, они не будут включены в полученный файл .swm, и при анализе будет использоваться значение собственного потенциала по умолчанию. Значение собственного потенциала по умолчанию для инструмента Анализ горячих точек равно единице, но это значение может быть заменено параметром Поле собственного потенциала. Для всех других инструментов значение собственного потенциала по умолчанию равно нулю.

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

  • Дополнительную информацию о параметрах инструмента см. в справочной статье Моделирование пространственных отношений.

  • Инструменты, которые могут использовать файл матрицы пространственных весов, перед анализом проецируют геометрию объектов в выходную систему координат, поэтому все математические вычисления основаны на выходной системе координат. Как следствие, если выходная система координат не соответствует пространственной привязке входного класса объектов, следует выполнить одно из двух: либо сделать так, чтобы для всех операций анализа, использующих файл матрицы пространственных весов, выходная система координат соответствовала тем настройкам, которые применялись при создании этого файла; либо проецировать входной класс объектов так, чтобы он соответствовал пространственной привязке файла матрицы пространственных весов.

  • Внимание:

    При использовании шейп-файлов, помните, что в них нельзя хранить нулевые (null) значения. Инструменты или другие процедуры, создающие шейп-файлы из прочих входных данных, могут хранить значения NULL в виде 0 или оперировать ими как нулем. В некоторых случаях нули в шейп-файлах хранятся как очень маленькие отрицательные числа. Это может привести к неожиданным результатам. Дополнительные сведения см. в разделе Рекомендации по геообработке выходных данных шейп-файла.

Параметры

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

Класс пространственных объектов, для которого пространственные отношения объектов будут оценены.

Feature Class
Поле уникального ID

Целочисленное поле, содержащее по уникальному значению для каждого объекта во входном классе объектов. Если у вас нет поля Уникальный ID, вы можете создать его путем добавления нового целого поля в вашу таблицу классов объектов и вычислив значения полей, которые были бы равны полям FID или OBJECTID.

Field
Выходной файл матрицы пространственных весов

Полный путь к выходному файлу матрицы пространственных весов (.swm).

File
Определение пространственных взаимоотношений

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

  • Обратное расстояниеВлияние одного объекта на другой будет уменьшаться с увеличением расстояния.
  • Фиксированное расстояниеВсе объекты в пределах указанного критического расстояния от каждого объекта будут включены в анализ. Все объекты вне критического расстояния – будут исключены.
  • Ближайшая окрестность KБлижайшие K объектов включаются в анализ, где K — определенный числовой параметр.
  • Только совпадающие ребраСоседями будут считаться полигональные объекты, имеющие общую границу.
  • Совпадающие ребра и углыСоседями будут считаться полигональные объекты, имеющие общую границу и/или общий узел.
  • Триангуляция ДелонеНа основе центроидов объектов будет создана сеть неперекрывающихся треугольников; соседями будут считаться объекты, связанные с узлами треугольников, имеющих общие ребра.
  • Пространственно-временное окноСоседями будут считаться объекты, расположенные друг от друга в пределах указанного критического расстояния и в указанном временном интервале.
  • Конвертировать таблицуПространственные отношения будут определены в таблице.
String
Метод расстояний
(Дополнительный)

Определяет, как рассчитываются расстояния от одного объекта до соседнего объекта.

  • ЕвклидовоРасстояние между двумя точками будет вычислено по прямой линии (как ворона летает). Это значение по умолчанию
  • МанхэттенскоеРасстояние между двумя точками, измеренное вдоль осей (городских кварталов), будет рассчитывается суммированием абсолютных разностей между координатами х и у.
String
Порядок
(Дополнительный)

Значение для расчета обратного расстояния. Типичные значения – 1 или 2.

Double
Пороговое расстояние
(Дополнительный)

Пороговое расстояние для опций параметра Определение пространственных взаимоотношений Обратное расстояние и Фиксированное расстояние. Введите это значение, используя единицы, определенные во входящей системе координат. Задает размер пространственного окна для опции Пространственно-временное окно.

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

Double
Число соседей
(Дополнительный)

Целое число, показывающее или минимально или точное количество соседей. Когда параметр Определение пространственных взаимоотношений установлен на Ближайшая окрестность K, каждый объект будет иметь точно указанное количество соседей. Для опций Обратное расстояние или Фиксированное расстояние каждый объект будет иметь как минимум это количество соседей (чтобы обеспечить это количество соседей, пороговое расстояние будет временно увеличено при необходимости). Когда выбрана опция Только совпадающие ребра или Совпадающие ребра и углы, каждому полигону будет назначено это минимальное количество соседей. Для полигонов с меньшим числом соседей, чем число соседей со смежными границами, дополнительное количество соседей определяется по принципу близости центроидов объектов.

Long
Стандартизация строк
(Дополнительный)

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

  • Включено – Пространственные веса будут нормализованы по ряду. Каждый вес делится на сумму его ряда. Это значение по умолчанию
  • Выключено – Нормализация ряда пространственных весов не будет применяться.
Boolean
Входная таблица
(Дополнительный)

Таблица, содержащая числовые веса, связывающие объекты друг с другом во Входном классе объектов. Обязательными полями для таблицы являются значение параметра Поле уникального идентификатора, NID (идентификатор соседа) и WEIGHT.

Table
Поле даты/времени
(Дополнительный)

Поле даты с отметкой времени для каждого объекта.

Field
Тип интервала даты/времени
(Дополнительный)

Задает единицы измерения времени.

  • СекундыЕдиницами измерения будут секунды.
  • МинутыЕдиницами измерения будут минуты.
  • ЧасыЕдиницами измерения будут часы.
  • ДниЕдиницами измерения будут дни.
  • НеделиЕдиницами измерения будут недели.
  • МесяцыЕдиницей измерения будет 30 дней.
  • ГодыЕдиницами измерения будут годы.
String
Значение интервала даты/времени
(Дополнительный)

Целочисленное значение количества единиц измерения времени, составляющее временной диапазон.

Например, если для параметра Тип интервала даты/времени выбрано Часы, а параметр Значение интервала даты/времени задан равным 3, временное окно составит 3 часа. Объекты, попадающие в указанное временное окно и в указанное пространственное окно, будут считаться соседями.

Long
Использовать Z-значения

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

  • Отмечено – z-значения будут использоваться в построении матрицы пространственных весов.
  • Не отмечено — Z-значения не будут использоваться. Они будут игнорироваться, а в построении матрицы пространственных весов используются только координаты x и y. Это значение по умолчанию

Boolean

arcpy.stats.GenerateSpatialWeightsMatrix(Input_Feature_Class, Unique_ID_Field, Output_Spatial_Weights_Matrix_File, Conceptualization_of_Spatial_Relationships, {Distance_Method}, {Exponent}, {Threshold_Distance}, {Number_of_Neighbors}, {Row_Standardization}, {Input_Table}, {Date_Time_Field}, {Date_Time_Interval_Type}, {Date_Time_Interval_Value}, Use_Z_values)
ИмяОписаниеТип данных
Input_Feature_Class

Класс пространственных объектов, для которого пространственные отношения объектов будут оценены.

Feature Class
Unique_ID_Field

Целочисленное поле, содержащее по уникальному значению для каждого объекта во входном классе объектов. Если у вас нет поля Уникальный ID, вы можете создать его путем добавления нового целого поля в вашу таблицу классов объектов и вычислив значения полей, которые были бы равны полям FID или OBJECTID.

Field
Output_Spatial_Weights_Matrix_File

Полный путь к выходному файлу матрицы пространственных весов (.swm).

File
Conceptualization_of_Spatial_Relationships

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

  • INVERSE_DISTANCEВлияние одного объекта на другой будет уменьшаться с увеличением расстояния.
  • FIXED_DISTANCEВсе объекты в пределах указанного критического расстояния от каждого объекта будут включены в анализ. Все объекты вне критического расстояния – будут исключены.
  • K_NEAREST_NEIGHBORSБлижайшие K объектов включаются в анализ, где K — определенный числовой параметр.
  • CONTIGUITY_EDGES_ONLYСоседями будут считаться полигональные объекты, имеющие общую границу.
  • CONTIGUITY_EDGES_CORNERSСоседями будут считаться полигональные объекты, имеющие общую границу и/или общий узел.
  • DELAUNAY_TRIANGULATIONНа основе центроидов объектов будет создана сеть неперекрывающихся треугольников; соседями будут считаться объекты, связанные с узлами треугольников, имеющих общие ребра.
  • SPACE_TIME_WINDOWСоседями будут считаться объекты, расположенные друг от друга в пределах указанного критического расстояния и в указанном временном интервале.
  • CONVERT_TABLEПространственные отношения будут определены в таблице.
String
Distance_Method
(Дополнительный)

Определяет, как рассчитываются расстояния от одного объекта до соседнего объекта.

  • EUCLIDEANРасстояние между двумя точками будет вычислено по прямой линии (как ворона летает). Это значение по умолчанию
  • MANHATTANРасстояние между двумя точками, измеренное вдоль осей (городских кварталов), будет рассчитывается суммированием абсолютных разностей между координатами х и у.
String
Exponent
(Дополнительный)

Значение для расчета обратного расстояния. Типичные значения – 1 или 2.

Double
Threshold_Distance
(Дополнительный)

Пороговое расстояние для опций INVERSE_DISTANCE и FIXED_DISTANCE параметра Conceptualization_of_Spatial_Relationships. Введите это значение, используя единицы, определенные во входящей системе координат. Задает размер пространственного окна для опции SPACE_TIME_WINDOW.

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

Double
Number_of_Neighbors
(Дополнительный)

Целое число, показывающее или минимально или точное количество соседей. Когда параметр Conceptualization_of_Spatial_Relationships задан как K_NEAREST_NEIGHBORS, каждый объект будет иметь это точно указанное количество соседей. Для опций INVERSE_DISTANCE или FIXED_DISTANCE каждый объект будет иметь по крайней мере это заданное количество соседей, (для этого, если потребуется, пороговое расстояние будет временно увеличено). Когда выбрана опция CONTIGUITY_EDGES_ONLY или CONTIGUITY_EDGES_CORNERS, каждому полигону будет назначено это минимальное количество соседей. Для полигонов с меньшим числом соседей, чем число соседей со смежными границами, дополнительное количество соседей определяется по принципу близости центроидов объектов.

Long
Row_Standardization
(Дополнительный)

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

  • ROW_STANDARDIZATIONПространственные веса будут нормализованы по ряду. Каждый вес делится на сумму его ряда. Это значение по умолчанию
  • NO_STANDARDIZATIONНормализация ряда пространственных весов не будет применяться.
Boolean
Input_Table
(Дополнительный)

Таблица, содержащая числовые веса, связывающие объекты друг с другом во Входном классе объектов. Обязательными полями для таблицы являются значение параметра Поле уникального идентификатора, NID (идентификатор соседа) и WEIGHT.

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

Поле даты с отметкой времени для каждого объекта.

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

Задает единицы измерения времени.

  • SECONDSЕдиницами измерения будут секунды.
  • MINUTESЕдиницами измерения будут минуты.
  • HOURSЕдиницами измерения будут часы.
  • DAYSЕдиницами измерения будут дни.
  • WEEKSЕдиницами измерения будут недели.
  • MONTHSЕдиницей измерения будет 30 дней.
  • YEARSЕдиницами измерения будут годы.
String
Date_Time_Interval_Value
(Дополнительный)

Целочисленное значение количества единиц измерения времени, составляющее временной диапазон.

Например, если для параметра Date_Time_Interval_Type выбрано HOURS, а параметр Date_Time_Interval_Value задан равным 3, временное окно составит 3 часа. Объекты, попадающие в указанное временное окно и в указанное пространственное окно, будут считаться соседями.

Long
Use_Z_values

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

  • USE_Z_VALUESZ-значения будут использоваться в построении матрицы пространственных весов.
  • DO_NOT_USE_Z_VALUESZ-значения не будут использоваться. Они будут игнорироваться, а в построении матрицы пространственных весов используются только координаты x и y. Это значение по умолчанию
Boolean

Пример кода

GenerateSpatialWeightsMatrix – пример 1 (окно Python)

Пример скрипта в окне Python для использования функции GenerateSpatialWeightsMatrix.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.GenerateSpatialWeightsMatrix_stats("911Count.shp", "MYID", 
                                         "euclidean6Neighs.swm", 
                                         "K_NEAREST_NEIGHBORS", "#", "#", "#", 
                                         6, "NO_STANDARDIZATION")
GenerateSpatialWeightsMatrix, пример 2 (автономный скрипт Python)

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


# Analyze the spatial distribution of 911 calls in a metropolitan area
# using the Hot-Spot Analysis Tool (Local Gi*)

# Import system modules
import arcpy

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

# Local variables...
workspace = "C:/Data"

try:
    # Set the current workspace (to avoid having to specify the full path to the feature classes each time)
    arcpy.env.workspace = workspace

    # Copy the input feature class and integrate the points to snap
    # together at 500 feet
    # Process: Copy Features and Integrate
    cf = arcpy.CopyFeatures_management("911Calls.shp", "911Copied.shp",
                         "#", 0, 0, 0)

    integrate = arcpy.Integrate_management("911Copied.shp #", "500 Feet")

    # Use Collect Events to count the number of calls at each location
    # Process: Collect Events
    ce = arcpy.CollectEvents_stats("911Copied.shp", "911Count.shp", "Count", "#")

    # Add a unique ID field to the count feature class
    # Process: Add Field and Calculate Field
    af = arcpy.AddField_management("911Count.shp", "MyID", "LONG", "#", "#", "#", "#",
                     "NON_NULLABLE", "NON_REQUIRED", "#",
                     "911Count.shp")
    
    cf = arcpy.CalculateField_management("911Count.shp", "MyID", "[FID]", "VB")

    # Create Spatial Weights Matrix for Calculations
    # Process: Generate Spatial Weights Matrix... 
    swm = arcpy.GenerateSpatialWeightsMatrix_stats("911Count.shp", "MYID",
                        "euclidean6Neighs.swm",
                        "K_NEAREST_NEIGHBORS",
                        "#", "#", "#", 6,
                        "NO_STANDARDIZATION") 

    # Hot Spot Analysis of 911 Calls
    # Process: Hot Spot Analysis (Getis-Ord Gi*)
    hs = arcpy.HotSpots_stats("911Count.shp", "ICOUNT", "911HotSpots.shp", 
                     "GET_SPATIAL_WEIGHTS_FROM_FILE",
                     "EUCLIDEAN_DISTANCE", "NONE",
                     "#", "#", "euclidean6Neighs.swm")

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

Параметры среды

Особые случаи

Выходная система координат

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

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

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

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