Résumé
Résout les conflits de symboles entre bâtiments et en fonction des entités d'interruption linéaires en déplaçant ou en masquant des bâtiments.
Illustration
Utilisation
Cet outil fonctionne en évaluant les conflits graphiques des entités symbolisées. L'étendue de symbologie et l'échelle de référence sont considéré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
Le Champ d'invisibilité doit être présent 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 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 Hiérarchie 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é, il est possible de forcer les bâtiments à rester visibles en leur affectant une valeur de hiérarchie de 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 peuvent être compromis plus que la normale si ce bâtiment n’avait pas été forcé à rester visible. Les bâtiments de hiérarchie de zéro peuvent toujours être transformés (déplacés, pivoté ou redimensionnés) afin qu'ils correspondent à d'autres paramètres requis et de résoudre les conflits.
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.
Attention :
Cet outil ne produit pas de couches en sortie mais il permet de modifier la géométrie des classes d’entités source des couches en entrée. Il est fortement recommandé d’effectuer une copie de vos entités en entrée avant d’exécuter cet outil.
Attention :
Un avertissement s'affiche si les entités en entrée ne sont pas dans un système de coordonnées projetées. Cet outil s'appuie sur des unités de distance linéaire, qui créent des résultats inattendus dans un système de coordonnées non projetées. Nous vous conseillons vivement d'exécuter cet outil sur des données dans un système de coordonnées projetées pour obtenir des résultats fiables. Une erreur s'affiche et l'outil ne fonctionne pas si le système de coordonnées manque ou s'il est inconnu.
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 doivent être supprimés de l'affichage ; ceux ayant une valeur de zéro doivent rester. 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 doivent être orientés vers la couche d'interruptions. La valeur Distance spécifie la distance à laquelle les bâtiments doivent être rapprochés ou éloignés de la couche d'interruptions. Vous devez entrer une unité avec la valeur.
Remarque :Si aucune unité n’est entrée avec la valeur de distance (par exemple, 10 au lieu de 10 mètres), l’unité linéaire du système de coordonnées de l’entité en entrée est utilisée. | 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. | Couche |
Exemple de code
Le script de fenêtre Python suivant montre comment utiliser l’outil 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")
Ce script autonome montre un exemple d'utilisation de l'outil 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élimite les zones d'accumulation
- Rechercher un outil de géotraitement
Vous avez un commentaire à formuler concernant cette rubrique ?