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.
Weitere Informationen zur Funktionsweise von "Gebäudekonflikte lösen"
Dieses Werkzeug erzeugt keine Ausgabe-Layer, ändert aber stattdessen die Quellen-Feature-Classes der Eingabe-Layer. Wenn die Eingabe-Layer mit einer Repräsentation gezeichnet wurden (deren Bearbeitungsverhalten auf Speichern von Shape-Overrides festgelegt ist), werden die geänderten Features in der Repräsentation als Shape-Overrides gespeichert. Wenn der Layer nicht mit einer Repräsentation gezeichnet wird, wird die Geometrie der Eingabe-Features geändert. Beim Arbeiten mit den Konfliktlösungswerkzeugen wird die Verwendung von Repräsentationen empfohlen. Wenn die Ergebnisse hierbei nicht akzeptabel sind oder das Werkzeug mit anderen Parametern erneut ausgeführt werden soll, entfernen Sie einfach die Overrides mit dem Werkzeug Override entfernen. Wenn Sie keine Repräsentationen verwenden, deren Bearbeitungsverhalten auf das Speichern von Shape-Overrides festgelegt ist, wird dringend empfohlen, eine Kopie der Eingabe-Features zu erstellen.
Wenn sich die Eingabe-Features nicht in einem projizierten Koordinatensystem befinden, wird eine Warnung ausgelöst. Dieses Werkzeug stützt sich auf lineare Entfernungseinheiten, bei denen in einem nicht projizierten 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.
Abbildung
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. Features, die aus der Anzeige entfernt werden sollen, wird der Wert 1 zugewiesen. Verwenden Sie zur Darstellung der resultierenden vereinfachten Sammlung (d. h., Unsichtbarkeit <> 1) eine Layer-Definitionsabfrage oder eine Auswahl. Sie können zum Speichern von verschiedenen Ergebnissen (für verschiedene Ausgabemaßstäbe) mehrere Unsichtbarkeitsfelder in der gleichen Feature-Class 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 Hierarchiewerts 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 und nicht nur die Symbologie des Gebäudes überschneidet sich mit einem Barrieren-Feature, z. B. mit 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.
Syntax
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, boolescher Wert, lineare Einheit],...] |
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 zu 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.
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 minimale 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 minimale 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 nichtproportional 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
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_cartography("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")
Dieses eigenständige Skript stellt ein Beispiel für die Verwendung des Werkzeugs "Gebäudekonflikte lösen" 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_points.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_cartography(in_buildings, invisibility_field, in_barriers, building_gap, minimum_size, hierarchy_field)