Mit der 3D Analyst-Lizenz verfügbar.
Zusammenfassung
Zeigt Flächen, die von einem oder mehreren Beobachterstandorten aus sichtbar sind.
Verwendung
Es wird ein Sichtfeld erstellt, indem die von einem oder mehreren Beobachterstandorten aus sichtbaren Flächen ermittelt werden.
Temporäre Datasets werden unter Beibehaltung der Entfernungs- und Richtungstreue in eine lokalisierte azimutale äquidistante Projektion projiziert.
Die Ausgabeflächen-Polygone weisen ein Feld namens Visibility auf, das die Anzahl der Beobachter enthält, die eine bestimmte Fläche sehen können.
Mithilfe einer Oberfläche und einem oder mehreren Beobachterstandorten erstellt das Werkzeug Flächen, die entweder für einen oder mehrere oder aber für keinen Beobachter sichtbar sind.
Das Werkzeug berücksichtigt die Erdkrümmung und berechnet die Brechung, sofern die Eingabeoberfläche dies unterstützt.
Syntax
arcpy.defense.RadialLineOfSight(in_observer_features, in_surface, out_feature_class, {radius}, {observer_height_above_surface})
Parameter | Erklärung | Datentyp |
in_observer_features | Die Eingabe-Beobachter-Punkte. | Feature Set |
in_surface | Die Oberfläche des Eingabe-Höhenrasters. | Raster Layer |
out_feature_class | Die Ausgabe-Polygon-Feature-Class mit sichtbaren und nicht sichtbaren Oberflächen. | Feature Class |
radius (optional) | Der Radius der Analysefläche vom Beobachter aus gesehen. | Double |
observer_height_above_surface (optional) | Die Höhe wird zur Oberflächenhöhe des Beobachters addiert. Die Standardeinstellung ist 2. | Double |
Codebeispiel
Das folgende Skript im Python-Fenster veranschaulicht, wie Sie die Funktion RadialLineOfSight verwenden.
import arcpy
arcpy.env.workspace = r"C:\Data.gdb"
arcpy.RadialLineOfSight_defense(r"C:/RLOS_Observers",
"Elevation_Dataset",
"RLOS_Output", 5000, 2)
Im folgenden Beispiel wird die Funktion RadialLineOfSight in einem beispielhaften Workflow-Skript verwendet.
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = r"C:/Data.gdb"
arcpy.env.overwriteOutput = True
# Select points from observers from input
observers = "Observers"
branch = "Branch"
whereClause = "Marines = 'Yes'"
arcpy.Select_analysis(branch, Marines, whereClause)
# Create Radial Line Of Sight using Marine observers
in_observer_features = "Observers"
in_surface = "Elevation_Dataset"
out_feature_class = "RLOS_Observers_Marines"
radius = "METERS"
observer_height_above_surface = "METERS"
arcpy.RadialLineOfSight_defense(Observers,
Elevation_Dataset,
RLOS_Observers_Marines,
1000,
2)
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja