Générer des zones équilibrées (Statistiques spatiales)

Synthèse

Crée des zones spatialement contiguës dans une zone d’étude à l’aide d’un algorithme de croissance génétique reposant sur des critères spécifiés.

Vous pouvez créer des zones qui contiennent un nombre égal d’entités, qui sont similaires du point de vue d’un ensemble de valeurs attributaires, ou les deux à la fois. Vous avez également la possibilité de sélectionner des zones ayant des surfaces approximativement identiques, étant aussi compactes que possible, et qui conservent des résumés statistiques constants des autres variables.

En savoir plus sur le fonctionnement de l’outil Générer des zones équilibrées

Utilisation

  • Pour créer des zones, sélectionnez Cible d’attribut, Nombre de zones et cible d’attribut ou Nombre défini de zones dans le paramètre Méthode de création de zone. Lorsque le paramètre Cible d’attribut est sélectionné, l’outil crée des zones en fonction des valeurs cibles d’une ou plusieurs variables spécifiées. L’option Number of zones and attribute target (Nombre de zones et cible d’attribut) équilibre les attributs sur le nombre de zones spécifié. Vous pouvez également créer des zones basées sur les nombres d’entités à l’aide de l’option Nombre défini de zones.

  • Cet outil permet d’utiliser des points ou polygones en entrée.

  • Si plusieurs variables sont spécifiées pour le paramètre Critères de création de zone, vous avez la possibilité de fournir des pondérations pour chaque critère. Les pondérations sont appliquées proportionnellement à la valeur spécifiée dans le champ Pondérations.

  • Cet outil prend en charge le traitement parallèle pour la création des générations destinées à l’algorithme et utilise 50 pour cent des processeurs disponibles par défaut. Le nombre de processeurs utilisés peut être augmenté ou réduit à l'aide de l'environnement Facteur de traitement parallèle.

Paramètres

ÉtiquetteExplicationType de données
Entités en entrée

La classe ou couche d'entités qui sera agrégée dans les zones.

Feature Layer
Entités en sortie

La classe d’entités en sortie indiquant quelles entités sont agrégées dans chaque zone. La classe d’entités sera symbolisée par le champ ZONE_ID et contiendra des champs affichant les valeurs de chaque critère que vous spécifiez.

Feature Class
Méthode de création de zone

Spécifie la méthode qui sera utilisée pour créer chaque zone. Les zones se développent jusqu’à ce que tous les critères spécifiés soient atteints.

  • Cible d’attributLes zones seront créées en fonction des valeurs cibles d’une ou de plusieurs variables. La somme de chaque attribut doit être indiquée dans le paramètre Critères de construction de zone avec cible et chaque zone se développe jusqu’à ce que la somme des attributs soit supérieure à ces valeurs. Vous pouvez ainsi employer cette option pour créer des zones, chacune comportant au moins 100 000 résidents et 20 000 maisons individuelles.
  • Nombre de zones et cible d’attributUn nombre spécifié de zones est créé et la somme d’un attribut reste approximativement égale dans chaque zone. Vous devez indiquer le nombre de zones via le paramètre Nombre cible de zones. La somme de l’attribut au sein de chaque zone est égale à la somme de l’attribut total divisée par le nombre de zones.
  • Defined number of zones (Nombre défini de zones)Un nombre spécifié de zones est créé et chacune d’entre elles est composée approximativement du même nombre d’entités en entrée. Vous devez indiquer le nombre de zones via le paramètre Nombre cible de zones.
String
Target Number of Zones (Nombre cible de zones)
(Facultatif)

Nombre de zones qui seront créées.

Long
Critères de construction de zone avec cible
(Facultatif)

Spécifie les variables qui seront prises en compte, leurs valeurs cibles et leurs pondérations facultatives. La pondération par défaut a pour valeur 1, chaque variable contribuant de manière égale, sauf modification.

Value Table
Critères de création de zone
(Facultatif)

Spécifie les variables qui seront prises en compte et, éventuellement, leurs pondérations. La pondération par défaut a pour valeur 1, chaque variable contribuant de manière égale, sauf modification.

Value Table
Contraintes spatiales
(Facultatif)

Indique la façon dont sont définis les voisins parallèlement au développement des zones. Les zones ne peuvent se développer que dans de nouvelles entités qui sont voisines d’au moins une entité présente dans la zone. Si les entités en entrée sont des polygones, la contrainte spatiale par défaut est Contiguity edges corners (Angles des tronçons de contiguïté). Si les entités en entrée sont des points, la contrainte spatiale par défaut est Trimmed Delaunay triangulation (Triangulation de Delaunay avec élimination des points).

  • Tronçons de contiguïté uniquementPour les zones contenant des entités surfaciques contiguës, seuls les polygones partageant un segment feront partie de la même zone.
  • Angles des tronçons de contiguïtéPour les zones contenant des entités surfaciques contiguës, seuls les polygones partageant un segment ou un sommet feront partie de la même zone.
  • Triangulation de Delaunay avec élimination des pointsLes entités d'une même zone auront au moins un voisin naturel en commun avec une autre entité dans la zone. Les relations avec les voisins naturels sont basées sur la triangulation de Delaunay avec élimination des points. 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 nœud de triangle, et les nœuds qui partagent des segments sont considérés comme voisins. Ces triangles sont ensuite découpés selon une enveloppe convexe de sorte que les entités ne puissent pas avoir pour voisines d’autres entités situées en dehors de l’enveloppe convexe. Il s’agit de l’option par défaut.
  • Extraire les pondérations spatiales à partir du fichierLes relations spatiales, et éventuellement, temporelles, seront définies par le fichier de pondérations spatiales (.swm) spécifié. Créez la matrice de pondérations spatiales à l’aide de l’outil Générer la matrice de pondérations spatiales ou de l’outil Générer les pondérations spatiales de réseau. Le chemin d’accès au fichier de pondérations spatiales est donné par le paramètre Spatial Weights Matrix File (Fichier de matrice des pondérations spatiales).
String
Fichier matrice de pondérations spatiales
(Facultatif)

Le chemin d’accès à un fichier contenant les pondérations spatiales qui définissent les relations spatiales, et éventuellement les relations temporelles, entre des entités.

File
Caractéristiques de zone
(Facultatif)

Spécifie les caractéristiques des zones à créer.

  • Surface équivalenteLes zones qui seront créées auront une surface totale aussi similaire que possible.
  • CompacitéLes zones seront créées avec des entités plus étroitement groupées (compactes).
  • Même nombre d’entitésLes zones qui seront créées auront un nombre égal d’entités.
String
Attribut à prendre en compte
(Facultatif)

Spécifie les attributs et statistiques à prendre en compte dans la sélection des zones finales. Vous pouvez homogénéiser les attributs en fonction de leur somme, moyenne, médiane ou variance. Par exemple, si vous créez des zones sur la base des valeurs de logement et que vous souhaitez équilibrer le revenu total moyen à l’intérieur de chaque zone, la solution présentant le revenu moyen le plus égal à travers les zones sera utilisée.

Value Table
Distance à prendre en compte
(Facultatif)

La classe d'entités qui sera utilisée pour homogénéiser la distance totale par zone. La distance est calculée depuis chacune des entités en entrée jusqu’à l'entité la plus proche fournie dans ce paramètre. Cette distance est ensuite utilisée en tant que contrainte d’attribut supplémentaire lors de la sélection de la solution de zone finale. Par exemple, vous pouvez créer des zones de patrouille de police se trouvant chacune approximativement à la même distance du poste de police le plus proche.

Feature Layer
Variable catégorielle pour conserver les proportions
(Facultatif)

La variable catégorielle à prendre en compte pour les proportions de zone.

Field
Méthode de proportion
(Facultatif)

Spécifie le type de proportion qui sera maintenue en fonction de la variable catégorielle choisie.

  • Maintenir dans une proportionChaque zone conservera les mêmes proportions en tant que zone d’étude globale pour la variable catégorielle donnée. Prenons l’exemple d’une variable catégorielle à 60 % de type A et à 40 % de type B ; cette méthode privilégiera les zones comprenant approximativement 60 % d’entités de type A et 40 % d’entités de type B.
  • Maintenir une proportion globaleLes zones seront créées de façon à ce que les proportions globales de prédominance de catégorie par zone correspondent aux proportions de la variable catégorielle considérée pour l’ensemble du jeu de données. Prenons l’exemple d’une variable catégorielle à 60 % de type A et à 40 % de type B, cette méthode privilégiera les solutions dans lesquelles 60 % des zones sont principalement de type A et 40 % des zones principalement de type B.
String
Taille de population
(Facultatif)

Le nombre de valeurs initiales généré aléatoirement Pour les jeux de données volumineux, augmenter ce nombre augmentera la zone de recherche et la probabilité de trouver une meilleure solution. La valeur par défaut est 100.

Long
Nombre de générations
(Facultatif)

Le nombre de répétitions de la recherche de zone. Pour les jeux de données volumineux, il est conseillé d’augmenter ce nombre pour trouver une solution optimale. La valeur par défaut est 50 générations.

Long
Facteur de mutation
(Facultatif)

La probabilité que des valeurs initiales individuelles soient mutées dans un nouvel ensemble de germes. La mutation augmente la zone de recherche en introduisant une variabilité des solutions possibles dans chaque génération et en permettant d’identifier plus rapidement une solution optimale. La valeur par défaut est 0.1.

Double
Table de convergence en sortie
(Facultatif)

Table contenant le score de conformité total de la meilleure solution trouvée dans chaque génération, ainsi que le score de conformité des contraintes de zone individuelles.

Table

arcpy.stats.BuildBalancedZones(in_features, output_features, zone_creation_method, {number_of_zones}, {zone_building_criteria_target}, {zone_building_criteria}, {spatial_constraints}, {weights_matrix_file}, {zone_characteristics}, {attribute_to_consider}, {distance_to_consider}, {categorial_variable}, {proportion_method}, {population_size}, {number_generations}, {mutation_factor}, {output_convergence_table})
NomExplicationType de données
in_features

La classe ou couche d'entités qui sera agrégée dans les zones.

Feature Layer
output_features

La classe d’entités en sortie indiquant quelles entités sont agrégées dans chaque zone. La classe d’entités sera symbolisée par le champ ZONE_ID et contiendra des champs affichant les valeurs de chaque critère que vous spécifiez.

Feature Class
zone_creation_method

Spécifie la méthode qui sera utilisée pour créer chaque zone. Les zones se développent jusqu’à ce que tous les critères spécifiés soient atteints.

  • ATTRIBUTE_TARGETLes zones seront créées en fonction des valeurs cibles d’une ou de plusieurs variables. La somme de chaque attribut doit être indiquée dans le paramètre Critères de construction de zone avec cible et chaque zone se développe jusqu’à ce que la somme des attributs soit supérieure à ces valeurs. Vous pouvez ainsi employer cette option pour créer des zones, chacune comportant au moins 100 000 résidents et 20 000 maisons individuelles.
  • NUMBER_ZONES_AND_ATTRIBUTEUn nombre spécifié de zones est créé et la somme d’un attribut reste approximativement égale dans chaque zone. Vous devez indiquer le nombre de zones via le paramètre Nombre cible de zones. La somme de l’attribut au sein de chaque zone est égale à la somme de l’attribut total divisée par le nombre de zones.
  • NUMBER_OF_ZONESUn nombre spécifié de zones est créé et chacune d’entre elles est composée approximativement du même nombre d’entités en entrée. Vous devez indiquer le nombre de zones via le paramètre Nombre cible de zones.
String
number_of_zones
(Facultatif)

Nombre de zones qui seront créées.

Long
zone_building_criteria_target
[[variable, sum, weight],...]
(Facultatif)

Spécifie les variables qui seront prises en compte, leurs valeurs cibles et leurs pondérations facultatives. La pondération par défaut a pour valeur 1, chaque variable contribuant de manière égale, sauf modification.

Value Table
zone_building_criteria
[[variable, weight],...]
(Facultatif)

Spécifie les variables qui seront prises en compte et, éventuellement, leurs pondérations. La pondération par défaut a pour valeur 1, chaque variable contribuant de manière égale, sauf modification.

Value Table
spatial_constraints
(Facultatif)

Indique la façon dont sont définis les voisins parallèlement au développement des zones. Les zones ne peuvent se développer que dans de nouvelles entités qui sont voisines d’au moins une entité présente dans la zone. Si les entités en entrée sont des polygones, la contrainte spatiale par défaut est Contiguity edges corners (Angles des tronçons de contiguïté). Si les entités en entrée sont des points, la contrainte spatiale par défaut est Trimmed Delaunay triangulation (Triangulation de Delaunay avec élimination des points).

  • CONTIGUITY_EDGES_ONLYPour les zones contenant des entités surfaciques contiguës, seuls les polygones partageant un segment feront partie de la même zone.
  • CONTIGUITY_EDGES_CORNERSPour les zones contenant des entités surfaciques contiguës, seuls les polygones partageant un segment ou un sommet feront partie de la même zone.
  • TRIMMED_DELAUNAY_TRIANGULATIONLes entités d'une même zone auront au moins un voisin naturel en commun avec une autre entité dans la zone. Les relations avec les voisins naturels sont basées sur la triangulation de Delaunay avec élimination des points. 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 nœud de triangle, et les nœuds qui partagent des segments sont considérés comme voisins. Ces triangles sont ensuite découpés selon une enveloppe convexe de sorte que les entités ne puissent pas avoir pour voisines d’autres entités situées en dehors de l’enveloppe convexe. Il s’agit de l’option par défaut.
  • GET_SPATIAL_WEIGHTS_FROM_FILELes relations spatiales, et éventuellement, temporelles, seront définies par le fichier de pondérations spatiales (.swm) spécifié. Créez la matrice de pondérations spatiales à l’aide de l’outil Générer la matrice de pondérations spatiales ou de l’outil Générer les pondérations spatiales de réseau. Le chemin d’accès au fichier de pondérations spatiales est donné par le paramètre Spatial Weights Matrix File (Fichier de matrice des pondérations spatiales).
String
weights_matrix_file
(Facultatif)

Le chemin d’accès à un fichier contenant les pondérations spatiales qui définissent les relations spatiales, et éventuellement les relations temporelles, entre des entités.

File
zone_characteristics
[zone_characteristics,...]
(Facultatif)

Spécifie les caractéristiques des zones à créer.

  • EQUAL_AREALes zones qui seront créées auront une surface totale aussi similaire que possible.
  • COMPACTNESSLes zones seront créées avec des entités plus étroitement groupées (compactes).
  • EQUAL_NUMBER_OF_FEATURESLes zones qui seront créées auront un nombre égal d’entités.
String
attribute_to_consider
[[variable, function],...]
(Facultatif)

Spécifie les attributs et statistiques à prendre en compte dans la sélection des zones finales. Vous pouvez homogénéiser les attributs en fonction de leur somme, moyenne, médiane ou variance. Par exemple, si vous créez des zones sur la base des valeurs de logement et que vous souhaitez équilibrer le revenu total moyen à l’intérieur de chaque zone, la solution présentant le revenu moyen le plus égal à travers les zones sera utilisée.

Value Table
distance_to_consider
[distance_to_consider,...]
(Facultatif)

La classe d'entités qui sera utilisée pour homogénéiser la distance totale par zone. La distance est calculée depuis chacune des entités en entrée jusqu’à l'entité la plus proche fournie dans ce paramètre. Cette distance est ensuite utilisée en tant que contrainte d’attribut supplémentaire lors de la sélection de la solution de zone finale. Par exemple, vous pouvez créer des zones de patrouille de police se trouvant chacune approximativement à la même distance du poste de police le plus proche.

Feature Layer
categorial_variable
(Facultatif)

La variable catégorielle à prendre en compte pour les proportions de zone.

Field
proportion_method
(Facultatif)

Spécifie le type de proportion qui sera maintenue en fonction de la variable catégorielle choisie.

  • MAINTAIN_WITHIN_PROPORTIONChaque zone conservera les mêmes proportions en tant que zone d’étude globale pour la variable catégorielle donnée. Prenons l’exemple d’une variable catégorielle à 60 % de type A et à 40 % de type B ; cette méthode privilégiera les zones comprenant approximativement 60 % d’entités de type A et 40 % d’entités de type B.
  • MAINTAIN_OVERALL_PROPORTIONLes zones seront créées de façon à ce que les proportions globales de prédominance de catégorie par zone correspondent aux proportions de la variable catégorielle considérée pour l’ensemble du jeu de données. Prenons l’exemple d’une variable catégorielle à 60 % de type A et à 40 % de type B, cette méthode privilégiera les solutions dans lesquelles 60 % des zones sont principalement de type A et 40 % des zones principalement de type B.
String
population_size
(Facultatif)

Le nombre de valeurs initiales généré aléatoirement Pour les jeux de données volumineux, augmenter ce nombre augmentera la zone de recherche et la probabilité de trouver une meilleure solution. La valeur par défaut est 100.

Long
number_generations
(Facultatif)

Le nombre de répétitions de la recherche de zone. Pour les jeux de données volumineux, il est conseillé d’augmenter ce nombre pour trouver une solution optimale. La valeur par défaut est 50 générations.

Long
mutation_factor
(Facultatif)

La probabilité que des valeurs initiales individuelles soient mutées dans un nouvel ensemble de germes. La mutation augmente la zone de recherche en introduisant une variabilité des solutions possibles dans chaque génération et en permettant d’identifier plus rapidement une solution optimale. La valeur par défaut est 0.1.

Double
output_convergence_table
(Facultatif)

Table contenant le score de conformité total de la meilleure solution trouvée dans chaque génération, ainsi que le score de conformité des contraintes de zone individuelles.

Table

Exemple de code

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

Le script ci-dessous pour la fenêtre Python illustre l’utilisation de la fonction BuildBalancedZones.

import arcpy
arcpy.env.workspace = r"c:\data\project_data.gdb"
arcpy.stats.BuildBalancedZones("US_Counties", "out_features", 
     "NUMBER_OF_ZONES", 5, None, None, "TRIMMED_DELAUNAY_TRIANGULATION", 
     None, None, None, None, None, '', 100, 50, 0.1)
Exemple 2 d’utilisation de l’outil BuildBalancedZones (script autonome)

Le script Python autonome ci-dessous illustre l'utilisation de la fonction BuildBalancedZones.

# Aggregate states into zones that have a target population of approximately
# 250,000 people.  Make the zones of equal area and compact. 
 
import arcpy

# Set the current workspace (to avoid having to specify the full path to
# the feature classes each time)

arcpy.env.workspace = r"c:\data\project_data.gdb"

arcpy.stats.BuildBalancedZones("states", "out_zones", "ATTRIBUTE_TARGET", 
     None, "POPULATION 250000 1", None, "TRIMMED_DELAUNAY_TRIANGULATION", 
     None, "EQUAL_AREA;COMPACTNESS", None, None, None, '', 100, 50, 0.1)