Sichtbarkeit (3D Analyst)

Mit der Spatial Analyst-Lizenz verfügbar.

Mit der 3D Analyst-Lizenz verfügbar.

Zusammenfassung

Hiermit werden die Raster-Oberflächenpositionen, die für eine Reihe von Beobachter-Features sichtbar sind, oder die Beobachterpunkte, die von jeder Raster-Oberflächenposition sichtbar sind, ermittelt.

Abbildung

Abbildung: Sichtbarkeit mit der Option "Häufigkeit"
Sichtbarkeits-Ausgabe mit der Option "Frequenz" auf einer Höhenoberfläche mit Schummerung
Abbildung: Sichtbarkeit mit der Option "Beobachter"
Sichtbarkeits-Ausgabe mit der Option "Beobachter" auf einer Höhenoberfläche mit Schummerung

Verwendung

  • Dieses Werkzeug unterstützt zwei Sichtbarkeitsanalysetypen, "Häufigkeit" und "Beobachter", die durch den Werkzeugparameter Analysetyp gesteuert werden. Beim ersten Typ bestimmt das Werkzeug, welche Raster-Oberflächenpositionen für verschiedene Beobachter sichtbar sind. Bei dem anderen wird ermittelt, welche Beobachter von jeder Raster-Oberflächenposition sichtbar sind.

  • Wenn das Eingabe-Raster aufgrund von Fehlern bei der Referenzpunkterfassung nicht erwünschte Informationen enthält und Sie über die ArcGIS Spatial Analyst-Erweiterung verfügen, können Sie das Raster mit einem Tiefpassfilter wie der Option "Mittelwert" der Funktion Focal Statistics glätten, bevor Sie dieses Werkzeug ausführen.

  • Die Sichtbarkeit aller Zellzentren wird bestimmt, indem der Höhenwinkel zum Zellzentrum mit dem Höhenwinkel zum lokalen Horizont verglichen wird. Der lokale Horizont wird durch Untersuchen des Zwischenterrains zwischen dem Beobachterpunkt und dem aktuellen Zellzentrum berechnet. Wenn der Punkt über dem lokalen Horizont liegt, gilt er als sichtbar.

  • Das Werkzeug stellt ein optionales AGL-Ausgabe-Raster (Above Ground Level, Ebene über Bodenoberfläche) bereit. Jede Zelle des AGL-Ausgabe-Rasters erfasst die Mindesthöhe, die dieser Zelle hinzugefügt werden muss, um sie zumindest durch einen Beobachter sichtbar zu machen.

    Wenn die Eingabe-Beobachter-Features mehrere Beobachter enthalten, ist der Ausgabewert das Minimum der AGL-Werte der einzelnen Beobachter.

  • Verwenden Sie die Beobachterparameter, um Sichtbarkeitsanalysen besser steuern zu können. Durch den Beobachterversatz-Parameter können Sie in der Sichtbarkeitsanalyse beispielsweise einen Versatz für die Beobachterhöhe angeben.

  • 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.

Syntax

arcpy.3d.Visibility(in_raster, in_observer_features, out_raster, {out_agl_raster}, {analysis_type}, {nonvisible_cell_value}, {z_factor}, {curvature_correction}, {refractivity_coefficient}, {surface_offset}, {observer_elevation}, {observer_offset}, {inner_radius}, {outer_radius}, {horizontal_start_angle}, {horizontal_end_angle}, {vertical_upper_angle}, {vertical_lower_angle})
ParameterErklärungDatentyp
in_raster

Das Eingabe-Oberflächen-Raster.

Raster Layer
in_observer_features

Die Feature-Class, die die Beobachterpositionen identifiziert.

Bei der Eingabe kann es sich um Punkt- oder Polylinien-Features handeln.

Feature Layer
out_raster

Das Ausgabe-Raster.

Die Ausgabe erfasst die Häufigkeit, mit der jede Zellenposition im Eingabe-Oberflächenraster für Eingabe-Beobachterpositionen (der Analysetyp "Häufigkeit") sichtbar ist, oder welche Beobachterpositionen von jeder Zelle in der Raster-Oberfläche (die Option für den Beobachtertyp) sichtbar sind.

Raster Dataset
out_agl_raster
(optional)

Das AGL-Ausgabe-Raster.

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, haben in diesem Ausgabe-Raster den Wert 0.

Raster Dataset
analysis_type
(optional)

Der Sichtbarkeitsanalysetyp.

  • FREQUENCYDie Ausgabe ermittelt 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.
String
nonvisible_cell_value
(optional)

Wert, der nicht sichtbaren Zellen zugewiesen wird.

  • ZERODer Wert "0" wird nicht sichtbaren Zellen zugewiesen. Dies ist die Standardeinstellung.
  • NODATADer Wert "NoData" wird nicht sichtbaren Zellen zugewiesen.
Boolean
z_factor
(optional)

Anzahl der XY-Geländeeinheiten in einer Z-Oberflächeneinheit.

Durch den Z-Faktor werden die Maßeinheiten der Z-Einheiten angepasst, falls sie sich von den XY-Einheiten der Eingabe-Oberfläche unterscheiden. Die Z-Werte der Eingabe-Oberfläche werden bei der Berechnung der endgültigen Ausgabe-Oberfläche mit dem Z-Faktor multipliziert.

Falls die XY-Einheiten und die Z-Einheiten in denselben Maßeinheiten ausgedrückt sind, lautet der Z-Faktor 1. Dies ist die Standardeinstellung.

Wenn die XY- und Z-Einheiten unterschiedliche Maßeinheiten aufweisen, muss der Z-Faktor entsprechend festgelegt werden, da andernfalls falsche Ergebnisse erzielt werden. Beispiel: Wenn die Z-Einheiten in Fuß und die XY-Einheiten in Metern angegeben sind, müssen Sie den Z-Faktor "0,3048" wählen, um die Z-Einheiten von Fuß in Meter umzurechnen (1 Fuß = 0,3048 Meter).

Double
curvature_correction
(optional)

Ermöglicht eine Korrektur der Erdkrümmung.

  • FLAT_EARTHEs wird keine Krümmungskorrektur vorgenommen. Dies ist die Standardeinstellung.
  • CURVED_EARTHEs wird eine Krümmungskorrektur vorgenommen.
Boolean
refractivity_coefficient
(optional)

Der Koeffizient der Brechung sichtbaren Lichts in der Atmosphäre.

Der Standardwert ist 0,13.

Double
surface_offset
(optional)

Eine vertikale Entfernung, die zum Z-Wert jeder Zelle hinzugefügt werden soll, um die Sichtbarkeit anzuzeigen. Er muss als positive Ganzzahl oder als Gleitkommawert vorliegen.

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

Standardmäßig wird ein numerisches OFFSETB-Feld verwendet, wenn es in der Attributtabelle der Eingabe-Beobachter-Features vorhanden ist. Es kann durch Angabe eines anderen numerischen Feldes oder Wertes überschrieben werden.

Wenn dieser Parameter nicht angegeben ist und kein Standardfeld in der Attributtabelle der Eingabe-Beobachter-Features vorhanden ist, wird der Standardwert 0 verwendet.

Double; Field
observer_elevation
(optional)

Die Oberflächenhöhen der Beobachterpunkte oder Stützpunkte.

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

Standardmäßig wird ein numerisches SPOT-Feld verwendet, wenn es in der Attributtabelle der Eingabe-Beobachter-Features vorhanden ist. Es kann durch Angabe eines anderen numerischen Feldes oder Wertes überschrieben werden.

Wenn dieser Parameter nicht angegeben und das Standardfeld nicht in der Attributtabelle der Eingabe-Beobachter-Features vorhanden ist, wird er durch bilineare Interpolation mit den Oberflächenhöhenwerten in den benachbarten Zellen der Beobachterposition geschätzt.

Double; Field
observer_offset
(optional)

Eine vertikale Entfernung, die der Beobachterhöhe hinzugefügt werden soll. Er muss als positive Ganzzahl oder als Gleitkommawert vorliegen.

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

Standardmäßig wird ein numerisches OFFSETA-Feld verwendet, wenn es in der Attributtabelle der Eingabe-Beobachter-Features vorhanden ist. Es kann durch Angabe eines anderen numerischen Feldes oder Wertes überschrieben werden.

Wenn dieser Parameter nicht angegeben ist und kein Standardfeld in der Attributtabelle der Eingabe-Beobachter-Features vorhanden ist, wird der Standardwert 1 verwendet.

Double; Field
inner_radius
(optional)

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.

Dabei kann es sich um positive oder negative Ganzzahl- oder Gleitkommawerte handeln. Wenn der Wert positiv ist, wird er als dreidimensionale Sichtlinienentfernung interpretiert. Wenn der Wert negativ ist, wird er als zweidimensionale planimetrische Entfernung interpretiert.

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

Standardmäßig wird ein numerisches RADIUS1-Feld verwendet, wenn es in der Attributtabelle der Eingabe-Beobachter-Features vorhanden ist. Es kann durch Angabe eines anderen numerischen Feldes oder Wertes überschrieben werden.

Wenn dieser Parameter nicht angegeben ist und kein Standardfeld in der Attributtabelle der Eingabe-Beobachter-Features vorhanden ist, wird der Standardwert 0 verwendet.

Double; Field
outer_radius
(optional)

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

Dabei kann es sich um positive oder negative Ganzzahl- oder Gleitkommawerte handeln. Wenn der Wert positiv ist, wird er als dreidimensionale Sichtlinienentfernung interpretiert. Wenn der Wert negativ ist, wird er als zweidimensionale planimetrische Entfernung interpretiert.

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

Standardmäßig wird ein numerisches RADIUS2-Feld verwendet, wenn es in der Attributtabelle der Eingabe-Beobachter-Features vorhanden ist. Es kann durch Angabe eines anderen numerischen Feldes oder Wertes überschrieben werden.

Wenn dieser Parameter nicht angegeben ist und kein Standardfeld in der Attributtabelle der Eingabe-Beobachter-Features vorhanden ist, wird der Standardwert "unendlich" verwendet.

Double; Field
horizontal_start_angle
(optional)

Der 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.

Standardmäßig wird ein numerisches AZIMUTH1-Feld verwendet, wenn es in der Attributtabelle der Eingabe-Beobachter-Features vorhanden ist. Es kann durch Angabe eines anderen numerischen Feldes oder Wertes überschrieben werden.

Wenn dieser Parameter nicht angegeben ist und kein Standardfeld in der Attributtabelle der Eingabe-Beobachter-Features vorhanden ist, wird der Standardwert 0 verwendet.

Double; Field
horizontal_end_angle
(optional)

Der 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.

Standardmäßig wird ein numerisches AZIMUTH2-Feld verwendet, wenn es in der Attributtabelle der Eingabe-Beobachter-Features vorhanden ist. Es kann durch Angabe eines anderen numerischen Feldes oder Wertes überschrieben werden.

Wenn dieser Parameter nicht angegeben ist und kein Standardfeld in der Attributtabelle der Eingabe-Beobachter-Features vorhanden ist, wird der Standardwert 360 verwendet.

Double; Field
vertical_upper_angle
(optional)

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).

Dieser Parameterwert muss größer als der Wert des Parameters Vertikaler unterer Winkel sein.

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

Standardmäßig wird ein numerisches VERT1-Feld verwendet, wenn es in der Attributtabelle der Eingabe-Beobachter-Features vorhanden ist. Es kann durch Angabe eines anderen numerischen Feldes oder Wertes überschrieben werden.

Wenn dieser Parameter nicht angegeben ist und kein Standardfeld in der Attributtabelle der Eingabe-Beobachter-Features vorhanden ist, wird der Standardwert 90 verwendet.

Double; Field
vertical_lower_angle
(optional)

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).

Dieser Parameterwert muss kleiner als der Wert des Parameters Vertikaler oberer Winkel sein.

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

Standardmäßig wird ein numerisches VERT2-Feld verwendet, wenn es in der Attributtabelle der Eingabe-Beobachter-Features vorhanden ist. Es kann durch Angabe eines anderen numerischen Feldes oder Wertes überschrieben werden.

Wenn dieser Parameter nicht angegeben ist und kein Standardfeld in der Attributtabelle der Eingabe-Beobachter-Features vorhanden ist, wird der Standardwert -90 verwendet.

Double; Field

Codebeispiel

Visibility – Beispiel 1 (Python-Fenster)

In diesem Beispiel werden Oberflächenpositionen bestimmt, die für verschiedene in einem Shapefile definierte Beobachter sichtbar sind.

import arcpy
from arcpy import env
env.workspace = "c:/data"

arcpy.Visibility_3d("elevation", "observers.shp", "c:/output/visiout1", 
                    "c:/output/aglout1", "FREQUENCY", "NODATA", "1", 
                    "CURVED_EARTH", "0.13", "OFFSETB", "SPOT", "OFFSETA", 
                    "RADIUS1", "RADIUS2", "AZIMUTH1", "AZIMUTH2", 
                    "VERT1", "VERT2")
Visibility – Beispiel 2 (eigenständiges Skript)

In diesem Beispiel wird festgelegt, welche Beobachter an jeder Oberflächenposition sichtbar sind.

# 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"

# set local variables
inRaster = "elevation"
inObserverFeatures = "observers.shp"
outRaster = "c:/output/visiout1"
aglOutput = "c:/output/aglout1"
analysisType = "OBSERVERS"
nonVisibleValue = "ZERO"
zFactor = 1
useEarthCurvature = "CURVED_EARTH"
refractivityCoefficient = 0.13
surfaceOffset = 500
observerElevation = 2000
observerOffset = 500
innerRadius = 20000
outerRadius = 100000
horizStartAngle = 45
horizEndAngle = 215
vertUpperAngle = 5
vertLowerAngle = -5

# Execute Visibility
arcpy.Visibility_3d(inRaster, inObserverFeatures, outRaster, algOutput,
                    analysisType, nonVisibleValue, zFactor, useEarthCurvature,
                    refractivityCoefficient, surfaceOffset, observerElevation,
                    observerOffset, innerRadius, outerRadius, horizStartAngle,
                    horizEndAngle, vertUpperAngle, vertLowerAngle)

Lizenzinformationen

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

Verwandte Themen