Grafikkonflikt ermitteln (Cartography)

Zusammenfassung

Erstellt Polygone, bei denen zwei oder mehr symbolisierte Features in grafischem Konflikt stehen.

Abbildung

Erkennen der Grafikqualität

Verwendung

  • Das Werkzeug bewertet Konflikte zwischen Symbolen, nicht in der Geometrie. Der Eingabe-Layer und der Konflikt-Layer können identisch sein.

  • Eingabe-Layer müssen symbolisiert werden. Eingabe-Layer können Feature-Class-Annotationen (einschließlich Symbolersetzung) enthalten. Shapefile- und CAD-Layer werden ebenfalls als Eingaben akzeptiert.

    Die folgenden Eingaben werden durch dieses Werkzeug nicht akzeptiert:

    • CAD-Annotation
    • Coverage-Annotation
    • VPF-Annotation
    • Dimensionen
    • Raster-Layer
    • Netzwerk-Datasets
    Die folgenden Symbolisierungstypen werden durch dieses Werkzeug nicht akzeptiert:
    • Diagrammsymbolisierung
    • Punktdichtesymbologie
    • Symbolisierung "Proportionale Symbole"
    • Symbolisierung "Nicht klassifizierte Farben"
    • Symbolisierung von Heatmaps
    • Wörterbuchsymbolisierung
    • Jede Symbolisierung, die 3D-Symbole enthält

  • In der Ausgabe-Feature-Class werden Polygone gespeichert, wobei jedes Polygon für einen Grafikkonflikt zwischen einem symbolisierten Eingabe-Feature und einem symbolisierten Konflikt-Feature steht. Die mit den zwei in Konflikt stehenden Features verknüpften Feature-IDs werden mit dem Konfliktpolygon in den Feldern FID_<input_layer_name> und FID_<conflict_layer_name> gespeichert. Wenn der Konflikt-Layer und der Eingabe-Layer identisch sind, wird das zweite Feld mit FID_<input_layer_name>_1 benannt. Wenn keine Grafikkonflikte gefunden werden, ist die Ausgabe-Feature-Class leer.

  • Verwenden Sie den Parameter Konfliktentfernung, um Bereiche zu erkennen, bei denen die Entfernung von Eingabe- und in Konflikt stehender Symbolisiserung unter einem bestimmten Wert liegt. Um die Symbole werden temporäre Puffer von der halben Größe des Konfliktentfernungswertes erstellt. An allen Stellen, an denen die Puffer überlappen, werden Konfliktpolygone erstellt. Wenn die Konfliktentfernung gleich 0 ist, werden Konflikte überall erkannt, wo diese Symbolisierung tatsächlich zu Überschneidungen führt. Dies ist die Standardeinstellung. Die Berechnung des Konflikts basiert auf einem Bezugsmaßstab. Es wird der Bezugsmaßstab des Datenrahmens verwendet, der die Eingabe-Layer enthält, sofern nicht die Umgebungseinstellung Bezugsmaßstab festgelegt wurde.

  • Verwenden Sie den Parameter Toleranz für Linienverbindung, um Symbolüberschneidungen zu ignorieren, bei denen sich Linienenden treffen. Dieser Wert ist nützlich, wenn Sie Liniensymbolenden verwenden, um sicherzustellen, dass die Linien als verbundene Linien wahrgenommen werden, jedoch nicht möchten, dass jeder Abschluss als Konflikt erkannt wird. Die Toleranz für Linienverbindungen wird anhand des Bezugsmaßstabs in Seiteneinheiten gemessen. Sie ist gleich dem Radius eines Kreises, dessen Mittelpunkt dem Verbindungspunkt der Linien entspricht und in dem keine Grafiküberlappungen erkannt werden. Der Standardwert ist 1 Punkt. Um diese Verbindungen zu ignorieren, verwenden Sie einen Wert, der mindestens halb so groß ist wie die Breite der Liniensymbole. Bei einem Wert von 0 liegt keine Toleranz vor. In diesem Fall wird an jedem Verbindungspunkt ein Konflikt erkannt. Dieser Parameter wird nur berücksichtigt, wenn der Eingabe-Layer und der Konflikt-Layer identisch sind.

  • Dieses Werkzeug funktioniert durch Bewertung von Grafikkonflikten bei symbolisierten Features. Die Ausdehnung der Symbole und der Bezugsmaßstab werden zusammen bewertet. Führen Sie dieses Werkzeug erst aus, nachdem Sie die Darstellung der Symbole endgültig festgelegt haben, und stellen Sie sicher, dass der Bezugsmaßstab dem beabsichtigten endgültigen Ausgabemaßstab entspricht.

  • Bei Verarbeitung von groß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 von Konfliktpolygonen wird an Polygonkanten ausgeschnitten.

Syntax

arcpy.cartography.DetectGraphicConflict(in_features, conflict_features, out_feature_class, {conflict_distance}, {line_connection_allowance})
ParameterErklärungDatentyp
in_features

Der Eingabe-Feature-Layer mit symbolisierten Features. Die folgenden Eingaben sind nicht zulässig: CAD-, Coverage- oder VPF-Annotationen, Bemaßungen, Diagramme, Punktdichte- oder proportionale Symbole, Raster-Layer, Netzwerk-Datasets und 3D-Symbole.

Layer
conflict_features

Der Feature-Layer mit symbolisierten Features, die möglicherweise mit symbolisierten Features im Eingabe-Layer in Konflikt stehen.

Layer
out_feature_class

Die zu erstellende Ausgabe-Feature-Class, in der die Konfliktpolygone gespeichert werden. Hierbei darf es sich nicht um eine mit den Eingabe-Layern verknüpfte Feature-Class handeln.

Feature Class
conflict_distance
(optional)

Der Bereich, bei dem die Entfernung von Eingabe- und in Konflikt stehender Symbolisiserung unter einem bestimmten Wert liegt. Es werden sowohl im Eingabe- als auch im Konflikt-Layer temporäre Puffer erstellt, die halb so groß sind wie der Wert für die Konfliktentfernung. An den Stellen, an denen die Puffer überlappen, werden Konfliktpolygone erstellt. Die Konfliktentfernung wird in Seiteneinheiten (Punkt, Zoll, Millimeter, Zentimeter) gemessen. Wenn Sie einen Wert in Karteneinheiten eingeben, wird der Wert mit dem Bezugsmaßstab in Seiteneinheiten umgerechnet. Die Standardkonfliktentfernung beträgt 0. Hierbei werden keine Puffer erstellt, und nur Symbole, die einander physisch überlappen, werden als Konflikte erkannt.

Linear Unit
line_connection_allowance
(optional)

Der Radius eines Kreises, dessen Mittelpunkt dem Verbindungspunkt der Linien entspricht und in dem keine Grafiküberlappungen erkannt werden. Dieser Parameter wird nur berücksichtigt, wenn der Eingabe-Layer und der Konflikt-Layer identisch sind. Bei einer Toleranz mit dem Wert 0 wird bei jeder Linienverbindung ein Konflikt erkannt (sofern sich Linienenden überlappen). Die Linienverbindungstoleranz wird in Seiteneinheiten berechnet (Punkte, Zoll, Millimeter, Zentimeter). Wenn Sie eine Toleranz in Karteneinheiten eingeben, wird der Wert mit dem Bezugsmaßstab in Seiteneinheiten umgerechnet. Der Wert kann nicht negativ sein; der Standardwert beträgt 1 Punkt.

Linear Unit

Codebeispiel

DetectGraphicConflict – Beispiel 1 (Python-Fenster)

Das folgende Skript für das Python-Fenster veranschaulicht, wie das Werkzeug DetectGraphicConflict im unmittelbaren Modus verwendet wird.

import arcpy
arcpy.env.workspace = "C:/data/carto.gdb/buildings"
arcpy.env.referenceScale = "50000"
arcpy.DetectGraphicConflict("footprints.lyr", 
                            "roads.lyr",
                            "C:/data/carto.gdb/buildings/dgc_polys",
                            "25 meters", 
                            "0 meters")
DetectGraphicConflict – Beispiel 2 (eigenständiges Skript)

Dieses eigenständige Skript stellt ein Beispiel für die Verwendung des Werkzeugs DetectGraphicConflict dar.

# Name: DetectGraphicConflict_standalone_script.py
# Description: Detects graphic conflicts between
#              feature representations and stores
#              the overlaps as polygons in
#              the output feature class.
# Author: ESRI
 
# Import system modules
import arcpy
from arcpy import env

# Set environment settings
env.workspace = "C:/data/cartography.gdb/buildings"
env.referenceScale = "50000"

# Set local variables
in_features = "footprints.lyr"
conflict_features = "roads.lyr"
out_feature_class = "C:/data/carto.gdb/buildings/dgc_polys"
conflict_distance = "25 meters"
line_connection_allowance = "0 meters"

# Execute Detect Graphic Conflict
arcpy.DetectGraphicConflict(in_features,
                            conflict_features,
                            out_feature_class,
                            conflict_distance,
                            line_connection_allowance)

Lizenzinformationen

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

Verwandte Themen