Sichtbarkeitslinie (3D Analyst)

Zusammenfassung

Bestimmt die Sichtbarkeit von Sichtlinien über Hindernissen, die aus einer Oberfläche und einem optionalen Multipatch-Dataset bestehen.

Weitere Informationen zur Funktionsweise von "Sichtbarkeitslinie"

Abbildung

Abbildung des Werkzeugs "Sichtbarkeitslinie"

Verwendung

  • Nur die Endpunkte der Eingabelinie werden zum Definieren von Beobachter und Ziel verwendet. Sichtlinien sollten einfache, gerade Linien aus zwei Stützpunkten sein, die den Beobachtungspunkt und die Zielposition, für die die Sichtbarkeit bestimmt wird, darstellen.

  • Überlegen Sie, ob es sinnvoll sein kann, Sichtlinien mit dem Werkzeug Sichtlinien konstruieren zu erstellen, falls die Position des Beobachters durch Punkt-Features identifiziert wird und die Sichtbarkeitsziele sich in einer anderen Feature-Class befinden.

  • Ausgabelinien werden anhand sichtbarer und unsichtbarer Teile der Eingabesichtlinie getrennt. Wenn die Sichtbarkeit der Sichtlinie nur durch eine Oberfläche bestimmt wird, folgen die Ausgabelinien dem Oberflächenprofil. Wenn bei der Berechnung der Sichtbarkeitslinie ein Multipatch-Feature angegeben wird, folgen die Ausgabelinien dem Verlauf der Eingabesichtlinien.

  • Die Attributtabelle des Ausgabe-Linien-Features enthält die folgenden Felder:

    • SourceOID: Die eindeutige ID des Linien-Features, das bei der Berechnung der Sichtbarkeit verwendet wurde.
    • VisCode: Die Sichtbarkeit entlang der Linie. Der Wert 1 gibt an, dass das Ziel sichtbar ist. Der Wert 2 gibt an, dass das Ziel nicht sichtbar ist. Dieses Feld ist nur vorhanden, wenn es sich bei der Ausgabegeometrie um eine Linie handelt.
    • TarIsVis: Die Sichtbarkeit des Ziels entlang der Linie. Der Wert 1 gibt an, dass das Ziel sichtbar ist. Der Wert 0 gibt an, dass das Ziel nicht sichtbar ist. Dieses Feld ist nur vorhanden, wenn es sich bei der Ausgabegeometrie um eine Linie handelt.
    • OBSTR_MPID: Die eindeutige ID des Multipatch, das die Sichtbarkeitslinie verdeckt. Wenn kein Multipatch die Sichtbarkeitslinie verdeckt, enthält das Feld den Wert -1 oder -9999. Wenn das Ziel von der Oberfläche verdeckt wird, beträgt der Wert -1. Wenn das Ziel sichtbar ist, beträgt der Wert -9999.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Oberfläche

Die Oberfläche des Szenen-Layers mit integrierten Meshes, LAS-Datasets, Rasters, TINs oder Terrains, die bei der Bestimmung der Sichtbarkeit verwendet wurde.

TIN Layer; Raster Layer; Mosaic Layer; Terrain Layer; LAS Dataset Layer; Scene Layer; File
Eingabe-Linien-Features

Die Linien-Features, deren erster Stützpunkt den Beobachtungspunkt definiert und deren letzter Stützpunkt das Beobachtungsziel identifiziert. Die Höhenwerte der Beobachtungs- und Zielpunktpositionen werden den Z-Werten von 3D-Features entnommen und für 2D-Features von der Oberfläche interpoliert.

Zur Höhe von 2D-Linien wird zudem ein Standardversatz von 1 addiert, um die Punkte über die Oberfläche zu heben. Wenn das Feature ein OffsetA-Feld aufweist, wird der Wert zur Höhe des Beobachtungspunktes addiert. Wenn das OffsetB-Feld vorhanden ist, wird der Wert zur Höhe der Zielposition addiert.

Feature Layer
Ausgabe-Feature-Class

Die Ausgabe-Line-Feature-Class, entlang der die Sichtbarkeit bestimmt wurde. Zwei Attributfelder werden erstellt. Der VisCode gibt die Sichtbarkeit entlang der Linie an, wobei 1 für "sichtbar" und 2 für "nicht sichtbar" steht. Das Feld TarIsVis gibt die Sichtbarkeit des Zieles an. Dabei steht 0 für "nicht sichtbar" und 1 für "sichtbar".

Feature Class
Point-Feature-Class für Ausgabe-Einschränkung
(optional)

Eine optionale Point-Feature-Class, die die Position des ersten Hindernisses in der Sichtlinie des Beobachters auf das Ziel angibt.

Feature Class
Krümmung verwenden
(optional)

Legt fest, ob die Erdkrümmung in der Sichtlinienanalyse berücksichtigt wird. Damit dieser Parameter aktiv ist, muss die Oberfläche über einen definierten Raumbezug in projizierten Koordinaten sowie definierte Z-Einheiten verfügen.

  • Deaktiviert: Die Erdkrümmung wird nicht berücksichtigt. Dies ist die Standardeinstellung.
  • Aktiviert: Die Erdkrümmung wird berücksichtigt.
Boolean
Brechung verwenden
(optional)

Legt fest, ob die atmosphärische Lichtbrechung berücksichtigt wird, wenn eine Sichtbarkeitslinie aus einer Oberflächenfunktion generiert wird. Dieser Parameter findet keine Anwendung, wenn Multipatch-Features verwendet werden.

  • Deaktiviert: Die atmosphärische Lichtbrechung wird nicht berücksichtigt. Dies ist die Standardeinstellung.
  • Aktiviert: Die atmosphärische Lichtbrechung wird berücksichtigt.
Boolean
Brechungsfaktor
(optional)

Der Wert für den Brechungsfaktor. Der Standardwert ist 0,13.

Double
Auflösung der Pyramidenebene
(optional)

Die verwendete Auflösung der Z-Toleranz oder der Kachelung der Terrain-Pyramidenebene. Der Standardwert ist 0, also volle Auflösung.

Double
Eingabe-Features
(optional)

Ein Multipatch-Feature, das möglicherweise zusätzliche blockierende Elemente definiert, z. B. Gebäude. Brechungsoptionen werden für diese Eingabe nicht berücksichtigt.

Feature Layer

arcpy.ddd.LineOfSight(in_surface, in_line_feature_class, out_los_feature_class, {out_obstruction_feature_class}, {use_curvature}, {use_refraction}, {refraction_factor}, {pyramid_level_resolution}, {in_features})
NameErläuterungDatentyp
in_surface

Die Oberfläche des Szenen-Layers mit integrierten Meshes, LAS-Datasets, Rasters, TINs oder Terrains, die bei der Bestimmung der Sichtbarkeit verwendet wurde.

TIN Layer; Raster Layer; Mosaic Layer; Terrain Layer; LAS Dataset Layer; Scene Layer; File
in_line_feature_class

Die Linien-Features, deren erster Stützpunkt den Beobachtungspunkt definiert und deren letzter Stützpunkt das Beobachtungsziel identifiziert. Die Höhenwerte der Beobachtungs- und Zielpunktpositionen werden den Z-Werten von 3D-Features entnommen und für 2D-Features von der Oberfläche interpoliert.

Zur Höhe von 2D-Linien wird zudem ein Standardversatz von 1 addiert, um die Punkte über die Oberfläche zu heben. Wenn das Feature ein OffsetA-Feld aufweist, wird der Wert zur Höhe des Beobachtungspunktes addiert. Wenn das OffsetB-Feld vorhanden ist, wird der Wert zur Höhe der Zielposition addiert.

Feature Layer
out_los_feature_class

Die Ausgabe-Line-Feature-Class, entlang der die Sichtbarkeit bestimmt wurde. Zwei Attributfelder werden erstellt. Der VisCode gibt die Sichtbarkeit entlang der Linie an, wobei 1 für "sichtbar" und 2 für "nicht sichtbar" steht. Das Feld TarIsVis gibt die Sichtbarkeit des Zieles an. Dabei steht 0 für "nicht sichtbar" und 1 für "sichtbar".

Feature Class
out_obstruction_feature_class
(optional)

Eine optionale Point-Feature-Class, die die Position des ersten Hindernisses in der Sichtlinie des Beobachters auf das Ziel angibt.

Feature Class
use_curvature
(optional)

Legt fest, ob die Erdkrümmung in der Sichtlinienanalyse berücksichtigt wird. Damit dieser Parameter aktiviert werden kann, muss die Oberfläche über einen definierten Raumbezug in projizierten Koordinaten sowie definierte Z-Einheiten verfügen.

  • CURVATUREDie Erdkrümmung wird berücksichtigt.
  • NO_CURVATUREDie Erdkrümmung wird nicht berücksichtigt. Dies ist die Standardeinstellung.
Boolean
use_refraction
(optional)

Legt fest, ob die atmosphärische Lichtbrechung berücksichtigt wird, wenn eine Sichtbarkeitslinie aus einer Oberflächenfunktion generiert wird. Dieser Parameter findet keine Anwendung, wenn Multipatch-Features verwendet werden.

  • REFRACTIONDie atmosphärische Lichtbrechung wird berücksichtigt.
  • NO_REFRACTIONDie atmosphärische Lichtbrechung wird nicht berücksichtigt. Dies ist die Standardeinstellung.
Boolean
refraction_factor
(optional)

Der Wert für den Brechungsfaktor. Der Standardwert ist 0,13.

Double
pyramid_level_resolution
(optional)

Die verwendete Auflösung der Z-Toleranz oder der Kachelung der Terrain-Pyramidenebene. Der Standardwert ist 0, also volle Auflösung.

Double
in_features
(optional)

Ein Multipatch-Feature, das möglicherweise zusätzliche blockierende Elemente definiert, z. B. Gebäude. Brechungsoptionen werden für diese Eingabe nicht berücksichtigt.

Feature Layer

Codebeispiel

LineOfSight – Beispiel 1 (Python-Fenster)

Anhand des folgenden Beispiels wird die Verwendung dieses Werkzeugs im Python-Fenster veranschaulicht.

arcpy.env.workspace = "C:/data"
arcpy.ddd.LineOfSight("tin", "line.shp", "los.shp", "buldings_multipatch.shp", 
                    "obstruction.shp")
LineOfSight – Beispiel 2 (eigenständiges Skript)

Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht.

'''*********************************************************************
Name: Sight Line Visibility of Parade Path
Description: This script demonstrates how to create a sight line feature class
             from a pair of observer and target points.
*********************************************************************'''
# Import system modules
import arcpy

# Set Local Variables:
arcpy.env.workspace = 'C:/data'

# Setting up input and output variables:
obs = "observer_pts.shp"
tar = "parade_path.shp"
sightlines = "output_sightlines.shp"
height = "<None>"
join_field = "#"
sampling = 0.5
direction = "OUTPUT_THE_DIRECTION"
surface = 'elevation.tif'
bldgs = 'buildings.shp'

arcpy.ddd.ConstructSightLines(obs, tar, sightlines, height, height,
                              join_field, sampling, direction)
arcpy.ddd.LineOfSight(surface, sightlines, "Parade_LOS.shp",
                      "Obstructions.shp", in_features=bldgs)