Résumé
Crée des polygones lorsqu'il existe un conflit graphique entre au moins deux entités symbolisées.
Illustration
Utilisation
L'outil évalue les conflits entre les symboles et non la géométrie. La couche en entrée et la couche conflictuelle peuvent être la même.
Les couches en entrée doivent être symbolisées. Les couches en entrée peuvent comprendre une annotation de classe d'entités, y compris une substitution de symboles. Des shapefiles et des couches DAO sont également des entrées acceptables.
L’outil n’accepte pas les entrées suivantes :
- annotation DAO
- annotation de couverture
- annotations VPF
- Cotations
- Couches raster
- Jeux de données réseau
- Symbologie de diagramme
- Symbologie de densité de points
- Symbologie de symboles proportionnels
- Symbologie de couleurs non classées
- Symbologie d’une carte de densité
- Symbologie de dictionnaire
- Toute symbologie contenant les symboles 3D
La classe d'entités en sortie stocke les polygones, chacun représentant un emplacement de conflit graphique entre une entité en entrée symbolisée et une entité conflictuelle symbolisée. Les identifiants des deux entités conflictuelles sont stockés avec le polygone conflictuel dans les champs FID_<input_layer_name> et FID_<conflict_layer_name>. S’il arrive que la couche conflictuelle soit la même que la couche en entrée, le deuxième champ sera nommé FID_<input_layer_name>_1. Si aucun conflit graphique n'est détecté, la classe d'entités en sortie sera vide.
-
Utilisez le paramètre Distance de conflit pour détecter les emplacements où les entités de symbologie de la couche en entrée et de la couche conflictuelle sont plus proches les unes des autres qu’une certaine distance définie. Des zones tampon temporaires représentant la moitié de la taille de la distance de conflit sont créées autour des symboles. Des polygones conflictuels seront générés partout où ces zones tampons se superposent. Lorsque la distance de conflit est nulle, des conflits sont détectés partout où des symboles se superposent ; c’est le comportement par défaut. Le calcul de conflit est basé sur une échelle de référence. L’échelle de référence du bloc de données contenant les couches en entrée est utilisée sauf si le paramètre d’environnement Échelle de référence a été défini.
Utilisez le paramètre Tolérance de connexion des lignes pour ignorer les superpositions de symbole où les extrémités de ligne se touchent. Ce paramètre est utile si vous utilisez des terminaisons de symbole linéaire pour que les lignes se connectent visuellement mais ne souhaitez pas que chaque instance soit détectée en tant que conflit. La tolérance de connexion de lignes est exprimée en unités de page selon l'échelle de référence. Elle est égale au rayon d'un cercle, centré où les lignes se joignent, dans lequel les superpositions de graphiques ne seront pas détectées ; la valeur par défaut est 1 point. Utilisez une valeur qui soit au moins la moitié de la largeur des symboles linéaires pour ignorer ces connexions. Une valeur 0 indique une tolérance nulle ; un conflit sera détecté à chaque jonction de lignes dans ce cas. Ce paramètre ne doit être défini que lorsque la couche en entrée et la couche conflictuelle sont identiques.
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.
- Le traitement de jeux de données volumineux peut dépasser les limites de la mémoire. Dans ce 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 des données, définies par les limites des partitions, sont traitées séquentiellement. La classe d'entités en sortie des polygones conflictuels sera découpée au niveau de la limite des polygones.
Syntaxe
arcpy.cartography.DetectGraphicConflict(in_features, conflict_features, out_feature_class, {conflict_distance}, {line_connection_allowance})
Paramètre | Explication | Type de données |
in_features | Couche d'entités en entrée contenant des entités symbolisées. Les annotations DAO, VPF ou de couverture et les cotations, diagrammes, symboles de densité de points ou proportionnels, couches raster, jeux de données réseau et symboles 3D ne sont pas des entrées acceptables. | Layer |
conflict_features | Couche d'entités contenant des entités symbolisées potentiellement en conflit avec les entités symbolisées dans la couche en entrée. | Layer |
out_feature_class | Classe d'entités en sortie à créer afin de stocker les polygones conflictuels. Il ne peut pas s'agir d'une des classes d'entités associées aux couches en entrée. | Feature Class |
conflict_distance (Facultatif) | La zone où les entités de symbologie de la couche en entrée et de la couche conflictuelle sont plus proches les unes des autres que la distance définie. Des zones tampons temporaires représentant la moitié de la taille de la distance de conflit sont créées autour des symboles dans les couches en entrée et conflictuelles. Des polygones conflictuels seront générés partout où ces zones tampons se superposent. La distance de conflit est mesurée en unités de page (points, pouces, millimètres ou centimètres). Si vous indiquez une distance de conflit en unités de carte, elle est convertie en unités de page à l'aide de l'échelle de référence. La distance de conflit par défaut est 0, aucune zone tampon n'est alors créée et seuls les symboles qui se superposent physiquement sont détectés en tant que conflits. | Linear Unit |
line_connection_allowance (Facultatif) | Rayon d'un cercle, centré où les lignes se joignent, dans lequel les superpositions graphiques ne seront pas détectées. Ce paramètre ne doit être défini que lorsque la couche en entrée et la couche conflictuelle sont identiques. Une tolérance nulle détectera un conflit à chaque jointure de ligne (si des terminaisons se superposent). La tolérance de connexion de lignes est calculée en unités de page (points, pouces, millimètres ou centimètres). Si vous indiquez une tolérance en unités de carte, elle est convertie en unités de page à l’aide de l’échelle de référence. La valeur ne peut pas être négative ; la valeur par défaut est 1 point. | Linear Unit |
Exemple de code
Le script de fenêtre Python suivant montre comment utiliser l'outil DetectGraphicConflict en mode immédiat.
import arcpy
arcpy.env.workspace = "C:/data/carto.gdb/buildings"
arcpy.env.referenceScale = "50000"
arcpy.DetectGraphicConflict("footprints.lyr",
"roads.lyr",
"C:/data/carto.gdb/buildings/dgc_polys",
"25 meters",
"0 meters")
Ce script autonome montre un exemple d'utilisation de l'outil DetectGraphicConflict.
# Name: DetectGraphicConflict_standalone_script.py
# Description: Detects graphic conflicts between
# feature representations and stores
# the overlaps as polygons in
# the output feature class.
# Author: ESRI
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data/cartography.gdb/buildings"
env.referenceScale = "50000"
# Set local variables
in_features = "footprints.lyr"
conflict_features = "roads.lyr"
out_feature_class = "C:/data/carto.gdb/buildings/dgc_polys"
conflict_distance = "25 meters"
line_connection_allowance = "0 meters"
# Execute Detect Graphic Conflict
arcpy.DetectGraphicConflict(in_features,
conflict_features,
out_feature_class,
conflict_distance,
line_connection_allowance)
Environnements
Informations de licence
- Basic: Non
- Standard: Non
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?