Résumé
Simplifie les limites ou l'emprise de polygones représentant un bâtiment tout en conservant leur taille et leur forme principales.
Illustration
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é.
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.
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.
Syntaxe
arcpy.cartography.SimplifyBuilding(in_features, out_feature_class, simplification_tolerance, {minimum_area}, {conflict_option}, {in_barriers})
Paramètre | Explication | Type 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.
| 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 dérivée
Nom | Explication | Type 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"
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")
Environnements
Informations de licence
- Basic: Non
- Standard: Non
- Advanced: Oui