Détecter les conflits graphiques (Cartographie)

Synthèse

Crée des polygones lorsqu'il existe un conflit graphique entre au moins deux entités symbolisées.

Illustration

Exemple d’utilisation de l’outil Détecter les conflits graphiques
Un polygone rose en sortie est créé là où la symbologie d’une entité rivière bleue en entrée entre en conflit avec la symbologie d'une entité conflit de route jaune.

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
    • Dimensions
    • Couches raster
    • Jeux de données réseau
    L’outil n’accepte pas les types de symbologie suivants :
    • 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 mémoire. Dans ce cas, envisagez de traiter les données en entrée par partitions en identifiant une classe d’entités surfaciques pertinente dans le paramètre d’environnement Partitions cartographiques. Les portions de 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.

Paramètres

ÉtiquetteExplicationType de données
Couche en entrée

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
Couche conflictuelle

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
Classe d’entités en sortie

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
Distance de conflit
(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
Tolérance de connexion des lignes
(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

arcpy.cartography.DetectGraphicConflict(in_features, conflict_features, out_feature_class, {conflict_distance}, {line_connection_allowance})
NomExplicationType 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

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

Le script ci-dessous pour la fenêtre Python illustre l’utilisation de la fonction 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")
Exemple 2 d'utilisation de l'outil DetectGraphicConflict (script autonome)

Ce script autonome montre un exemple d’utilisation de la fonction 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)

Informations de licence

  • Basic: Non
  • Standard: Non
  • Advanced: Oui

Rubriques connexes