Zusammenfassung
Löst Symbolkonflikte zwischen Gebäuden und in Bezug auf lineare Barrieren-Features durch Verschieben oder Verbergen von Gebäuden.
Weitere Informationen zur Funktionsweise von "Gebäudekonflikte lösen"
Bild
Verwendung
Dieses Werkzeug funktioniert durch Bewertung von Grafikkonflikten bei symbolisierten Features. Die Symbologieausdehnung 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.
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.
Gebäude, die geometrisch in Konflikt mit Barrieren stehen (d. h. die tatsächliche Geometrie – nicht nur die Symbologie -–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 Symbologie 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 Symbologie 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
ResolveBuildingConflicts_cartography (in_buildings, invisibility_field, in_barriers, building_gap, minimum_size, {hierarchy_field})
Parameter | Erläuterung | 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 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.
| 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 |
Codebeispiel
ResolveBuildingConflicts – Beispiel 1 (Python-Fenster)
Das folgende Skript im Python-Fenster veranschaulicht, wie das Werkzeug "ResolveBuildingConflicts" im unmittelbaren Modus verwendet wird.
import arcpy
from arcpy import env
env.workspace = "C:/data"
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 Python-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)
Umgebung
Lizenzierungsinformationen
- ArcGIS for Desktop Basic: Nein
- ArcGIS for Desktop Standard: Nein
- ArcGIS for Desktop Advanced: Ja
Verwandte Themen
- Überblick über das Toolset "Grafikkonflikte"
- Konfliktlösung und Generalisierung
- Automatisieren der Workflows für die Konfliktlösung und Generalisierung durch 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