Résumé
Résout les conflits de symboles entre bâtiments en fonction des entités d’interruption linéaires en déplaçant, en redimensionnant ou en masquant des bâtiments.
Illustration
Utilisation
Cet outil évalue les conflits graphiques des entités symbolisées. L’étendue de symbologie et l’échelle de référence sont utilisées conjointement. Exécutez cet outil uniquement après avoir finalisé l’apparence des symboles et assurez-vous que l’échelle de référence correspond à l’échelle finale voulue.
Pour en savoir plus sur cet outil, reportez-vous à la rubrique Fonctionnement de l'outil Résoudre des conflits de construction
La valeur du paramètre Champ d’invisibilité doit être présente et avoir le même nom pour toutes les classes d’entités en entrée. Les entités qui doivent rester visibles ont la valeur 0, celles qui doivent être supprimés de l'affichage la valeur 1. Utilisez un ensemble de définitions de couche ou une sélection pour afficher l’ensemble simplifié obtenu (à savoir, invisibility <> 1). Vous pouvez utiliser plusieurs champs d’invisibilité pour stocker des résultats (correspondant à des échelles en sortie différentes) sur la même classe d’entités.
Avant l'évaluation des conflits, les bâtiments polygonaux sont agrandis à une taille minimale spécifiée par le paramètre Taille de bâtiment minimale autorisée. La taille minimale est mesurée en tant que distance linéaire le long du côté le plus court d'une emprise pivotée la mieux ajustée à l'entité. Pour examiner la taille finale des bâtiments dans les résultats en sortie, ajoutez un double champ ou un champ flottant à chacune des classes d’entités de bâtiment en entrée appelées RBC_SIZE. Au cours de l’exécution de l’outil, ce champ sera mis à jour avec le plus petit côté d’une emprise pivotée autour de chaque entité.
Le paramètre Champ de hiérarchie est facultatif. S'il n'est pas spécifié, les bâtiments se verront affecter une importance relative selon le périmètre du bâtiment et leur proximité aux interruptions. Les bâtiments les plus grands les plus proches de plusieurs interruptions auront une importance plus grande que les plus petits bâtiments relativement éloignés d'une interruption. Vous pouvez utiliser un champ Hierarchy partiellement renseigné selon lequel une valeur hiérarchique est attribuée uniquement aux bâtiments significatifs. L’importance relative de toutes les autres entités (ayant une valeur de hiérarchie NULL) sera calculée en interne.
Si le paramètre Champ de hiérarchie est utilisé, vous pouvez faire en sorte que les bâtiments demeurent visibles en leur affectant une valeur de hiérarchie égale à 0 (zéro). Ils ne seront pas masqués par l'outil. Un bâtiment ayant une hiérarchie de zéro est considéré comme important en local. C’est pourquoi les bâtiments proches pourraient être compromis plus que la normale si ce bâtiment n’était pas visible. Les bâtiments avec une valeur de hiérarchie de zéro peuvent cependant être transformés (déplacés, orientés ou redimensionnés) pour résoudre les conflits et respecter d’autres paramètres requis.
Tous les bâtiments dont la géométrie est en conflit avec les interruptions (à savoir lorsque la géométrie réelle, et pas seulement la symbologie, des bâtiments chevauche celle d’une entité interruption telle qu’une route) ne seront pas déplacés de l’entité interruption. Ces bâtiments peuvent être marqués d'un indicateur en vue d'être masqués lors du traitement de la résolution des conflits, mais ne seront pas déplacés et un conflit demeurera.
Si la symbologie des entités interruptions n'est pas distribuée symétriquement dans la géométrie, c'est-à-dire, si le symbole est plus épais d'un côté de la ligne que de l'autre, une plus grande distance bâtiment-à-interruption peut apparaître sur le côté de l'interruption avec la symbologie plus mince.
Le traitement conjoint de grands jeux de données ou de plusieurs couches d'interruptions peut dépasser les limites de la mémoire. Dans ce cas, traitez les données de bâtiments en entrée par partition en identifiant une classe d'entités surfaciques pertinente dans le paramètre d'environnement Entités de partition. Les portions de données de bâtiments, définies par les limites des partitions, sont traitées séquentiellement. Les couches résultantes seront transparentes et cohérentes aux tronçons de partition. Reportez-vous à Fonctionnement de Résoudre des conflits de bâtiments pour plus d'informations sur l'exécution de cet outil avec le partitionnement.
Syntaxe
arcpy.cartography.ResolveBuildingConflicts(in_buildings, invisibility_field, in_barriers, building_gap, minimum_size, {hierarchy_field})
Paramètre | Explication | Type de données |
in_buildings [in_buildings,...] | Couches en entrée qui contiennent des entités de bâtiment susceptibles d’être en conflit, ou plus petites que la taille autorisée. Les bâtiments peuvent être des points ou des polygones. Les bâtiments seront modifiés pour résoudre les conflits impliquant d'autres bâtiments et des entités interruptions. | Layer |
invisibility_field | Champ qui stocke les valeurs d’invisibilité qui peuvent être utilisées pour supprimer des bâtiments de l’affichage afin de résoudre des conflits de symboles. Les bâtiments ayant une valeur de 1 sont supprimés de l’affichage, contrairement à ceux ayant une valeur de zéro. Utilisez un ensemble de définitions sur la couche pour afficher uniquement les bâtiments visibles. Aucune entité n'est supprimée. | String |
in_barriers [[Layer, Boolean, Linear Unit],...] | Couches qui contiennent les entités linéaires ou surfaciques qui constituent des interruptions en conflit avec les entités de bâtiment en entrée. Pour résoudre les conflits entre bâtiments et interruptions, les bâtiments seront modifiés. La valeur Orientation est Booléenne. Elle indique si les bâtiments seront orientés vers la couche d’interruptions. La valeur Distance spécifie la distance à laquelle les bâtiments seront rapprochés ou éloignés de la couche d’interruptions. Vous devez entrer une unité avec la valeur.
| Value Table |
building_gap | Distance minimale autorisée entre des bâtiments symbolisés à l'échelle. Les bâtiments qui sont les plus proches les uns des autres seront déplacés ou masqués pour appliquer cette distance. La distance minimale autorisée est définie en fonction de l'échelle de référence (par exemple, 15 mètres à une échelle de 1:50 000). La valeur est 0 si l’échelle de référence n’est pas définie. | Linear Unit |
minimum_size | Taille minimale autorisée du côté le plus court de l'emprise pivotée la mieux adaptée autour de l'entité de bâtiment symbolisée dessinée à l'échelle de référence. Un bâtiment doté d'une emprise dont un côté est plus petit que cette valeur sera agrandi qu'il la touche. Il se peut que le redimensionnement ne soit pas proportionnel, ce qui provoque un changement dans la morphologie des bâtiments. | Linear Unit |
hierarchy_field (Facultatif) | Champ qui contient le classement hiérarchique de l’importance des entités, où 1 correspond à « très important ». Plus les entiers sont grands, moins l’importance est grande. Une valeur de 0 (zéro) force le bâtiment à rester visible. Le bâtiment peut toutefois être quelque peu déplacé pour résoudre des conflits. Si ce paramètre n'est pas utilisé, l'importance des entités sera évaluée par l'outil selon la longueur du périmètre et la proximité aux entités interruptions. | String |
Sortie dérivée
Nom | Explication | Type de données |
out_layers | Entités en entrée mises à jour. | Layer |
Exemple de code
Exemple 1 d’utilisation de l’outil ResolveBuildingConflicts (fenêtre Python)
Le script ci-dessous pour la fenêtre Python illustre l’utilisation de la fonction ResolveBuildingConflicts en mode immédiat.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.env.referenceScale = "50000"
arcpy.ResolveBuildingConflicts(["C:/data/footprints.lyr", "C:/data/bldg_points.lyr"],
"invisible",
[["C:/data/roads.lyr", "true", "5 Meters"],
["C:/data/trails.lyr", "false", "10 Meters"],
["C:/data/streams.lyr", "false", "5 Meters"]],
"10 meters",
"15 meters",
"bldg_hierarchy")
Exemple 2 d’utilisation de l’outil ResolveBuildingConflicts (script autonome)
Ce script autonome montre un exemple d’utilisation de la fonction ResolveBuildingConflicts.
# Name: ResolveBuildingConflicts_standalone_script.py
# Description: Resolves the symbology conflicts between
# buildings and nearby barriers,
# in this case - roads
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
env.referenceScale = "50000"
# Set local variables
in_buildings = "C:/data/footprints.lyr;C:/data/bldg_pts.lyr"
invisibility_field = "invisible"
in_barriers = "'C:/data/roads.lyr' 'true' '5 Meters';\
'C:/data/trails.lyr' 'false' '10 Meters';\
'C:/data/streams.lyr' 'false' '5 Meters'"
building_gap = "10 meters"
minimum_size = "15 meters"
hierarchy_field = "bldg_hierarchy"
# Execute Resolve Building Conflicts
arcpy.ResolveBuildingConflicts(in_buildings,
invisibility_field,
in_barriers,
building_gap,
minimum_size,
hierarchy_field)
Environnements
Informations de licence
- Basic: Non
- Standard: Non
- Advanced: Oui
Rubriques connexes
- Vue d'ensemble du jeu d'outils Conflits graphiques
- Comprendre la résolution des conflits et leur généralisation
- Automatisation de la résolution des conflits et workflows de généralisation avec le géotraitement
- Fonctionnement de l'outil Résoudre des conflits de construction
- Simplifier des bâtiments
- Agréger des polygones
- Généralisation de grands jeux de données à l'aide de partitions
- Créer les partitions cartographiques
- Partitions cartographiques (paramètre d'environnement)
- Délimiter les zones construites