Résumé
Superpose une couche surfacique avec une autre couche en vue de synthétiser le nombre de points, la longueur des lignes ou la surface des polygones au sein de chaque polygone, ainsi que de calculer des statistiques des champs attributaires sur ces entités au sein des polygones.
Exemples de scénarios avec Synthétiser - A l'intérieur :
- En prenant une couche de limites de bassin versant et une couche de limites d'utilisation du sol par type d'utilisation du sol, calculez la superficie totale du type d'utilisation du sol pour chaque bassin versant.
- En prenant une couche de parcelles dans un comté et une couche de limites de ville, synthétisez la valeur moyenne des parcelles vacantes au sein de chaque limite de ville.
- En prenant une couche de comtés et une couche de routes, synthétisez le kilométrage total des routes par type de route au sein de chaque comté.
Illustration
Utilisation
Pour comprendre la fonction de l'outil Synthétiser - A l'intérieur, imaginez que vous prenez deux couches, les polygones en entrée et les entités de synthèse en entrée, et que vous les empilez l'une sur l'autre. Une fois ces couches empilées, examinez-les à travers la pile et comptabilisez le nombre d'entités de récapitulation en entrée qui se trouvent au sein des polygones en entrée. Vous pouvez non seulement comptabiliser le nombre d'entités, mais également calculer des statistiques simples concernant les attributs des entités de récapitulation en entrée, tels que la somme, la moyenne, le minimum, le maximum, etc.
Les outils Synthétiser - À l’intérieur et Synthétiser - À proximité sont conceptuellement identiques. Avec l’outil Synthétiser - À l’intérieur, vous pouvez synthétiser des entités au sein de polygones existants, tandis que l’outil Synthétiser - À proximité vous permet de générer des zones autour de points, de lignes ou de polygones et de synthétiser des entités dans ces zones obtenues.
Vous pouvez créer des groupes en spécifiant un champ de groupe à partir des points en entrée. Par exemple, si vous synthétisez des crimes dans les limites de voisinage, vous pouvez avoir un attribut Crime_type avec cinq types de crimes différents. Chaque type de crime unique forme un groupe, et les statistiques que vous choisissez seront calculées pour chaque valeur unique de Crime_type.
Syntaxe
arcpy.analysis.SummarizeWithin(in_polygons, in_sum_features, out_feature_class, {keep_all_polygons}, {sum_fields}, {sum_shape}, {shape_unit}, {group_field}, {add_min_maj}, {add_group_percent}, {out_group_table})
Paramètre | Explication | Type de données |
in_polygons | Polygones utilisés pour synthétiser les entités, ou les portions d'entités, dans la couche de synthèse en entrée. | Feature Layer |
in_sum_features | Les entités ponctuelles, linéaires ou surfaciques qui seront synthétisées pour chaque polygone au sein des polygones en entrée. | Feature Layer |
out_feature_class | Classe d'entités surfaciques en sortie contenant les mêmes géométries et attributs que les polygones en entrée, avec de nouveaux attributs supplémentaires concernant le nombre de points, la longueur de lignes et la surface des polygones au sein de chaque polygone en entrée, ainsi que des statistiques sur ces entités. | Feature Class |
keep_all_polygons (Facultatif) | Détermine si tous les polygones en entrée ou uniquement ceux qui contiennent au moins un point en entrée seront copiés dans la classe d’entités en sortie.
| Boolean |
sum_fields [[summary_field, statistic_type],...] (Facultatif) | Liste des noms de champs attributaires émanant des entités de synthèse en entrée, et types de synthèse statistiques que vous voulez calculer pour ces champs attributaires concernant tous les points au sein de chaque polygone. Les champs de récapitulation doivent être numériques. Les champs de texte ou d'autres types attributaires ne sont pas pris en charge. Les types de statistiques sont notamment :
| Value Table |
sum_shape (Facultatif) | Détermine si la classe d'entités en sortie contiendra les attributs du nombre de points, de la longueur de lignes et de la surface des entités surfaciques synthétisés dans chaque polygone en entrée.
| Boolean |
shape_unit (Facultatif) | Unité dans laquelle les attributs de récapitulation de forme sont calculés. Si les entités de récapitulation en entrée sont des points, aucune unité de forme n'est nécessaire, car seul le nombre de points au sein de chaque polygone en entrée est ajouté. Si les entités de récapitulation en entrée sont des lignes, spécifiez une unité linéaire. Si les entités de récapitulation en entrée sont des polygones, spécifiez une unité surfacique.
| String |
group_field (Facultatif) | Champ attributaire issu des entités de récapitulation en entrée qui est utilisé pour le regroupement. Les entités qui possèdent la même valeur de champ de regroupement seront associées et récapitulées avec d'autres entités dotées de la même valeur de champ de regroupement. Lorsque vous choisissez un champ de regroupement, une table groupée en sortie supplémentaire est créée et vous devez spécifier son emplacement dans le paramètre out_grouped_table. | Field |
add_min_maj (Facultatif) | Cette option est disponible uniquement si vous avez sélectionné un champ de regroupement. Elle vous permet de déterminer la valeur du champ de regroupement qui est minoritaire (la moins dominante) et majoritaire (la plus dominante), dans chaque polygone en entrée.
| Boolean |
add_group_percent (Facultatif) | Cette option est disponible uniquement si vous avez sélectionné un champ de regroupement. Elle vous permet de déterminer le pourcentage de chaque valeur attributaire au sein de chaque groupe.
| Boolean |
out_group_table (Facultatif) | Si un champ de regroupement est spécifiée, la table groupée en sortie est nécessaire. Table en sortie qui comprend des champs de récapitulation pour chaque groupe d'entités de récapitulation pour la zone tampon de chaque polygone en entrée. La table contiendra les champs attributaires suivants :
| Table |
Exemple de code
Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction SummarizeWithin.
import arcpy
arcpy.env.workspace = 'C:/data/city.gdb'
arcpy.SummarizeWithin_analysis('neighborhoods', 'crimes', 'neighborhood_crimes')
Le script autonome suivant est un exemple d'utilisation de la fonction SummarizeWithin dans un environnement de scripts.
# Description: Use SummarizeWithin to summarize the crimes in each city neighborhood
# import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = 'C:/data/city.gdb'
# Set local variables
polys = 'neighborhoods'
points = 'crimes'
outFeatureClass = 'crimes_aggregated'
keepAll = 'KEEP_ALL'
sumFields = [['Damages', 'SUM'], ['VICTIM_AGE', 'MEAN']]
addShapeSum = 'ADD_SHAPE_SUM'
groupField = 'Crime_type'
addMinMaj = 'ADD_MIN_MAJ'
addPercents = 'ADD_PERCENT'
outTable = 'crimes_aggregated_groups'
arcpy.SummarizeWithin_analysis(polys, points, outFeatureClass, keepAll,
sumFields, addShapeSum, '', groupField,
addMinMaj, addPercents, outTable)
Environnements
Informations de licence
- Basic: Oui
- Standard: Oui
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?