Étiquette | Explication | Type de données |
Couche en entrée | Couche symbolisée en entrée à partir de laquelle les masques sont créés. | Layer |
Classe d’entités en sortie | Classe d'entités contenant les entités masques. | Feature Class |
Echelle de référence | Echelle de référence utilisée 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 sont exprimées en unités de page ou en unités de carte. En général, il est préférable de spécifier la valeur de distance de la marge 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éé.
| String |
Créer des masques pour les annotations non placées | Spécifie s'il faut créer des masques pour l'annotation non placée. Cette option s'applique uniquement lors du masquage de couches d'annotations de géodatabase.
| 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.
| String |
Synthèse
Crée des polygones de masquage à une distance donnée, avec une forme entourant les entités symbolisées dans la couche en entrée.
Pour en savoir plus sur les types de masque qu’il est possible de créer, voir 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.
Lors de la création de masques, n'oubliez pas que le fait d'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. Une augmentation du nombre de masques, de leur complexité et un masquage par rapport à des symboles ponctuels ou de remplissage des polygones se traduit 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 extrêmement volumineux 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é, la règle la plus importante à respecter consiste à utiliser les masques les plus simples. Lors du masquage du texte de l'annotation en particulier, les masques de type CONVEX_HULL répondent à la plupart des besoins de votre carte. Si vous recherchez des masques de texte plus détaillés, utilisez le type EXACT_SIMPLIFIED. En règle générale, si vous masquez une quantité importante de texte sur une carte relativement grande, évitez d'utiliser le masque de type EXACT, car il crée un trop grand nombre de masques complexes pour espérer produire des résultats exploitables.
Les valeurs de marge sont généralement exprimées en unités de page, mais les unités de carte sont également accepté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.
Si la couche en entrée est une couche d'annotations, 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 vous masquez une annotation projetée à la volée, les masques doivent être créés à l'aide de la référence spatiale de la carte en la définissant correctement dans le paramètre de référence spatiale. 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, il est important de vous assurer 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.
Paramètres
arcpy.cartography.FeatureOutlineMasks(input_layer, output_fc, reference_scale, spatial_reference, margin, method, mask_for_non_placed_anno, {attributes})
Nom | Explication | Type de données |
input_layer | Couche symbolisée en entrée à partir de laquelle les masques sont créés. | Layer |
output_fc | Classe d'entités contenant les entités masques. | Feature Class |
reference_scale | Echelle de référence utilisée 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 sont exprimées en unités de page ou en unités de carte. En général, il est préférable de spécifier la valeur de distance de la marge 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éé.
| String |
mask_for_non_placed_anno | Spécifie s'il faut créer des masques pour l'annotation non placée. Cette option s'applique uniquement lors du masquage de couches d'annotations de géodatabase.
| 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.
| String |
Exemple de code
Le script de fenêtre Python suivant montre comment utiliser l'outil FeatureOutlineMasks en mode immédiat.
import arcpy
arcpy.env.workspace = "C:/data"
sr = arcpy.SpatialReference(4326)
arcpy.FeatureOutlineMasks_cartography("C:/data/cartography.gdb/transportation/roads",
"C:/data/cartography.gdb/transportation/fom_polys",
"25000", sr, "5 meters","EXACT_SIMPLIFIED",
"ALL_FEATURES", "ALL")
Ce script autonome montre un exemple d'utilisation de l'outil FeatureOutlineMasks.
# Name: FeatureOutlineMasks_standalone_script.py
# Description: Creates mask polygons at a specified distance and shape
# around symbolized features.
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data"
# Set local variables
input_layer = "roads.lyrx"
output_fc = "cartography.gdb/transportation/roads_fom_polys"
reference_scale = "25000"
spatial_reference = arcpy.SpatialReference(4326)
margin = "5 meters"
method = "EXACT_SIMPLIFIED"
mask_for_non_placed_anno = "ONLY_PLACED"
attributes = "ALL"
# Execute Feature Outline Masks
arcpy.FeatureOutlineMasks_cartography(input_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
Vous avez un commentaire à formuler concernant cette rubrique ?