Maskierung für Feature-Umrisslinien (Cartography)

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.

  • Beim Erstellen von Maskierungen sollten Sie beachten, dass durch das Hinzufügen von Maskierungen die Komplexität von Karten zunimmt, wodurch Darstellung, Druck und Export der Karten verlangsamt werden. 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. Wenn die Anzahl oder Komplexität der Maskierungen zunimmt und Markersymbole oder Polygon-Füllsymbole maskiert werden, verlangsamt dies die Darstellung auf dem Bildschirm. Darüber hinaus kann es zu einer verminderten Performance bei Druck- und Exportvorgängen oder sogar zu ungültigen Ausgaben kommen. Dies liegt am großen Verarbeitungsaufwand beim Drucken und Exportieren von Karten mit Maskierungen sowie daran, dass Grafikdateiformate exportierte Karten mit vielen komplizierten Maskierungen nur mit Einschränkungen speichern können.

  • Für eine optimale und zuverlässige Darstellungs- sowie Druck- und Export-Performance sollten Sie als wichtigste Grundregel immer die einfachsten Maskierungen verwenden, die für den Verwendungszweck der Karte möglich sind. Insbesondere beim Maskieren von Annotationstext sind Maskierungen vom Typ "CONVEX_HULL" für viele Kartenverwendungszwecke ausreichend. Wenn Sie detailliertere Textmasken benötigen, verwenden Sie den Maskierungstyp "EXACT_SIMPLIFIED". Im Allgemeinen sollten Sie für das Maskieren großer Textmengen auf relativ großen Karten auf den Maskierungstyp "EXACT" verzichten, da zu viele komplizierte Maskierungen angelegt werden, um gültige Ausgaben effizient zu erstellen.

  • 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.

  • Beim Maskieren on-the-fly projizierter Annotationen sollten Maskierungen mit dem Raumbezug der Karte erstellt werden, indem der Raumbezug über den entsprechenden Parameter genau festgelegt wird. 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. Beim Maskieren von Text müssen Sie unbedingt sicherstellen, dass auf dem Bildschirm dieselbe Schriftart verwendet wird wie in der Ausgabe. Dazu betten Sie Schriftarten in die Vektorausgabe ein oder laden Sie SoftFonts auf Drucker oder Plotter herunter.

Syntax

arcpy.cartography.FeatureOutlineMasks(input_layer, output_fc, reference_scale, spatial_reference, margin, method, mask_for_non_placed_anno, {attributes})
ParameterErklärungDatentyp
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 Ränder werden in Seiten- oder Karteneinheiten angegeben. In der Regel werden Sie die Werte für den Randabstand in Seiteneinheiten angeben.

Der Rand darf nicht negativ sein.

Linear Unit
method

Gibt den Typ der Maskierungsgeometrie an, die erstellt wird.

  • BOXEin Polygon, das die Ausdehnung des symbolisierten Features darstellt.
  • CONVEX_HULLDie konvexe Hülle der symbolisierten Geometrie des Features. Dies ist die Standardeinstellung.
  • EXACT_SIMPLIFIEDEin generalisiertes Polygon, das die genaue Form des symbolisierten Features darstellt. Mit dieser Methode erstellte Polygone weisen deutlich weniger Stützpunkte auf als Polygone, die mit der Methode "EXACT" erstellt wurden.
  • EXACTEin Polygon, das die genaue Form des symbolisierten Features darstellt.
String
mask_for_non_placed_anno

Gibt an, ob Maskierungen für nicht platzierte Annotationen erstellt werden sollen. Diese Option wird nur beim Maskieren von Geodatabase-Annotations-Layern verwendet.

  • ALL_FEATURESEs werden Maskierungen für alle Annotations-Features erstellt.
  • ONLY_PLACEDEs werden nur Maskierungen für Features mit dem Status "Platziert" erstellt.
String
attributes
(optional)

Gibt die Attribute an, die von den Eingabe-Features auf die Ausgabe-Features übertragen werden.

  • ONLY_FIDNur das Feld "FID" wird von den Eingabe-Features auf die Ausgabe-Features übertragen. Dies ist die Standardeinstellung.
  • NO_FIDAlle Attribute der Eingabe-Features mit Ausnahme der FID werden auf die Ausgabe-Features übertragen.
  • ALL Alle Attribute der Eingabe-Features werden auf die Ausgabe-Features übertragen.
String

Codebeispiel

FeatureOutlineMasks – Beispiel 1 (Python-Fenster)

Das folgende Skript im Python-Fenster veranschaulicht, wie das Werkzeug FeatureOutlineMasks im unmittelbaren Modus verwendet wird.

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")
FeatureOutlineMasks – Beispiel 2 (eigenständiges Skript)

Dieses eigenständige Skript stellt ein Beispiel für die Verwendung des Werkzeugs 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)

Lizenzinformationen

  • Basic: Nein
  • Standard: Nein
  • Advanced: Ja

Verwandte Themen