生成网络空间权重 (空间统计)

摘要

使用网络数据集构建一个空间权重矩阵文件 (.swm),从而在基础网络结构方向定义要素空间关系。

详细了解“生成网络空间权重”的工作原理

插图

Generate Network Spatial Weights illustration

用法

语法

GenerateNetworkSpatialWeights_stats (Input_Feature_Class, Unique_ID_Field, Output_Spatial_Weights_Matrix_File, Input_Network, Impedance_Attribute, {Impedance_Cutoff}, {Maximum_Number_of_Neighbors}, {Barriers}, {U-turn_Policy}, {Restrictions}, {Use_Hierarchy_in_Analysis}, Search_Tolerance, Conceptualization_of_Spatial_Relationships, {Exponent}, {Row_Standardization})
参数说明数据类型
Input_Feature_Class

将被评估要素间网络空间关系的点要素类。

Feature Layer
Unique_ID_Field

包含输入要素类中每个要素不同值的整型字段。

Field
Output_Spatial_Weights_Matrix_File

创建的网络空间权重矩阵 (.swm) 文件的完整路径。

File
Input_Network

将对输入要素类中各要素间空间关系进行定义的网络数据集。

Network Dataset Layer
Impedance_Attribute

在分析中被用作阻抗的成本单位类型。

String
Impedance_Cutoff
(可选)

为空间关系的“反距离”和“固定距离”概念化指定中断值。使用“阻抗属性”参数指定的单位输入此值。

零值表明应未应用任何阈值。此参数留空时,将根据输入要素类范围和要素数量计算默认阈值。

Double
Maximum_Number_of_Neighbors
(可选)

用于表示要为各要素查找的最大相邻要素数的整数。

Integer
Barriers
(可选)

一种点要素类的名称,其中的要素用于表示阻塞的路口、封锁的道路、事故现场或网络中行程被阻止的其他位置。

Feature Class
U-turn_Policy
(可选)

指定可选的 U 形转弯限制。

  • ALLOW_UTURNSU 形转弯可以出现在任何位置(默认)。
  • NO_UTURNS导航过程中不允许有任何 U 形转弯。
  • ALLOW_DEAD_ENDS_ONLYU 形转弯只能出现在死角(即单价交汇点)。
String
Restrictions
[Restriction,...]
(可选)

限制列表。选中在计算空间关系时要遵守的限制。

String
Use_Hierarchy_in_Analysis
(可选)

指定是否在分析中使用等级。

  • USE_HIERARCHY将在启发式路径算法中使用网络数据集的等级属性来加速分析过程。
  • NO_HIERARCHY将使用精确的路径算法。如果不存在等级属性,此选项不影响分析。
Boolean
Search_Tolerance

在网络数据集的输入要素类中查找要素时使用的搜索阈值。该参数包括搜索值和容差单位。

Linear Unit
Conceptualization_of_Spatial_Relationships

指明如何指定与每个空间关系关联的加权方式。对于“反距离”,远处要素的权重比近处要素的权重小。对于“固定距离”,目标要素“阻抗中断”内的要素是相邻要素(权重为 1);目标要素“阻抗中断”外的要素不是相邻要素(权重为 0)。

String
Exponent
(可选)

空间关系“反距离”概念化的计算参数。典型值是 1 或 2。在此指数值增大时,权重会随着距离的增加快速下降。

Double
Row_Standardization
(可选)

当要素的分布由于采样设计或施加的聚合方案而可能出现偏离时,建议使用行标准化。

  • ROW_STANDARDIZATION按行对空间权重执行标准化。每个权重都除以它的行总和。
  • NO_STANDARDIZATION不对空间权重执行标准化。
Boolean

代码示例

GenerateNetworkSpatialWeights 示例(Python 窗口)

下面的 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")
GenerateNetworkSpatialWeights 示例(独立 Python 脚本)

下面的独立 Python 脚本演示了如何使用 GenerateNetworkSpatialWeights 工具。

# 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 Network Analyst extension (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()

环境

相关主题


7/10/2012