Zusammenfassung
Berechnet die Entfernungsallokation für jede Zelle zu den angegebenen Quellen auf Grundlage von geradliniger Entfernung, Kostenentfernung, tatsächlicher Oberflächenentfernung sowie vertikaler und horizontaler Kostenfaktoren.
Verwendung
Dieses Portal-Werkzeug für die Raster-Analyse ist verfügbar, wenn Sie bei einem ArcGIS Enterprise -Portal mit einem konfigurierten ArcGIS Image Server für die Raster Analysis 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.
Wenn es sich bei den Eingabequelldaten um einen Image-Service 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.
Liegen die Eingabequelldaten in Form eines Feature-Service vor, 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.
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. Der Grund hierfür ist, dass wenn die Ausgaben in Optimaler Pfad als Raster und Optimaler Pfad als Linie verwendet werden, können die generierten Pfade um die Barrieren herum bewegt werden. 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 Spatial Analyst-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 ~
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.
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 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.
Weitere Informationen zur Geoverarbeitung von Umgebungen mit diesem Werkzeug finden Sie unter Analyseumgebungen und Spatial Analyst.
Syntax
arcpy.ra.DistanceAllocation(inputSourceRasterOrFeatures, outputDistanceAllocationRasterName, {inputBarrierRasterOrFeatures}, {inputSurfaceRaster}, {inputCostRaster}, {inputVerticalRaster}, {verticalFactor}, {inputHorizontalRaster}, {horizontalFactor}, {outputDistanceAccumulationRasterName}, {outputBackDirectionRasterName}, {outputSourceDirectionRasterName}, {outputSourceLocationRasterName}, {sourceField}, {sourceInitialAccumulation}, {sourceMaximumAccumulation}, {sourceCostMultiplier}, {sourceDirection}, {distanceMethod})
Parameter | Erklärung | Datentyp |
inputSourceRasterOrFeatures | Die Eingabequellspeicherorte. Dies ist ein Image- oder Feature-Service zum Ermitteln der Zellen oder Positionen von oder zu denen die Zuordnung jeder Ausgabezellenposition berechnet wird. Bei einem Image-Service kann der Eingabetyp "Ganze Zahl" oder "Gleitkomma" sein. | Raster Layer; Feature Layer |
outputDistanceAllocationRasterName | Der Name des Ausgabe-Entfernungs-Zuordnungs-Raster-Service. | String |
inputBarrierRasterOrFeatures (optional) | Das Dataset, das die Barrieren definiert. Die Barrieren können durch einen Ganzzahl- oder Gleitkomma-Image-Service oder durch einen Feature-Service definiert sein. Für eine Image-Service-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 |
inputSurfaceRaster (optional) | Ein Image-Service, der 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 |
inputCostRaster (optional) | Ein Image-Service, der 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 |
inputVerticalRaster (optional) | Ein Image-Service, der 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 |
verticalFactor (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. 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 definiert der vertikale Faktor (VF) die vertikalen Hindernisse bei der Bewegung von einer Zelle zur nächsten, und VRMA identifiziert den Neigungswinkel zwischen der Ausgangs- oder Verarbeitungszelle (FROM) und der Zielzelle (TO). Das Objekt kommt in den folgenden Formen vor: VfBinary, VfLinear, VfInverseLinear, VfSymLinear, VfSymInverseLinear, VfCos, VfSec, VfSec, VfCosSec und VfSecCos Die Definitionen und Parameter dieser Formen lauten wie folgt:
Die Modifikatoren für die Parameter des vertikalen Faktors lauten wie folgt:
| Vertical Factor |
inputHorizontalRaster (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 Parameter horizontal_factor verwendet, um die anfallenden horizontalen Kosten zu bestimmen. | Raster Layer |
horizontalFactor (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. 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 definiert der horizontale Faktor (HF) die horizontalen Hindernisse bei der Bewegung von einer Zelle zur nächsten, und der horizontale relative Bewegungswinkel (HRMA) identifiziert den Winkel zwischen der horizontalen Richtung von einer Zelle und der Bewegungsrichtung. Das Objekt kommt in den folgenden Formen vor: HfBinary, HfForward, HfLinear und HfInverseLinear Die Definitionen und Parameter lauten wie folgt:
Die Modifikatoren für die Schlüsselwörter des horizontalen Faktors lauten wie folgt:
| Horizontal Factor |
outputDistanceAccumulationRasterName (optional) | Der Name des Ausgabe-Entfernungsakkumulations-Rasters. Das Entfernungsakkumulations-Raster enthält die akkumulative Entfernung jeder Zelle zu oder von der kostengünstigsten Quelle. | String |
outputBackDirectionRasterName (optional) | Der Name des Ausgabe-Gegenrichtungs-Rasters. Das Gegenrichtungs-Raster enthält berechnete Richtungen in Grad. Die Richtung identifiziert die nächste Zelle entlang dem optimalen Pfad zurück zur Quelle mit den geringsten akkumulativen Kosten, wobei Barrieren vermieden werden. Der Wertebereich reicht von 0 Grad bis 360 Grad. Der Wert 0 ist für die die Quellenzellen reserviert. 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. | String |
outputSourceDirectionRasterName (optional) | Der Name des Ausgabe-Quellenrichtungs-Rasters. 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. Der Wert 0 ist für die die Quellenzellen reserviert. 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. | String |
outputSourceLocationRasterName (optional) | Der Name des Ausgabe-Quellspeicherort-Rasters. Das Quellspeicherort-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. | String |
sourceField (optional) | Das Feld für die Zuweisung von Werten zu den Quellspeicherorten. Es muss eine ganze Zahl sein. | Field |
sourceInitialAccumulation (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 |
sourceMaximumAccumulation (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 |
sourceCostMultiplier (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 |
sourceDirection (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 |
distanceMethod (optional) | Gibt an, ob die Entfernung mithilfe einer planaren (flache Erde) oder geodätischen (Ellipsoid) Methode berechnet werden soll.
| String |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
outputDistanceAllocationRaster | Das Ausgabe-Entfernungs-Zuordnungs-Raster. | Raster |
outputDistanceAccumulationRaster | Das Ausgabe-Entfernungsakkumulations-Raster. | Raster |
outputBackDirectionRaster | Das Ausgabe-Gegenrichtungs-Raster. | Raster |
outputSourceDirectionRaster | Das Ausgabe-Quellenrichtungs-Raster. | Raster |
outputSourceLocationRaster | Das Ausgabe-Quellspeicherort-Raster. | Raster |
Codebeispiel
Das folgende Skript veranschaulicht die Verwendung des Werkzeugs DistanceAllocation im Python-Fenster.
import arcpy
arcpy.DistanceAllocation_ra('https://MyPortal.esri.com/server/rest/services/Hosted/sources/ImageServer',
'outDistanceAllocation',
'https://MyPortal.esri.com/server/rest/services/Hosted/barrier/ImageServer',
'https://MyPortal.esri.com/server/rest/services/Hosted/surface/ImageServer',
'https://MyPortal.esri.com/server/rest/services/Hosted/cost/ImageServer')
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: DistanceAllocation_Ex_02.py
# Description: Calculates the distance allocation.
# Requirements: ArcGIS Image Server
# Import system modules
import arcpy
# Set local variables
inputSourceRasterOrFeatures = 'https://MyPortal.esri.com/server/rest/services/Hosted/sources/ImageServer'
outputDistanceAllocationRasterName = "outDistAllo"
inputBarrierRasterOrFeatures = 'https://MyPortal.esri.com/server/rest/services/Hosted/barrier/ImageServer'
inputSurfaceRaster = 'https://MyPortal.esri.com/server/rest/services/Hosted/surface/ImageServer'
inputCostRaster = 'https://MyPortal.esri.com/server/rest/services/Hosted/cost/ImageServer'
inputVerticalRaster = 'https://MyPortal.esri.com/server/rest/services/vertical/sources/ImageServer'
verticalFactor = ""
inputHorizontalRaster = 'https://MyPortal.esri.com/server/rest/services/Hosted/horizontal/ImageServer'
horizontalFactor = ""
outputDistanceAccumulationRasterName = "outAccum"
outputBackDirectionRasterName = "outBackDir"
outputSourceDirectionRasterName = "outSourceDir"
outputSourceLocationRasterName = "outSourceLocation"
sourceField = "SourceID"
sourceInitialAccumulation = "IntitalAccum"
sourceMaximumAccumulation = "500000"
sourceCostMultiplier = "CostMultiplier"
sourceDirection = "FROM_SOURCE"
distanceMethod = "PLANAR"
# Execute
arcpy.DistanceAllocation_ra(inputSourceRasterOrFeatures, outputDistanceAllocationRasterName,
inputBarrierRasterOrFeatures, inputSurfaceRaster,
inputCostRaster, inputVerticalRaster, verticalFactor,
inputHorizontalRaster, horizontalFactor,
outputDistanceAccumulationRasterName, outputBackDirectionRasterName,
outputSourceDirectionRasterName, outputSourceLocationRasterName,
sourceField, sourceInitialAccumulation, sourceMaximumAccumulation,
sourceCostMultiplier, sourceDirection, distanceMethod)
Umgebungen
Lizenzinformationen
- Basic: Erfordert ArcGIS Image Server
- Standard: Erfordert ArcGIS Image Server
- Advanced: Erfordert ArcGIS Image Server