Sackgassen-Maskierung (Kartografie)
Zusammenfassung
Erstellt eine Feature-Class mit Polygonmasken aus einem symbolisierten Eingabelinien-Layer.
Verwendung
-
Das Werkzeug erstellt Maskierungen nur an den unverbundenen Enden von Linien (auch als Sackgassen bezeichnet). Ein Linienende gilt als verbunden, wenn sein Endpunkt dem Endpunkt einer anderen Linie entspricht. Bei diesem Werkzeug sind nur Linien-Layer als Eingabe möglich.
Dieses Werkzeug wurde speziell entwickelt, um Linienendemasken in solchen Fällen zu erstellen, in denen Linien durch ein abgerundetes Ende symbolisiert werden, um den Übergang von Linienverbindungen zu glätten. Statt Linien mit runden Enden anzuzeigen, werden die Linienenden mit der Polygon-Feature-Class maskiert, die mit diesem Werkzeug erstellt wurde.
-
Ist der Randabstand 0 oder negativ, werden Maskierungen erstellt. Bei einer Randgröße von 0 wird ein Polygon erstellt, das die genaue Form des symbolisierten Features repräsentiert. Ein negativer Randwert ergibt ein Polygon, das kleiner als das symbolisierte Feature ist. Im Allgemeinen wird ein Randwert größer als 0 angegeben, um den gewünschten Maskierungseffekt zu erzielen.
-
Wenn der Eingabelinien-Layer Multipart-Linien-Geometrien enthält, werden die Sackgassen-Maskierungen für alle nicht verbundenen Linienenden erstellt, einschließlich der Teileenden in Multipart-Linien.
-
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: 1) Die Anzahl der Maskierungen, 2) die Komplexität der Maskierungen und 3) 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/oder Markersymbole oder Polygon-Schraffuren maskiert werden, verlangsamt dies die Darstellung auf dem Bildschirm. Darüber hinaus kann es zu einer verminderten Leistung bei Druck- und Exportvorgängen oder sogar zu ungültigen Ausgaben kommen. Dies liegt zum einen am großen Verarbeitungsaufwand beim Drucken und Exportieren von Karten mit Maskierungen und zum anderen daran, dass Grafikdateiformate exportierte Karten mit vielen komplizierten Maskierungen nur mit Einschränkungen speichern können.
-
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.
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 für den Parameter "Bezugsmaßstab" angegebene Wert wird in dieser Berechnung berücksichtigt.
Wenn Sie andere Einheiten für den Rand auswählen, werden die Maskierungen anhand des Randabstands erstellt, der im Kartenbereich berechnet wurde (Sie können sich den Rand als real auf der Erde gemessene Entfernung vorstellen). In diesem Fall wird der für den Parameter "Bezugsmaßstab" angegebene Wert bei der Berechnung nicht berücksichtigt.
Syntax
Parameter | Erläuterung | Datentyp |
input_layer |
Eingabelinien-Layer, aus dem Maskierungen erstellt werden sollen. | Layer |
output_fc |
Die Feature-Class, die die Maskierungs-Features enthalten wird. | Feature Class |
reference_scale |
Der Bezugsmaßstab für die Berechnung der Maskierungs-Geometrie, wenn Maskierungen in Seiteneinheiten angegeben sind. Dies ist in der Regel der Bezugsmaßstab der Karte. | Double |
spatial_reference |
Der Raumbezug, für den die Maskierungs-Polygone 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 Symbologie beim Projizieren der Features ändern kann. | Spatial Reference |
margin |
Der in Seiteneinheiten angegebene Bereich um die symbolisierten Eingabe-Features, die zum Erstellen des Maskierungs-Polygons 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. 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 für den Parameter "Bezugsmaßstab" angegebene Wert wird in dieser Berechnung berücksichtigt. Wenn Sie andere Einheiten für den Rand auswählen, werden die Maskierungen anhand des Randabstands erstellt, der im Kartenbereich berechnet wurde (Sie können sich den Rand als real auf der Erde gemessene Entfernung vorstellen). In diesem Fall wird der für den Parameter "Bezugsmaßstab" angegebene Wert bei der Berechnung nicht berücksichtigt. | Linear unit |
attributes (optional) |
Legt fest, welche Attribute von den Eingabe-Features auf die Ausgabe-Features übertragen werden.
| String |
Codebeispiel
Das folgende Skript im Python-Fenster veranschaulicht, wie Sie das Werkzeug "CulDeSacMasks" im unmittelbaren Modus verwenden.
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.CulDeSacMasks_cartography("C:/data/cartography.gdb/transportation/roads",
"C:/data/cartography.gdb/transportation/cds_polys",
"25000", "", "5 meters", "ALL")
Dieses eigenständige Skript stellt ein Beispiel für die Verwendung des Werkzeugs "CulDeSacMasks" dar.
# Name: CulDeSacMasks_standalone_script.py
# Description: Creates masks at the unconnected ends of lines in the input layer.
# Author: ESRI
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
input_layer = "C:/data/cartography.gdb/transportation/roads"
outpuf_fc = "C:/data/cartography.gdb/transportation/cds_polys"
reference_scale = "25000"
spatial_reference = x
margin = "5 meters"
attributes = "ALL"
# Execute Cul De Sac Masks
arcpy.CulDeSacMasks_cartography(input_layer, output_fc, reference_scale, spatial_reference, margin, attributes)