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
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, 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.
Weitere Informationen zur Geoverarbeitung von Umgebungen mit diesem Werkzeug finden Sie unter Analyseumgebungen und Spatial Analyst.
Syntax
Visibility(in_raster, in_observer_features, {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})
Parameter | Erklärung | Datentyp |
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_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.
| String |
nonvisible_cell_value (optional) | Wert, der nicht sichtbaren Zellen zugewiesen wird.
| 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.
| 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 |
Rückgabewert
Name | Erklärung | Datentyp |
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 (der Beobachtertyp) sichtbar sind. | Raster |
Codebeispiel
In diesem Beispiel werden Oberflächenpositionen bestimmt, die für verschiedene in einem Shapefile definierte Beobachter sichtbar sind.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "c:/sapyexamples/data"
outvis = arcpy.sa.Visibility("elevation", "observers.shp", "c:/sapyexamples/output/aglout1",
"FREQUENCY", "NODATA", "1", "CURVED_EARTH", "0.13",
"OFFSETB", "SPOT", "OFFSETA", "RADIUS1", "RADIUS2",
"AZIMUTH1", "AZIMUTH2", "VERT1", "VERT2")
outvis.save("c:/sapyexamples/output/visiout1")
In diesem Beispiel wird festgelegt, welche Beobachter an jeder Oberflächenposition sichtbar sind.
# Name: Visibility_Ex_02.py
# Description: Determines the raster surface locations visible to a set of
# observer features.
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "c:/sapyexamples/data"
# set local variables
inRaster = "elevation"
inObserverFeatures = "observers.shp"
aglOutput = "c:/sapyexamples/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
# Check out the ArcGIS Spatial Analyst extension license
arcpy.checkOutExtension("Spatial")
# Execute Visibility
outvis = arcpy.sa.Visibility(inRaster, inObserverFeatures, algOutput, analysisType,
nonVisibleValue, zFactor, useEarthCurvature,
refractivityCoefficient, surfaceOffset, observerElevation,
observerOffset, innerRadius, outerRadius, horizStartAngle,
horizEndAngle, vertUpperAngle, vertLowerAngle)
# Save the output
outvis.save("c:/sapyexamples/output/visiout1")
Umgebungen
Lizenzinformationen
- Basic: Erfordert Spatial Analyst oder 3D Analyst
- Standard: Erfordert Spatial Analyst oder 3D Analyst
- Advanced: Erfordert Spatial Analyst oder 3D Analyst