Sichtfeld 2 (3D Analyst)

Mit der Spatial Analyst-Lizenz verfügbar.

Mit der 3D Analyst-Lizenz verfügbar.

Zusammenfassung

Bestimmt anhand geodätischer Methoden die Gitternetz-Oberflächenpositionen, die für eine Reihe von Beobachter-Features sichtbar sind.

Weitere Informationen zur Funktionsweise von "Sichtfeld 2"

Abbildung

Abbildung: Sichtfeld 2 mit der Option "Häufigkeit"
"Sichtfeld 2"-Ausgabe mit der Option "Häufigkeit" auf einer Höhenoberfläche mit Schummerung
Abbildung: Sichtfeld 2 mit der Option "Beobachter"
"Sichtfeld 2"-Ausgabe mit der Option "Beobachter" auf einer Höhenoberfläche mit Schummerung

Verwendung

  • Mit diesem Werkzeug werden zwei Sichtbarkeitsanalysetypen durchgeführt, "Häufigkeit" und "Beobachter". Diese können mit dem Parameter Analysetyp festgelegt werden.

  • Um die Genauigkeit der Ausgabe sicherzustellen, weisen Sie dem Eingabe-Raster ein vertikales Koordinatensystem zu, wenn es noch über keines verfügt.

  • Sichtfeld 2 erfordert keinen Parameter "Z-Faktor". Der Z-Faktor wird intern anhand der vertikalen Einheit (Z) und den Karteneinheiten (XY) aus dem Raumbezug des Eingabe-Rasters berechnet.

  • Bei Eingabe-Rastern, in denen Rauschen auftritt (am häufigsten in Daten mit hoher Auflösung), kann es zu unerwarteten Ergebnissen kommen. Vor der Ausführung dieses Werkzeugs können Sie die Daten in einem Vorverarbeitungsschritt korrigieren. Wenn die ArcGIS-Erweiterung Spatial Analyst verfügbar ist, können Sie die Auswirkungen des Fehlers verringern, indem Sie zuerst das Werkzeug Focal Statistics oder Filter ausführen und danach den Vorgang "Sichtfeld" auswählen.

  • Wenn das Eingabe-Raster neu berechnet werden muss, wird die bilineare Technik verwendet. Ein Eingabe-Raster muss beispielsweise dann neu berechnet werden, wenn das Ausgabe-Koordinatensystem, die Ausdehnung oder die Zellengröße sich von dem entsprechenden Wert der Eingabe unterscheidet.

  • Zur Verbesserung der Performance können Sie für den Parameter Äußerer Radius explizit einen Wert festlegen, mit dem die maximale Betrachtungsentfernung dargestellt wird, die für die Analyse von Interesse ist.

  • Standardmäßig verwendet der Parameter Analysemethode die Option Alle Sichtlinien, mit der die genaueste Ausgabe erzeugt wird. Verwenden Sie zur Steigerung der Performance in puncto Verarbeitungszeit die Option Sichtlinien aus Umfang.

  • Die Beobachterparameter im Zusammenhang mit der Höhe, z. B. Oberflächenversatz, Beobachterhöhe und Beobachterversatz, können als lineare Einheit oder als Feld angegeben werden. Während der Berechnung wird der Wert der linearen Einheit intern in die Z-Einheit des Eingabe-Rasters konvertiert. Wenn die lineare Einheit jedoch unbekannt ist oder ein numerisches Feld angegeben wurde, wird davon ausgegangen, dass der Wert sich in der Z-Einheit des Eingabe-Rasters befindet.

  • Die Beobachterparameter im Zusammenhang mit der Betrachtungsentfernung, z. B. Innerer Radius und Äußerer Radius, können als lineare Einheit oder als Feld angegeben werden. Während der Berechnung wird der Wert der linearen Einheit intern in die XY-Einheiten des Eingabe-Rasters konvertiert. Wenn die lineare Einheit jedoch unbekannt ist oder ein numerisches Feld angegeben wurde, wird davon ausgegangen, dass der Wert sich in der XY-Einheit des Eingabe-Rasters befindet.

  • Für einen Beobachterparameter angegebene Felder, z. B. Oberflächenversatz oder Beobachterversatz, können Zeichenfolgenfelder mit einem numerischen Wert und einer numerischen Einheit sein. Beispiel: Wenn für Versatz der Beobachterposition das Feld obs_height angegeben ist, kann es Werte wie "6 Meter" enthalten.

    Bei der Skripterstellung können die Beobachterparameter wie observer_offset in verschiedenen Formen von Zeichenfolgen angegeben werden. In jeder Form werden ein Wert und eine lineare Einheit aus der Zeichenfolge gelesen. In der folgenden Tabelle werden einige Beispieleingabezeichenfolgen aufgeführt, und es wird angegeben, wie die jeweilige lineare Einheit ermittelt wird. Bei anderen Parametern können Sie demselben Muster folgen.

    Beispiel einer Eingabezeichenfolge für den BeobachterversatzVerwendete lineare Einheit

    ' ' oder '#'

    Standardwert und -einheit werden verwendet, in diesem Fall 1 Meter.

    '6'

    Der Beobachterversatz ist 6, und da keine Einheit angegeben ist, wird die Standardeinheit Meter verwendet.

    '6 Feet'

    Der Beobachterversatz ist 6 Fuß.

    '6 Unknown'

    Der Beobachterversatz ist 6, und da keine Einheit angegeben ist, wird die Standardeinheit Meter verwendet.

    Beispiele für Eingabezeichenfolgen und lineare Einheiten
  • Dieses Werkzeug nutzt automatisch den Grafikprozessor, um die Performance des Werkzeugs zu verbessern, falls vorhanden und ordnungsgemäß konfiguriert.

    Weitere Informationen zum Konfigurieren Ihres GPU-Geräts finden Sie in der Hilfe der Erweiterung "Spatial Analyst" im Thema GPU-Verarbeitung mit Spatial Analyst.

  • Wenn das Werkzeug die im System installierten GPU-Geräte nicht verwenden soll, erstellen Sie eine Umgebungsvariable CUDA_VISIBLE_DEVICES, legen Sie als Wert dafür -1 fest, und starten Sie die Anwendung neu. Das Werkzeug verwendet bei der Ausführung dann nur die CPU. Um die Verwendung eines GPU-Geräts wieder zu aktivieren, löschen Sie entweder die Umgebungsvariable CUDA_VISIBLE_DEVICES im System, oder legen Sie als Wert der Umgebungsvariable den Indexwert des GPU-Geräts fest, das Sie verwenden möchten (0 für das erste Gerät, 1 für das zweite usw.) Starten Sie die Anwendung dann neu.

Syntax

Viewshed2(in_raster, in_observer_features, out_raster, {out_agl_raster}, {analysis_type}, {vertical_error}, {out_observer_region_relationship_table}, {refractivity_coefficient}, {surface_offset}, {observer_elevation}, {observer_offset}, {inner_radius}, {inner_radius_is_3d}, {outer_radius}, {outer_radius_is_3d}, {horizontal_start_angle}, {horizontal_end_angle}, {vertical_upper_angle}, {vertical_lower_angle}, {analysis_method})
ParameterErklärungDatentyp
in_raster

Das Eingabe-Oberflächen-Raster. Das Raster kann ein ganzzahliges oder ein Gleitkomma-Raster sein.

Das Eingabe-Raster wird im Zuge der Sichtbarkeitsberechnung in ein geozentrisches 3D-Koordinatensystem umgewandelt. Die Bestimmung der Sichtbarkeit wird durch NoData-Zellen im Eingabe-Raster nicht versperrt.

Raster Layer
in_observer_features

Die Eingabe-Feature-Class, die die Beobachterpositionen identifiziert. Dabei kann es sich um Punkt-, Multipoint- oder Polylinien-Features handeln.

Im Zuge der Sichtbarkeitsberechnung wird die Eingabe-Feature-Class in ein geozentrisches 3D-Koordinatensystem umgewandelt. Beobachter, die sich außerhalb der Ausdehnung des Oberflächen-Rasters oder auf NoData-Zellen befinden, werden bei der Berechnung ignoriert.

Feature Layer
out_raster

Das Ausgabe-Raster.

Beim Analysetyp Häufigkeit, bei dem der Parameter für einen vertikalen Fehler 0 (Null) beträgt oder nicht angegeben ist, erfasst das Ausgabe-Raster die Häufigkeit, mit der jede Zellenposition im Eingabe-Oberflächen-Raster für die Eingabe-Beobachterpositionen sichtbar ist. Ist der Parameter für den vertikalen Fehler größer als 0 (Null), wird in jeder Zelle des Ausgabe-Rasters die Summe der Wahrscheinlichkeiten erfasst, mit der die Zelle für einen der Betrachter sichtbar ist. Beim Analysetyp Beobachter erfasst das Ausgabe-Raster die eindeutigen Regionen-IDs für die sichtbaren Flächen, die anhand der Ausgabetabelle für Beobachter-Regionen-Beziehungen mit den Beobachter-Features in Bezug gesetzt werden kann.

Raster Dataset
out_agl_raster
(optional)

Das Ausgabe-Raster der Ebene über Bodenoberfläche (AGL).

Das AGL-Ergebnis ist ein Raster, bei dem jeder Zellenwert der Mindesthöhe entspricht, die einer ansonsten nicht sichtbaren Zelle hinzugefügt werden muss, um sie zumindest durch einen Beobachter sichtbar zu machen. Zellen, die bereits sichtbar waren, wird in diesem Ausgabe-Raster der Wert 0 zugewiesen.

Wenn der Parameter für den vertikalen Fehler 0 beträgt, ist das AGL-Ausgabe-Raster ein Einband-Raster. Wenn der vertikale Fehler größer als 0 ist, wird das AGL-Ausgabe-Raster unter Berücksichtigung der Zufallseffekte aus dem Eingabe-Raster als Dreiband-Raster erstellt. Das erste Band stellt die mittleren, das zweite Band die minimalen und das dritte Band die maximalen AGL-Werte dar.

Raster Dataset
analysis_type
(optional)

Wählen Sie aus, welcher Typ von Sichtbarkeitsanalyse durchgeführt werden soll, indem Sie festlegen, wie sichtbar jede Zelle für die Beobachter ist, oder indem Sie für jede Oberflächenposition ermitteln, welche Beobachter sichtbar sind.

  • FREQUENCYDie Ausgabe erfasst die Häufigkeit, mit der jede Zellenposition im Eingabe-Oberflächen-Raster für die Eingabe-Beobachterpositionen (z. B. Punkte oder Stützpunkte für Polylinien-Beobachter-Features) sichtbar ist. Dies ist die Standardeinstellung.
  • OBSERVERSDie Ausgabe bestimmt die exakten Beobachterpunkte, die von jeder Position auf der Raster-Oberfläche sichtbar sind. Die für diesen Analysetyp maximal zulässige Anzahl der Eingabe-Beobachter beträgt 32.
String
vertical_error
(optional)

Der Unsicherheitsfaktor (Root-Mean-Square Error oder RMSE) in den Oberflächenhöhenwerten. Der erwartete Fehler der Eingabe-Höhenwerte wird durch einen Gleitkommawert dargestellt. Wird diesem Parameter ein Wert größer 0 zugewiesen, ist das Ausgabe-Sichtbarkeitsraster ein Gleitkommawert. In diesem Fall stellt jeder Zellenwert des Ausgabe-Sichtbarkeitsrasters die Summe der Wahrscheinlichkeiten dar, mit der die Zelle für einen der Beobachter sichtbar ist.

Lautet der Analysetyp Beobachter oder die Analysemethode Sichtlinien aus Umfang, ist dieser Parameter deaktiviert.

Linear Unit
out_observer_region_relationship_table
(optional)

Gibt die für den jeweiligen Beobachter sichtbaren Regionen in Tabellenform aus. Diese Tabelle kann mit der Eingabe-Beobachter-Feature-Class und dem Ausgabe-Sichtbarkeitsraster in Beziehung gebracht werden, um die für die Beobachter sichtbaren Regionen zu identifizieren.

Diese Ausgabe wird nur dann erstellt, wenn der Analysetyp Beobachter lautet.

Table
refractivity_coefficient
(optional)

Koeffizient der Brechung sichtbaren Lichts in der Atmosphäre.

Der Standardwert ist 0,13.

Double
surface_offset
(optional)

Dieser Wert gibt eine vertikale Entfernung an, die zum Z-Wert jeder Zelle hinzugefügt werden soll, um die Sichtbarkeit anzuzeigen. Er sollte als positive Ganzzahl oder als Gleitkommawert vorliegen.

Sie können ein Feld im Eingabe-Beobachter-Dataset auswählen oder einen numerischen Wert angeben.

Ist dieser Parameter auf einen Wert festgelegt, wird dieser Wert auf alle Beobachter angewendet. Um für jeden Beobachter unterschiedliche Werte anzugeben, legen Sie diesen Parameter auf ein Feld im Eingabe-Beobachter-Features-Dataset fest.

Der Standardwert ist 0.

Linear Unit; Field
observer_elevation
(optional)

Dieser Wert wird herangezogen, um die Oberflächenhöhen der Beobachterpunkte oder Stützpunkte zu definieren.

Sie können ein Feld im Eingabe-Beobachter-Dataset auswählen oder einen numerischen Wert angeben.

Wird für den Parameter kein Wert angegeben, wird die Beobachterhöhe mittels bilinearer Interpolation dem Oberflächen-Raster entnommen. Ist dieser Parameter auf einen Wert festgelegt, wird dieser Wert auf alle Beobachter angewendet. Um für jeden Beobachter unterschiedliche Werte anzugeben, legen Sie diesen Parameter auf ein Feld im Eingabe-Beobachter-Features-Dataset fest.

Linear Unit; Field
observer_offset
(optional)

Dieser Wert gibt eine vertikale Entfernung an, die der Beobachterhöhe hinzugefügt werden soll. Er sollte als positive Ganzzahl oder als Gleitkommawert vorliegen.

Sie können ein Feld im Eingabe-Beobachter-Dataset auswählen oder einen numerischen Wert angeben.

Ist dieser Parameter auf einen Wert festgelegt, wird dieser Wert auf alle Beobachter angewendet. Um für jeden Beobachter unterschiedliche Werte anzugeben, legen Sie diesen Parameter auf ein Feld im Eingabe-Beobachter-Features-Dataset fest.

Der Standardwert ist 1 Meter.

Linear Unit; Field
inner_radius
(optional)

Dieser Wert definiert die Anfangsentfernung, von der aus die Sichtbarkeit bestimmt wird. Zellen mit einem Wert unter dieser Entfernung sind für die Ausgabe nicht sichtbar, können aber dennoch die Sichtbarkeit der Zellen zwischen innerem und äußerem Radius behindern.

Sie können ein Feld im Eingabe-Beobachter-Dataset auswählen oder einen numerischen Wert angeben.

Ist dieser Parameter auf einen Wert festgelegt, wird dieser Wert auf alle Beobachter angewendet. Um für jeden Beobachter unterschiedliche Werte anzugeben, legen Sie diesen Parameter auf ein Feld im Eingabe-Beobachter-Features-Dataset fest.

Der Standardwert ist 0.

Linear Unit; Field
inner_radius_is_3d
(optional)

Entfernungstyp für den Parameter "Innerer Radius"

  • GROUNDInnerer Radius ist als 2D-Entfernung zu interpretieren. Dies ist die Standardeinstellung.
  • 3DInnerer Radius ist als 3D-Entfernung zu interpretieren.
Boolean
outer_radius
(optional)

Dieser Wert definiert die maximale Entfernung, von der aus die Sichtbarkeit bestimmt wird. Zellen außerhalb dieser Entfernung werden von der Analyse ausgeschlossen.

Sie können ein Feld im Eingabe-Beobachter-Dataset auswählen oder einen numerischen Wert angeben.

Ist dieser Parameter auf einen Wert festgelegt, wird dieser Wert auf alle Beobachter angewendet. Um für jeden Beobachter unterschiedliche Werte anzugeben, legen Sie diesen Parameter auf ein Feld im Eingabe-Beobachter-Features-Dataset fest.

Linear Unit; Field
outer_radius_is_3d
(optional)

Entfernungstyp für den Parameter "Äußerer Radius"

  • GROUNDÄußerer Radius ist als 2D-Entfernung zu interpretieren. Dies ist die Standardeinstellung.
  • 3DÄußerer Radius ist als 3D-Entfernung zu interpretieren.
Boolean
horizontal_start_angle
(optional)

Dieser Wert definiert den Anfangswinkel des horizontalen Abtastbereichs. Der Wert sollte in Grad von 0 bis 360 angegeben werden, ganzzahlig oder als Gleitkommawert, (0 = Norden). Der Standardwert ist 0.

Sie können ein Feld im Eingabe-Beobachter-Dataset auswählen oder einen numerischen Wert angeben.

Ist dieser Parameter auf einen Wert festgelegt, wird dieser Wert auf alle Beobachter angewendet. Um für jeden Beobachter unterschiedliche Werte anzugeben, legen Sie diesen Parameter auf ein Feld im Eingabe-Beobachter-Features-Dataset fest.

Double; Field
horizontal_end_angle
(optional)

Dieser Wert definiert den Endwinkel des horizontalen Abtastbereichs. Der Wert sollte in Grad von 0 bis 360 angegeben werden, ganzzahlig oder als Gleitkommawert, (0 = Norden). Der Standardwert ist 360.

Sie können ein Feld im Eingabe-Beobachter-Dataset auswählen oder einen numerischen Wert angeben.

Ist dieser Parameter auf einen Wert festgelegt, wird dieser Wert auf alle Beobachter angewendet. Um für jeden Beobachter unterschiedliche Werte anzugeben, legen Sie diesen Parameter auf ein Feld im Eingabe-Beobachter-Features-Dataset fest.

Double; Field
vertical_upper_angle
(optional)

Dieser Wert definiert die Grenze für den vertikalen oberen Winkel des Scanbereichs im Verhältnis zur horizontalen Ebene. Der Wert wird in Grad als Ganzzahl- oder Gleitkommawert angegeben. Der zulässige Bereich liegt zwischen -90 und 90 (einschließlich).

Der Wert dieses Parameters muss größer als der Parameter Vertikaler unterer Winkel sein.

Sie können ein Feld im Eingabe-Beobachter-Dataset auswählen oder einen numerischen Wert angeben.

Ist dieser Parameter auf einen Wert festgelegt, wird dieser Wert auf alle Beobachter angewendet. Um für jeden Beobachter unterschiedliche Werte anzugeben, legen Sie diesen Parameter auf ein Feld im Eingabe-Beobachter-Features-Dataset fest.

Der Standardwert ist 90 (senkrecht nach oben).

Double; Field
vertical_lower_angle
(optional)

Dieser Wert definiert die Grenze für den vertikalen unteren Winkel des Scanbereichs im Verhältnis zur horizontalen Ebene. Der Wert wird in Grad als Ganzzahl- oder Gleitkommawert angegeben. Der zulässige Bereich liegt zwischen -90 und 90 (ausschließlich).

Der Wert dieses Parameters muss kleiner als der Parameter Vertikaler oberer Winkel sein.

Sie können ein Feld im Eingabe-Beobachter-Dataset auswählen oder einen numerischen Wert angeben.

Ist dieser Parameter auf einen Wert festgelegt, wird dieser Wert auf alle Beobachter angewendet. Um für jeden Beobachter unterschiedliche Werte anzugeben, legen Sie diesen Parameter auf ein Feld im Eingabe-Beobachter-Features-Dataset fest.

Der Standardwert ist -90 (senkrecht nach unten).

Double; Field
analysis_method
(optional)

Legen Sie fest, mit welcher Methode die Sichtbarkeit berechnet wird. Mit dieser Option tauschen Sie ein wenig Genauigkeit gegen eine erhöhte Performance ein.

  • ALL_SIGHTLINESEine Sichtlinie wird für jede Zelle im Raster ausgeführt, um sichtbare Bereiche zu erstellen. Dies ist das Standardverfahren.
  • PERIMETER_SIGHTLINESSichtlinien werden nur für die Zellen des Umfangs der sichtbaren Bereiche ausgeführt, um sichtbare Bereiche zu erstellen. Diese Methode zeichnet sich im Vergleich zu der Methode Alle Sichtlinien durch eine bessere Performance aus, da weniger Sichtlinien in der Berechnung ausgeführt werden.
String

Codebeispiel

Viewshed2 – Beispiel 1 (Python-Fenster)

In diesem Beispiel werden die Oberflächenpositionen, die verschiedene Beobachter sehen können, ohne Verwendung von Beobachterparametern bestimmt.

import arcpy
from arcpy import env
env.workspace = "C:/data"
result = arcpy.Viewshed2_3d("elevation", "obser1.shp", "C:/output/outvwshd01",
                            "", "OBSERVERS", "", "C:/output/obstable01.dbf")
Viewshed2 – Beispiel 2 (eigenständiges Skript)

In diesem Beispiel werden die Oberflächenpositionen, die verschiedene Beobachter sehen können, mithilfe von Attributen in der Eingabe-Feature-Class als Beobachterparameter bestimmt.

# Name: Viewshed_3d_Ex_02.py
# Description: Determines the raster surface locations visible to a set of
#              observer features.
# Requirements: 3D Analyst Extension

# Import system modules
import arcpy
from arcpy import env

# Set environment settings
env.workspace = "C:/data"


parmSurface = "elevation"
parmObservers = "obser2.shp"
parmOutput = "c:/output/outvshd02"
parmAGL = ""
parmAnalysisType="OBSERVERS"
parmVerticalError = ""
parmAnalysisRelationTable = "C:/output/obser_region2.dbf"
parmRefractCoeff = ""
parmSurfaceOffset = "offsetb"
parmObserverElevation="spot"
parm_ObserverOffset="offseta"
parmInnerRadius = "radius1"
parmInnerIs3D="False"
parmOuterRadius = "radius2"
parmOuterIs3D="True"
parmAz1 = "azimuth1"
parmAz2 = "azimuth2"
parmVert1 = "vert1"
parmVert2 = "vert2"

# Execute Viewshed2
result = arcpy.Viewshed2_3d(parmSurface, parmObservers, parmOutput, parmAGL,
parmAnalysisType, parmVerticalError, parmAnalysisRelationTable,
parmRefractCoeff, parmSurfaceOffset, parmObserverElevation,
parm_ObserverOffset,parmInnerRadius, parmInnerIs3D, parmOuterRadius,
parmOuterIs3D, parmAz1, parmAz2, parmVert1, parmVert2)

Lizenzinformationen

  • Basic: Erfordert 3D Analyst oder Spatial Analyst
  • Standard: Erfordert 3D Analyst oder Spatial Analyst
  • Advanced: Erfordert 3D Analyst oder Spatial Analyst

Verwandte Themen