Построить матрицу пространственных весов для сети (Пространственная статистика)
Резюме
Создает файл с матрицей пространственных весов (.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.
Набор данных Data and Maps for ArcGIS, бесплатный для пользователей ArcGIS, содержит данные StreetMap, включающие готовый набор сетевых данных в формате SDC. Этот набор данных покрывает территорию США и Канады. Эти наборы сетевых данных могут напрямую использоваться данным инструментом.
При использовании шейп-файлов, помните, что в них нельзя хранить нулевые (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()