Maskierung für sich schneidende Layer (Kartografie)

Zusammenfassung

Hiermit werden Maskierungspolygone mit der festgelegten Form und Größe an den Schnittpunkten zweier symbolisierter Eingabe-Layer – Maskierungs-Layer und maskierter Layer – erstellt.

Weitere Informationen zur Funktionsweise von "Maskierung für Feature-Umrisslinien" und "Maskierung für sich schneidende Layer"

Verwendung

  • Dieses Werkzeug akzeptiert Punkt-, Linien- und Polygon-Feature-Layer sowie Geodatabase-Annotations-Layer als Eingabe.

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

  • Die Werte für den Rand können in Seiteneinheiten oder in Karteneinheiten angegeben werden. In der Regel werden die Randabstandswerte in Seiteneinheiten angegeben.

    Wie die Einheiten für Randwerte interpretiert werden, hängt davon ab, welche Einheiten Sie auswählen. Wenn Sie Punkte, Zoll, Millimeter oder Zentimeter auswählen, werden die Maskierungen anhand des im Seitenbereich berechneten Randabstands erstellt (Rand als ein auf dem Papier gemessener Abstand). Der Wert des Parameters Bezugsmaßstab wird in dieser Berechnung berücksichtigt.

    Wenn Sie eine andere Einheit für den Randwert wählen, werden die Masken unter Verwendung des im Kartenraum berechneten Randabstands erstellt (stellen Sie sich den Rand als ein reales Entfernungsmaß auf der Erde vor). In diesem Fall wird der für den Parameter Bezugsmaßstab angegebene Wert bei der Berechnung nicht berücksichtigt.

  • Wenn einer der Eingabe-Layer ein Annotations-Layer ist, wird der Bezugsmaßstab automatisch auf den Bezugsmaßstab der Feature-Class des Layers eingestellt, um eine genaue Berechnung der Maskierung sicherzustellen. Handelt es sich um zwei sich schneidende Annotations-Layer, müssen sie denselben Bezugsmaßstab aufweisen.

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

  • Bei der gemeinsamen Verarbeitung von großen Straßen-Datasets werden möglicherweise Speicherbeschränkungen überschritten. Erwägen Sie in diesem Fall, die Eingabedaten partitionsweise zu verarbeiten, indem Sie eine relevante Polygon-Feature-Class in der Umgebungseinstellung Kartografische Partitionen angeben. Die Teile der Daten, die durch Partitionsgrenzen definiert werden, werden sequenziell verarbeitet. Die Ausgabe-Feature-Class ist an den Partitionsrändern nahtlos und konsistent.

  • 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

BeschriftungErläuterungDatentyp
Maskierungs-Layer

Der symbolisierte Eingabe-Layer, der mit dem maskierten Layer geschnitten wird, um Maskierungs-Polygone zu erstellen. Dieser Layer wird angezeigt, wenn die Maskierung auf den maskierten Layer angewendet wird.

Layer
Maskierter Layer

Der symbolisierte Eingabe-Layer, der maskiert werden soll. Dieser Layer wird von den Maskierungs-Polygonen verdeckt.

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. Meistens werden Randabstandswerte in Seiteneinheiten angegeben.

Der Rand darf nicht negativ sein.

Linear Unit
Maskierungsart

Gibt den Typ der Maskierungsgeometrie an, die erstellt wird.

  • BoxEin Polygon, das die Ausdehnung des symbolisierten Features darstellt, wird erstellt.
  • Konvexe HülleDie konvexe Hülle der symbolisierten Feature-Geometrie wird erstellt. Dies ist die Standardeinstellung.
  • Genau, vereinfachtEin generalisiertes Polygon, das die genaue Form des symbolisierten Features darstellt, wird erstellt. Mit dieser Methode erstellte Polygone weisen deutlich weniger Stützpunkte auf als Polygone, die mit der Option Genau erstellt wurden.
  • GenauEin Polygon, das die genaue Form des symbolisierten Features darstellt, wird erstellt.
  • BoxEin Polygon, das die Ausdehnung des symbolisierten Features darstellt, wird erstellt.
  • Konvexe HülleDie konvexe Hülle der symbolisierten Feature-Geometrie wird erstellt. Dies ist die Standardeinstellung.
  • Genau, vereinfachtEin generalisiertes Polygon, das die genaue Form des symbolisierten Features darstellt, wird erstellt. Mit dieser Methode erstellte Polygone weisen deutlich weniger Stützpunkte auf als Polygone, die mit der Option EXACT erstellt wurden.
  • GenauEin Polygon, das die genaue Form des symbolisierten Features darstellt, wird erstellt.
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.

  • Alle Annotations-FeaturesEs werden für alle Annotations-Features Masken erstellt. Dies ist die Standardeinstellung.
  • Nur platzierte Annotations-FeaturesEs werden nur Masken für Features mit dem Status "Platziert" erstellt.
String
Attribute übertragen
(optional)

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

  • Nur das FID-FeldNur das Feld "FID" wird von den Eingabe-Features auf die Ausgabe-Features übertragen. Dies ist die Standardeinstellung.
  • Alle Attribute außer dem FID-FeldAlle Attribute der Eingabe-Features mit Ausnahme der FID werden auf die Ausgabe-Features übertragen.
  • Alle AttributeAlle Attribute der Eingabe-Features werden auf die Ausgabe-Features übertragen.
String

arcpy.cartography.IntersectingLayersMasks(masking_layer, masked_layer, output_fc, reference_scale, spatial_reference, margin, method, mask_for_non_placed_anno, {attributes})
NameErläuterungDatentyp
masking_layer

Der symbolisierte Eingabe-Layer, der mit dem maskierten Layer geschnitten wird, um Maskierungs-Polygone zu erstellen. Dieser Layer wird angezeigt, wenn die Maskierung auf den maskierten Layer angewendet wird.

Layer
masked_layer

Der symbolisierte Eingabe-Layer, der maskiert werden soll. Dieser Layer wird von den Maskierungs-Polygonen verdeckt.

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. Meistens werden Randabstandswerte in Seiteneinheiten angegeben.

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, wird erstellt.
  • CONVEX_HULLDie konvexe Hülle der symbolisierten Feature-Geometrie wird erstellt. Dies ist die Standardeinstellung.
  • EXACT_SIMPLIFIEDEin generalisiertes Polygon, das die genaue Form des symbolisierten Features darstellt, wird erstellt. Mit dieser Methode erstellte Polygone weisen deutlich weniger Stützpunkte auf als Polygone, die mit der Option EXACT erstellt wurden.
  • EXACTEin Polygon, das die genaue Form des symbolisierten Features darstellt, wird erstellt.
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.

  • ALL_FEATURESEs werden für alle Annotations-Features Masken erstellt. Dies ist die Standardeinstellung.
  • ONLY_PLACEDEs werden nur Masken 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.
  • ALLAlle Attribute der Eingabe-Features werden auf die Ausgabe-Features übertragen.
String

Codebeispiel

IntersectingLayersMasks: Beispiel 1 (Python-Fenster)

Das folgende Skript für das Python-Fenster veranschaulicht, wie die Funktion IntersectingLayersMasks im unmittelbaren Modus verwendet wird.

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

Dieses eigenständige Skript stellt ein Beispiel für die Verwendung der Funktion IntersectingLayersMasks dar.

# 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)

Lizenzinformationen

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

Verwandte Themen