Zusammenfassung
Legt die Sichtbarkeit von Sichtlinien im Vergleich zu potenziellen Hindernissen fest, die durch eine beliebige Kombination aus 3D-Features und Oberflächen definiert sind.
Verwendung
Mit diesem Werkzeug werden die Eingabe-Sichtlinien geändert, indem ein neues Feld hinzugefügt bzw. ein vorhandenes aktualisiert wird. Sie können den Feldnamen im Parameter Sichtbarer Feldname festlegen. Die Feldwerte lauten 1 für sichtbare Sichtlinien oder 0 für Sichtlinien mit Hindernissen. Wenn Sie über keinen Schreibzugriff auf die Eingabe-Features verfügen oder die Eingabedaten nicht ändern möchten, erstellen Sie eine Kopie der Eingabe für die Verwendung mit diesem Werkzeug. Weitere Informationen und Strategien zur Vermeidung unerwünschter Datenänderungen finden Sie unter Werkzeuge ohne Ausgabe.
-
Nur die Endpunkte der Eingabelinie werden zum Definieren von Beobachter und Ziel verwendet. Idealerweise sollten Sichtlinien gerade Linien aus zwei Stützpunkten sein, die den Beobachtungspunkt und die Zielposition, zu der die Sichtbarkeit bestimmt wird, darstellen.
-
Verwenden Sie das Werkzeug Sichtlinien konstruieren, wenn die Position des Beobachters durch Punkt-Features definiert wird und das Sichtbarkeitsziel durch Daten dargestellt wird, die in einer anderen Feature-Class gespeichert sind.
Das Werkzeug wird schneller ausgeführt, wenn sich alle Eingaben im selben Raumbezug befinden, da in diesem Fall keine Daten projiziert werden müssen (unter Umständen sogar mehrfach), um zu überprüfen, ob Hindernisse vorhanden sind. Besonders hilfreich ist es, wenn sich alle Hindernisse im selben Raumbezug befinden. Der Raumbezug der Sichtlinien ist weniger relevant, da Sichtlinien leichter projiziert werden können.
- Sie können das Werkzeug Sichtlinie verwenden, um die Position des Sichthindernisses für nicht sichtbare Sichtlinien zu ermitteln.
Syntax
arcpy.ddd.Intervisibility(sight_lines, obstructions, {visible_field})
Parameter | Erklärung | Datentyp |
sight_lines | Die 3D-Sichtlinien. | Feature Layer |
obstructions [obstructions,...] | Die Multipatch-Features und -Oberflächen, die eventuell Sichtlinien unterbrechen. Ein Polygon- oder Linien-Feature-Layer kann festgelegt werden, wenn dessen Basishöhe und Extrusionseigenschaften für den Layer definiert wurden. | Feature Layer; Mosaic Layer; Raster Layer; TIN Layer |
visible_field (optional) | Name des Feldes, in dem die Sichtbarkeitsergebnisse gespeichert werden. Der Ergebniswert 0 gibt an, dass keine direkte Sichtverbindung zwischen dem Start- und Endpunkt der Sichtlinie besteht. Der Wert 1 gibt an, dass eine direkte Sichtverbindung zwischen dem Start- und Endpunkt der Sichtlinie besteht. Der Standardname des Feldes ist VISIBLE. Wenn das Feld bereits vorhanden ist, werden dessen Wert überschrieben. | String |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
out_feature_class | Die aktualisierten 3D-Sichtlinien. | Feature-Layer |
Codebeispiel
Intervisibility – Beispiel 1 (Python-Fenster)
Anhand des folgenden Beispiels wird die Verwendung dieses Werkzeugs im Python-Fenster veranschaulicht.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.Intervisibility_3d("sightlines.shp", ["3dbuildings.shp", "topo_tin"], "Visibility")
Intervisibility – Beispiel 2 (eigenständiges Fenster)
Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht.Dieses Skript veranschaulicht, wie die Sichtverbindung von Sichtlinien, die aus Beobachterpunkten oder Ziellinien konstruiert wurden, unter Berücksichtigung der Hindernisse durch eine Oberfläche und Gebäude-Features berechnet wird.
# Import system modules
import arcpy
# Set environments
arcpy.env.workspace = 'C:/data'
print("Constructing Sightlines")
arcpy.ddd.ConstructSightLines("Observers.shp", "Targets.shp", "sightlines.shp",
observer_height_field='Shape.Z', target_height_field='Shape.Z')
print("Calculating Intervisibility")
arcpy.ddd.Intervisibility("Sightlines.shp", obstructions=["DTM_Tin", "data.gdb/buildings"],
visible_field="Visibility")
Umgebungen
Lizenzinformationen
- Basic: Erfordert 3D Analyst
- Standard: Erfordert 3D Analyst
- Advanced: Erfordert 3D Analyst