Résumé
Synthétise les attributs d’une couche surfacique en entrée en fonction de la superposition spatiale d’une couche surfacique cible et affecte les attributs synthétisés aux polygones cibles. Les polygones cibles comportent la somme des attributs numériques qui découlent des polygones en entrée sur lequel chacun se superpose. Ce processus est généralement connu sous le nom de répartition.
Cet outil peut servir à estimer la population d’une entité en fonction du pourcentage de l’entité en question, qui se superpose à une autre entité dont la population est connue.
Illustration
Utilisation
Par défaut, le pourcentage de la zone de superposition détermine la valeur de l’attribut. Un champ de pondération peut être utilisé en plus de la zone afin de déterminer la portion de l’attribut à synthétiser à partir de chaque entité superposée.
Si le champ de répartition a la valeur 0, les champs répartissent les valeurs sur 0 pour toute entité cible superposée.
Cet outil respecte l’environnement Facteur de traitement parallèle. Si l'environnement n'est pas défini (valeur par défaut) ou s'il est défini sur 100, le traitement parallèle complet est activé et l'outil tente de répartir les tâches parmi tous les cœurs logiques de la machine. Si vous définissez l'environnement sur 0, le traitement parallèle est désactivé. Si vous spécifiez un facteur compris entre 1 et 99, l'outil détermine le pourcentage de cœurs logiques à utiliser en appliquant la formule (Facteur de traitement parallèle / 100 * Cœurs logiques) arrondie à l'entier supérieur le plus proche. Si le résultat de cette formule est 0 ou 1, le traitement parallèle n'est pas activé.
Syntaxe
arcpy.analysis.ApportionPolygon(in_features, apportion_fields, target_features, out_features, method, {estimation_features}, {weight_field}, {maintain_geometries})
Paramètre | Explication | Type de données |
in_features | Les entités surfaciques qui possèdent des attributs numériques à synthétiser dans les géométries des polygones cibles. | Feature Layer |
apportion_fields [apportion_fields,...] | Les champs numériques des polygones en entrée qui seront synthétisés par chaque polygone cible et enregistrés dans la classe d’entités en sortie. | Field |
target_features | Les entités surfaciques qui seront copiées dans la classe d’entités en sortie et qui comprennent tous les champs répartis. | Feature Layer |
out_features | La classe d’entités en sortie contenant l’attribut et les géométries des polygones cibles, ainsi que les champs de répartition spécifiés des polygones en entrée. | Feature Class |
method | Indique la méthode utilisée pour répartir les champs à partir des polygones en entrée vers les polygones cibles.
| String |
estimation_features (Facultatif) | Ce paramètre est désactivé dans ArcGIS Pro 2.7 et sera pris en charge dans une version future. | Feature Layer |
weight_field (Facultatif) | Champ numérique issu de la couche des polygones cibles qui permet de définir quels polygones cibles reçoivent des valeurs réparties supérieures des champs des polygones en entrée à répartir. Les cibles de pondération supérieure reçoivent un ratio supérieur des valeurs de champ. | Field |
maintain_geometries (Facultatif) | Indique si la classe d’entités cible gère les géométries d’origine de la couche surfacique cible.
| Boolean |
Exemple de code
Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction ApportionPolygon.
import arcpy
arcpy.env.workspace = "C:/data/MyAnalysis.gdb"
arcpy.ApportionPolygon_analysis(
"CensusBlockGroups", "Pop2020", "StoreServiceArea",
"StoreServiceArea_w_Population", "AREA", "", "", "MAINTAIN_GEOMETRIES")
Le script autonome suivant transfère la population pondéré d’une couche Census Block Groups (Groupes d’îlots de recensement) vers un polygone surfacique de service de stockage.
# Name: Store Service Area Get Population.py
# Description: Use apportionment to transfer population figures to different geometry
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data/MyAnalysis.gdb"
# Perform apportionment
inputDataWithPop = "CensusBlockGroups"
popField = "Pop2020"
targetServiceAreas = "Store_ServiceAreas"
outputApp = "Store_ServiceAreas_w_Population"
apportionMethod = "AREA"
keepTargetGeom = "MAINTAIN_GEOMETRIES"
arcpy.ApportionPolygon_analysis(inputDataWithPop, popField, targetServiceAreas,
outputApp, apportionMethod, "", "",
keepTargetGeom)
# Summarize store service area populations by store admin region
outStats = "PopulationPerSalesRegion_tlb"
statsFields = [["Pop2020", "SUM"]]
regionField = "SalesRegion" # Values like North, North-East, etc.
arcpy.Statistics_analysis(outputApp, outStats, statsFields, regionField)
Environnements
Informations de licence
- Basic: Oui
- Standard: Oui
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?