Réduire les polygones hydrologiques (Cartographie)

Synthèse

Réduit ou réduit partiellement les polygones hydrologiques en un axe médian selon une largeur de réduction.

Illustration

Illustration de l’outil Réduire les polygones hydrologiques

Utilisation

  • Cet outil est optimisé pour réduire les entités qu’il serait approprié de représenter sous la forme de lignes à de petites échelles. Envisagez d’exécuter cet outil plusieurs fois à des largeurs de réduction différentes pour créer une sortie adaptée à différentes échelles. Les entités surfaciques compactes en entrée peuvent produire des axes médians inattendus sauf si elles intersectent une entrée connectant des entités linéaires hydrologiques.

  • Les performances de l’outil dépendent de la propreté des données. Les entités surfaciques en entrée superposées ou les déconnexions dans le réseau hydrologique entre les lignes en entrée et les polygones peuvent provoquer des résultats inattendus.

  • Les trous ou les îles dans les polygones en entrée se traduisent par des axes médians formant une branche autour des trous. Pour éviter cela, supprimez les trous des polygones en entrée à l’aide de l’outil Éliminer des parties de polygone avant d’exécuter cet outil.

  • Le traitement de jeux de données hydrologiques volumineux peut dépasser les limites de mémoire. Dans ce cas, traitez 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 des données, définies par les limites des partitions, sont traitées séquentiellement.

    Une fois toutes les partitions traitées, les sorties des classes d’entités surfaciques et linéaires sont générées simultanément Ces classes d’entités sont transparentes et ne sont pas fractionnées au niveau des tronçons de partition.

    Reportez-vous à Généralisation de jeux de données volumineux à l'aide de partitions pour en savoir plus.

  • Les entités surfaciques individuelles en entrée et de grande taille peuvent être longues à traiter ; évitez de dissoudre des polygones en entrée avant d’exécuter cet outil. Si les polygones doivent d’abord être dissous, cochez le paramètre Fusionner les polygones en entrée adjacents. Avec ce paramètre activé, l’outil fusionne les polygones en entrée sans créer de polygones de grande taille tout en maintenant une connectivité correcte dans le réseau hydrolique. Les lignes en sortie sont fractionnées au niveau des limites des polygones en entrée d’origine.

    Pour éviter des temps de traitement longs, il peut être nécessaire de fractionner les polygones en entrée en entités plus petites à l’aide de l’outil Segmenter si ces polygones sont très volumineux. Utilisez l’outil Simplifier le polygone afin de réduire le nombre de sommets pour améliorer les performances.

  • Une classe d’entités surfaciques en sortie doit être spécifiée lorsque la valeur de largeur de réduction est définie sur une distance supérieure à 0. Les polygones en sortie contiennent des polygones dont la largeur dépasse la largeur de réduction. Les polygones peuvent être partiellement réduits s’ils n’ont qu’une seule partie qui est inférieure à la valeur de largeur de réduction. Des lignes en sortie sont créées pour tous les polygones en entrée, y compris ceux dont la taille dépasse la valeur de largeur de réduction. Avec une valeur de largeur de réduction égale à 0, tous les polygones en entrée sont entièrement réduits et aucune classe d’entités surfaciques en sortie n’est créée.

  • La classe d’entités linéaires en sortie comprend un champ nommé COLLAPSED. Ce champ contient une valeur égale à 0 pour correspondre aux polygones n’ayant pas été réduits et une valeur égale à 1 pour les polygones ayant été réduits.

  • Si la valeur de largeur de réduction est définie sur une distance supérieure à 0, utilisez les paramètres Collapse Width Tolerance (%) (Tolérance de largeur de réduction (%)) et Minimum Length (Longueur minimum) pour éviter des oscillations dans les polygones partiellement réduits. Les oscillations se produisent lorsqu’une rivière de polygone est partiellement réduite et développée sur sa longueur, avec pour résultat une chaîne de petits lacs de polygone connectés par des rivières à une seule ligne. Les sections des polygones partiellement réduits se trouvant dans la valeur de pourcentage de tolérance de largeur de réduction sont analysées et le contexte environnant est pris en compte pour choisir de réduire ou non cette partie de l’entité surfacique. Si la portion du polygone en cours d’analyse est plus courte que la valeur de longueur minimum, la largeur de réduction peut être ignorée pour empêcher une oscillation‎ La longueur minimum repose sur la longueur de l’axe médian créé pour le polygone.

  • Les polygones partiellement créés sont effilés au niveau des points de connexion avec des lignes en sortie pour créer une transition fluide entre les polygones réduits et ceux qui ne le sont pas. La longueur de chaque effilement est contrôlée par le paramètre Taper Length Percentage (Pourcentage de longueur d’effilement), qui définit la longueur d’effilement sur un pourcentage de la largeur du polygone partiellement réduit à l’emplacement de l’effilement. Une valeur de pourcentage de longueur d’effilement égale à 0 empêche tout effilement.

  • La classe d’entités linéaires en sortie possède des champs attributaires contenant les ID des entités utilisées pour les créer. Utilisez ces valeurs pour joindre des entités en sortie à leur entrée correspondante selon les besoins.

    • InPoly_ID—Nombre représentant l’ordre d’entrée de la classe d’entités surfaciques qui contient le polygone utilisé pour créer l’entité linéaire en sortie. Une table nommée <out_line_feature_class>_InPoly_DecodeID est enregistrée dans l’emplacement en sortie reliant les valeurs InPoly_ID aux noms des classes d’entités en entrée. Si l’emplacement en sortie est spécifié dans un jeu de données d’entités, la table est créée un niveau plus haut, à celui de la géodatabase.
    • InPoly_FIDOBJECTID de l’entité surfacique en entrée utilisée pour créer la ligne en sortie.
    • InLine_ID—Nombre représentant l’ordre d’entrée de l’entrée qui connecte la classe d’entités linéaires hydroliques contenant l’entité connectée à l’entité linéaire en sortie. Une table nommée <out_line_feature_class>_InLine_DecodeID est enregistrée dans l’emplacement en sortie reliant les valeurs InLine_ID aux noms des classes d’entités en entrée. Si l’emplacement en sortie est spécifié dans un jeu de données d’entités, la table est créée un niveau plus haut, à celui de la géodatabase.
    • InLine_FIDOBJECTID de l’entrée connectant l’entité linéaire hydrolique connectée à l’entité linéaire en sortie. Ce champ est défini sur la valeur -1 si aucune entité linéaire hydrolique n’est connectée à l’entité linéaire en sortie.

    Les polygones en sortie comprennent également les attributs InPoly_ID et InPolyFID contenant les ID des classes d’entités et les entités utilisées pour les créer. Un seul numéro d’ID est enregistré dans chaque attribut si plusieurs lignes de connexion en entrée sont utilisées pour créer une seule entité en sortie.

  • Les entités linéaires en sortie comprennent trois attributs de champ qui enregistrent les informations concernant la largeur des entités surfaciques en entrée correspondantes. La largeur est mesurée avec les unités linéaires de la référence spatiale de la sortie

    • MIN_WIDTH- Largeur minimum du polygone le long de la ligne en sortie.
    • MAX_WIDTH- Largeur maximum du polygone le long de la ligne en sortie.
    • AVG_WIDTH- Largeur moyenne du polygone le long de la ligne en sortie.

Paramètres

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

Une ou plusieurs couches d’entités contenant des polygones hydroliques.

Feature Layer
Classe d’entités linéaires en sortie

Classe d’entités linéaires contenant les axes médians des polygones réduits. Elle contient les axes médians de tous les polygones en entrée, y compris ce ceux qui ne sont pas réduits. La classe d’entités contient un attribut COLLAPSED qui indique si l’entité d’axe médian représente ou non un polygone réduit.

Feature Class
Fusionner les polygones en entrée adjacents
(Facultatif)

Indique si les polygones en entrée adjacents sont fusionnés ou non avant le calcul des axes médians.

  • Activé : les polygones hydroliques en entrée sont fusionnés ou non avant le calcul des axes médians. Il s’agit de l’option par défaut.
  • Désactivé : les axes médians sont calculés à partir des polygones hydroliques en entrée qui ne sont pas fusionnés.

Boolean
Connexion d’entités linéaires hydrologiques
(Facultatif)

Entités linéaires hydroliques en entrée se connectant aux polygones hydroliques en entrée à réduire. Des entités linéaires sont créées pour maintenir ces connexions.

Feature Layer
Largeur de réduction
(Facultatif)

Largeur de seuil d’un polygone hydrolique en entrée à prendre en compte pour la réduction. Tous les polygones en dessous de la largeur spécifiée sont réduits. La valeur par défaut est 0, qui réduit toutes les entités.

Linear Unit
Tolérance de largeur de réduction (%)
(Facultatif)

Tolérance en pourcentage dans laquelle les entités sont analysées et le contexte environnant pris en compte lors du choix de réduire ou non une entité. Cela permet de minimiser les oscillations dans la réduction. La valeur par défaut est de 20 %. Ce paramètre n’est appliqué que lorsque la valeur du paramètre Collapse Width (Largeur de réduction) est spécifiée.

Double
Longueur minimale
(Facultatif)

Longueur minimum requise pour qu’un polygone soit retenu dans la classe d’entités surfaciques en sortie. La longueur minimum repose sur la longueur de l’axe médian créé pour le polygone. Si l’axe médian d’un polygone est plus long que la largeur de réduction mais plus court que la longueur minimum, le polygone n’est pas inclus dans la classe d’entités surfaciques en sortie. La valeur par défaut est 0. Ce paramètre n’est appliqué que lorsque la valeur du paramètre Collapse Width (Largeur de réduction) est spécifiée.

Linear Unit
Pourcentage de longueur d’effilement
(Facultatif)

Longueur sur laquelle les connexions entre les polygones dans la classe d’entités surfaciques en sortie et la classe d’entités linéaires en sortie sont effilées. Ce paramètre spécifie la longueur de l’effilement sous la forme d’un pourcentage de la largeur à l’emplacement de connexion. Une valeur de pourcentage de longueur d’effilement égale à 0 aboutit à un effilement nul. La valeur par défaut est de 50. Ce paramètre n’est appliqué que lorsque la valeur du paramètre Collapse Width (Largeur de réduction) est spécifiée.

Double
Classe d’entités surfaciques en sortie
(Facultatif)

Classe d’entités surfaciques contenant les parties des polygones hydrologiques en entrée qui ne sont pas réduites. Ce paramètre n’est appliqué que lorsque la valeur du paramètre Collapse Width (Largeur de réduction) est spécifiée.

Feature Class

Sortie obtenue

ÉtiquetteExplicationType de données
Table d’ID de décodage InPoly

Table reliant les valeurs de InPoly_ID aux noms des entités surfaciques hydrologiques en entrée. La table est créée au même emplacement que la valeur de Classe d’entités linéaires en sortie. Si la valeur de Classe d’entités linéaires en sortie est spécifiée dans un jeu de classes d’entités, la table est créée un niveau plus haut, à savoir au niveau de la géodatabase.

Table
Table d’ID de décodage InLine

Table reliant les valeurs de InLine_ID aux noms des entités linéaires hydrologiques de la connexion. La table est créée au même emplacement que la valeur de Classe d’entités linéaires en sortie. Si la valeur de Classe d’entités linéaires en sortie est spécifiée dans un jeu de classes d’entités, la table est créée un niveau plus haut, à savoir au niveau de la géodatabase.

Table

arcpy.cartography.CollapseHydroPolygon(in_features, out_line_feature_class, {merge_adjacent_input_polygons}, {connecting_features}, {collapse_width}, {collapse_width_tolerance}, {minimum_length}, {taper_length_percentage}, {out_poly_feature_class})
NomExplicationType de données
in_features
[in_features,...]

Une ou plusieurs couches d’entités contenant des polygones hydroliques.

Feature Layer
out_line_feature_class

Classe d’entités linéaires contenant les axes médians des polygones réduits. Elle contient les axes médians de tous les polygones en entrée, y compris ce ceux qui ne sont pas réduits. La classe d’entités contient un attribut COLLAPSED qui indique si l’entité d’axe médian représente ou non un polygone réduit.

Feature Class
merge_adjacent_input_polygons
(Facultatif)

Indique si les polygones en entrée adjacents sont fusionnés ou non avant le calcul des axes médians.

  • MERGE_ADJACENTLes polygones hydroliques en entrée sont fusionnés ou non avant le calcul des axes médians. Il s’agit de l’option par défaut.
  • NO_MERGELes axes médians sont calculés à partir des polygones hydroliques en entrée qui ne sont pas fusionnés.
Boolean
connecting_features
[connecting_features,...]
(Facultatif)

Entités linéaires hydroliques en entrée se connectant aux polygones hydroliques en entrée à réduire. Des entités linéaires sont créées pour maintenir ces connexions.

Feature Layer
collapse_width
(Facultatif)

Largeur de seuil d’un polygone hydrolique en entrée à prendre en compte pour la réduction. Tous les polygones en dessous de la largeur spécifiée sont réduits. La valeur par défaut est 0, qui réduit toutes les entités.

Linear Unit
collapse_width_tolerance
(Facultatif)

Tolérance en pourcentage dans laquelle les entités sont analysées et le contexte environnant pris en compte lors du choix de réduire ou non une entité. Cela permet de minimiser les oscillations dans la réduction. La valeur par défaut est de 20 %. Ce paramètre n’est appliqué que lorsque la valeur du paramètre collapse_width est spécifiée.

Double
minimum_length
(Facultatif)

Longueur minimum requise pour qu’un polygone soit retenu dans la classe d’entités surfaciques en sortie. La longueur minimum repose sur la longueur de l’axe médian créé pour le polygone. Si l’axe médian d’un polygone est plus long que la largeur de réduction mais plus court que la longueur minimum, le polygone n’est pas inclus dans la classe d’entités surfaciques en sortie. La valeur par défaut est 0. Ce paramètre n’est appliqué que lorsque la valeur du paramètre collapse_width est spécifiée.

Linear Unit
taper_length_percentage
(Facultatif)

Longueur sur laquelle les connexions entre les polygones dans la classe d’entités surfaciques en sortie et la classe d’entités linéaires en sortie sont effilées. Ce paramètre spécifie la longueur de l’effilement sous la forme d’un pourcentage de la largeur à l’emplacement de connexion. Une valeur de pourcentage de longueur d’effilement égale à 0 aboutit à un effilement nul. La valeur par défaut est de 50. Ce paramètre n’est appliqué que lorsque la valeur du paramètre collapse_width est spécifiée.

Double
out_poly_feature_class
(Facultatif)

Classe d’entités surfaciques contenant les parties des polygones hydrologiques en entrée qui ne sont pas réduites. Ce paramètre n’est appliqué que lorsque la valeur du paramètre collapse_width est spécifiée.

Feature Class

Sortie obtenue

NomExplicationType de données
in_poly_decode_id_table

Table reliant les valeurs de InPoly_ID aux noms des entités linéaires hydrologiques de la connexion. La table est créée au même emplacement que la valeur de out_line_feature_class. Si la valeur de out_line_feature_class est spécifiée dans un jeu de données d’entités, la table est créée un niveau plus haut, à savoir au niveau de la géodatabase.

Table
in_line_decode_id_table

Table reliant les valeurs de InLine_ID aux noms des entités linéaires hydrologiques de la connexion. La table est créée au même emplacement que la valeur de out_line_feature_class. Si la valeur de out_line_feature_class est spécifiée dans un jeu de données d’entités, la table est créée un niveau plus haut, à savoir au niveau de la géodatabase.

Table

Exemple de code

Exemple 1 d’utilisation de l’outil CollapseHydroPolygon (script autonome)

Cet exemple montre comment utiliser la fonction CollapseHydroPolygon pour créer un axe médian à partir d’une entité surfacique.

# Name: CollapseHydroPolygon_sample1.py
# Description: Collapse all water polygons to produce centerlines

# Import System Modules
import arcpy
arcpy.env.workspace = r"C:/data/Hydro.gdb"

# Execute Collapse Hydro Polygon
arcpy.cartography.CollapseHydroPolygon('WaterPolygons', 'HydroCenterlinesOut')
Exemple 2 d’utilisation de l’outil CollapseHydroPolygon (script autonome)

Cet exemple montre comment utiliser la fonction CollapseHydroPolygon pour créer un axe médian à partir d’une entité surfacique dont la largeur est inférieure à la largeur de réduction spécifiée. Les entités de connexion sont utilisées pour maintenir les connexions entre les axes médians créés et les entités de connexion.

# Name: CollapseHydroPolygon_sample2.py
# Description: Select the rivers and collapse features that are
#               below 6 meters wide to produce centerlines.

# Import System Modules
import arcpy
arcpy.env.workspace = r"C:/data/Hydro.gdb"

# Setting Local Variables
in_features = 'WaterPolygons'
out_line_feature_class = 'HydroCenterlinesOut'
merge_adjacent_input_polygons = False # default is True or "MERGE_ADJACENT"
connection_features = 'WaterLines'
collapse_width = "6 Meters"           # default is '0 Meters'
collapse_width_tolerance = 20         # default is 20
minimum_length = "10 Meters"          # default is '0 Meters' 
taper_length_percentage = 50          # default is 50
out_poly_feature_class =  'HydroPolyOut'

# Select only the Rivers
inputLyr = arcpy.MakeFeatureLayer_management(in_features,
                                             "inputLyr",
                                             "FTYPE = 'rivers'")

# Execute Collapse Hydro Polygon
arcpy.cartography.CollapseHydroPolygon(inputLyr,
                                       out_line_feature_class,
                                       merge_adjacent_input_polygons,
                                       connection_features,
                                       collapse_width,
                                       collapse_width_tolerance,
                                       minimum_length,
                                       taper_length_percentage,
                                       out_poly_feature_class)

Informations de licence

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

Rubriques connexes