Sichtfelder erstellen (Raster Analysis)

Zusammenfassung

Erstellt Flächen, in denen ein Beobachter Objekte auf dem Boden erkennen kann. Die Eingabe-Beobachterpunkte können entweder Beobachter (z. B. Personen am Boden oder Beobachter in einem Feuerwachturm) oder beobachtete Objekte (z. B. Windkraftanlagen, Wassertürme, Fahrzeuge oder Personen) sein.

Sowohl Beobachter als auch beobachtete Objekte können sich in einer bestimmten Höhe über dem Boden befinden. Diese Höhen werden zur Ermittlung der Sichtbarkeit verwendet. So wird beispielsweise ein Sichtfeld, das für 90 Meter hohe Windkraftanlagen und eine 1,80 Meter große, am Boden stehende Person berechnet wird, üblicherweise größer sein als ein Sichtfeld für 60 Meter hohe Windkraftanlagen und eine 1,50 Meter große Person.

Der Ergebnis-Layer zeichnet auf, wie oft jede Zellenposition im Eingabe-Oberflächen-Raster von den Eingabe-Beobachterpunkten aus gesehen werden kann. Nicht sichtbare Zellen erhalten den Wert "NoData".

Abbildung

Das Werkzeug "Sichtfelder erstellen"

Verwendung

  • Dieses Portal-Werkzeug für die Raster-Analyse ist verfügbar, wenn Sie bei einem ArcGIS Enterprise Link zur Erläuterung der Analyse in ArcGIS Enterprise-Portal mit einem konfigurierten ArcGIS Image Server Link zu "Was ist ArcGIS Image Server?" für die Raster Analysis Link zu "Konfigurieren und Bereitstellen von Raster-Analysen" angemeldet sind. Beim Aufruf des Werkzeugs dient ArcGIS Pro als Client. Die Verarbeitung erfolgt auf den Servern, die mit ArcGIS Enterprise verbunden sind. Das Portal-Werkzeug akzeptiert Layer aus dem Portal als Eingabe und erstellt die Ausgabe im Portal.

    Als Eingabe-Raster-Layer kann ein Layer aus dem Portal, ein URI bzw. eine URL zu einem Image-Service oder die Ausgabe des Werkzeugs Image Server-Layer erstellen verwendet werden. Bei dem Eingabe-Feature-Layer kann es sich um einen Layer aus dem Portal oder ein URI bzw. eine URL zu einem Feature-Service handeln. Lokale Raster-Daten oder -Layer werden von diesem Werkzeug nicht unterstützt. Obwohl Sie lokale Feature-Daten und Layer als Eingabe für dieses Portal verwenden können, empfiehlt es sich, Layer aus Ihrem Portal als Eingabe zu nutzen.

  • Die Sichtbarkeit jedes einzelnen Zellenmittelpunkts wird durch einen Sichtlinientest zwischen dem Ziel und dem jeweiligen Beobachter ermittelt.

Syntax

arcpy.ra.CreateViewshed(inputElevationSurface, inputObserverFeatures, outputName, {optimizeFor}, {maximumViewingDistanceType}, {maximumViewingDistance}, {maximumViewingDistanceField}, {minimumViewingDistanceType}, {minimumViewingDistance}, {minimumViewingDistanceField}, {viewingDistanceIs3D}, {observersElevationType}, {observersElevation}, {observersElevationField}, {observersHeightType}, {observersHeight}, {observersHeightField}, {targetHeightType}, {targetHeight}, {targetHeightField}, {aboveGroundLevelOutputName})
ParameterErklärungDatentyp
inputElevationSurface

Die Höhenoberfläche für die Berechnung des Sichtfeldes.

Wenn sich die vertikale Einheit der Eingabe-Oberfläche von der horizontalen Einheit unterscheidet, beispielsweise, wenn die Höhenwerte in Fuß angegeben werden, das Koordinatensystem aber in Metern ist, muss für die Oberfläche ein vertikales Koordinatensystem definiert werden. Das Werkzeug verwendet nämlich die vertikalen (Z) und horizontalen (XY) Einheiten, um einen z-Faktor für die Sichtfeldanalyse zu berechnen. Ohne ein vertikales Koordinatensystem ist keine Z-Einheit verfügbar. Das Werkzeug geht dann davon aus, dass die Z-Einheit mit der XY-Einheit identisch ist. Das hat zur Folge, dass für die Analyse ein interner Z-Faktor von 1,0 verwendet wird. Dies kann die Ergebnisse verfälschen.

Die Oberflächenhöhe kann ein Integer oder eine Gleitkommazahl sein.

Raster Layer; Image Service; String
inputObserverFeatures

Die Punkt-Features, die die Beobachterpositionen beim Berechnen der Sichtfelder identifizieren.

Feature Set
outputName

Der Name des Ausgabe-Raster-Service.

Der Standardname basiert auf dem Werkzeugnamen und dem Namen des Eingabe-Layers. Wenn der Layer-Name bereits vorhanden ist, werden Sie dazu aufgefordert, einen anderen Namen einzugeben.

String
optimizeFor
(optional)

Die Optimierungsmethode für die Berechnung des Sichtfeldes.

  • SPEEDBei dieser Methode werden die Verarbeitungsgeschwindigkeit und Performance zu Lasten der Genauigkeit optimiert. Dies ist die Standardeinstellung.
  • ACCURACYBei dieser Methode wird die Genauigkeit optimiert, was eine längere Verarbeitungsdauer zur Folge hat.
String
maximumViewingDistanceType
(optional)

Die Methode, mit der die maximale Betrachtungsentfernung ermittelt wird.

  • DISTANCEDie maximale Betrachtungsentfernung wird durch einen Wert, den Sie angeben, definiert. Dies ist das Standardverfahren.
  • FIELD Die maximale Entfernung von jeder Beobachterposition wird durch die Werte in einem Feld bestimmt, das Sie angeben.
String
maximumViewingDistance
(optional)

Hierbei handelt es sich um einen Entfernungsgrenzwert, bis zu dem sichtbare Flächen berechnet werden. Ob jenseits dieser Entfernung die weiteren Objekte von den Beobachterpunkten aus sichtbar sind, ist nicht bekannt.

Die Einheiten können Kilometer, Meter, Meilen, Yard oder Fuß sein.

Der Standardwert ist "Meilen".

Linear Unit
maximumViewingDistanceField
(optional)

In diesem Feld können Sie die maximale Betrachtungsentfernung für jeden Beobachter angeben. Die Werte in dem Feld müssen dieselbe Einheit wie die XY-Einheit der Eingabe-Höhenoberfläche aufweisen.

Die maximale Betrachtungsentfernung ist ein Entfernungsgrenzwert, bis zu dem sichtbare Flächen berechnet werden. Ob jenseits dieser Entfernung die weiteren Objekte von den Beobachterpunkten aus sichtbar sind, ist nicht bekannt.

Field
minimumViewingDistanceType
(optional)

Wählen Sie die Methode aus, mit der die minimale sichtbare Betrachtungsentfernung ermittelt wird.

  • DISTANCEDie minimale Betrachtungsentfernung wird durch einen Wert, den Sie angeben, definiert. Dies ist das Standardverfahren.
  • FIELD Die minimale Entfernung von jeder Beobachterposition wird durch die Werte in einem Feld bestimmt, das Sie angeben.
String
minimumViewingDistance
(optional)

Hierbei handelt es sich um eine Entfernung, ab der die sichtbaren Flächen berechnet werden. Zellen auf der Oberfläche, die innerhalb dieser Entfernung liegen, sind in der Ausgabe nicht sichtbar, können aber dennoch die Sichtbarkeit der Zellen zwischen der minimalen und der maximalen Betrachtungsentfernung behindern.

Die Einheiten können Kilometer, Meter, Meilen, Yard oder Fuß sein.

Die Standardeinheiten lauten Meter.

Linear Unit
minimumViewingDistanceField
(optional)

In diesem Feld können Sie die minimale Betrachtungsentfernung für jeden Beobachter angeben. Die Werte in dem Feld müssen dieselbe Einheit wie die XY-Einheit der Eingabe-Höhenoberfläche aufweisen.

Die minimale Betrachtungsentfernung legt die Entfernung fest, ab der die sichtbaren Flächen berechnet werden. Zellen auf der Oberfläche, die innerhalb dieser Entfernung liegen, sind in der Ausgabe nicht sichtbar, können aber dennoch die Sichtbarkeit der Zellen zwischen der minimalen und der maximalen Betrachtungsentfernung behindern.

Field
viewingDistanceIs3D
(optional)

Geben Sie an, ob die Parameter für minimale und maximale Betrachtungsentfernung dreidimensional oder zweidimensional (einfacher) gemessen werden. Eine 2D-Entfernung ist eine einfache lineare Distanz zwischen einem Beobachter und dem Ziel, die anhand der projizierten Position auf Höhe des Meeresspiegels ermittelt wird. Der Wert einer 3D-Distanz ist realistischer, da auch die relativen Höhen berücksichtigt werden.

  • 2DDie Betrachtungsentfernung wird als 2D-Entfernung gemessen. Dies ist die Standardeinstellung.
  • 3DDie Betrachtungsentfernung wird als 3D-Entfernung gemessen.
Boolean
observersElevationType
(optional)

Die Methode, mit der die Höhe der Beobachter ermittelt wird.

  • ELEVATIONDie Beobachterhöhe wird durch einen Wert, den Sie angeben, definiert. Dies ist das Standardverfahren.
  • FIELDDie Höhe von jeder Beobachterposition wird durch die Werte in einem Feld bestimmt, das Sie angeben.
String
observersElevation
(optional)

Hierbei handelt es sich um die Höhe der Beobachterpositionen.

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 in den Eingabe-Beobachter-Features fest.

Die Einheiten können Kilometer, Meter, Meilen, Yard oder Fuß sein.

Die Standardeinheiten lauten Meter.

Linear Unit
observersElevationField
(optional)

In diesem Feld können Sie die Höhe für die Beobachter angeben. Der Wert in dem Feld muss dieselbe Einheit wie die Z-Einheit der Eingabe-Höhenoberfläche aufweisen.

Wird für den Parameter kein Wert angegeben, wird die Beobachterhöhe mittels bilinearer Interpolation dem Oberflächen-Raster entnommen.

Field
observersHeightType
(optional)

Die Methode, mit der die Höhe der Beobachter ermittelt wird.

  • HEIGHTDie Beobachterhöhe wird aus dem Wert, den Sie eingeben, abgerufen. Dies ist das Standardverfahren.
  • FIELD Die Höhe von jeder Beobachterposition wird durch die Werte in einem Feld bestimmt, das Sie angeben.
String
observersHeight
(optional)

Hierbei handelt es sich um die Höhe, die für Beobachterpositionen verwendet wird.

Die Einheiten können Kilometer, Meter, Meilen, Yard oder Fuß sein.

Die Standardeinheiten lauten Meter.

Linear Unit
observersHeightField
(optional)

In diesem Feld können Sie die Höhe für die Beobachter angeben. Der Wert in dem Feld muss dieselbe Einheit wie die Z-Einheit der Eingabe-Höhenoberfläche aufweisen.

Field
targetHeightType
(optional)

Die Methode, mit der die Höhe der Ziele ermittelt wird.

  • HEIGHTDie Zielhöhe wird aus den Wert, den Sie eingeben, abgerufen. Dies ist das Standardverfahren.
  • FIELD Die Höhe von jedem Ziel wird durch die Werte in einem Feld bestimmt, das Sie angeben.
String
targetHeight
(optional)

Hierbei handelt es sich um die Höhe von Strukturen oder Personen am Boden, die verwendet werden, um die Sichtbarkeit einzurichten. Das sich hieraus ergebende Sichtfeld umfasst diejenigen Flächen, von denen aus ein Beobachterpunkt diese anderen Objekte sehen kann. Umgekehrt können die anderen Objekte auch einen Beobachterpunkt sehen.

Die Einheiten können Kilometer, Meter, Meilen, Yard oder Fuß sein.

Die Standardeinheiten lauten Meter.

Linear Unit
targetHeightField
(optional)

Hierbei handelt es sich um ein Feld, mit dem die Höhe für die Ziele angegeben wird. Der Wert in dem Feld muss dieselbe Einheit wie die Z-Einheit der Eingabe-Höhenoberfläche aufweisen.

Field
aboveGroundLevelOutputName
(optional)

Der Name des AGL-Ausgabe-Rasters (Above Ground Level). 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.

String

Abgeleitete Ausgabe

NameErklärungDatentyp
outputRaster

Das Ausgabe-Raster für das Sichtfeld.

Raster-Layer
outputAboveGroundLevelRaster

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

Raster-Layer

Codebeispiel

CreateViewshed – Beispiel 1 (Python-Fenster)

In diesem Beispiel wird mithilfe vorgegebener Oberflächen- und Beobachterpunkte ein Sichtfeld-Image-Service erstellt.

import arcpy

arcpy.CreateViewshed_ra(
    "https://myserver/rest/services/elevation/ImageServer", 
    "https://myserver/rest/services/destination/FeatureServer/0", 
    "outview1", "SPEED", "DISTANCE", "9 Miles", "#", "DISTANCE",
    "0 Meters", "#", "2D", "ELEVATION", "#", "#", "HEIGHT",
    "6 Feet", "#", "HEIGHT", "3 Feet", "#", "outagl1")
CreateViewshed – Beispiel 2 (eigenständiges Skript)

In diesem Beispiel wird mithilfe vorgegebener Oberflächen- und Beobachterpunkte ein Sichtfeld-Image-Service erstellt.

#---------------------------------------------------------------------------
# Name: CreateViewshed_example02.py
# Description: Creates a viewshed image service raster from given surface
#   and observer points.
#
# Requirements: ArcGIS Image Server

# Import system modules
import arcpy

# Set local variables
inSurface = "https://myserver/rest/services/elevation/ImageServer"
inObservers = "https://myserver/rest/services/destination/FeatureServer/0"
outputViewshed = "outview1"
optimizeFor = "Speed"
maxDistType = "Distance"
maxDist = "9 Miles"
maxDistField = "#"
minDistType = "Distance"
minDist = "0 Miles"
minDistField = "#"
distanceIs3D = "2D"
obsElevationType = "Elevation"
obsElevation = "#"
obsElevationField = "#"
obsOffsetType = "Height"
obsOffset = "6 Feet"
obsOffsetField = "#"
surfOffsetType = "Height"
surfOffset = "3 Feet"
surfOffsetField = "#"
outputAgl = "outagl1"

# Execute Create Viewshed raster analysis tool
arcpy.CreateViewshed_ra(
    inSurface, inObservers, outputViewshed, optimizeFor,
    maxDistType, maxDist, maxDistField, minDistType, minDist,
    minDistField, distanceIs3D, obsElevationType, obsElevation,
    obsElevationField, obsOffsetType, obsOffset, obsOffsetField,
    surfOffsetType, surfOffset, surfOffsetField, outputAgl)

Lizenzinformationen

  • Basic: Erfordert ArcGIS Image Server
  • Standard: Erfordert ArcGIS Image Server
  • Advanced: Erfordert ArcGIS Image Server

Verwandte Themen