Mit der 3D Analyst-Lizenz verfügbar.
Zusammenfassung
Bestimmt die Sichtbarkeit von Sichtlinien durch potenzielle Hindernisse. Bei den potenziellen Hindernissen kann es sich um eine beliebige Kombination von Rastern, TINs, Multipatches und extrudierten Polygonen oder Linien handeln.
Verwendung
-
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.
Mit diesem Werkzeug erstellen Sie keine neue Ausgabe, sondern fügen der Eingabe-Feature-Class für Sichtlinien ein neues Attribut hinzu. Wenn die Eingabedaten nicht verändert werden sollen, erstellen Sie eine Kopie der Daten und verwenden diese als Eingabe.
Beim Eingabegeometrietyp Sichtlinien sollte es sich um PolylineZ (3D-Linien mit Z-Werten) handeln, damit eine sinnvolle Analyse möglich ist.
Bei Eingabe-Hindernissen kann es sich um eine beliebige Kombination von Oberflächen und/oder Features handeln. Oberflächen müssen entweder Raster oder TINs sein. Der Geometrietyp des Hindernis-Feature-Layers muss Multipatch, Linie oder Polygon sein. Jeder Linien- oder Polygon-Feature-Layer muss über eine Basishöhe und Extrusionsinformationen verfügen, ansonsten wird der Inhalt ignoriert.
Eine Eingabesichtlinie kann aus mehr als zwei Stützpunkten bestehen, verwendet werden jedoch nur der erste und letzte Stützpunkt. Deshalb ist eine Sichtlinie immer eine gerade Linie.
Die Z-Werte des ersten und letzten Stützpunktes einer Sichtlinie sind die einzigen Quellen für Z-Werte, die verwendet werden.
Das Analyseergebnis wird in der Feature-Attributtabelle der Eingabe-Sichtlinie in einem Ganzzahlfeld gespeichert. Standardmäßig lautet der Name dieses Feldes VISIBLE, er kann jedoch mit dem Parameter Feldname der "Sichtbar"-Werte geändert werden.
Der Ergebniswert kann 1 oder 0 sein. Mit dem Wert 1 wird angegeben, dass die Sichtlinie nicht durch eines der im Parameter Hindernisse angegebenen potenziellen Hindernisse unterbrochen wird, sodass eine direkte Sichtverbindung zwischen dem Start- und Endpunkt besteht. Mit dem Wert 0 wird angegeben, dass die Sichtlinie durch mindestens eine Oberfläche oder ein Feature unterbrochen ist.
Wenn das Ergebnisfeld (beispielsweise VISIBLE) in der Feature-Class Sichtlinie bereits vorhanden ist, wird der Inhalt überschrieben. Bei Ausführung des Werkzeugs über das Dialogfeld wird eine Warnmeldung angezeigt, nachdem vom Werkzeug festgestellt wurde, dass das Feld bereits vorhanden ist. Wenn die Ergebnisse in ein vorhandenes Feld geschrieben werden, wird unabhängig von der Art der Ausführung des Werkzeugs (z. B. über Dialogfeld oder Python-Fenster) den Ergebnismeldungen eine Warnmeldung hinzugefügt, die angibt, dass die Daten möglicherweise überschrieben wurden.
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.
- Anders als mit dem Werkzeug Sichtlinie wird mit diesem Werkzeug bestimmt, ob eine Sichtlinie durch ein Hindernis unterbrochen wird, und nicht, an welcher Stelle sich das erste Hindernis befindet. Es wird nicht aufgezeichnet, welches Hindernis die Unterbrechung einer Sichtlinie verursacht.
Falls die Richtung (Azimut und vertikaler Winkel) der Sichtlinie benötigt wird, kann diese Information in die Sichtlinien geschrieben werden, wenn mit dem Werkzeug Sichtlinien konstruieren die Sichtlinien generiert werden, bevor dieses Werkzeug ausgeführt wird.
Syntax
Intervisibility_3d (sight_lines, obstructions, {visible_field})
Parameter | Erläuterung | Datentyp |
sight_lines | Die 3D-Sichtlinien. | Feature Layer |
obstructions [obstructions,...] | Mindestens eine Feature-Class und/oder Oberfläche, die eventuell Sichtlinien unterbricht. | Feature 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 lautet VISIBLE. | String |
Codebeispiel
Intervisibility – Beispiel 1 (Python-Fenster)
Anhand des folgenden Beispiels wird die Verwendung dieses Werkzeugs im Python-Fenster veranschaulicht.
arcpy.CheckOutExtension("3D")
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 für Sichtlinien unter Berücksichtigung der Hindernisse durch eine Oberfläche und/oder Gebäude in Form von Multipatches berechnet wird.
# Import system modules
import arcpy
try:
# Checking out 3D Analyst Extension
arcpy.CheckOutExtension("3D")
# Set environments
arcpy.env.workspace = 'C:/data'
# Setting up input and output variables
sightlines = "My_Sightlines.shp"
surface = "DTM_Tin"
buildings = "My_3D_Buildings.shp"
viz_field_name = "Visibility"
print("Calculating Intervisibility...")
arcpy.Intervisibility_ddd(
sightlines, surface + ';' + buildings, viz_field_name)
except arcpy.ExecuteError:
print(arcpy.GetMessages(2))
finally:
arcpy.CheckInExtension("3D")
Umgebung
Lizenzierungsinformationen
- ArcGIS for Desktop Basic: Erfordert 3D Analyst
- ArcGIS for Desktop Standard: Erfordert 3D Analyst
- ArcGIS for Desktop Advanced: Erfordert 3D Analyst