Simplifier des bâtiments (Cartographie)
Récapitulatif
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 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.
-
La classe d'entités en sortie comporte un champ nommé BLD_STATUS qui indique l'état de la simplification :
- 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 nommé BLD_STATUS existe déjà dans la classe d'entités en entrée, il sera présent dans la classe d'entités en sortie avec de nouvelles valeurs. Les valeurs existantes seront écrasées. Si vous souhaitez préserver les valeurs existantes, créez un nouveau 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étectera des conflits spatiaux et ajoutera un nouveau champ, nommé SimBldFlag, à la sortie pour stocker les indicateurs en conflit. Une valeur de 0 signifie aucun conflit ; une valeur de 1 signifie conflit.
Attention :Si un champ nommé SimBldFlag existe déjà dans la classe d'entités en entrée, il sera 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é (NO_CHECK dans Python). Lorsque les conflits spatiaux ne sont pas vérifiés, ce champ existant est remplacé par des valeurs NULL. Si vous souhaitez préserver les valeurs existantes, créez un nouveau 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. Ailleurs, les valeurs z seront dérivées des valeurs Z existantes ou par le biais 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 un polygone multi-parties, mais apparaîtra toujours comme s'entrecoupant.
Syntaxe
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 |
Définit la 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) |
Définit la 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 s'il convient ou non de vérifier l'existence de conflits, c'est-à-dire de voir si certains bâtiments se touchent ou se superposent. Un nouveau champ nommé SimBldFlag est ajouté à la sortie pour stocker les indicateurs en conflit. Une valeur de 0 signifie aucun conflit ; une valeur de 1 signifie conflit.
| Boolean |
Exemple de code
Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction SimplifyBuilding en mode immédiat.
import arcpy
from arcpy import env
import arcpy.cartography as CA
env.workspace = "C:/data"
CA.SimplifyBuilding("buildings.shp", "C:/output/output.gdb/simplified_buildings", 10)
Le script autonome suivant montre comment utiliser la fonction SimplifyBuilding.
# Name: SimplifyBuilding_Example2.py
# Description: Aggregate building features and then simplify them
# Import system modules
import arcpy
from arcpy import env
import arcpy.cartography as CA
# Set environment settings
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)