Gebäudekonflikte lösen (Cartography)

Zusammenfassung

Löst Symbolkonflikte zwischen Gebäuden und in Bezug auf lineare Barrieren-Features durch Verschieben oder Verbergen von Gebäuden.

Abbildung

Gebäudekonflikte lösen (Werkzeug)
Gebäude vor und nach Bearbeitung mit dem Werkzeug "Gebäudekonflikte lösen"

Verwendung

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

    Weitere Informationen zu diesem Werkzeug finden Sie unter Funktionsweise von "Gebäudekonflikte lösen".

  • Vorsicht:

    Dieses Werkzeug erzeugt keine Ausgabe-Layer, ändert aber stattdessen die Geometrie der Quell-Feature-Classes der Eingabe-Layer. Es wird dringend empfohlen, dass Sie vor der Ausführung dieses Werkzeugs eine Kopie Ihrer Eingabe-Features erstellen.

  • Das Unsichtbarkeitsfeld muss vorhanden sein und für alle Eingabe-Feature-Classes denselben Namen tragen. Features, die sichtbar bleiben sollen, wird der Wert 0 zugewiesen; jenen, die aus der Anzeige entfernt werden sollen, wird der Wert 1 zugewiesen. Zeigen Sie die resultierende vereinfachte Sammlung mithilfe einer Layer-Definitionsabfrage oder einer Auswahl an (d. h. Unsichtbarkeit <> 1). Sie können zum Speichern von verschiedenen Ergebnissen (für verschiedene Ausgabemaßstäbe) in der gleichen Feature-Class mehrere Unsichtbarkeitsfelder verwenden.

  • Bevor Konflikte bewertet werden, werden polygonale Gebäude auf eine vom Parameter Minimal zulässige Gebäudegröße festgelegte minimale Größe vergrößert. Die minimale Größe wird als lineare Entfernung an der kürzesten Seite eines am besten zum Feature passenden gedrehten Rahmens gemessen. Wenn Sie die endgültige Größe von Gebäuden in den Ausgabeergebnissen überprüfen möchten, fügen Sie in eine der Eingabe-Building-Feature-Classes ein Double- oder Float-Feld mit dem Namen "RBC_SIZE" ein. Bei der Ausführung des Werkzeugs wird dieses Feld mit der kürzesten Seite eines gedrehten Rahmens um jedes Feature aktualisiert.

  • Der Parameter Hierarchiefeld ist optional. Wenn nicht angegeben, wird Gebäuden eine relative Bedeutung auf der Grundlage des Umfangs des Gebäudes und der Nähe von Barrieren zugewiesen. Näher an mehr als einer Barriere liegende größere Gebäude werden als wichtiger als relativ weit von einer Barriere liegende kleinere Gebäude bewertet. Sie können ein teilweise aufgefülltes Hierarchiefeld verwenden, in dem nur den bedeutenden Gebäuden ein Hierarchiewert zugewiesen wird und die relative Bedeutung der anderen Features (mit einem Hierarchiewert NULL) intern berechnet wird.

  • Wenn der Parameter Hierarchiefeld verwendet wird, kann die Sichtbarkeit von Gebäuden durch Zuweisen des Hierarchiewertes 0 (null) erzwungen werden. Sie werden nicht vom Werkzeug maskiert. Ein Gebäude mit einer Hierarchie von 0 wird als lokal bedeutend betrachtet, sodass nahe gelegene Gebäude möglicherweise mehr beeinträchtigt werden, als dies ohne Erzwingung der Sichtbarkeit des Gebäudes der Fall wäre. Gebäude mit einer Hierarchie von 0 können zur Lösung von Konflikten und zur Übereinstimmung mit anderen erforderlichen Parametern immer noch transformiert (verschoben, gedreht oder in der Größe geändert) werden.

  • Vorsicht:

    Wenn sich die Eingabe-Features nicht in einem projizierten Koordinatensystem befinden, wird eine Warnung ausgelöst. Dieses Werkzeug beruht auf linearen Entfernungseinheiten, sodass in einem unprojizierten Koordinatensystem unerwartete Ergebnisse auftreten können. Es wird dringend empfohlen, dieses Werkzeug für Daten in einem projizierten Koordinatensystem auszuführen, um sicherzustellen, dass die Ergebnisse gültig sind. Wenn das Koordinatensystem fehlt oder unbekannt ist, wird ein Fehler ausgelöst und keine Verarbeitung ausgeführt.

  • Gebäude, die geometrisch in Konflikt mit Barrieren stehen (d. h. die tatsächliche Geometrie – nicht nur die Symbolisierung – der Gebäude überschneidet sich mit der eines Barrieren-Features, z. B. einer Straße), werden nicht vom Barrieren-Feature weg verschoben. Diese Gebäude werden möglicherweise für eine Maskierung im Verlauf der Abarbeitung der Konfliktlösung gekennzeichnet, aber sie werden nicht verschoben. Ein Konflikt bleibt bestehen.

  • Wenn die Symbolisierung der Barrieren-Features nicht symmetrisch über die Geometrie verteilt ist, d. h. das Symbol ist auf der einen Seite der Linie dicker als auf der anderen Seite, ist der Abstand zwischen Gebäude und Barriere auf der Seite mit der dünneren Symbolisierung möglicherweise größer.

  • Bei Verarbeitung großer Datasets oder gemeinsamer Verarbeitung mehrerer Barrieren-Layer werden möglicherweise Speichereinschränkungen überschritten. Erwägen Sie in diesem Fall, die Eingabegebäudedaten partitionsweise zu verarbeiten, indem Sie eine relevante Polygon-Feature-Class in der Umgebungseinstellung Partitions-Features angeben. Die Teile der Gebäudedaten, die durch Partitionsgrenzen definiert werden, werden sequenziell verarbeitet. Die sich ergebenden Layer sind an Partitionsrändern nahtlos und konsistent. Weitere Informationen zum Ausführen dieses Werkzeugs mit Partitionierung finden Sie unter Funktionsweise von "Gebäudekonflikte lösen".

Syntax

arcpy.cartography.ResolveBuildingConflicts(in_buildings, invisibility_field, in_barriers, building_gap, minimum_size, {hierarchy_field})
ParameterErklärungDatentyp
in_buildings
[in_buildings,...]

Die Eingabe-Layer mit Gebäude-Features, die möglicherweise in Konflikt stehen oder kleiner als zulässig sind. Gebäude können Punkte oder Polygone sein. Gebäude werden geändert, um Konflikte mit anderen Gebäuden und Barrieren-Features aufzulösen.

Layer
invisibility_field

Das Feld, in dem die Unsichtbarkeitswerte gespeichert werden, mit denen Gebäude zur Auflösung von Symbolkonflikten aus der Anzeige entfernt werden können. Gebäude mit dem Wert 1 sollten aus der Anzeige entfernt werden. Gebäude mit dem Wert 0 sollten verbleiben. Verwenden Sie für den Layer eine Definitionsabfrage, um nur sichtbare Gebäude anzuzeigen. Es werden keine Features gelöscht.

String
in_barriers
[[Layer, Boolean, Linear Unit],...]

Die Layer mit den linearen oder Polygon-Features, die Konfliktbarrieren für Eingabe-Gebäude-Features darstellen. Gebäude werden geändert, um Konflikte zwischen Gebäuden und Barrieren aufzulösen. Der Ausrichtungswert ist ein boolescher Wert, der angibt, ob Gebäude am Barrieren-Layer ausgerichtet werden sollen.

Der Abstand gibt die Entfernung an, um die Gebäude zum oder vom Barrieren-Layer weg verschoben werden sollen. Zusammen mit dem Wert muss eine Einheit eingegeben werden.

  • Der Abstandswert 0 (null) fängt Gebäude direkt an der Kante der Barriere oder der Umrisssymbolisierung.
  • Ein Abstandswert von NULL (nicht angegeben) bedeutet, dass Gebäude nicht zu oder weg von Barrierenlinien oder Umrissen verschoben werden, es sei denn, die Verschiebung ist zur Auflösung von Konflikten erforderlich.

Hinweis:

Wenn keine Einheit zusammen mit dem Abstandswert eingegeben wird (d. h. 10 statt 10 Meter), wird die lineare Einheit des Koordinatensystems des Eingabe-Features verwendet.

Value Table
building_gap

Die minimale zulässige Entfernung zwischen symbolisierten Gebäuden in diesem Maßstab. Näher aneinander liegende Gebäude werden verschoben oder ausgeblendet, um diese Entfernung zu erzwingen. Die minimal zulässige Entfernung wird relativ zum Bezugsmaßstab (d. h. 15 Meter beim Maßstab 1:50.000) festgelegt. Wenn der Bezugsmaßstab nicht festgelegt ist, ist der Wert 0.

Linear Unit
minimum_size

Die minimal zulässige Größe der kürzesten Seite eines gedrehten optimalen Rahmens um das im Bezugsmaßstab gezeichnete symbolisierte Gebäude-Feature. Gebäude mit einer Rahmenseite, die kleiner als dieser Wert ist, werden vergrößert, sodass dieser Wert erreicht wird. Die Größe wird möglicherweise nicht proportional angepasst, was zu einer Änderung der Morphologie des Gebäudes führt.

Linear Unit
hierarchy_field
(optional)

Das Feld, das hierarchische Rangstufen für die Bedeutung der Features enthält, wobei 1 eine große und größere Ganzzahlen eine geringere Bedeutung darstellen. Der Wert 0 (null) erzwingt die Sichtbarkeit des Gebäudes, obwohl es möglicherweise zur Auflösung eines Konflikts geringfügig verschoben wird. Wenn dieser Parameter nicht verwendet wird, wird die Bedeutung von Features vom Werkzeug auf der Grundlage des Umfangs und der Nähe zu Barrieren-Features bewertet.

String

Abgeleitete Ausgabe

NameErklärungDatentyp
out_layers

Die aktualisierten Eingabe-Features.

Layer

Codebeispiel

ResolveBuildingConflicts – Beispiel 1 (Python-Fenster)

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

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.env.referenceScale = "50000"
arcpy.ResolveBuildingConflicts(["C:/data/footprints.lyr", "C:/data/bldg_points.lyr"],                                
                               "invisible",
                               [["C:/data/roads.lyr", "true", "5 Meters"],
                                ["C:/data/trails.lyr", "false", "10 Meters"],
                                ["C:/data/streams.lyr", "false", "5 Meters"]],
                               "10 meters", 
                               "15 meters", 
                               "bldg_hierarchy")
ResolveBuildingConflicts – Beispiel 2 (eigenständiges Skript)

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

# Name: ResolveBuildingConflicts_standalone_script.py
# Description: Resolves the symbology conflicts between
#              buildings and nearby barriers,
#              in this case - roads
 
# Import system modules
import arcpy
from arcpy import env

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

# Set local variables
in_buildings = "C:/data/footprints.lyr;C:/data/bldg_pts.lyr"
invisibility_field = "invisible"
in_barriers = "'C:/data/roads.lyr' 'true' '5 Meters';\
              'C:/data/trails.lyr' 'false' '10 Meters';\
              'C:/data/streams.lyr' 'false' '5 Meters'"
building_gap = "10 meters"
minimum_size = "15 meters"
hierarchy_field = "bldg_hierarchy"

# Execute Resolve Building Conflicts
arcpy.ResolveBuildingConflicts(in_buildings,
                               invisibility_field,
                               in_barriers,
                               building_gap,
                               minimum_size,
                               hierarchy_field)

Lizenzinformationen

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

Verwandte Themen