Résumé
Génère un fichier de matrice de pondérations spatiales (.swm) pour représenter les relations spatiales entre les entités d'un jeu de données.
En savoir plus sur le fonctionnement de l'outil Générer la matrice de pondérations spatiales
Illustration
Utilisation
La sortie de cet outil est un fichier de matrice de pondérations spatiales (.swm). Les outils, tels que Hot Spot Analysis, qui nécessitent d'indiquer une option de Conceptualisation de relations spatiales, prennent en charge les fichiers de matrice de pondérations spatiales. Sélectionnez Extraire les pondérations spatiales à partir du fichier comme paramètre de Conceptualisation de relations spatiales et, pour le paramètre Fichier de matrice de pondérations, spécifiez le chemin d'accès complet au fichier de pondérations spatiales créé à l'aide de cet outil.
Cet outil répertorie également les caractéristiques du fichier de matrice de pondérations spatiales résultant : nombre d'entités, connectivité, nombre de voisins minimum, maximum et moyen. Ce résumé est écrit sous forme de messages au bas de la fenêtre Géotraitement au cours de l'exécution de l'outil. Vous pouvez accéder aux messages en survolant la barre de progression, en cliquant sur le bouton contextuel ou en développant la section des messages dans la fenêtre Géotraitement. Vous pouvez également accéder aux messages d'un outil précédemment exécuté via l'historique du géotraitement. Ce résumé indique si toutes les entités ont au moins un voisin. En général, surtout avec les grands jeux de données, un minimum de 8 voisins et une valeur de connectivité d'entité faible sont préférables.
Pour les analyses spatio-temporelles, sélectionnez Fenêtre spatio-temporelle pour le paramètre Conceptualisation de relations spatiales. Vous définissez l'espace en spécifiant une valeur Distance seuil. Vous définissez le temps en spécifiant un Champ de date/heure et à la fois un Type de date/heure (tel que heures ou jours) et une Valeur d'intervalle de date/heure. La valeur d'intervalle de date/heure est un entier. Par exemple, si vous entrez 1 000 pieds, sélectionnez Heures et fournissez une Valeur d'intervalle de date/heure de 3. Les entités qui se trouvent à moins de 1 000 pieds et qui se produisent à moins de 3 heures les unes des autres sont considérées comme étant voisines.
Le fichier de matrice de pondérations spatiales (.swm) a été conçu pour vous permettre de générer, stocker, réutiliser et partager votre conceptualisation des relations au sein d'un jeu d'entités. Pour améliorer les performances, le fichier a été créé au format binaire. Les relations entre entités sont stockées sous la forme d'une matrice creuse, afin que seules les relations non nulles soient écrites dans le fichier SWM. En général, les outils fonctionnent correctement, même lorsque le fichier SWM contient plus de 15 millions de relations non nulles. Si une erreur de mémoire se produit lors de l'utilisation du fichier SWM, cependant, vous devez revoir la façon dont vous définissez les relations entre vos entités. En règle générale, vous devez vous efforcer de disposer d'une matrice de pondérations spatiales au sein de laquelle chaque entité possède au moins 1 voisin, la plupart en possédant environ 8, et avec aucune entité possédant plus de 1 000 voisins environ.
Les points coïncidents ne sont pas utilisés dans le calcul de la valeur Distance seuil par défaut.
Lorsque vous utilisez des données avec des coordonnées qui incluent une valeur z, la valeur de Distance seuil est une distance 3D.
Lorsque vous utilisez des données avec des coordonnées qui incluent une valeur z, les seules valeurs prises en charge pour Conceptualisation de relations spatiales sont Inverse de la distance, Distance fixe. K voisins les plus proches et Fenêtre spatio-temporelle.
Si la Classe d’entités en entrée prend en charge les valeurs z, les unités linéaires du système de coordonnées verticales (VCS) doivent correspondre aux unités linéaires du système de coordonnées horizontales. Si la Classe d’entités en entrée ne possède aucun système de coordonnées verticales, on suppose que l'unité linéaire verticale est identique à l'unité linéaire horizontale.
Lorsque la Classe d'entités en entrée n'est pas projetée (c'est-à-dire, lorsque les coordonnées sont exprimées en degrés, minutes et secondes) ou lorsque le système de coordonnées en sortie est un Système de coordonnées géographiques, les distances sont calculées à l'aide des mesures à la corde. Les mesures de distance de corde sont utilisées, car elles sont rapides à calculer et produisent des évaluations fiables des distances géodésiques réelles, du moins pour les points se trouvant à environ 30 degrés les uns des autres. Les distances de corde reposent sur un sphéroïde aplati. Si l'on prend deux points sur la surface de la Terre, la distance de corde qui les sépare est la longueur d'une ligne qui traverse la Terre en trois dimensions pour relier ces deux points. Les distances à la corde sont exprimées en mètres.
Attention :
Veillez à projeter les données si votre zone d'étude s'étend au-delà de 30 degrés. Les distances à la corde ne constituent pas une bonne estimation des distance géodésiques au-delà de 30 degrés.
Lorsque vous utilisez des distances à la corde dans l'analyse, le paramètre Distance seuil, s'il est spécifié, doit être exprimé en mètres.
-
Pour les entités linéaires et surfaciques, les centroïdes d'entité sont utilisés dans les calculs de distance. Pour les multi-points, les polylignes ou les polygones comprenant plusieurs parties, le centroïde est calculé à l'aide du centre moyen pondéré de toutes les parties d'entité. La pondération pour les entités ponctuelles est de 1 ; pour les entités linéaires, elle correspond à la longueur et pour les entités surfaciques, à la superficie.
Le champ Champ d’ID unique est associé aux relations d'entités qui découlent de l'exécution de cet outil. Par conséquent, les valeurs du paramètre Champ d'ID unique doivent être uniques pour chaque entité et, en général, ce champ est associé de façon permanente à la classe d'entité. Si vous n'avez pas de champ d'ID unique, il est facile d'en créer un en ajoutant un nouveau champ d'entier (Ajouter un champ) à votre table de classes d'entités et en calculant les valeurs de champ de sorte qu'elles soient égales à celles du champ FID ou OBJECTID (Calculer un champ). Les valeurs des champs FID et OBJECTID pouvant changer lorsque vous copiez ou modifiez une classe d'entité, vous ne pouvez pas utiliser ces champs directement pour le paramètre Champ d’ID unique.
Le paramètre Nombre de voisins peut remplacer le paramètre Distance seuil pour des conceptualisations de relations spatiales de type distance fixe ou inverse. Si vous spécifiez une distance seuil de 10 miles et 3 pour le paramètre Nombre de voisins, toutes les entités reçoivent un minimum de 3 voisins, même si le seuil de distance doit être augmenté pour les trouver. La distance seuil est augmentée uniquement si le nombre minimal de voisins n'est pas suffisant.
L'option Convertir la table du paramètre Conceptualisation de relations spatiales permet de convertir un fichier de matrice de pondérations spatiales ASCII en un fichier de matrice de pondérations spatiales au format SWM. En premier lieu, mettez vos pondérations ASCII dans une table avec mise en forme (à l'aide d'Excel, par exemple).
Attention :
Si votre table comprend des pondérations de potentiel propre, elles sont omises du fichier SWM en sortie et la valeur de potentiel propre par défaut est utilisée dans les analyses. La valeur de potentiel propre par défaut pour l'outil Hot Spot Analysis est un, mais elle peut être remplacée par une valeur Champ de potentiel propre ; pour tous les autres outils, la valeur de potentiel propre par défaut est zéro.
Pour les entités surfaciques, vous souhaiterez presque toujours choisir Ligne comme valeur du paramètre Standardisation par lignes. L'option Standardisation par lignes limite les représentations incorrectes lorsque le nombre de voisins que chaque entité possède est une fonction du schéma d'agrégation ou du processus d'échantillonnage, au lieu de refléter la répartition spatiale réelle de la variable que vous analysez.
-
La rubrique d'aide Modélisation de relations spatiales fournit des informations complémentaires sur les paramètres de cet outil.
Les outils qui peuvent utiliser un fichier de matrice de pondérations spatiales projettent la géométrie de l'entité au système de coordonnées en sortie avant l'analyse et tous les calculs mathématiques sont basés sur le système de coordonnées en sortie. Par conséquent, si le paramètre du système de coordonnées en sortie ne correspond pas à la référence spatiale de la classe d'entité en entrée, assurez-vous, pour toutes les analyses utilisant le fichier de matrice de pondérations spatiales, que le système de coordonnées en sortie correspond aux paramètres utilisés lors de la création du fichier de matrice de pondérations spatiales, ou projetez la classe d'entité en entrée afin qu'elle corresponde à la référence spatiale associée au fichier de matrice de pondérations spatiales.
Attention :
Lorsque vous utilisez des shapefiles, n'oubliez pas qu'ils ne peuvent pas stocker de valeurs Null. Il se peut que des outils ou autres procédures qui créent des fichiers de formes à partir d'entrées autres que des fichiers de formes stockent ou interprètent des valeurs Null comme étant égales à zéro. Dans certains cas, les valeurs Null sont stockées sous forme de valeurs négatives très élevées dans les fichiers de formes. Cela peut aboutir à des résultats inattendus. Reportez-vous à la rubrique Remarques concernant le géotraitement pour la sortie de fichiers de formes pour plus d'informations.
Syntaxe
arcpy.stats.GenerateSpatialWeightsMatrix(Input_Feature_Class, Unique_ID_Field, Output_Spatial_Weights_Matrix_File, Conceptualization_of_Spatial_Relationships, {Distance_Method}, {Exponent}, {Threshold_Distance}, {Number_of_Neighbors}, {Row_Standardization}, {Input_Table}, {Date_Time_Field}, {Date_Time_Interval_Type}, {Date_Time_Interval_Value}, Use_Z_values)
Paramètre | Explication | Type de données |
Input_Feature_Class | Classe d'entités pour laquelle les relations spatiales des entités sont évaluées. | Feature Class |
Unique_ID_Field | Champ de nombre entier qui contient une valeur différente pour chaque entité dans la classe d'entités en entrée. Si aucun champ Unique ID (ID unique) n’est présent, il est facile d’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. | Field |
Output_Spatial_Weights_Matrix_File | Chemin d'accès complet au fichier de matrice de pondérations spatiales (.swm) que vous voulez créer. | File |
Conceptualization_of_Spatial_Relationships | Indique la façon dont les relations spatiales sont conceptualisées parmi les entités.
| String |
Distance_Method (Facultatif) | Spécifie le mode de calcul des distances de chaque entité avec les entités voisines.
| String |
Exponent (Facultatif) | Paramètre de calcul de la distance inverse. Les valeurs standard sont 1 ou 2. | Double |
Threshold_Distance (Facultatif) | Spécifie une distance limite pour les conceptualisations Inverse de la distance et Distance fixe des relations spatiales. Saisissez cette valeur à l'aide des unités spécifiées dans le système de coordonnées en sortie de l'environnement. Définit la taille de la fenêtre d'espace pour la conceptualisation Fenêtre spatio-temporelle des relations spatiales. Une valeur de zéro indique qu'aucune distance de seuil n'est appliquée. Si ce paramètre n'est pas défini, une valeur de seuil par défaut est calculée en fonction de l'étendue de la classe d'entités en sortie et du nombre d'entités. | Double |
Number_of_Neighbors (Facultatif) | Nombre entier qui reflète le minimum ou le nombre exact de voisins. Pour K_NEAREST_NEIGHBORS, chaque entité comporte exactement ce nombre de voisins. Pour INVERSE_DISTANCE ou FIXED_DISTANCE, chaque entité aura au moins ce nombre de voisins (la distance seuil sera étendue temporairement pour assurer ce nombre de voisins, si cela est nécessaire). Si une des Conceptualisations de relations spatiales de type contiguïté est sélectionnée, ce nombre minimum de voisins est attribué à chaque polygone. Pour les polygones dont le nombre de voisins contigus est inférieur à celui spécifié, les voisins supplémentaires reposeront sur la proximité avec le centroïde des entités. | Long |
Row_Standardization (Facultatif) | La standardisation par lignes est recommandée chaque fois que la distribution des entités est potentiellement influencée par la conception de l'échantillonnage ou par un schéma d'agrégation imposé.
| Boolean |
Input_Table (Facultatif) | Table qui contient des pondérations numériques associant chaque entité à toutes les autres dans la classe d'entités en entrée. Les champs obligatoires sont Classe d’entités en entrée, Champ d’ID unique, NID (ID de voisin) et WEIGHT. | Table |
Date_Time_Field (Facultatif) | Champ de date possédant un horodatage pour chaque entité. | Field |
Date_Time_Interval_Type (Facultatif) | Unités utilisées pour mesurer le temps.
| String |
Date_Time_Interval_Value (Facultatif) | Nombre entier qui reflète le nombre d'unités de temps composant la fenêtre horaire. Par exemple, si vous sélectionnez HOURS pour l'option Type d'intervalle de date/heure et 3 pour l'option Valeur d'intervalle de date/heure, la fenêtre horaire est de 3 heures. Les entités se trouvant dans les fenêtres d'espace et horaire spécifiées sont voisines. | Long |
Use_Z_values |
| Boolean |
Exemple de code
Le script de fenêtre Python ci-dessous illustre l'utilisation de l'outil GenerateSpatialWeightsMatrix.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.GenerateSpatialWeightsMatrix_stats("911Count.shp", "MYID", "euclidean6Neighs.swm", "K_NEAREST_NEIGHBORS", "#", "#", "#", 6, "NO_STANDARDIZATION")
Le script Python autonome ci-dessous illustre l'utilisation de l'outil GenerateSpatialWeightsMatrix.
# Analyze the spatial distribution of 911 calls in a metropolitan area
# using the Hot-Spot Analysis Tool (Local Gi*)
# Import system modules
import arcpy
# Set property to overwrite existing output, by default
arcpy.env.overwriteOutput = True
# Local variables...
workspace = "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
# Copy the input feature class and integrate the points to snap
# together at 500 feet
# Process: Copy Features and Integrate
cf = arcpy.CopyFeatures_management("911Calls.shp", "911Copied.shp",
"#", 0, 0, 0)
integrate = arcpy.Integrate_management("911Copied.shp #", "500 Feet")
# Use Collect Events to count the number of calls at each location
# Process: Collect Events
ce = arcpy.CollectEvents_stats("911Copied.shp", "911Count.shp", "Count", "#")
# Add a unique ID field to the count feature class
# Process: Add Field and Calculate Field
af = arcpy.AddField_management("911Count.shp", "MyID", "LONG", "#", "#", "#", "#",
"NON_NULLABLE", "NON_REQUIRED", "#",
"911Count.shp")
cf = arcpy.CalculateField_management("911Count.shp", "MyID", "[FID]", "VB")
# Create Spatial Weights Matrix for Calculations
# Process: Generate Spatial Weights Matrix...
swm = arcpy.GenerateSpatialWeightsMatrix_stats("911Count.shp", "MYID",
"euclidean6Neighs.swm",
"K_NEAREST_NEIGHBORS",
"#", "#", "#", 6,
"NO_STANDARDIZATION")
# Hot Spot Analysis of 911 Calls
# Process: Hot Spot Analysis (Getis-Ord Gi*)
hs = arcpy.HotSpots_stats("911Count.shp", "ICOUNT", "911HotSpots.shp",
"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())
Environnements
- Système de coordonnées en sortie
La géométrie de l'entité est projetée dans le système de coordonnées en sortie avant l'analyse. Les valeurs entrées pour le paramètre Distance seuil doivent donc correspondre à celles spécifiées dans le système de coordonnées en sortie. Tous les calculs mathématiques sont basés sur la référence spatiale du système de coordonnées en sortie. Lorsque le système de coordonnées en sortie est exprimé en degrés, minutes et secondes, les distances géodésiques sont estimées à l'aide de distances de corde en mètres.
Informations de licence
- Basic: Oui
- Standard: Oui
- Advanced: Oui
Rubriques connexes
- Présentation générale du jeu d'outils Modélisation de relations spatiales
- Fonctionnement de la régression pondérée géographiquement
- Autocorrélation spatiale (Global Moran's I)
- Agrégation élevée/faible (Getis-Ord General G)
- Analyse de grappes et de valeurs aberrantes (Anselin Local Morans I)
- Analyse de point chaud (Getis-Ord Gi*)
- Analyse des regroupements
- Pondérations spatiales
- Modélisation de relations spatiales
- Fonctionnement de l’outil Générer les pondérations spatiales de réseau
- Rechercher un outil de géotraitement
Vous avez un commentaire à formuler concernant cette rubrique ?