Analyse des regroupements (Statistiques spatiales)

Niveau de licence :BasicStandardAdvanced

Récapitulatif

Cet outil regroupe des entités en fonction d'attributs d'entités et de contraintes spatiales/temporelles facultatives.

En savoir plus sur le fonctionnement de l'outil Analyse des regroupements

Illustration

Diagramme d'une analyse de regroupements

Utilisation

Syntaxe

GroupingAnalysis_stats (Input_Features, Unique_ID_Field, Output_Feature_Class, Number_of_Groups, Analysis_Fields, Spatial_Constraints, {Distance_Method}, {Number_of_Neighbors}, {Weights_Matrix_File}, {Initialization_Method}, {Initialization_Field}, {Output_Report_File}, {Evaluate_Optimal_Number_of_Groups})
ParamètreExplicationType de données
Input_Features

Classe ou couche d'entités pour laquelle vous souhaitez créer des groupes.

Feature Layer
Unique_ID_Field

Champ d'entier qui contient une valeur différente pour chaque entité du jeu de données Entités en entrée.

Field
Output_Feature_Class

Nouvelle classe d'entités en sortie créée qui contient toutes les entités, les champs d'analyse utilisés, ainsi qu'un champ permettant d'identifier le groupe auquel chaque entité appartient.

Feature Class
Number_of_Groups

Nombre de groupes à créer. Le paramètre Rapport en sortie sera désactivé s'il y a plus de 15 groupes.

Long
Analysis_Fields
[analysis_field,...]

Liste de champs à utiliser pour distinguer les groupes entre eux. Le paramètre Rapport en sortie sera désactivé s'il y a plus de 15 champs.

Field
Spatial_Constraints

Indique si (et comment) les relations spatiales entre les entités doivent contraindre les groupes créés.

  • CONTIGUITY_EDGES_ONLYLes groupes contiennent des entités surfaciques contiguës. Seuls les polygones partageant une limite peuvent appartenir au même groupe.
  • CONTIGUITY_EDGES_CORNERSLes groupes contiennent des entités surfaciques contiguës. Seuls les polygones partageant une limite ou un sommet peuvent appartenir au même groupe.
  • DELAUNAY_TRIANGULATIONLes entités d'un même groupe auront au moins un voisin en commun avec une autre entité du groupe. Les relations avec les voisins naturels sont basées sur la triangulation de Delaunay. En principe, la triangulation de Delaunay crée un maillage de triangles non superposés à partir de centroïdes d'entités. Chaque entité est un un nœud de triangle, et les nœuds qui partagent des segments sont considérés comme voisins.
  • K_NEAREST_NEIGHBORSLes entités d'un même groupe sont proches les unes des autres ; chaque entité est voisine d'au moins une autre entité du groupe. Les relations de voisinage reposent sur les k plus proches entités que vous spécifiez en entrant la valeur d'entier K dans le paramètre Nombre de voisins.
  • GET_SPATIAL_WEIGHTS_FROM_FILELes relations spatiales, et éventuellement temporelles, sont définies par un fichier de pondérations spatiales (.swm). Créez le fichier de matrice de pondérations spatiales à l’aide de l’outil Générer la matrice de pondérations spatiales.
  • NO_SPATIAL_CONSTRAINTLes entités seront regroupées en tenant compte de leur proximité dans l'espace de données uniquement. Les entités ne doivent pas forcément être proches les unes des autres dans l'espace ou le temps pour faire partir du même groupe.
String
Distance_Method
(Facultatif)

Spécifie le mode de calcul des distances de chaque entité avec les entités voisines.

  • EUCLIDEANDistance en ligne droite entre deux points (distance à vol d'oiseau).
  • MANHATTANDistance entre deux points mesurée le long des axes à angle droit (bloc de bâtiments) ; calculée en totalisant la différence (absolue) entre les coordonnées x et y.
String
Number_of_Neighbors
(Facultatif)

Ce paramètre est activé lorsque le paramètre Contraintes spatiales est défini sur K_NEAREST_NEIGHBORS ou par l'une des méthodes CONTIGUITY. Par défaut, le nombre de voisins est 8. Pour K_NEAREST_NEIGHBORS, cette valeur d'entier reflète le nombre exact des plus proches candidats voisins à prendre en compte lors de la création de groupes. Une entité n'est incluse dans un groupe que si l'une des autres entités de ce groupe fait partie des k plus proches voisins. Pour les méthodes CONTIGUITY, cette valeur reflète le nombre exact de candidats voisins à prendre en compte pour les polygones d'îles uniquement. Comme les polygones d'îles n'ont pas de voisins contigus, des voisins non contigus mais proches leur seront attribués.

Long
Weights_Matrix_File
(Facultatif)

Chemin d'accès à un fichier contenant les pondérations spatiales qui définissent les relations spatiales entre les entités.

File
Initialization_Method
(Facultatif)

Indique comment les valeurs initiales sont obtenues lorsque le paramètre Contrainte spatiale sélectionné est NO_SPATIAL_CONSTRAINT. Les valeurs initiales sont utilisées pour créer des groupes. Si vous spécifiez 3 groupes, par exemple, l'analyse commence avec trois valeurs initiales.

  • FIND_SEED_LOCATIONSDes entités initiales sont sélectionnées pour optimiser les performances.
  • GET_SEEDS_FROM_FIELDLes entrées non nulles du champ d'initialisation sont initialement utilisées pour créer des groupes.
  • USE_RANDOM_SEEDSDes entités initiales sont sélectionnées au hasard.
String
Initialization_Field
(Facultatif)

Champ numérique identifiant les entités initiales. Les entités ayant la valeur 1 dans ce champ sont utilisées pour créer des groupes.

Field
Output_Report_File
(Facultatif)

Chemin d'accès complet au fichier .pdf du rapport à créer, récapitulant les caractéristiques des groupes. Ce rapport contient plusieurs graphiques qui vous aideront à comparer les caractéristiques de chacun des groupes. La création de ce fichier de rapport peut augmenter considérablement la durée de traitement.

File
Evaluate_Optimal_Number_of_Groups
(Facultatif)
  • EVALUATELes groupes 2 à 15 seront évalués.
  • DO_NOT_EVALUATELe nombre de groupes ne sera pas évalué. Il s'agit de l'option par défaut.
Boolean

Exemple de code

Exemple 1 d'utilisation de l'outil GroupingAnalysis (fenêtre Python)

Le script de fenêtre Python ci-dessous illustre l'utilisation de l'outil GroupingAnalysis.

import arcpy
import arcpy.stats as SS
arcpy.env.workspace = r"C:\GA"
SS.GroupingAnalysis("Dist_Vandalism.shp", "TARGET_FID", "outGSF.shp", "4",
                    "Join_Count;TOTPOP_CY;VACANT_CY;UNEMP_CY",
                    "NO_SPATIAL_CONSRAINT", "EUCLIDEAN", "", "", "FIND_SEED_LOCATIONS", "",
                    "outGSF.pdf", "DO_NOT_EVALUATE")
Exemple 2 d'utilisation de l'outil GroupingAnalysis (script Python autonome)

Le script Python autonome ci-dessous illustre l'utilisation de l'outil GroupingAnalysis.

# Grouping Analysis of Vandalism data in a metropolitan area
# using the Grouping Analysis Tool

# Import system modules
import arcpy, os
import arcpy.stats as SS

# Set geoprocessor object property to overwrite existing output, by default
arcpy.gp.overwriteOutput = True

try:
    # Set the current workspace (to avoid having to specify the full path to
    # the feature classes each time)
    arcpy.env.workspace = r"C:\GA"

    # Join the 911 Call Point feature class to the Block Group Polygon feature class
    # Process: Spatial Join
    fieldMappings = arcpy.FieldMappings()
    fieldMappings.addTable("ReportingDistricts.shp")
    fieldMappings.addTable("Vandalism2006.shp")

    sj = arcpy.SpatialJoin_analysis("ReportingDistricts.shp", "Vandalism2006.shp", "Dist_Vand.shp",
                               "JOIN_ONE_TO_ONE",
                               "KEEP_ALL",
                               fieldMappings,
                               "COMPLETELY_CONTAINS", "", "")
    
    # Use Grouping Anlysis tool to create groups based on different variables or analysis fields
    # Process: Group Similar Features  
    ga = SS.GroupingAnalysis("Dist_Vand.shp", "TARGET_FID", "outGSF.shp", "4",
                                       "Join_Count;TOTPOP_CY;VACANT_CY;UNEMP_CY",
                                       "NO_SPATIAL_CONSRAINT", "EUCLIDEAN", "", "", "FIND_SEED_LOCATIONS", "",
                                       "outGSF.pdf", "DO_NOT_EVALUATE")
    
    # Use Summary Statistic tool to get the Mean of variables used to group
    # Process: Summary Statistics
    SumStat = arcpy.Statistics_analysis("outGSF.shp", "outSS", "Join_Count MEAN; \
                               VACANT_CY MEAN;TOTPOP_CY MEAN;UNEMP_CY MEAN", 
                                       "GSF_GROUP")

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 au système de coordonnées en sortie avant l'analyse. 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 à la corde.

Thèmes connexes

Informations de licence

ArcGIS for Desktop Basic: Oui
ArcGIS for Desktop Standard: Oui
ArcGIS for Desktop Advanced: Oui
5/10/2014