Sichtlinie (ArcGIS 3D Analyst)

Lizenzstufe:BasicStandardAdvanced

Zusammenfassung

Bestimmt die Sichtbarkeit von Sichtlinien über einer von einem Multipatch-, Raster-, TIN-, Terrain- oder LAS-Dataset definierten Oberfläche.

Weitere Informationen zur Funktionsweise von "Sichtlinie"

Verwendung

Syntax

LineOfSight_3d (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})
ParameterErläuterungDatentyp
in_surface

Das Raster-, TIN-, Terrain- oder LAS-Dataset, das die Oberfläche definiert, die bei der Bestimmung der Sichtbarkeit verwendet wurde.

Raster Layer; Terrain Layer; TIN Layer
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 Feld OffsetB 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. "VisCode" gibt die Sichtbarkeit entlang der Linie an, wobei 1 für "sichtbar" und 2 für "nicht sichtbar" steht. "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)

Gibt an, ob die Erdkrümmung in der Sichtlinienanalyse berücksichtigt werden soll. Damit diese Option 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)

Gibt an, ob die atmosphärische Lichtbrechung berücksichtigt werden soll, wenn eine Sichtlinie aus einer Oberflächenfunktion generiert wird.

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

Gibt den Wert für den Brechungsfaktor an. Der Standardbrechungsfaktor ist 0,13.

Double
pyramid_level_resolution
(optional)

Die Auflösung der Pyramidenebene des Terrain-Datasets, die für die Geoverarbeitung verwendet werden soll. Der Standardwert ist 0, also volle Auflösung.

Double
in_features
(optional)

Eine optionale Multipatch-Feature-Class, die möglicherweise zusätzliche blockierende Elemente definiert, z. B. Gebäude.

Feature Layer

Codebeispiel

LineOfSight – Beispiel 1 (Python-Fenster)

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

import arcpy
from arcpy import env

arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.LineOfSight_3d("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
Description: This script demonstrates how to calculate visibility
             for sight lines against the obstructions presented by
             terrain elevation & building models in a multipatch.
*********************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
from arcpy import env

try:
    arcpy.CheckOutExtension('3D')
    # Set Local Variables
    env.workspace = 'C:/data'
    obs_pts = "Observers.shp"
    target = "Observation_Targets.shp"
    sight_lines = "in_memory/sightlines"
    surface = "sample.gdb/elevation/terrain"
    buildings = "city_buildings.shp"
    outLOS = arcpy.CreateUniqueName("Line_of_Sight.shp")
    obstruction_pts = arcpy.CreateUniqueName("Obstruction_Points.shp")
    arcpy.AddMessage("Constructing sight lines...")
    arcpy.ddd.ConstructSightLines(obs_pts, target, sight_lines)
    arcpy.AddMessage("Calculating line of sight...")
    arcpy.ddd.LineOfSight(surface, sight_lines, outLOS, obstruction_pts, 
                          "CURVATURE", "REFRACTION", 0.35, 0, buildings)
    arcpy.GetMessages(0)
    arcpy.CheckInExtension("3D")

except arcpy.ExecuteError:
    print arcpy.GetMessages()
except:
    # Get the traceback object
    tb = sys.exc_info()[2]
    tbinfo = traceback.format_tb(tb)[0]
    # Concatenate error information into message string
    pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
          .format(tbinfo, str(sys.exc_info()[1]))
    msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
    # Return python error messages for script tool or Python Window
    arcpy.AddError(pymsg)
    arcpy.AddError(msgs)

Umgebung

Verwandte Themen

Lizenzierungsinformationen

ArcGIS for Desktop Basic: Erfordert 3D Analyst
ArcGIS for Desktop Standard: Erfordert 3D Analyst
ArcGIS for Desktop Advanced: Erfordert 3D Analyst
9/11/2013