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.

  • Utilisez le paramètre Conserver les points éliminés (collapsed_point_option dans Python) pour créer une classe d’entités ponctuelles en sortie afin d’enregistrer les points représentant les bâtiments supprimés car plus petits que la surface minimum. La sortie du point est dérivée ; elle utilisera le même nom et le même emplacement que le paramètre Classe d’entités en sortie (out_feature_class dans Python), mais avec un suffixe _Pnt. La classe d'entités surfaciques en sortie contient tous les champs présents dans la classe d'entités en entrée. La classe d'entités points en sortie ne contient aucun de ces champs.

  • 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.

  • Les domaines et sous-types sont copiés dans la sortie, même si l’environnement Transférer les propriétés de champ de géodatabase n’est pas sélectionné.

  • 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
Conserver les points éliminés
(Facultatif)

Indique si une classe d’entités ponctuelles en sortie sera créée pour enregistrer les centres des bâtiments supprimés car ils sont plus petits que le paramètre Minimum Area (Surface minimum). La sortie ponctuelle est dérivée ; elle portera le même nom que la classe d’entités en sortie que vous avez spécifiée via le paramètre Classe d’entités en sortie, mais avec un suffixe _Pnt, et se situera dans le même dossier.

  • Activé - Une classe d’entités ponctuelles en sortie dérivée sera créée pour enregistrer les centres des bâtiments supprimés.
  • Désactivé - Aucune classe ponctuelle en sortie ne sera créée. Il s’agit de l’option par défaut.
Boolean

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}, {collapsed_point_option})
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
collapsed_point_option
(Facultatif)

Indique si une classe d’entités ponctuelles en sortie sera créée pour enregistrer les centres des bâtiments supprimés car ils sont plus petits que la valeur du paramètre minimum_area. La sortie ponctuelle est dérivée ; elle portera le même nom que la classe d’entités en sortie que vous avez spécifiée via le paramètre out_feature_class, mais avec un suffixe _Pnt, et se situera dans le même dossier.

  • KEEP_COLLAPSED_POINTSUne classe d’entités ponctuelles en sortie dérivée sera créée pour enregistrer les centres des bâtiments supprimés.
  • NO_KEEPAucune classe d’entités ponctuelles en sortie ne sera créée. Il s’agit de l’option par défaut.
Boolean

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)
Exemple 2 d'utilisation de l'outil Simplifier des bâtiments (script autonome)

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

# Name: SimplifyBuilding_Example2.py
# Description: Aggregate building features and then simplify them.

# Import system modules
import arcpy
import arcpy.cartography as CA

# Set environment settings
arcpy.env.workspace = "C:/data/Portland.gdb/Buildings"

# Set local variables
inBuildingFeatures = "houses"
inBarrierFeatures = "roads"
aggregatedFeatures = "C:/data/PortlandOutput.gdb/residential_areas"
simplifiedFeatures = "C:/data/PortlandOutput.gdb/residential_simplified"

# Aggregate house polygons
CA.AggregatePolygons(inBuildingFeatures, aggregatedFeatures, 10, 100, 100, 
                     "ORTHOGONAL")

# Simplify residential building polygons
CA.SimplifyBuilding(aggregatedFeatures, simplifiedFeatures, 10, 100, 
                    "CHECK_CONFLICTS", inBarrierFeatures, 
                    "KEEP_COLLAPSED_POINTS")

Informations de licence

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

Rubriques connexes