Generate Network Spatial Weights (Spatial Statistics)

Summary

Constructs a spatial weights matrix file (.swm) using a Network dataset, defining feature spatial relationships in terms of the underlying network structure.

Learn more about how Generate Network Spatial Weights works

Illustration

Generate Network Spatial Weights illustration

Usage

Syntax

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})
ParameterExplanationData Type
Input_Feature_Class

The point feature class for which Network spatial relationships among features will be assessed.

Feature Layer
Unique_ID_Field

An integer field containing a different value for every feature in the input feature class.

Field
Output_Spatial_Weights_Matrix_File

The full path for the network spatial weights matrix (.swm) file created.

File
Input_Network

The network dataset for which spatial relationships among features in the input feature class will be defined.

Network Dataset Layer
Impedance_Attribute

The type of cost units to use as impedance in the analysis.

String
Impedance_Cutoff
(Optional)

Specifies a cutoff value for Inverse and Fixed conceptualizations of spatial relationships. Enter this value using the units specified by the Impedance Attribute parameter.

A value of zero indicates that no threshold is applied. When this parameter is left blank, a default threshold value is computed based on input feature class extent and the number of features.

Double
Maximum_Number_of_Neighbors
(Optional)

An integer reflecting the maximum number of neighbors to find for each feature.

Integer
Barriers
(Optional)

The name of a point feature class with features representing blocked intersections, road closures, accident sites, or other locations where travel is blocked along the network.

Feature Class
U-turn_Policy
(Optional)

Specifies optional U-turn restrictions.

  • ALLOW_UTURNSU-turns will be possible anywhere (default).
  • NO_UTURNSNo u-turns will be allowed during navigation.
  • ALLOW_DEAD_ENDS_ONLYU-turns will be possible only at the dead ends (i.e., single-valent junctions).
String
Restrictions
[Restriction,...]
(Optional)

A list of restrictions. Check ON the restrictions to be honored in spatial relationship computations.

String
Use_Hierarchy_in_Analysis
(Optional)

Specifies whether or not to use a hierarchy in the analysis.

  • USE_HIERARCHYWill use the network dataset's hierarchy attribute in a heuristic path algorithm to speed analysis.
  • NO_HIERARCHYWill use an exact path algorithm instead. If there is no hierarchy attribute, this option does not affect analysis.
Boolean
Search_Tolerance

The search threshold used to locate features in the Input Feature Class onto the Network Dataset. This parameter includes a search value and the units for the tolerance.

Linear Unit
Conceptualization_of_Spatial_Relationships

Specifies how the weighting associated with each spatial relationship is specified. For INVERSE, features farther away have a smaller weight than features nearby. For FIXED, features within the Impedance Cutoff of a target feature are neighbors (weight of 1); features outside the Impedance Cutoff of a target feature are not (weight of 0).

String
Exponent
(Optional)

Parameter for the INVERSE Conceptualization of Spatial Relationships calculation. Typical values are 1 or 2. Weights drop off quicker with distance as this exponent value increases.

Double
Row_Standardization
(Optional)

Row standardization is recommended whenever feature distribution is potentially biased due to sampling design or to an imposed aggregation scheme.

  • ROW_STANDARDIZATIONSpatial weights are standardized by row. Each weight is divided by its row sum.
  • NO_STANDARDIZATIONNo standardization of spatial weights is applied.
Boolean

Code Sample

GenerateNetworkSpatialWeights Example (Python Window)

The following Python Window script demonstrates how to use the GenerateNetworkSpatialWeights tool.

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 Example (stand-alone Python script)

The following stand-alone Python script demonstrates how to use the GenerateNetworkSpatialWeights tool.

# 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()

Environments

Related Topics

Licensing Information

ArcView: Requires Network Analyst
ArcEditor: Requires Network Analyst
ArcInfo: Requires Network Analyst

3/7/2012