Générer les pondérations spatiales de réseau (Statistiques spatiales)

Résumé

Crée un fichier de matrice de pondérations spatiales (.swm) à partir d’un jeu de données réseau qui définit des relations spatiales en termes de structure de réseau sous-jacente.

En savoir plus sur le fonctionnement de l’outil Générer les pondérations spatiales de réseau

Illustration

Illustration de l'outil Générer les pondérations spatiales de réseau

Utilisation

  • Le jeu de données réseau peut provenir de l’une des sources suivantes :

    • Jeu de données réseau enregistré sur un lecteur ou un réseau local. Si votre organisation gère son propre jeu de données de réseau de transport, vous avez peut-être déjà accès.
    • Services logistiques et de calcul d’itinéraire hébergés dans ArcGIS Online ou ArcGIS Enterprise. Si vous effectuez une analyse à l’aide de ArcGIS Online, le solveur fait référence à un jeu de données réseau mondial de haute qualité stocké sur le cloud ArcGIS Online et utilise des crédits ArcGIS Online.
    • Jeux de données réseau configurés fournis par ArcGIS StreetMap Premium. Ces jeux de données réseau au format SDC concernent l’Amérique du Nord, l’Amérique latine, l’Europe, le Moyen-Orient, l’Afrique, le Japon, l’Australie et la Nouvelle-Zélande.

  • Cet outil crée un fichier matrice de pondérations spatiales (*.swm) en sortie. Divers outils des boîtes à outils Statistiques spatiales et Exploration des modèles spatio-temporels comportent un paramètre Conceptualization of Spatial Relationships (Conceptualisation des relations spatiales) qui vous permet d’utiliser ce fichier pour définir les relations spatiales entre les entités. L’utilisation d’une matrice de pondérations spatiales avec une source de données réseau permet de définir les relations spatiales par distance, temps de trajet et coût de trajet.

  • La classe d’entités en entrée doit être les points. Les polygones et les polylignes ne sont pas pris en charge par cet outil.

  • Le paramètre Unique ID Field (Champ d’ID unique) est utilisé pour mettre en relation la sortie de cet outil et les entités en entrée. Si aucun champ avec des valeurs d’ID unique n’est présent, vous pouvez en créer un en ajoutant un nouveau champ d’entier à votre table de classes d’entités et en calculant les valeurs du champ de sorte qu’elles soient égales à celles du champ FID ou OBJECTID. Les valeurs des champs FID et OBJECTID pouvant changer lorsque vous copiez ou mettez à jour une classe d’entités, vous ne pouvez pas utiliser ces champs directement pour le paramètre Unique ID Field (Champ d’ID unique).

  • Le nombre de voisins associés à chaque entité est déterminé par le paramètre Maximum Number of Neighbors (Nombre maximal de voisins) et par les trois paramètres de limite d’impédance. L’outil utilise autant des voisins les plus proches de l’entité en entrée que possible, sans dépasser le nombre maximal ni utiliser des entités dont l’impédance dépasse l’une des valeurs limites. L’impédance peut être définie par distance, temps de trajet ou coût. Les types d’impédance qui peuvent être utilisés dépendent des propriétés de la source de données réseau et de la valeur du paramètre Travel Mode (Mode de déplacement).

  • Si votre jeu de données réseau est basé sur une hiérarchie, celle-ci est utilisée pour définir les relations spatiales. La hiérarchie classe les tronçons de réseau en routes principales, secondaires et locales. Lors de l'utilisation de la hiérarchie du réseau pour créer des relations spatiales parmi des entités, les routes principales sont privilégiés par rapport aux routes locales et les routes locales sont privilégiés par rapport aux routes secondaires, pour les déplacements.

  • Lorsque la valeur Inverse est spécifiée pour le paramètre Conceptualization of Spatial Relationships (Conceptualisation des relations spatiales), il est conseillé d’effectuer une standardisation par lignes en sélectionnant le paramètre Row Standardization (Standardisation par lignes). Si la standardisation par lignes n’est pas effectuée, des unités de distance différentes produisent des pondérations spatiales différentes.

  • Toutes les entités en entrée sont projetées dans la référence spatiale du jeu de données réseau avant l’analyse, et le fichier matrice de pondérations spatiales est créé dans cette référence spatiale. Il est conseillé de réaliser les analyses suivantes dans cette référence spatiale pour que les relations spatiales soient représentées correctement.

Syntaxe

GenerateNetworkSWM(Input_Feature_Class, Unique_ID_Field, Output_Spatial_Weights_Matrix_File, Input_Network_Data_Source, Travel_Mode, Impedance_Distance_Cutoff, {Impedance_Temporal_Cutoff}, {Impedance_Cost_Cutoff}, {Maximum_Number_of_Neighbors}, {Time_of_Day}, {Time_Zone}, {Barriers}, {Search_Tolerance}, {Conceptualization_of_Spatial_Relationships}, {Exponent}, {Row_Standardization})
ParamètreExplicationType de données
Input_Feature_Class

Classe d’entités ponctuelles qui représente les emplacements du réseau. Pour chaque entité, les voisins et les pondérations sont calculés et stockés dans le fichier matrice de pondérations spatiales en sortie.

Feature Class
Unique_ID_Field

Champ d’entier qui contient une valeur unique pour chaque entité de la classe d’entités en entrée. Si aucun champ avec des valeurs d’ID unique n’est présent, vous pouvez en créer un en ajoutant un champ d’entier à votre table de classes d’entités et en calculant les valeurs du champ de sorte qu’elles soient égales à celles du champ FID ou OBJECTID.

Field
Output_Spatial_Weights_Matrix_File

Fichier matrice de pondérations spatiales du réseau en sortie (.swm) qui contient les voisins et les pondérations pour chaque entité en entrée.

File
Input_Network_Data_Source

Jeu de données réseau utilisé pour trouver les voisins de chaque entité en entrée. Les jeux de données réseau représentent généralement des réseaux de transport par la route, mais ils peuvent également représenter d’autres types de réseau de transport (voies ferrées ou sentiers pédestres). Le jeu de données réseau doit comporter au moins un attribut lié à la distance, au temps de trajet ou au coût.

Network Data Source
Travel_Mode

Mode de transport pour l’analyse. Un mode de déplacement définit la façon dont un piéton, une voiture, un camion ou tout autre moyen de transport se déplace dans le réseau et représente un ensemble de paramètres réseau, tels que les restrictions de déplacement et les règles de demi-tour.

Vous pouvez aussi utiliser un objet arcpy.na.TravelMode et une chaîne contenant la représentation JSON valide d’un mode de déplacement en entrée du paramètre.

String
Impedance_Distance_Cutoff

Distance d’impédance maximale autorisée pour les voisins d’une entité. Toute entité dont la distance est supérieure à cette valeur n’est pas utilisée en tant que voisin. Par défaut, aucune limite de distance n’est utilisée.

Linear Unit
Impedance_Temporal_Cutoff
(Facultatif)

Impédance maximale (temps de trajet) autorisée pour les voisins d’une entité. Toute entité pour laquelle le temps de trajet est supérieur à cette valeur n’est pas utilisée en tant que voisin. Par défaut, aucune limite temporelle n’est utilisée.

Time Unit
Impedance_Cost_Cutoff
(Facultatif)

Coût d’impédance maximal autorisé pour les voisins d’une entité. Toute entité dont le coût de trajet est supérieur à cette valeur n’est pas utilisée en tant que voisin. Par défaut, aucune limite de coût n’est utilisée.

Double
Maximum_Number_of_Neighbors
(Facultatif)

Nombre entier qui reflète le nombre maximal de voisins pour chaque entité. Le nombre réel de voisins utilisé pour chaque entité peut être inférieur en raison des limites d’impédance.

Long
Time_of_Day
(Facultatif)

Les conditions de trafic selon l’heure du jour sont prises en compte dans l’analyse. Les conditions de trafic peuvent avoir un impact sur la distance qui peut être parcourue pendant une période donnée. Si aucune date ni heure n’est spécifiée, l’analyse ne tient pas compte de l’impact du trafic.

Au lieu d’utiliser une date précise, vous pouvez spécifier un jour de la semaine en indiquant l’une des dates suivantes :

  • Aujourd’hui-12/30/1899
  • Dimanche-12/31/1899
  • Lundi-1/1/1900
  • Mardi-1/2/1900
  • Mercredi-1/3/1900
  • Jeudi-1/4/1900
  • Vendredi-1/5/1900
  • Samedi-1/6/1900

Par exemple, pour préciser que le trajet doit commencer mardi à 17 h, spécifiez la valeur de paramètre sous la forme 1/2/1900 5:00 PM.

Date
Time_Zone
(Facultatif)

Spécifie le fuseau horaire du paramètre Time_of_Day.

  • LOCAL_TIME_AT_LOCATIONSLe fuseau horaire du paramètre Input_Feature_Class est utilisé. Il s’agit de l’option par défaut.
  • UTCLe temps universel coordonné (UTC) est utilisé.
String
Barriers
(Facultatif)

Entités ponctuelles qui représentent les intersections bloquées, les fermetures de route, les sites d’accident ou d’autres emplacements où l’itinéraire est bloqué le long du réseau.

Feature Layer
Search_Tolerance
(Facultatif)

Distance maximale utilisée pour affecter chaque entité en entrée à un emplacement du réseau. Si l’un des points en entrée ne tombe pas exactement sur une ligne du réseau, il est affecté à l’emplacement le plus proche pour l’analyse. Toutefois, si la distance entre l’entité et un emplacement du réseau est supérieure à la valeur de tolérance de recherche, l’entité n’est pas affectée au réseau et elle n’est pas prise en compte dans l’analyse.

Linear Unit
Conceptualization_of_Spatial_Relationships
(Facultatif)

Spécifie la façon dont les pondérations sont définies pour chaque voisin.

  • INVERSELes entités les plus éloignées en termes de distance, temps ou coût, ont une pondération plus faible que les entités proches. Les pondérations diminuent de l’inverse de leur exposant.
  • FIXEDUne pondération égale est attribuée à tous les voisins. Il s’agit de l’option par défaut.
String
Exponent
(Facultatif)

Exposant utilisé lorsque la valeur INVERSE est spécifiée pour le paramètre Conceptualization_of_Spatial_Relationships. Les pondérations affectées à chaque voisin sont calculées à partir de la distance, du temps ou du coût inverse à la puissance de l’exposant. La valeur par défaut est 1, et la valeur doit être comprise entre 0,01 et 4. Plus l’exposant augmente, plus les pondérations diminuent rapidement.

Double
Row_Standardization
(Facultatif)

Indique si la standardisation par lignes est appliquée. La standardisation par lignes est recommandée lorsque les emplacements des points en entrée sont potentiellement faussés en raison de la conception de l’échantillonnage ou d’un plan d’agrégation imposé. Il est également conseillé de standardiser les lignes lorsque la pondération des voisins est calculée selon la distance, le temps ou le coût inverse.

  • ROW_STANDARDIZATIONLes pondérations spatiales sont standardisées par ligne. Chaque pondération est divisée par la somme de ses lignes. Il s’agit de l’option par défaut.
  • NO_STANDARDIZATIONAucune standardisation des pondérations spatiales n’est appliquée.
Boolean

Exemple de code

Exemple 1 d’utilisation de l’outil GenerateNetworkSWM (fenêtre Python)

Le script de fenêtre Python ci-dessous illustre l’utilisation de l’outil GenerateNetworkSWM :

import arcpy
arcpy.env.workspace = "c:\Data"
# Use a network data source hosted on ArcGIS Online.
arcpy.stats.GenerateNetworkSWM(r"Data.gdb\Hospital", "MyID", 
                               "Hospital.swm", "https://www.arcgis.com/",
                               "Driving Time", None, None, None, None, None, 
                               "LOCAL_TIME_AT_LOCATIONS", None, "5000 Meters",
                               "FIXED", 1, "ROW_STANDARDIZATION")
# Use a network data source stored on a local drive.
arcpy.stats.GenerateNetworkSWM(r"Data.gdb\Hospital", "MyID", "Hospital.swm", 
                               r"Data.gdb\transportation\streets_ND",
                               "Driving Time", None, None, None, None, None, 
                               "LOCAL_TIME_AT_LOCATIONS", None, "5000 Meters", 
                               "FIXED", 1, "ROW_STANDARDIZATION")
Exemple 2 d’utilisation de l’outil GenerateNetworkSWM (script autonome)

Le script de fenêtre Python ci-dessous illustre l’utilisation de l’outil GenerateNetworkSWM :

# Create a Spatial Weights Matrix based on Network Data
# Import system modules
import arcpy
# Set the environment property to overwrite existing output
arcpy.env.overwriteOutput = True
# Check out the ArcGIS Network Analyst extension 
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...
    arcpy.stats.GenerateNetworkSWM(r"Data.gdb\Hospital","MyID", 
        "Hospital.swm", r"Data.gdb\Transportation\Streets_ND",
        "Driving Time", None, None, None, None, None, 
        "LOCAL_TIME_AT_LOCATIONS", None, "5000 Meters", "FIXED", 
        1,"ROW_STANDARDIZATION")
    # Create Spatial Weights Matrix based on Euclidean Distance
    # Process: Generate Spatial Weights Matrix...
    arcpy.stats.GenerateSpatialWeightsMatrix(
        r"Data.gdb\Hospital", "MyID", r"Euclidean6Neighs.swm", 
        "K_NEAREST_NEIGHBORS", "EUCLIDEAN", 1, None, 6, 
        "ROW_STANDARDIZATION", None, None, '', None, None)
    # Calculate Moran's Index of Spatial Autocorrelation for
    # average hospital visit times using Network Spatial Weights
    # Process: Spatial Autocorrelation (Morans I)...
    moransINet = arcpy.stats.SpatialAutocorrelation("Data.gdb\Hospital", 
                     "VisitTime", "NO_REPORT", "GET_SPATIAL_WEIGHTS_FROM_FILE",
                     "EUCLIDEAN_DISTANCE", "ROW", None, "Hospital.swm", None)
    # Calculate Moran's Index of Spatial Autocorrelation for
    # average hospital visit times using Euclidean Spatial Weights
    # Process: Spatial Autocorrelation (Morans I)...
    moransIEuc = arcpy.stats.SpatialAutocorrelation("Data.gdb\Hospital", 
                     "VisitTime", "NO_REPORT", "GET_SPATIAL_WEIGHTS_FROM_FILE",
                     "EUCLIDEAN_DISTANCE", "ROW", None, r"Euclidean6Neighs.swm", 
                     None)
except arcpy.ExecuteError:
    # If an error occurred when running the tool, print out the error message.
    print(arcpy.GetMessages())

Informations de licence

  • Basic: Requiert Network Analyst
  • Standard: Requiert Network Analyst
  • Advanced: Requiert Network Analyst

Rubriques connexes