Résoudre des conflits de bâtiments (Cartographie)

Niveau de licence :BasicStandardAdvanced

Récapitulatif

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.

En savoir plus sur le fonctionnement de l'outil Résoudre des conflits de construction

AttentionAttention :

Cet outil ne produit pas de couches en sortie mais il permet de modifier les classes d'entités source des couches en entrée. Si les couches en entrée sont affichées avec une représentation (dont le comportement de mise à jour est défini pour stocker les débrayages de forme), les entités modifiées sont stockées en tant que débrayages de forme dans la représentation. Si la couche n'est pas affichée avec une représentation, la géométrie des entités en entrée est modifiée. L'utilisation de représentations est recommandée avec les outils de résolution des conflits. Ainsi, si les résultats ne sont pas acceptables ou si vous souhaitez réexécuter l'outil avec d'autres paramètres, il vous suffit de supprimer les débrayages à l'aide de l'outil Supprimer un débrayage. Nous vous conseillons vivement de faire une copie des entités en entrée si vous n'utilisez pas de représentations dont le comportement de mise à jour est défini pour stocker les débrayages de forme.

Pour en savoir plus sur les représentations

AttentionAttention :

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.

Illustration

Résoudre des conflits de construction, outil
Bâtiments avant et après traitement avec l'outil Résoudre des conflits de construction

Utilisation

Syntaxe

ResolveBuildingConflicts_cartography (in_buildings, invisibility_field, in_barriers, building_gap, minimum_size, {hierarchy_field})
ParamètreExplicationType 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.

  • Une valeur de distance de 0 (zéro) alignera directement les bâtiments à la limite de la ligne d'interruption ou de la symbologie de contour.
  • Une valeur de distance nulle (non spécifiée) signifie que les bâtiments ne seront pas éloignés ou rapprochés des lignes d'interruption ou des contours sauf pour les mouvements nécessaires à la résolution des conflits.

RemarqueRemarque :

Si aucune unité n'est entrée avec la valeur 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 sera 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

Exemple de code

Exemple 1 d'utilisation de l'outil ResolveBuildingConflicts (fenêtre Python)

Le script de fenêtre Python ci-dessous illustre l'utilisation de l'outil ResolveBuildingConflicts en mode immédiat.

import arcpy
from arcpy import env
env.workspace = "C:/data"
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 Python autonome)

Ce script autonome montre un exemple de l'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

Thèmes connexes

Informations de licence

ArcGIS for Desktop Basic: Annuler
ArcGIS for Desktop Standard: Annuler
ArcGIS for Desktop Advanced: Oui
6/5/2014