Zusammenfassung
Löst Symbolkonflikte zwischen Gebäuden in Bezug auf lineare Barrieren-Features durch Verschieben, Größenanpassung oder Ausblenden von Gebäuden.
Abbildung
Verwendung
Dieses Werkzeug bewertet Grafikkonflikte bei symbolisierten Features. Die Ausdehnung der Symbole und der Bezugsmaßstab werden zusammen verwendet. 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".
Der Parameterwert 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. invisibility <> 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 Hierarchy-Feld 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, können Sie die Sichtbarkeit von Gebäuden durch Zuweisen des Hierarchiewertes 0 erzwingen. 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 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 weiterhin transformiert (verschoben, gedreht oder vergrößert/verkleinert) werden.
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})
Parameter | Erklärung | Datentyp |
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 werden aus der Anzeige entfernt, Gebäude mit dem Wert 0 werden nicht entfernt. 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. Der Abstand gibt die Entfernung an, um die Gebäude zum oder vom Barrieren-Layer weg verschoben werden. Zusammen mit dem Wert muss eine Einheit eingegeben werden.
| 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. Mit dem Wert 0 (null) bleibt die Sichtbarkeit des Gebäudes erhalten, 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
Name | Erklärung | Datentyp |
out_layers | Die aktualisierten Eingabe-Features. | Layer |
Codebeispiel
ResolveBuildingConflicts – Beispiel 1 (Python-Fenster)
Das folgende Skript für das Python-Fenster veranschaulicht, wie die Funktion 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 der Funktion 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)
Umgebungen
Lizenzinformationen
- Basic: Nein
- Standard: Nein
- Advanced: Ja
Verwandte Themen
- Überblick über das Toolset "Grafikkonflikte"
- Konfliktlösung und Generalisierung
- Automatisieren von Workflows für die Konfliktlösung und Generalisierung bei der Geoverarbeitung
- Funktionsweise von "Gebäudekonflikte lösen"
- Gebäude vereinfachen
- Polygone aggregieren
- Generalisieren von großen Datasets mit Partitionen
- Kartografische Partitionen erstellen
- Kartografische Partitionen (Umgebungseinstellung)
- Bebaute Flächen skizzieren