Beschriftung | Erläuterung | Datentyp |
Eingabe-Layer | Der symbolisierte Eingabe-Layer, aus dem die Maskierungen erstellt werden. | Layer |
Ausgabe-Feature-Class | Die Feature-Class, die die Maskierungs-Features enthalten wird. | Feature Class |
Bezugsmaßstab | Der Bezugsmaßstab für die Berechnung der Maskierungsgeometrie, wenn Maskierungen in Seiteneinheiten angegeben sind. Dies ist in der Regel der Bezugsmaßstab der Karte. | Double |
Koordinatensystem für Berechnung | Der Raumbezug der Karte, in dem die Maskierungspolygone erstellt werden. Dies ist nicht der Raumbezug, der der Ausgabe-Feature-Class zugewiesen wird. Es ist der Raumbezug der Karte, in der die Maskierungs-Polygone verwendet werden, da sich die Position der Symbolisierung beim Projizieren der Features ändern kann. | Spatial Reference |
Rand | Der in Seiteneinheiten angegebene Bereich um die symbolisierten Eingabe-Features, die zum Erstellen der Maskierungs-Polygone verwendet werden. Maskierungs-Polygone werden in der Regel mit einem kleinen Rand um das Symbol erstellt, um das Erscheinungsbild zu verbessern. Die Werte für den Rand können in Seiteneinheiten oder in Karteneinheiten angegeben werden. Der Rand darf nicht negativ sein. | Linear Unit |
Maskierungsart | Gibt den Typ der Maskierungsgeometrie an, die erstellt wird.
| String |
Maskierung für nicht platzierte Annotation erstellen | Gibt an, ob für nicht platzierte Annotationen Masken erstellt werden. Dieser Parameter wird nur beim Maskieren von Geodatabase-Annotations-Layern verwendet.
| String |
Attribute übertragen (optional) | Gibt die Attribute an, die von den Eingabe-Features auf die Ausgabe-Features übertragen werden.
| String |
Kleine Features beibehalten (optional) | Gibt an, ob kleine Masken-Features in die Ausgabe-Feature-Class einbezogen werden.
| Boolean |
Zusammenfassung
Erstellt Maskierungs-Polygone mit einem festgelegten Abstand und der angegebenen Form um die symbolisierten Features im Eingabe-Layer.
Verwendung
Dieses Werkzeug akzeptiert Punkt-, Linien- und Polygon-Feature-Layer sowie Geodatabase-Annotations-Layer als Eingabe.
Wenn einer Karte Masken hinzugefügt werden, erhöht sich deren Komplexität, was wiederum die Darstellung, den Druck und den Export von Karten beeinträchtigt. Im Allgemeinen sollten Sie beim Erstellen von Maskierungen für Karten drei Punkte berücksichtigen: Die Anzahl der Maskierungen, die Komplexität der Maskierungen, und ob die Maskierungen zum Maskieren von Polygon-Features verwendet werden, die mit Linien- oder Markersymbolen gefüllt sind. All diese Punkte führen zu einer langsameren Darstellung auf dem Bildschirm. Darüber hinaus kann es zu einer verminderten Performance bei Druck- und Exportvorgängen oder zu ungültigen Ausgaben kommen. Dies liegt am Verarbeitungsaufwand beim Drucken und Exportieren von Karten mit Masken sowie daran, dass Grafikdateiformate exportierte Karten mit vielen komplizierten Masken nur mit Einschränkungen speichern können.
Um die Performance und Zuverlässigkeit bei Darstellung, Druck und Export zu verbessern, sollten Sie die für die Zwecke der Karte notwendigen Masken so simpel wie möglich halten. Dies gilt insbesondere dann, wenn Sie den Parameter Maskierungsart zum Maskieren von Annotationstext verwenden. In vielen Anwendungsfällen ist die Option Konvexe Hülle ausreichend. Für detailliertere Textmasken ist die Option EXACT_SIMPLIFIED geeignet. Für das Maskieren großer Textmengen auf relativ großen Karten sollten Sie nicht die Option Genau auswählen, da sonst zu viele komplizierte Masken angelegt werden, als dass gültige Ausgaben effizient erstellt werden können.
Sehr kleine Masken werden vom diesem Werkzeug standardmäßig aus der Ausgabe herausgefiltert. Kleine Masken, die möglicherweise beim Bezugsmaßstab der Karte nicht sichtbar sind, werden entfernt, sodass Sie eine gut verwaltbare und effiziente Ausgabe-Feature-Class erhalten. Wenn für Ihren Workflow sehr kleine Masken benötigt werden, müssen Sie den Parameter Kleine Features beibehalten aktivieren, sodass in der Ausgabe-Feature-Class alle Masken unabhängig von ihrer Größe beibehalten werden. Durch eine hohe Anzahl an kleinen Masken erhöht sich die Komplexität der Karte und der Kartenausgabe.
Die Werte für Ränder werden in der Regel in Seiteneinheiten angegeben, Karteneinheiten werden jedoch auch akzeptiert.
Ränder sind in der Regel größer als 0. Bei einer Randgröße von 0 werden Maskierungen erstellt, die die genaue Form der symbolisierten Features darstellen.
Wenn der Eingabe-Layer ein Annotation-Layer ist, wird der Bezugsmaßstab automatisch auf den Bezugsmaßstab der Feature-Class des Layers eingestellt, um eine genaue Berechnung der Maskierung sicherzustellen.
Wenn Sie on-the-fly projizierte Annotationen maskieren möchten, müssen Sie Masken mit dem Raumbezug der Karte erstellen. Legen Sie ihn dazu ordnungsgemäß im Parameter Koordinatensystem für Berechnung fest. Die Lesbarkeit bleibt erhalten, wenn Text "on the fly" projiziert wird. Aus diesem Grund kann Text bei unterschiedlichen Projektionen unterschiedliche räumliche Bereiche belegen.
Bei Maskierungen von Annotations-Features wird die Schriftart beachtet. Wenn Sie Masken mit Text verwenden, müssen Sie sicherstellen, dass auf dem Bildschirm und in der Ausgabe dieselbe Schriftart verwendet wird. Dazu betten Sie Schriftarten in die Vektorausgabe ein oder laden Sie SoftFonts auf Drucker oder Plotter herunter.
Die Masken werden auf der Grundlage der aktuellen Kartenrotation erstellt und sind möglicherweise nicht mehr gültig, wenn die Karte nach der Erstellung der Maske auf eine andere Rotation eingestellt wird.
Parameter
arcpy.cartography.FeatureOutlineMasks(input_layer, output_fc, reference_scale, spatial_reference, margin, method, mask_for_non_placed_anno, {attributes}, {preserve_small_sized_features})
Name | Erläuterung | Datentyp |
input_layer | Der symbolisierte Eingabe-Layer, aus dem die Maskierungen erstellt werden. | Layer |
output_fc | Die Feature-Class, die die Maskierungs-Features enthalten wird. | Feature Class |
reference_scale | Der Bezugsmaßstab für die Berechnung der Maskierungsgeometrie, wenn Maskierungen in Seiteneinheiten angegeben sind. Dies ist in der Regel der Bezugsmaßstab der Karte. | Double |
spatial_reference | Der Raumbezug der Karte, in dem die Maskierungspolygone erstellt werden. Dies ist nicht der Raumbezug, der der Ausgabe-Feature-Class zugewiesen wird. Es ist der Raumbezug der Karte, in der die Maskierungs-Polygone verwendet werden, da sich die Position der Symbolisierung beim Projizieren der Features ändern kann. | Spatial Reference |
margin | Der in Seiteneinheiten angegebene Bereich um die symbolisierten Eingabe-Features, die zum Erstellen der Maskierungs-Polygone verwendet werden. Maskierungs-Polygone werden in der Regel mit einem kleinen Rand um das Symbol erstellt, um das Erscheinungsbild zu verbessern. Die Werte für den Rand können in Seiteneinheiten oder in Karteneinheiten angegeben werden. Der Rand darf nicht negativ sein. | Linear Unit |
method | Gibt den Typ der Maskierungsgeometrie an, die erstellt wird.
| String |
mask_for_non_placed_anno | Gibt an, ob für nicht platzierte Annotationen Masken erstellt werden. Dieser Parameter wird nur beim Maskieren von Geodatabase-Annotations-Layern verwendet.
| String |
attributes (optional) | Gibt die Attribute an, die von den Eingabe-Features auf die Ausgabe-Features übertragen werden.
| String |
preserve_small_sized_features (optional) | Gibt an, ob kleine Masken-Features in die Ausgabe-Feature-Class einbezogen werden.
| Boolean |
Codebeispiel
Das folgende Skript für das Python-Fenster veranschaulicht, wie die Funktion FeatureOutlineMasks im unmittelbaren Modus verwendet wird.
import arcpy
arcpy.env.workspace = "C:/data"
sr = arcpy.SpatialReference(4326)
arcpy.cartography.FeatureOutlineMasks("C:/data/cartography.gdb/transportation/roads",
"C:/data/cartography.gdb/transportation/fom_polys",
"25000", sr, "5 meters","EXACT_SIMPLIFIED",
"ALL_FEATURES", "ALL")
Dieses eigenständige Skript stellt ein Beispiel für die Verwendung der Funktion FeatureOutlineMasks dar.
# 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)
Umgebungen
Lizenzinformationen
- Basic: Nein
- Standard: Nein
- Advanced: Ja