Simplifier des bâtiments (Cartographie)

Synthèse

Simplifie les limites ou l'emprise de polygones représentant un bâtiment tout en conservant leur taille et leur forme principales.

Illustration

Illustration des options de l’outil Simplifier des bâtiments
La tolérance de simplification permet de simplifier les bâtiments en supprimant les petits détails, couloirs étroits et entités d’une surface inférieure à la surface minimum.

Utilisation

  • Le paramètre Minimum Area (Superficie minimale) s’applique uniquement aux bâtiments simplifiés. Tous les bâtiments dont la surface est inférieure à la valeur minimale au terme du processus de simplification seront supprimés de la classe d'entités en sortie.

  • Utilisez le paramètre Input barrier layers (Couches de barrière en entrée) pour identifier les entités qui ne doivent pas être traversées par des bâtiments simplifiés. Les entités interruptions peuvent être des points, des lignes ou des polygones.

  • La classe d’entités en sortie comporte un champ BLD_STATUSindiquant l’état de la simplification, comme suit :

    • 1 : un seul bâtiment a été simplifié,
    • 2 : un seul bâtiment a été simplifié à son rectangle d’emprise minimale,
    • 3 : un bâtiment plus petit que la tolérance au carré a été simplifié à son rectangle d’emprise minimale,
    • 5 : un bâtiment qui n’a pas été simplifié.
    Héritage :

    Dans les versions antérieures à ArcGIS 10, BLD_STATUS = 4 indiquait des bâtiments simplifiés ou partiellement simplifiés reliés par des lignes droites. BLD_STATUS = 4 n'est plus utilisé.

    Attention :

    Si un champ BLD_STATUSexiste déjà dans la classe d’entités en entrée, il est présent dans la classe d’entités en sortie avec de nouvelles valeurs. Les valeurs existantes seront écrasées. Pour préserver les valeurs existantes, créez un champ dans la classe d’entités en entrée et copiez les valeurs existantes du champ BLD_STATUS dans ce nouveau champ.

  • Si le paramètre Détecter les conflits spatiaux est utilisé, l’outil détecte des conflits spatiaux et ajoute un champ SimBldFlag à la sortie pour stocker les indicateurs de conflit. Une valeur de 0 signifie aucun conflit ; une valeur de 1 signifie conflit.

    Attention :

    Si un champ SimBldFlagexiste déjà dans la classe d’entités en entrée, il est présent dans la classe d’entités en sortie avec de nouvelles valeurs. Les valeurs existantes seront remplacées même si ce paramètre n'est pas sélectionné (conflict_option = "NO_CHECK" dans Python). Lorsque les conflits spatiaux ne sont pas vérifiés, ce champ existant est remplacé par des valeurs NULL. Pour préserver les valeurs existantes, créez un champ dans la classe d’entités en entrée et copiez les valeurs existantes du champ SimBldFlag dans ce nouveau champ.

  • Cet outil ne peut pas être exécuté dans une session de mise à jour.

  • Les valeurs z en entrée peuvent être conservées si elles sont spécifiées dans les paramètres d’environnement. Lorsque des sommets en sortie coïncident avec des sommets d’entités en entrée, les valeurs z seront transférées vers les sommets en sortie. Dans le cas contraire, les valeurs z seront dérivées des valeurs z existantes ou par l’intermédiaire d’une interpolation.

  • Il se peut qu'une géométrie non valide (qui s'entrecoupe) soit créée pendant le processus de simplification. Celle-ci sera réparée, mais non améliorée. Par exemple, si un polygone s'entrecoupe, il sera transformé en polygone multi-parties, mais apparaîtra toujours comme s'entrecoupant.

  • Le traitement de jeux de données volumineux peut dépasser les limites de mémoire. Dans ces 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 résultante sera transparente et cohérente aux tronçons de partition. Reportez-vous à Généralisation de jeux de données volumineux à l'aide de partitions pour en savoir plus.

Paramètres

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

Polygones de bâtiments à simplifier.

Feature Layer
Classe d’entités en sortie

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

Feature Class
Tolérance de simplification

Tolérance applicable à la simplification des bâtiments. Une tolérance supérieure à zéro doit être spécifiée. 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)

Surface minimale pour qu’un bâtiment simplifié soit conservé, en unités d’entité. La valeur par défaut est zéro, qui conserve tous les bâtiments. Vous pouvez spécifier une unité préférée. Par défaut, l'unité de l'entité est spécifiée.

Areal Unit
Détecter les conflits spatiaux
(Facultatif)

Spécifie si les conflits spatiaux seront identifiés, c’est-à-dire si certains bâtiments se touchent ou se superposent. Un champ SimBldFlagest ajouté à la sortie pour stocker les indicateurs de conflit. Une valeur de 0 signifie aucun conflit ; une valeur de 1 signifie conflit.

  • Désactivé : les conflits spatiaux ne seront pas identifiés, les bâtiments qui en résultent peuvent se superposer. Il s’agit de l’option par défaut.
  • Activé : les conflits spatiaux seront identifiés et les bâtiments en conflit seront signalés.

Boolean
Couches de barrières en entrée
(Facultatif)

Les couches en entrée contenant les entités jouant le rôle de barrières pour simplification. Les bâtiments simplifiés obtenus ne toucheront pas ni ne traverseront les entités interruptions. Par exemple, lors de la simplification des bâtiments, les superficies de bâtiments simplifiés résultantes ne traversent pas les entités de route définies comme limites.

Feature Layer

Sortie obtenue

ÉtiquetteExplicationType de données
Polygones réduits en surface nulle

Classe d’entités ponctuelles en sortie qui enregistrera les points représentant les bâtiments supprimés car inférieurs à la valeur du paramètre Superficie minimale (minimum_area dans Python). Ce paramètre est utilisé uniquement lorsque le paramètre Conserver les points éliminés est activé (collapsed_point_option = "KEEP_COLLAPSED_POINTS" dans Python).

Feature Class

arcpy.cartography.SimplifyBuilding(in_features, out_feature_class, simplification_tolerance, {minimum_area}, {conflict_option}, {in_barriers})
NomExplicationType de données
in_features

Polygones de bâtiments à simplifier.

Feature Layer
out_feature_class

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

Feature Class
simplification_tolerance

Tolérance applicable à la simplification des bâtiments. Une tolérance supérieure à zéro doit être spécifiée. 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)

Surface minimale pour qu’un bâtiment simplifié soit conservé, en unités d’entité. La valeur par défaut est zéro, qui conserve tous les bâtiments. Vous pouvez spécifier une unité préférée. Par défaut, l'unité de l'entité est spécifiée.

Areal Unit
conflict_option
(Facultatif)

Spécifie si les conflits spatiaux seront identifiés, c’est-à-dire si certains bâtiments se touchent ou se superposent. Un champ SimBldFlagest ajouté à la sortie pour stocker les indicateurs de conflit. Une valeur de 0 signifie aucun conflit ; une valeur de 1 signifie conflit.

  • NO_CHECKLes conflits spatiaux ne seront pas identifiés, les bâtiments qui en résultent peuvent se superposer. Il s’agit de l’option par défaut.
  • CHECK_CONFLICTSLes conflits spatiaux seront identifiés et les bâtiments en conflit seront signalés.
Boolean
in_barriers
[in_barriers,...]
(Facultatif)

Les couches en entrée contenant les entités jouant le rôle de barrières pour simplification. Les bâtiments simplifiés obtenus ne toucheront pas ni ne traverseront les entités interruptions. Par exemple, lors de la simplification des bâtiments, les superficies de bâtiments simplifiés résultantes ne traversent pas les entités de route définies comme limites.

Feature Layer

Sortie obtenue

NomExplicationType de données
out_point_feature_class

Classe d’entités ponctuelles en sortie qui enregistrera les points représentant les bâtiments supprimés car inférieurs à la valeur du paramètre Superficie minimale (minimum_area dans Python). Ce paramètre est utilisé uniquement lorsque le paramètre Conserver les points éliminés est activé (collapsed_point_option = "KEEP_COLLAPSED_POINTS" dans Python).

Feature Class

Exemple de code

Exemple 1 d'utilisation de l'outil Simplifier des bâtiments (fenêtre Python)

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

import arcpy
import arcpy.cartography as CA
arcpy.env.workspace = "C:/data"
CA.SimplifyBuilding("buildings.shp", "C:/output/output.gdb/simplified_buildings", 10)