Agréger des polygones (Cartographie)

Synthèse

Combine des polygones se trouvant à une distance spécifiée les uns des autres afin de former de nouveaux polygones.

Illustration

Exemples d'utilisation de l’outil Agréger des polygones
Les entités orthogonales ou non orthogonales peuvent être agrégées.

Utilisation

  • Cet outil est destiné à une agrégation et à une réduction d'échelle modérées lorsque les entités en entrée ne peuvent plus être représentées individuellement en raison de l'espace limité de la carte ou de la résolution requise pour les données. L’agrégation se produit uniquement lorsque deux limites de polygone se trouvent à une distance d’agrégation définie l’une de l’autre. Aucune auto-agrégation n'a lieu, ce qui signifie qu'aucune agrégation n'a lieu au sein d'une entité surfacique en entrée le long de sa propre limite, de même qu'aucune agrégation n'a lieu entre des parties d'une entité surfacique multi-parties.

  • L'option orthogonale permet de créer des entités en sortie de forme orthogonale. Cette option est particulièrement adaptée à une utilisation avec des entités en entrée possédant des tronçons à prédominance orthogonale. Dans certains cas, l’agrégation est moindre pour prendre cela en compte. Par exemple, deux bâtiments carrés situés en diagonale l'un par rapport à l'autre dans la distance d'agrégation ne peut pas être agrégés car aucune connexion évidente ne peut être établie en conservant le caractère orthogonal. L'option non orthogonale produit des résultats de forme plus organique.

  • Utilisez les entités interruptions pour empêcher l'agrégation de survenir à travers des limites. Les exemples permettent également d'empêcher l'occupation du sol d'effectuer une agrégation à travers des rivières ou d'agréger des bâtiments situés de part et d'autre d'une même rue. Les interruptions peuvent être des lignes ou des polygones, et plusieurs classes d'entités interruptions peuvent être utilisées simultanément.

  • Lorsque le paramètre Aggregate Field (Champ d’agrégation) est défini, le champ attributaire et sa valeur sont copiés dans la classe d’entités en sortie. Les données du champ d’agrégation doivent être de type texte, date ou entier. Si le champ d’agrégation dispose de domaines et de sous-types, ceux-ci sont copiés dans la classe d’entités en sortie lorsque la case Transfer Geodatabase Field Properties (Transférer les propriétés de champ de géodatabase) est cochée.

  • La classe d'entités en sortie ne contiendra pas d'attributs géographiques des entités en entrée. Il est possible de créer en option une table de relations un vers plusieurs pour relier les polygones agrégés à leurs polygones source. Ce lien peut devenir incorrect lorsque l'une des entités en entrée ou en sortie est modifiée.

  • Si les entités en entrée contiennent des valeurs z, ces dernières peuvent être conservées si elles sont spécifiées dans les paramètres d’environnement. Si les sommets en sortie ne sont pas modifiés, les valeurs z en entrée seront transférées aux sommets en sortie ; sinon, une valeur z sera déduite pour les nouveaux sommets, d’après les valeurs z existantes ou par interpolation.

  • Le traitement d'un jeu de données en entrée volumineux peut dépasser les limites de la mémoire. Dans ce cas, envisagez de traiter les données en entrée par partition en identifiant une classe d'entités surfaciques pertinente dans le paramètre d'environnement Partitions cartographiques. Les portions de données, définies par les limites des partitions, sont traitées séquentiellement. La classe d’entités en sortie résultante est cohérente avec les tronçons de partition, mais les entités en sortie traversant des partitions sont fractionnées à la ligne de partition. Un champ IS_SPLITdans la classe d’entités en sortie porte la valeur 1 dans cette instance.

Paramètres

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

Entités surfaciques à agréger. Si cette couche référence une représentation et des débrayages de forme présents sur les entités en entrée, les formes remplacées, et non les formes de l'entité, sont prises en compte dans le traitement d'agrégation.

Feature Layer
Classe d’entités en sortie

Classe d'entités en sortie à créer.

Feature Class
Distance d’agrégation

Distance à satisfaire entre les limites des polygones pour que l’agrégation puisse avoir lieu. La distance doit être indiquée et elle doit être supérieure à zéro. Vous pouvez choisir une unité préférée. Par défaut, l'unité de l'entité est spécifiée.

Linear Unit
Superficie minimale
(Facultatif)

Superficie minimale pour qu'un polygone agrégé soit conservé. La valeur par défaut est de zéro, auquel cas tous les polygones sont conservés. Vous pouvez spécifier une unité préférée. Par défaut, l'unité de l'entité est spécifiée.

Areal Unit
Taille de discontinuité minimale
(Facultatif)

Taille minimale d'un trou polygonal à conserver. La valeur par défaut est de zéro, auquel cas tous les trous polygonaux sont conservés. Vous pouvez spécifier une unité préférée. Par défaut, l'unité de l'entité est spécifiée.

Areal Unit
Conserver la forme orthogonale
(Facultatif)

Précise la caractéristique des entités en sortie à conserver lors de la création des limites agrégées.

  • Désactivé -- des entités en sortie de forme organique sont créées. Cette option est adaptée aux entités naturelles, telles que la végétation ou les polygones de sol. Il s’agit de l’option par défaut.
  • Activés -- des entités en sortie de forme orthogonale sont créées. Cette option est adaptée pour conserver la caractéristique géométrique d’entités anthropogéniques en entrée, telles que les emprises de bâtiment.
Boolean
Entités d'interruption
(Facultatif)

Couches contenant les entités linéaires ou surfaciques qui constituent des interruptions d'agrégation pour les entités en entrée. Les entités ne seront pas agrégées à travers des entités interruptions. Les entités interruptions en conflit géométrique avec les entités en entrée sont ignorées.

Feature Layer
Table en sortie
(Facultatif)

Table de relations un vers plusieurs reliant les polygones agrégés à leurs entités surfaciques source. Cette table contient deux champs, OUTPUT_FIDet INPUT_FID, stockant respectivement les identifiants des entités agrégées et les identifiants des entités source correspondantes. Cette table permet de dériver les attributs nécessaires pour les entités en sortie de leurs entités source. Le nom par défaut de cette table est le nom de la classe d'entités en sortie, auquel on ajoute _tbl. Le chemin d'accès par défaut est le même que celui de la classe d'entités en sortie. Aucune table n'est créée lorsque ce paramètre est laissé vide.

Table
Champ d’agrégation
(Facultatif)

Champ contenant les attributs pour l’agrégation. Les entités doivent avoir la même valeur attributaire pour être prises en compte pour l’agrégation. Par exemple, utilisez un champ de classification de bâtiment comme champ d’agrégation pour éviter que les bâtiments commerciaux soient agrégés avec des bâtiments résidentiels.

Field

arcpy.cartography.AggregatePolygons(in_features, out_feature_class, aggregation_distance, {minimum_area}, {minimum_hole_size}, {orthogonality_option}, {barrier_features}, {out_table}, {aggregate_field})
NomExplicationType de données
in_features

Entités surfaciques à agréger. Si cette couche référence une représentation et des débrayages de forme présents sur les entités en entrée, les formes remplacées, et non les formes de l'entité, sont prises en compte dans le traitement d'agrégation.

Feature Layer
out_feature_class

Classe d'entités en sortie à créer.

Feature Class
aggregation_distance

Distance à satisfaire entre les limites des polygones pour que l’agrégation puisse avoir lieu. La distance doit être indiquée et elle doit être supérieure à zéro. Vous pouvez choisir une unité préférée. Par défaut, l'unité de l'entité est spécifiée.

Linear Unit
minimum_area
(Facultatif)

Superficie minimale pour qu'un polygone agrégé soit conservé. La valeur par défaut est de zéro, auquel cas tous les polygones sont conservés. Vous pouvez spécifier une unité préférée. Par défaut, l'unité de l'entité est spécifiée.

Areal Unit
minimum_hole_size
(Facultatif)

Taille minimale d'un trou polygonal à conserver. La valeur par défaut est de zéro, auquel cas tous les trous polygonaux sont conservés. Vous pouvez spécifier une unité préférée. Par défaut, l'unité de l'entité est spécifiée.

Areal Unit
orthogonality_option
(Facultatif)

Précise la caractéristique des entités en sortie à conserver lors de la création des limites agrégées.

  • NON_ORTHOGONALDes entités en sortie de forme organique sont créées. Cette option est adaptée aux entités naturelles, telles que la végétation ou les polygones de sol. Il s’agit de l’option par défaut.
  • ORTHOGONALDes entités en sortie de forme orthogonale sont créées. Cette option est adaptée pour conserver la caractéristique géométrique d’entités anthropogéniques en entrée, telles que les emprises de bâtiment.
Boolean
barrier_features
[barrier_features,...]
(Facultatif)

Couches contenant les entités linéaires ou surfaciques qui constituent des interruptions d'agrégation pour les entités en entrée. Les entités ne seront pas agrégées à travers des entités interruptions. Les entités interruptions en conflit géométrique avec les entités en entrée sont ignorées.

Feature Layer
out_table
(Facultatif)

Table de relations un vers plusieurs reliant les polygones agrégés à leurs entités surfaciques source. Cette table contient deux champs, OUTPUT_FIDet INPUT_FID, stockant respectivement les identifiants des entités agrégées et les identifiants des entités source correspondantes. Cette table permet de dériver les attributs nécessaires pour les entités en sortie de leurs entités source. Le nom par défaut de cette table est le nom de la classe d'entités en sortie, auquel on ajoute _tbl. Le chemin d'accès par défaut est le même que celui de la classe d'entités en sortie. Aucune table n'est créée lorsque ce paramètre est laissé vide.

Table
aggregate_field
(Facultatif)

Champ contenant les attributs pour l’agrégation. Les entités doivent avoir la même valeur attributaire pour être prises en compte pour l’agrégation. Par exemple, utilisez un champ de classification de bâtiment comme champ d’agrégation pour éviter que les bâtiments commerciaux soient agrégés avec des bâtiments résidentiels.

Field

Exemple de code

Exemple 1 d’utilisation de la fonction AggregatePolygons (fenêtre Python)

Le script ci-dessous pour la fenêtre Python illustre l’utilisation de la fonction AggregatePolygons en mode immédiat.

Cet exemple utilise un champ de classification pour l’agrégation des entités ayant les mêmes valeurs de classification. Un paramètre d’environnement est utilisé pour transférer les propriétés de champ de géodatabase telles que le domaine et les sous-types du champ d’agrégation vers la classe d’entités en sortie.

import arcpy
arcpy.env.cartographicPartitions = "C:/data/county.gdb/zipcodepoly"
arcpy.env.transferGDBAttributeProperties = True

buildings = "C:/data/county.gdb/bldgspoly"
roads = "C:/data/county.gdb/roadnetwork"
output = "C:/data/county.gdb/BldgAggBarrierPartition"
output_table = "C:/data/county.gdb/BldgAggBarrierPartition_Tbl"
aggregate_field = "Classification"

arcpy.AggregatePolygons_cartography(buildings, output, "20 Meters", 
                                    "50 SquareMeters", "0 SquareMeters", 
                                    "ORTHOGONAL", roads, output_table, 
                                    aggregate_field)
Exemple 2 d'utilisation de la fonction AggregatePolygons (script autonome)

Le script autonome ci-dessous illustre l’utilisation de la fonction AggregatePolygons.

# Name: AggregatePolygons_Example2.py
# Description: Aggregate grass features and then transfer attributes
 
# Import system modules
import arcpy
import arcpy.cartography as CA
import arcpy.management as DM
import arcpy.analysis as AN
  
# Set environment settings
arcpy.env.workspace = "C:/data/Portland.gdb/Vegetation"
 
# Set local variables
inGrassFeatures = "grass"
aggregatedFeatures = "C:/data/PortlandOutput.gdb/grassland"
aggregatedTable = "C:/data/PortlandOutput.gdb/grassland_Tbl"
frequencyTable = "C:/data/PortlandOutput.gdb/frequency_Tbl"

# Aggregate grass polygons.
CA.AggregatePolygons(inGrassFeatures, aggregatedFeatures, 50, 300, 300, 
                     "NON_ORTHOGONAL", "", aggregatedTable)
 
# Join the aggregatedTable with input and
# transfer the COUNT field to aggregatedTable.
DM.JoinField(aggregatedTable, "INPUT_FID", inGrassFeatures, "OBJECTID", "COUNT")
 
# Use Frequency on aggregatedTable and
# obtain sum for COUNT.
AN.Frequency(aggregatedTable, frequencyTable, "OUTPUT_FID", "COUNT")

# Join the aggregatedFeatures with frequencyTable
# and transfer the COUNT field to aggregatedFeatures.
DM.JoinField(aggregatedFeatures, "OBJECTID", frequencyTable, "OUTPUT_FID", 
             "COUNT")

Informations de licence

  • Basic: Non
  • Standard: Non
  • Advanced: Oui

Rubriques connexes