Mit der Spatial Analyst-Lizenz verfügbar.
Zusammenfassung
Berechnet die akkumulative Entfernung von jeder Zelle zu Quellen. Dabei werden geradlinige Entfernung, Kostenentfernung, tatsächliche Oberflächenentfernung sowie vertikale und horizontale Kostenfaktoren berücksichtigt.
Verwendung
Die Eingabequelldaten können eine Feature-Class oder ein Raster sein.
Wenn es sich bei den Eingabequelldaten um ein Raster handelt, besteht die Menge der Quellzellen aus allen Zellen im Quell-Raster, die über gültige Werte verfügen. Zellen mit NoData-Werten sind nicht in der Quellmenge enthalten. Der Wert 0 wird als legitime Quelle verwendet. Ein Quell-Raster kann mit den Extraktionswerkzeugen erstellt werden.
Wenn die Eingabequelldaten eine Feature-Class sind, werden die Quellspeicherorte intern in ein Raster konvertiert, bevor die Analyse ausgeführt wird. Die Auflösung des Rasters kann mithilfe der Umgebung der Zellengröße gesteuert werden. Wenn im Werkzeug keine anderen Raster angegeben sind, entspricht die Auflösung der Breite oder Höhe (der jeweils kleinere Wert) standardmäßig der Ausdehnung des Eingabe-Features im Eingabe-Raumbezug, dividiert durch 250.
Bei der Verwendung von Feature-Daten als Eingabequelldaten muss auf den Umgang mit der Größe der Ausgabezelle geachtet werden, wenn diese, relativ zu dem in der Eingabe vorhandenen Detail, grob ist. Der interne Rasterungsprozess verwendet dieselbe Standardmethode für den Zellenzuweisungstyp wie das Werkzeug Feature in Raster, nämlich die Methode "Zellenmittelpunkt". Das bedeutet, dass Daten, die sich nicht am Zellenmittelpunkt befinden, nicht in die vorläufige, gerasterte Quellausgabe aufgenommen und folglich nicht in den Entfernungsberechnungen dargestellt werden. Wenn die Quellen beispielsweise aus einer Serie kleiner Polygone bestehen (z. B. Gebäudegrundrisse), die in Relation zur Ausgabe-Zellengröße klein sind, kann es sein, dass nur einige an den Mittelpunkten der Ausgabe-Raster-Zellen liegen und scheinbar dazu führen, dass die meisten anderen Polygone in der Analyse nicht enthalten sind.
Um dies zu vermeiden, können Sie die Eingabe-Features in einem Zwischenschritt direkt mit dem Werkzeug Feature in Raster rastern und den Parameter Feld festlegen. Verwenden Sie anschließend die resultierende Ausgabe als Eingabe in das jeweilige Entfernungswerkzeug, das Sie verwenden möchten. Alternativ können Sie eine kleine Zellengröße auswählen, damit der jeweilige Detaillierungsgrad von den Eingabe-Features erfasst wird.
Wenn eine der Eingaben Eingabe-Kosten-Raster, Eingabe-Oberflächen-Raster, Eingabe-Vertikal-Raster oder Eingabe-Horizontal-Raster einen NoData-Wert aufweist, werden bei der Berechnung die Zellen an diesen Positionen in allen Eingaben ignoriert. Die NoData-Werte für diese Raster werden in der gesamten Berechnung beibehalten, sodass alle Ausgaben NoData-Werte aufweisen.
Wenn eine Quelle in einer NoData-Zelle eines der entsprechenden Eingabe-Raster liegt, wird sie in der Analyse ignoriert, sodass keine Entfernung von dieser Quelle berechnet wird.
Wenn die Umgebungseinstellung Ausdehnung nicht angegeben ist, wird die Verarbeitungsausdehnung wie folgt bestimmt:
Wenn nur die Eingabe-Raster oder Feature-Quellen-Daten und Eingabe-Barriere-Raster- oder -Feature-Daten angegeben sind, wird die Vereinigungsmenge der Eingaben, die auf jeder Seite durch zwei Zellenbreiten erweitert ist, als Verarbeitungsausdehnung verwendet. Das Ausgabe-Raster wird durch zwei Zeilen und Spalten erweitert, damit die Ausgaben in Optimaler Pfad als Linie und Optimaler Pfad als Raster verwendet werden und die generierten Pfade um die Barrieren herum bewegt werden können. Um die Ausdehnung als implizite Barriere zu verwenden, müssen Sie die Ausdehnung in den Umgebungseinstellungen explizit festlegen.
Wenn Raster-Datasets des Typs Eingabe-Oberflächen-Raster, Eingabe-Kosten-Raster, Eingabe-Vertikal-Raster oder Eingabe-Horizontal-Raster angegeben werden, ist die Verarbeitungsausdehnung die Schnittmenge dieser Raster.
Wenn die Umgebungseinstellung Zellengröße oder Fang-Raster nicht festgelegt ist und mehrere Raster als Eingaben angegeben sind, werden die Zellengröße und das Fang-Raster anhand der Prioritätsreihenfolge festgelegt: Eingabe-Kosten-Raster, Eingabe-Oberflächen-Raster, Eingabe-Vertikal-Raster, Eingabe-Horizontal-Raster, Eingabe-Raster oder Feature-Quellen-Daten und Eingabe-Barriere-Raster- oder -Feature-Daten.
Die Standardwerte für die Modifikatoren des vertikalen Faktors lauten folgendermaßen:
Keyword Zero Low High Slope Power Cos Sec factor cut cut power power angle angle ------------------------ ------ ----- ----- ----- ----- ----- ----- Binary 1.0 -30 30 ~ ~ ~ ~ Linear 1.0 -90 90 1/90 ~ ~ ~ Symmetric linear 1.0 -90 90 1/90 ~ ~ ~ Inverse linear 1.0 -45 45 -1/45 ~ ~ ~ Symmetric inverse linear 1.0 -45 45 -1/45 ~ ~ ~ Cos ~ -90 90 ~ 1.0 ~ ~ Sec ~ -90 90 ~ 1.0 ~ ~ Cos_sec ~ -90 90 ~ ~ 1.0 1.0 Sec_cos ~ -90 90 ~ ~ 1.0 1.0
Die Ausgabe des Werkzeugs Ausrichtung kann als Eingabe für das horizontale Eingabe-Raster verwendet werden.
Die Standardwerte für die Modifikatoren des horizontalen Faktors lauten folgendermaßen:
Keywords Zero factor Cut angle Slope Side value -------------- ----------- ----------- ----- --------- Binary 1.0 45 ~ ~ Forward 0.5 45 (fixed) ~ 1.0 Linear 0.5 181 1/90 ~ Inverse linear 2.0 180 -1/90 ~
Die Eigenschaften der Quelle oder die Reisenden von oder zu einer Quelle können durch bestimmte Parameter gesteuert werden.
- Initiale Akkumulation legt die anfänglichen Kosten vor Beginn der Bewegung fest.
- Maximale Akkumulation legt fest, welche Höhe an Kosten eine Quelle maximal akkumulieren kann.
- Multiplikator zum Anwenden von Kosten gibt den Reisemodus oder die Höhe an der Quelle an.
- Mit Reiserichtung wird ermittelt, ob der Reisende an einer Quelle startet und zu Nicht-Quellspeicherorten reist oder an anderen Nicht-Quellspeicherorten startet und zurück zu einer Quelle reist.
Wenn einer der Parameter der Quelleneigenschaften anhand eines Feldes festgelegt wird, wird die Quelleneigenschaft je nach Quelle und entsprechend den Informationen, die in diesem Feld für die Quelldaten angegeben sind, angewendet. Wenn ein Schlüsselwort oder ein konstanter Wert angegeben ist, wird er auf alle Quellen angewendet.
Wenn Initiale Akkumulation festgelegt ist, werden die Quellspeicherorte der Ausgabe-Kostenentfernungsoberfläche auf den Wert von Initiale Akkumulation festgelegt; andernfalls werden die Quellspeicherorte der Ausgabe-Kostenentfernungsoberfläche auf Null festgelegt.
Dieses Werkzeug unterstützt die parallele Verarbeitung. Wenn Ihr Computer mit mehreren Prozessoren oder mit Prozessoren, die mehrere Kerne haben, ausgestattet ist, kann eine höhere Leistung erzielt werden, vor allem bei größeren Datasets. Weitere Informationen zu dieser Funktion sowie zu den Konfigurationsmöglichkeiten finden Sie im Hilfethema Parallele Verarbeitung mit Spatial Analyst.
Beim Einsatz von paralleler Verarbeitung werden für die Verwaltung der zu verarbeitenden Datenblöcke temporäre Daten generiert. Der Standardordner für temporäre Daten befindet sich auf dem lokalen Laufwerk C:. Sie können den Speicherort ändern, indem Sie eine Systemumgebungsvariable mit dem Namen "TempFolders" einrichten und den Pfad zum gewünschten Ordner angeben (z. B. E:\RasterCache). Wenn Sie auf dem Computer über Administratorberechtigungen verfügen, können Sie auch einen Registrierungsschlüssel verwenden (z. B. [HKEY_CURRENT_USER\SOFTWARE\ESRI\ArcGISPro\Raster]).
Das Werkzeug verwendet standardmäßig 50 % der verfügbaren Kerne. Wenn die Eingabedaten aus weniger als 5.000 mal 5.000 Zellen bestehen, können weniger Kerne verwendet werden. Sie können die Anzahl der Kerne, die das Werkzeug verwendet, mit der Umgebung Faktor für parallele Verarbeitung ändern.
Weitere Informationen zur Geoverarbeitung von Umgebungen mit diesem Werkzeug finden Sie unter Analyseumgebungen und Spatial Analyst.
Syntax
DistanceAccumulation(in_source_data, {in_barrier_data}, {in_surface_raster}, {in_cost_raster}, {in_vertical_raster}, {vertical_factor}, {in_horizontal_raster}, {horizontal_factor}, {out_back_direction_raster}, {out_source_direction_raster}, {out_source_location_raster}, {source_initial_accumulation}, {source_maximum_accumulation}, {source_cost_multiplier}, {source_direction}, {distance_method})
Parameter | Erklärung | Datentyp |
in_source_data | Die Eingabequellspeicherorte. Dies ist ein Raster oder ein Feature-Dataset zum Ermitteln der Zellen oder Positionen von oder zu denen die Entfernung mit den geringsten akkumulativen Kosten jeder Ausgabezellenposition berechnet wird. Bei Rastern kann der Eingabetyp ein ganzzahliges oder Gleitkomma-Raster sein. | Raster Layer; Feature Layer |
in_barrier_data (optional) | Das Dataset, das die Barrieren definiert. Die Barrieren können durch ein Ganzzahl- oder Gleitkomma-Raster oder einen konstanten Wert definiert sein. Für eine Raster-Barriere muss die Barriere einen gültigen Wert, einschließlich Null, aufweisen, und die Flächen, die keine Barrieren sind, müssen NoData-Flächen sein. | Raster Layer; Feature Layer |
in_surface_raster (optional) | Ein Raster, das die Höhenwerte an jeder Zellenposition definiert. Beim Übergang zwischen Zellen werden die Werte verwendet, um die tatsächliche Oberflächenentfernung zu berechnen. | Raster Layer |
in_cost_raster (optional) | Ein Raster, das die Impedanz oder die Kosten für eine planimetrische Bewegung durch jede Zelle definiert. Der Wert an jeder Zellenposition stellt die Kosten pro Einheitenentfernung für die Bewegung durch die Zelle dar. Jeder Zellenpositionswert wird mit der Zellenauflösung multipliziert, und gleichzeitig werden diagonale Bewegungen ausgeglichen, um die Gesamtkosten für die Bewegung durch die Zelle zu erhalten. Die Werte im Kosten-Raster können ganzzahlige oder Gleitkommawerte sein, sie dürfen jedoch nicht negativ oder 0 sein (negative oder keine Kosten sind nicht zulässig). | Raster Layer |
in_vertical_raster (optional) | Ein Raster, das die Z-Werte für jede Zellenposition definiert. Die Werte werden zum Berechnen der Neigung verwendet, die zum Identifizieren des vertikalen Faktors beim Übergang von einer Zelle zur anderen dient. | Raster Layer |
vertical_factor (optional) | Das Objekt Vertical factor definiert die Beziehung zwischen dem vertikalen Kostenfaktor und dem VRMA (Vertical Relative Moving Angle). Es stehen mehrere Faktoren mit Modifikatoren zur Auswahl, die ein definiertes Diagramm für den vertikalen Faktor identifizieren. Darüber hinaus kann mithilfe einer Tabelle ein benutzerdefiniertes Diagramm erstellt werden. Die Diagramme identifizieren den vertikalen Faktor, der zum Berechnen der Gesamtkosten für die Bewegung in eine benachbarte Zelle verwendet wird. In den folgenden Beschreibungen werden zwei Akronyme verwendet: 'VF' steht für vertikaler Faktor, d. h. für die vertikalen Hindernisse bei der Bewegung von einer Zelle zur nächsten, und 'VRMA' steht für vertikaler relativer Bewegungswinkel, d. h. für den Neigungswinkel zwischen der Ausgangs- oder Verarbeitungszelle (FROM) und der Zielzelle (TO). Das Objekt kommt in den folgenden Formen vor:
Die Definitionen und Parameter lauten wie folgt:
Die Modifikatoren für die Parameter des vertikalen Faktors lauten wie folgt:
| Vertical Factor |
in_horizontal_raster (optional) | Ein Raster, das die horizontale Richtung an jeder Zelle definiert. Die Werte in dem Raster müssen ganzzahlige Werte zwischen 0 und 360 Grad sein. Dabei steht 0 Grad für Norden (am Bildschirm oben), und der Winkel nimmt im Uhrzeigersinn zu. Ebenen Flächen sollte der Wert -1 zugewiesen werden. Beim Übergang von einer Zelle zu einer benachbarten Zelle werden die Werte an jeder Position zusammen mit dem horizontal_factor verwendet, um die anfallenden horizontalen Kosten zu bestimmen. | Raster Layer |
horizontal_factor (optional) | Das Objekt Horizontal Factor definiert die Beziehung zwischen dem horizontalen Kostenfaktor und dem HRMA (Horizontal Relative Moving Angle). Es stehen mehrere Faktoren mit Modifikatoren zur Auswahl, die ein definiertes Diagramm für den horizontalen Faktor identifizieren. Darüber hinaus kann mithilfe einer Tabelle ein benutzerdefiniertes Diagramm erstellt werden. Die Diagramme identifizieren den horizontalen Faktor, der zum Berechnen der Gesamtkosten für die Bewegung in eine benachbarte Zelle verwendet wird. In den folgenden Beschreibungen werden zwei Akronyme verwendet: 'HF' steht für horizontaler Faktor, d. h. für die horizontalen Hindernisse bei der Bewegung von einer Zelle zur nächsten, und 'HRMA' steht für horizontaler relativer Bewegungswinkel, d. h. für den Winkel zwischen der horizontalen Richtung von einer Zelle und der Bewegungsrichtung. Das Objekt kommt in den folgenden Formen vor:
Die Definitionen und Parameter lauten wie folgt:
Die Modifikatoren für die Schlüsselwörter des horizontalen Faktors lauten wie folgt:
| Horizontal Factor |
out_back_direction_raster (optional) | Das Gegenrichtungs-Raster enthält die berechnete Richtung in Grad. Die Richtung identifiziert die nächste Zelle entlang der kürzesten Route zurück zur nächstgelegenen Quelle, wobei Barrieren vermieden werden. Der Wertebereich reicht von 0 Grad bis 360 Grad, wobei 0 Grad für die Quellenzellen reserviert ist. In östlicher Richtung (rechts) befindet sich der 90-Grad-Winkel, und die Werte nehmen im Uhrzeigersinn zu (180 Grad ist Süden, 270 Grad ist Westen und 360 Grad ist Norden). Das Ausgabe-Raster ist ein Gleitkomma-Raster. | Raster Dataset |
out_source_direction_raster (optional) | Das Quellenrichtungs-Raster gibt die Richtung der Quellenzelle mit den geringsten akkumulativen Kosten als Azimut in Grad an. Der Wertebereich reicht von 0 Grad bis 360 Grad, wobei 0 Grad für die Quellenzellen reserviert ist. In östlicher Richtung (rechts) befindet sich der 90-Grad-Winkel, und die Werte nehmen im Uhrzeigersinn zu (180 Grad ist Süden, 270 Grad ist Westen und 360 Grad ist Norden). Das Ausgabe-Raster ist ein Gleitkomma-Raster. | Raster Dataset |
out_source_location_raster (optional) | Das Quellenpositions-Raster ist eine Multiband-Ausgabe. Das erste Band enthält einen Zeilenindex, und das zweite Band enthält einen Spaltenindex. Diese Indizes geben die Position der Quellenzelle an, deren Entfernung die geringsten akkumulativen Kosten aufweist. | Raster Dataset |
source_initial_accumulation (optional) | Die anfänglichen akkumulativen Kosten zum Beginn der Kostenberechnung. Ermöglicht die Festlegung der Fixkosten, die mit einer Quelle verknüpft sind. Der Kostenalgorithmus beginnt mit dem durch die source_initial_accumulation festgelegten Wert statt mit einem Kostenwert von Null. Die Wert müssen größer gleich 0 sein. Die Standardeinstellung ist 0. | Double; Field |
source_maximum_accumulation (optional) | Die maximale Akkumulation für den Reisenden für eine Quelle. Die Kostenberechnungen werden für jede Quelle fortgesetzt, bis die angegebene Akkumulation erreicht ist. Die Werte müssen größer als Null sein. Die Standardakkumulation reicht bis zur Kante des Ausgabe-Rasters. | Double; Field |
source_cost_multiplier (optional) | Der Multiplikator zum Anwenden der Kostenwerte. Dieser ermöglicht die Steuerung des Reisemodus oder der Magnitude an einer Quelle. Je größer der Multiplikator, desto höher sind die Kosten, um sich von einer Zelle zur anderen zu bewegen. Die Werte müssen größer als Null sein. Der Standardwert ist 1. | Double; Field |
source_direction (optional) | Gibt die Richtung des Reisenden an, wenn horizontale und vertikale Faktoren angewendet werden.
Geben Sie das Schlüsselwort FROM_SOURCE bzw. TO_SOURCE an, das auf alle Quellen angewendet wird. Alternativ können Sie in den Quelldaten ein Feld mit den Schlüsselwörtern festlegen, um die Reiserichtung für jede Quelle zu ermitteln. Dieses Feld muss die Zeichenfolge FROM_SOURCE oder TO_SOURCE enthalten. | String; Field |
distance_method (optional) | Gibt an, ob die Entfernung mithilfe einer planaren (flache Erde) oder geodätischen (Ellipsoid) Methode berechnet werden soll.
| String |
Rückgabewert
Name | Erklärung | Datentyp |
out_distance_accumulation_raster | Das Ausgabe-Raster für die Entfernung. Das Ausgabe-Raster ist ein Gleitkomma-Raster. | Raster |
Codebeispiel
Das folgende Skript veranschaulicht die Verwendung des Werkzeugs DistanceAccumulation im Python-Fenster.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outDistAcc = DistanceAccumulation("insources.shp", "barriers.tif")
outDistAcc.save("c:/sapyexamples/output/distacc.tif")
Berechnet für jede Zelle die Entfernung mit den geringsten akkumulativen Kosten zur nächstgelegenen Quelle, wobei die Oberflächenentfernung sowie horizontale und vertikale Kostenfaktoren berücksichtigt werden.
# Name: DistanceAccumulation_Ex_02.py
# Description: Calculates the distance accumulation.
# 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
inSources = "insources.shp"
inBarrier = "barriers.tif"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute EucDirections
outDistAcc = DistanceAccumulation(inSources, inBarrier)
# Save the output
outDistAcc.save("c:/sapyexamples/output/distacc2.tif")
Umgebungen
Lizenzinformationen
- Basic: Erfordert Spatial Analyst
- Standard: Erfordert Spatial Analyst
- Advanced: Erfordert Spatial Analyst