Créer des masques à partir de couches en intersection (Cartographie)

Synthèse

Crée des polygones de masquage selon une forme et une taille spécifiées à l'intersection de deux couches en entrée symbolisées : la couche de masquage et la couche masquée.

En savoir plus sur le fonctionnement des masques de contours d’entités et des intersections des couches de masques

Utilisation

  • Cet outil accepte les couches d'entités ponctuelles, linéaires et surfaciques ainsi que les couches d'annotations de géodatabase comme entrées.

  • En règle générale, les marges sont supérieures à 0. Une taille de marge nulle crée des masques qui représentent la forme exacte des entités symbolisées.

  • Ajouter des masques aux cartes apporte un surcroît de complexité qui ralentit leur affichage et a une incidence sur leur impression et leur exportation. En général, trois points sont à prendre en compte lors de la création de masques pour une carte : le nombre de masques, la complexité des masques et l’utilisation des masques, à savoir s’ils doivent masquer des entités surfaciques remplies de symboles ponctuels ou linéaires. Tous ces aspects se traduisent par un ralentissement du tracé à l’écran. En outre, les performances d’impression et d’exportation risquent d’être médiocres, voire d’échouer à produire une sortie valide. Ceci est dû au traitement nécessaire pour imprimer et exporter des cartes avec des masques et aux limitations connues sur la manière dont les formats de fichiers graphiques stockent les résultats des exportations des cartes dotées d’un grand nombre de masques complexes.

  • Afin d’améliorer les performances de dessin, d’impression, d’exportation et de fiabilité, utilisez les masques les plus simples nécessaires à la finalité de la carte. En particulier, lorsque vous utilisez le paramètre Type de masque pour masquer le texte des annotations, l’option Enveloppe convexe suffit à de nombreux objectifs de la carte. Pour les masques de texte plus détaillés, utilisez le type Exact simplifié. Si vous masquez une quantité importante de texte sur une carte relativement grande, évitez d’utiliser l’option Exact, car elle crée un trop grand nombre de masques complexes pour espérer produire des résultats exploitables.

  • Les valeurs de marge peuvent être exprimées en unités de page ou en unités de carte. En principe, les valeurs de distance de marge sont spécifiées en unités de page.

    Les unités de la valeur de marge sont interprétées différemment selon les unités choisies. Si vous sélectionnez des points, des pouces, des millimètres ou des centimètres, les masques sont créés en utilisant la distance de marge telle que calculée dans l'espace de la page (la marge correspond à une distance mesurée sur le papier). La valeur du paramètre Échelle de référence est prise en compte dans ce calcul.

    Si vous sélectionnez d’autres unités pour la valeur de marge, les masques sont alors créés en utilisant la distance de marge telle qu’elle est calculée dans l’espace cartographique (la marge correspond à une distance réelle mesurée sur la terre). Dans ce cas, la valeur du paramètre Échelle de référence n’est pas prise en compte dans le calcul.

  • Si l'une des couches en entrée est une couche d'annotation, l'échelle de référence sera définie automatiquement sur celle de la classe d'entités de la couche pour garantir la précision du calcul du masque. Si deux couches d'annotation entrent en intersection, elles doivent avoir la même échelle de référence.

  • Si vous masquez une annotation projetée à la volée, créez des masques à l’aide de la référence spatiale de la carte en la définissant correctement dans le paramètre Système de coordonnées de calcul. La lisibilité est conservée lorsque le texte est projeté à la volée, ce qui explique pourquoi des différences peuvent exister dans la surface spatiale que le texte occupe dans les différentes projections.

  • Les masques d’entités annotations sont spécifiques à la police. Si vous utilisez des masques avec le texte, assurez-vous que la même police est utilisée à l’écran comme dans la sortie. Pour ce faire, incorporez des polices dans la sortie vectorielle ou téléchargez SoftFonts sur les imprimantes ou les traceurs.

  • Le traitement de jeux de données volumineux ensemble peut dépasser les limites de la 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 est transparente et cohérente aux tronçons de partition.

  • Les masques sont créés selon la rotation actuelle de la carte et peuvent ne pas être valides si la carte est définie sur une rotation différente après la création du masque.

Paramètres

ÉtiquetteExplicationType de données
Couche de masquage

Couche symbolisée en entrée qui intersecte la couche masquée pour créer des polygones de masquage. Il s’agit de la couche qui apparaît lorsqu’un masquage est appliqué à la couche masquée.

Layer
Couche masquée

Couche symbolisée en entrée à masquer. Il s'agit de la couche qui sera masquée par les polygones de masquage.

Layer
Classe d’entités en sortie

Classe d’entités contenant les entités masques.

Feature Class
Échelle de référence

Échelle de référence à utiliser pour calculer la géométrie de masquage lorsque les masques sont spécifiés en unités de page. Il s’agit en général de l’échelle de référence de la carte.

Double
Système de coordonnées de calcul

Référence spatiale de la carte dans laquelle les polygones de masquage sont créés. Il ne s’agit pas de la référence spatiale attribuée à la classe d’entités en sortie. Il s’agit de la référence spatiale de la carte dans laquelle les polygones de masquage seront utilisés, étant donné que la position de la symbologie est susceptible de varier lorsque les entités sont projetées.

Spatial Reference
Marge

Espace en unités de page entourant les entités symbolisées en entrée permettant de créer les polygones de masquage. En général, les polygones de masquage sont créés avec une petite marge autour du symbole afin d’améliorer l’apparence visuelle. Les valeurs de marge peuvent être exprimées en unités de page ou en unités de carte. La plupart du temps, les valeurs de distance de marge sont spécifiées en unités de page.

La marge ne peut pas être négative.

Linear Unit
Type de masque

Spécifie le type de géométrie de masquage qui sera créé.

  • BoîteUn polygone représentant l’étendue de l’entité symbolisée sera créé.
  • Enveloppe convexeL’enveloppe convexe de la géométrie symbolisée de l’entité sera créée. Il s’agit de l’option par défaut.
  • Exact simplifiéUn polygone généralisé représentant la forme exacte de l’entité symbolisée sera créé. Les polygones créés à l’aide de cette méthode comportent un nombre de sommets nettement inférieur par rapport aux polygones créés avec l’option EXACT.
  • ExactUn polygone représentant la forme exacte de l’entité symbolisée sera créé.
  • BoîteUn polygone représentant l’étendue de l’entité symbolisée sera créé.
  • Enveloppe convexeL’enveloppe convexe de la géométrie symbolisée de l’entité sera créée. Il s’agit de l’option par défaut.
  • Exact simplifiéUn polygone généralisé représentant la forme exacte de l’entité symbolisée sera créé. Les polygones créés à l’aide de cette méthode comportent un nombre de sommets nettement inférieur par rapport aux polygones créés avec l’option EXACT.
  • ExactUn polygone représentant la forme exacte de l’entité symbolisée sera créé.
String
Créer des masques pour les annotations non placées

Spécifie si des masques pour l’annotation non placée seront créés. Ce paramètre ne s’applique que lors du masquage de couches d’annotations de géodatabase.

  • Toutes les entités d’annotationDes masques seront créés pour toutes les entités d’annotations. Il s’agit de l’option par défaut.
  • Uniquement les entités d’annotation placéesDes masques ne seront créés que pour les entités dont l’état indique "placée".
String
Transférer des attributs
(Facultatif)

Détermine les attributs qui seront transférés à partir des entités en entrée vers les entités en sortie.

  • Uniquement le champ FIDSeul le champ FID des entités en entrée est transféré vers les entités en sortie. Il s’agit de l’option par défaut.
  • Tous les attributs à l’exception du champ FIDTous les attributs, à l'exception du champ FID, issus des entités en entrée sont transférés vers les entités en sortie.
  • Tous les attributsTous les attributs issus des entités en entrée sont transférés vers les entités en sortie.
String

arcpy.cartography.IntersectingLayersMasks(masking_layer, masked_layer, output_fc, reference_scale, spatial_reference, margin, method, mask_for_non_placed_anno, {attributes})
NomExplicationType de données
masking_layer

Couche symbolisée en entrée qui intersecte la couche masquée pour créer des polygones de masquage. Il s’agit de la couche qui apparaît lorsqu’un masquage est appliqué à la couche masquée.

Layer
masked_layer

Couche symbolisée en entrée à masquer. Il s'agit de la couche qui sera masquée par les polygones de masquage.

Layer
output_fc

Classe d’entités contenant les entités masques.

Feature Class
reference_scale

Échelle de référence à utiliser pour calculer la géométrie de masquage lorsque les masques sont spécifiés en unités de page. Il s’agit en général de l’échelle de référence de la carte.

Double
spatial_reference

Référence spatiale de la carte dans laquelle les polygones de masquage sont créés. Il ne s’agit pas de la référence spatiale attribuée à la classe d’entités en sortie. Il s’agit de la référence spatiale de la carte dans laquelle les polygones de masquage seront utilisés, étant donné que la position de la symbologie est susceptible de varier lorsque les entités sont projetées.

Spatial Reference
margin

Espace en unités de page entourant les entités symbolisées en entrée permettant de créer les polygones de masquage. En général, les polygones de masquage sont créés avec une petite marge autour du symbole afin d’améliorer l’apparence visuelle. Les valeurs de marge peuvent être exprimées en unités de page ou en unités de carte. La plupart du temps, les valeurs de distance de marge sont spécifiées en unités de page.

La marge ne peut pas être négative.

Linear Unit
method

Spécifie le type de géométrie de masquage qui sera créé.

  • BOXUn polygone représentant l’étendue de l’entité symbolisée sera créé.
  • CONVEX_HULLL’enveloppe convexe de la géométrie symbolisée de l’entité sera créée. Il s’agit de l’option par défaut.
  • EXACT_SIMPLIFIEDUn polygone généralisé représentant la forme exacte de l’entité symbolisée sera créé. Les polygones créés à l’aide de cette méthode comportent un nombre de sommets nettement inférieur par rapport aux polygones créés avec l’option EXACT.
  • EXACTUn polygone représentant la forme exacte de l’entité symbolisée sera créé.
String
mask_for_non_placed_anno

Spécifie si des masques pour l’annotation non placée seront créés. Ce paramètre ne s’applique que lors du masquage de couches d’annotations de géodatabase.

  • ALL_FEATURESDes masques seront créés pour toutes les entités d’annotations. Il s’agit de l’option par défaut.
  • ONLY_PLACEDDes masques ne seront créés que pour les entités dont l’état indique "placée".
String
attributes
(Facultatif)

Détermine les attributs qui seront transférés à partir des entités en entrée vers les entités en sortie.

  • ONLY_FIDSeul le champ FID des entités en entrée est transféré vers les entités en sortie. Il s’agit de l’option par défaut.
  • NO_FIDTous les attributs, à l'exception du champ FID, issus des entités en entrée sont transférés vers les entités en sortie.
  • ALLTous les attributs issus des entités en entrée sont transférés vers les entités en sortie.
String

Exemple de code

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

Le script ci-dessous pour la fenêtre Python illustre l’utilisation de la fonction IntersectingLayersMasks en mode immédiat.

import arcpy
arcpy.cartography.IntersectingLayersMasks("C:/data/cartography.gdb/transportation/roads",
                                          "C:/data/cartography.gdb/transportation/railroads",
                                          "C:/data/cartography.gdb/transportation/ilm_polys",
                                          "25000", "", "5 meters", "EXACT_SIMPLIFIED", "", "ALL")
Exemple 2 d'utilisation de l'outil IntersectingLayersMasks (script autonome)

Ce script autonome montre un exemple d’utilisation de la fonction IntersectingLayersMasks.

# Name: IntersectingLayersMasks_standalone_script.py
# Description: Creates masking polygons at a specified
#              shape and size at the intersections of symbolized features. 
 
# Import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = "C:/data"

# Set local variables
masking_layer = "roads.lyrx"
masked_layer = "buildings_poly.lyrx"
outpuf_fc = "cartography.gdb/transportation/ilm_polys"
reference_scale = "25000"
spatial_reference = arcpy.Describe(masking_layer).spatialReference
margin = "5 Points"
method = "CONVEX_HULL"
mask_for_non_placed_anno = "ALL_FEATURES"
attributes = "ALL"

# Execute Intersecting Layers Masks
arcpy.IntersectingLayersMasks_cartography(masking_layer,
                                          masked_layer,
                                          output_fc,
                                          reference_scale,
                                          spatial_reference,
                                          margin, method,
                                          mask_for_non_placed_anno,
                                          attributes)

Informations de licence

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

Rubriques connexes