Построить матрицу пространственных весов для сети (Пространственная статистика)
Резюме
Создает файл с матрицей пространственных весов (.swm) на основе набора сетевых данных, определяя пространственные отношения объектов в соответствии со структурой сетевой модели.
Подробнее о принципах работы инструмента Построить матрицу пространственных весов для сети
Рисунок
![]() |
Использование
-
Результат работы этого инструмента — файл матрицы пространственных весов (с расширением .swm). Файл матрицы пространственных весов можно подавать на вход тех Conceptualization инструментов, для которых необходимо Представление пространственных отношений (Conceptualization of Spatial Relationships); выберите значение Получить пространственные веса из файла (GET_SPATIAL_WEIGHTS_FROM_FILE) для параметра Представление пространственных отношений, затем в параметре Файл матрицы весов (Weights Matrix File) укажите полный путь к файлу с пространственными весами, который создан этим инструментом.
-
Инструмент предназначен для работы только с точечными данными во Входном классе объектов (Input Feature Class).
-
Матрица пространственных весов количественно характеризует пространственные отношения, существующие между объектами в наборе данных. Многие инструменты в Наборе инструментов Пространственная статистика оценивают каждый объект в контексте ближних к нему объектов. Матрица пространственных весов определяет пространственные отношения с такими соседними объектами. В этом инструменте отношения между соседними объектами основаны на времени или расстоянии между ними в случае, когда путь может проходить только по объектам сети. Дополнительная информация о пространственных весах и файле матрицы пространственных весов приведена в разделе Пространственные веса.
-
Поле Уникальный ID (Unique ID) связано с отношениями объектов, полученными в результате работы данного инструмента. Следовательно, значение Уникальный ID (Unique ID) должно быть уникально для каждого объекта и, как правило, должно хранится в постоянном поле, которое остается с классом объектов. Если у вас нет поля Уникальный ID (Unique ID), его можно легко создать, добавив новое целое поле (Добавить поле (Add Field)) в таблицу класса объектов и рассчитав значение поля, которое должно соответствовать полю FID/OID (Вычислить поле (Calculate Field)). Вы не можете непосредственно использовать поле FID/OID для параметра Уникальный ID (Unique ID).
-
Параметр Максимальное число соседей (Maximum Number of Neighbors) в данном инструменте отражает точное число соседних объектов, которые связаны с каждым из объектов. Параметр Предельное значение импеданса (Impedance Cutoff) ограничивает количество соседних объектов в том случае, когда указанное число соседей не может быть найдено в пределах указанного предельного расстояния или времени.
-
Пространственные отношения могут быть определены при помощи иерархии в наборе сетевых данных (если она имеется) путем включения Использовать иерархию в анализе (Use Hierarchy in Analysis). Иерархия классифицирует ребра сети как главные, второстепенные и локальные дороги. При применении иерархии сети для создания пространственных отношений между объектами, предпочтение будет отдано проходу по главным дорогам, затем — по второстепенным дорогам, а в последнюю очередь — по локальным дорогам.
Данный инструмент не использует параметр среды Выходная система координат. До начала анализа геометрия всех объектов проецируется в соответствии с пространственной привязкой, связанной с Набором сетевых данных. Файл матрицы пространственных весов, полученный в результате работы инструмента, будет отражать пространственные отношения, определенные при помощи пространственной привязки Набора сетевых данных. При выполнении анализа с помощью файла матрицы пространственных весов сети рекомендуется проецировать входной класс объектов в систему координат набора сетевых данных, на основе которого был создан файл весов сети swm.
![Подсказка Подсказка](rsrc/tip.png)
Набор данных Data and Maps for ArcGIS, бесплатный для пользователей ArcGIS, содержит данные StreetMap, включающие готовый набор сетевых данных в формате SDC. Этот набор данных покрывает территорию США и Канады. Эти наборы сетевых данных могут напрямую использоваться данным инструментом.
![Внимание Внимание](rsrc/caution.png)
При использовании шейп-файлов, помните, что в них нельзя хранить нулевые (null) значения. Инструменты или другие процедуры, создающие шейп-файлы из прочих входных данных, могут хранить значения NULL в виде 0 или оперировать ими как нулем. В некоторых случаях нули в шейп-файлах хранятся как очень маленькие отрицательные числа. Это может привести к неожиданным результатам. Дополнительные сведения см. в разделе Рекомендации по геообработке выходных данных шейп-файла.
Синтаксис
Параметр | Объяснение | Тип данных |
Input_Feature_Class |
Класс точечных объектов, для которого будут оцениваться пространственные отношения между объектами в сети. | Feature Class |
Unique_ID_Field |
Целое поле, содержащее разное значение для каждого объекта во входном классе объектов. | Field |
Output_Spatial_Weights_Matrix_File |
Полный путь к созданному сетевому файлу матрицы пространственных весов (SWM). | File |
Input_Network |
Набор сетевых данных, на основе которого будут определены пространственные отношения между объектами во входном классе объектов. | Network Dataset Layer |
Impedance_Attribute |
Тип единиц стоимости, которые будут применяться при анализе в качестве импеданса. | String |
Impedance_Cutoff (дополнительно) |
Определяет предельное значение для обратного (Inverse) или фиксированного (Fixed) представлений пространственных отношений. Данное значение должно измеряться в единицах, указанных в параметре Атрибут импеданса (Impedance Attribute). Значение 0 указывает на то, что пороговое расстояние не применяется. Если этот параметр останется пустым, будет вычислено пороговое значение по умолчанию, исходя из экстента Входного класса и количества объектов в этом классе. | Double |
Maximum_Number_of_Neighbors (дополнительно) |
Целое число, отражающее максимальное количество соседних объектов, которое будет определяться для каждого объекта. | Long |
Barriers (дополнительно) |
Имя класса точечных объектов, объекты которого представляют собой заблокированные перекрестки, места перекрытия дорог, места дорожных аварий или другие местоположения, в которых заблокирован проход по дорожной сети. | Feature Layer |
U-turn_Policy (дополнительно) |
Определяет ограничения разворотов пути (необязательный параметр).
| String |
Restrictions [Restriction,...] (дополнительно) |
Список ограничений. Отметьте, как Включено (ON), если при вычислениях пространственных отношений необходимо будет применять ограничения. | String |
Use_Hierarchy_in_Analysis (дополнительно) |
Указывает, использовать ли иерархию при анализе или нет.
| Boolean |
Search_Tolerance (дополнительно) |
Пороговое значение поиска, используемое при определении местоположения точек Входного класса в Наборе сетевых данных. Этот параметр включает в себя значение поиска и единицы измерения допуска. | Linear unit |
Conceptualization_of_Spatial_Relationships (дополнительно) |
Определяет способ указания весов, связанных с каждым пространственным отношением. При Обратном определении (INVERSE) объекты, расположенные дальше по расстоянию, будут иметь меньший вес, чем ближние объекты. При Фиксированном определении (FIXED) объекты в пределах указанного допуска Импеданса (Impedance Cutoff) от целевого объекта считаются соседними (вес 1), а объекты за пределами допуска — не считаются соседними (вес 0). | String |
Exponent (дополнительно) |
Параметры для Обратного (INVERSE) определения пространственных отношений. Стандартные значения — 1 или 2. Чем выше значение экспоненты, тем быстрее снижаются веса при увеличении расстояния. | Double |
Row_Standardization (дополнительно) |
Стандартизация в ряд рекомендуется, каждый раз, когда распределение объектов потенциально смещено из-за дискретного представления непрерывных величин или заданной схемы агрегации.
| Boolean |
Пример кода
Следующий скрипт, представленный в окне Python, демонстрирует применение инструмента Построение матрицы пространственных весов для сети (GenerateNetworkSpatialWeights).
import arcpy
arcpy.env.workspace = "c:/data"
arpcy.GenerateNetworkSpatialWeights_stats("Hospital.shp", "MyID","network6Neighs.swm", "Streets_ND","MINUTES", 10, 6, "#", "ALLOW_UTURNS","#", "USE_HIERARCHY", "#", "INVERSE", 1,"ROW_STANDARDIZATION")
Следующий автономный скрипт на языке Python демонстрирует применение инструмента Построение матрицы пространственных весов для сети (NetworkSpatialWeights).
# Create a Spatial Weights Matrix based on Network Data
# Import system modules
import arcpy
# Set the geoprocessor object property to overwrite existing output
arcpy.gp.overwriteOutput = True
# Check out the Дополнительный модуль ArcGIS Network Analystextension (required for the Generate Network Spatial Weights tool)
arcpy.CheckOutExtension("Network")
# Local variables...
workspace = r"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
# Create Spatial Weights Matrix based on Network Data
# Process: Generate Network Spatial Weights...
nwm = arcpy.GenerateNetworkSpatialWeights_stats("Hospital.shp", "MyID",
"network6Neighs.swm", "Streets_ND",
"MINUTES", 10, 6, "#", "ALLOW_UTURNS",
"#", "USE_HIERARCHY", "#", "INVERSE",
1, "ROW_STANDARDIZATION")
# Create Spatial Weights Matrix based on Euclidean Distance
# Process: Generate Spatial Weights Matrix...
swm = arcpy.GenerateSpatialWeightsMatrix_stats("Hospital.shp", "MYID",
"euclidean6Neighs.swm",
"K_NEAREST_NEIGHBORS",
"#", "#", "#", 6)
# Calculate Moran's Index of Spatial Autocorrelation for
# average hospital visit times using Network Spatial Weights
# Process: Spatial Autocorrelation (Morans I)...
moransINet = arcpy.SpatialAutocorrelation_stats("Hospital.shp", "VisitTime",
"NO_REPORT", "GET_SPATIAL_WEIGHTS_FROM_FILE",
"EUCLIDEAN_DISTANCE", "NONE", "#",
"network6Neighs.swm")
# Calculate Moran's Index of Spatial Autocorrelation for
# average hospital visit times using Euclidean Spatial Weights
# Process: Spatial Autocorrelation (Morans I)...
moransIEuc = arcpy.SpatialAutocorrelation_stats("Hospital.shp", "VisitTime",
"NO_REPORT", "GET_SPATIAL_WEIGHTS_FROM_FILE",
"EUCLIDEAN_DISTANCE", "NONE", "#",
"euclidean6Neighs.swm")
except:
# If an error occurred when running the tool, print out the error message.
print arcpy.GetMessages()