Kostenzuordnung (Spatial Analyst)
Zusammenfassung
Berechnet für jede Zelle die nächste Quelle auf Basis der kleinsten akkumulativen Kosten auf einer Kostenoberfläche.
Weitere Informationen zur Funktionsweise der Kostenentfernungswerkzeuge
Abbildung
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 problemlos mit den Extraktionswerkzeugen erstellt werden.
-
Wenn die Eingabequelldaten eine Feature-Class sind, werden die Quellenpositionen intern in ein Raster konvertiert, bevor die Analyse ausgeführt wird. Die Auflösung des Rasters kann mithilfe des Parameters Ausgabe-Zellengröße oder der Zellengröße-Umgebung gesteuert werden. Standardmäßig entspricht die Auflösung der Breite oder Höhe (der jeweils kleinere Wert) der Ausdehnung des Eingabe-Features im Eingabe-Raumbezug, dividiert durch 250.
Bei der Verwendung von Polygon-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 greift auf dieselbe Standardmethode für den Zellenzuweisungstyp zu wie das Werkzeug Polygon in Raster, nämlich CELL_CENTER. Das bedeutet, dass Daten, die sich nicht am Zellmittelpunkt befinden, nicht in die vorläufige, gerasterte Quellausgabe aufgenommen und folglich nicht in den Entfernungsberechnungen dargestellt werden. Wenn Ihre Quellen beispielsweise aus einer Serie kleiner Polygone bestehen, wie etwa Gebäudegrundrisse, die in Relation zur Ausgabe-Zellengröße klein sind, kann es sein, dass nur einige von ihnen 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 Polygon in Raster rastern, ein Prioritätsfeld festlegen und die sich ergebende Ausgabe als Eingabe für das Entfernungswerkzeug verwenden. Alternativ können Sie eine Zellengröße auswählen, die so klein ist, dass der jeweilige Detaillierungsgrad von den Eingabe-Features erfasst wird.
Zum Berechnen der Zuordnung können die Quellenpositionen über einen zugeordneten Wert verfügen, der durch den Parameter Quellfeld angegeben wird. Wenn die Eingabequelle ein Ganzzahl-Raster ist, lautet das Standardfeld VALUE. Handelt es sich hierbei um ein Feature, ist dies das erste Ganzzahlfeld in der Attributtabelle. Sind die Eingabequelldaten ein Gleitkomma-Raster, muss ein Ganzzahl-Raster-Parameter angegeben werden.
Wenn die Quelleingabe ein Feature ist, wird standardmäßig das erste gültige verfügbare Feld verwendet. Sind keine gültigen Felder vorhanden, wird das ObjectID-Feld verwendet (z. B. OID oder FID, abhängig vom Typ der Feature-Eingabe).
Zellenpositionen mit dem Wert "NoData" im Eingabe-Kosten-Raster fungieren in den Kostenoberflächenwerkzeugen als Barrieren. Jede Zellenposition, der auf der Eingabekostenoberfläche der Wert "NoData" zugewiesen ist, erhält auf allen Ausgabe-Rastern (Kostenentfernung, Zuordnung und Rückverknüpfung) den Wert "NoData".
Wenn die Eingabequelldaten und das Kosten-Raster unterschiedliche Ausdehnungen haben, wird als Standardausgabeausdehnung der Schnittpunkt beider Elemente verwendet. Um eine Kostenentfernungsoberfläche für die gesamte Ausdehnung zu erhalten, wählen Sie die Option Vereinigungsmenge der Eingaben in den Ausgabeumgebungseinstellungen für die Ausdehnung aus.
Wenn eine Maske in der Umgebung festgelegt wurde, werden alle maskierten Zellen als NoData-Werte verarbeitet.
Wenn im Fenster Raster-Analyse eine Maske definiert wurde und die relevanten Zellen eine Quelle maskieren, werden die Berechnungen nur für die verbleibenden Quellenzellen ausgeführt. Die maskierten Quellenzellen werden bei den Berechnungen nicht berücksichtigt. Diesen Zellenpositionen wird in allen Ausgabe-Rastern (Entfernung, Zuordnung und Rückverknüpfung) der Wert "NoData" zugewiesen.
Das Eingabe-Werte-Raster ist nützlich, wenn alternative Werte oder Zonen verwendet werden sollen oder wenn die Quelle aus einem Vorgang abgeleitet wurde, der zum binären Ergebnis 0 oder 1 führt, wobei die ursprünglichen Zonenwerte, die mit diesen Positionen verknüpft sind, verloren gehen. Das Werte-Raster kann diese Werte wiederherstellen oder die Analyse für zusätzliche Kombinationen von Zonenwerten innerhalb der Quellenpositionen berücksichtigen.
Wenn das Werte-Raster verwendet wird, ändert es möglicherweise die Konfiguration und die Ergebnisse der Kostenzuordnungsausgabe; es wirkt sich nicht auf die optionale Kostenentfernung oder die Rückverknüpfungsergebnisse aus.
Die Maximale Entfernung wird in den gleichen Kosteneinheiten wie im Kosten-Raster angegeben.
Für das Ausgabe-Entfernungs-Raster ist die kostengünstigste Entfernung (oder minimale akkumulative Kostenentfernung) einer Zelle zu einem Satz von Quellenpositionen die Untergrenze der kostengünstigsten Entfernungen von der Zelle zu allen Quellenpositionen.
Syntax
Parameter | Erläuterung | Datentyp | |
in_source_data |
Die Eingabequellenpositionen. Dies ist ein Raster oder ein Feature-Dataset, das die Zellen oder Positionen identifiziert, für die die Entfernung mit den geringsten akkumulativen Kosten jeder Ausgabezellenposition berechnet wird. Bei Rastern kann der Eingabetyp ein Ganzzahl- oder Gleitkomma-Raster sein. Ist das Eingabequellen-Raster ein Gleitkomma-Raster, muss ein Eingabewert-Raster ({in_value_raster}) vom Typ "Ganzzahl" angegeben werden. Das Wert-Raster hat Vorrang gegenüber einer beliebigen Einstellung im Quellfeld ({source_field}). | Raster Layer | Feature Layer | |
in_cost_raster |
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 Ganzzahl- oder Gleitkommawerte sein, sie dürfen jedoch nicht negativ oder 0 sein (negative oder keine Kosten sind nicht zulässig). | Raster Layer | |
maximum_distance (optional) | Definiert den Schwellenwert, den die akkumulativen Kostenwerte nicht überschreiten dürfen. Wenn ein akkumulativer Kostenentfernungswert diesen Wert überschreitet, lautet der Ausgabewert für die Zellenposition "NoData". Die maximale Entfernung definiert die Ausdehnung, für die akkumulative Kostenentfernungen berechnet werden. Die Standardentfernung ist bis zur Kante des Ausgabe-Rasters. | Double | |
in_value_raster (optional) |
Das Eingabe-Ganzzahl-Raster, das die Zonenwerte identifiziert, die für jede Eingabequellenposition verwendet werden sollen. Für jede Quellenposition (Zelle oder Feature) wird der durch das Eingabewert-Raster ({in_value_raster}) definierte Wert allen Zellen zugewiesen, die der Quellenposition für die Berechnung zugeordnet sind. Das Wert-Raster hat Vorrang gegenüber einer beliebigen Einstellung im Quellfeld ({source_field}). | Raster Layer | |
source_field (optional) | Das Feld für die Zuweisung von Werten zu den Quellenpositionen. Es muss den Typ "Ganzzahl" aufweisen. Wenn {in_value_raster} festgelegt wurde, haben die Werte in dieser Eingabe Vorrang gegenüber allen Einstellungen in {source_field}. | Field | |
out_distance_raster (optional) |
Das Ausgabe-Raster für die Kostenentfernung. Das Kostenentfernungs-Raster gibt für jede Zelle die geringste akkumulative Kostenentfernung über die Kostenoberfläche zu den festgelegten Quellenpositionen an. Eine Quelle kann eine Zelle, ein Satz von Zellen oder eine bzw. mehrere Feature-Positionen sein. Das Ausgabe-Raster ist ein Gleitkomma-Raster. | Raster Dataset | |
out_backlink_raster (optional) |
Das Ausgabe-Raster für Kostenrückverknüpfungen. Das Rückverknüpfungs-Raster enthält Werte von 0 bis 8. Mit diesen Werten wird die Richtung definiert oder die nächste angrenzende Zelle (die nachfolgende Zelle) entlang dem kleinsten akkumulativen Kostenpfad von einer Zelle zu ihrer kostengünstigsten Quelle identifiziert. Wenn der Pfad in die rechte benachbarte Zelle übergeht, wird der Zelle der Wert 1 zugeordnet, gefolgt von 2 für die diagonal rechts unten angeordnete Zelle. Die folgenden Zellen werden im Uhrzeigersinn nummeriert. Der Wert 0 ist für die Quellenzellen reserviert. | Raster Dataset |
Rückgabewert
Name | Erläuterung | Datentyp |
out_allocation_raster |
Das Zuordnungs-Raster für die Ausgabekosten. Dieses Raster identifiziert die Zone jeder Quellenposition (Zelle oder Feature), die mit den geringsten akkumulativen Kosten erreicht werden kann. Das Ausgabe-Raster ist ganzzahlig. | Raster |
Codebeispiel
Das folgende Skript im Python-Fenster veranschaulicht die Verwendung des Werkzeugs CostAllocation.
import arcpy from arcpy import env from arcpy.sa import * env.workspace = "C:/sapyexamples/data" out = () costAllocOut = CostAllocation("observers.shp", "costraster", 25000,"elevation", "FID", "c:/sapyexamples/output/distout", "c:/sapyexamples/output/backlinkout") costAllocOut.save("c:/sapyexamples/output/costalloc")
Dieses Skript berechnet mithilfe eines Kosten-Rasters, eines Feature-Layers von Quellpunkten und mehrerer optionaler Parameter ein Raster von Zellen, die den Wert der nächsten Quelle enthalten.
# Name: CostAllocation_Ex_02.py # Description: Calculates for each cell its nearest source # based on the least accumulative cost over a # cost surface. # 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 inFeature = "observers.shp" costRaster = "costraster" maxDist = 25000 valRaster = "elevation" featField = "FID" outDistanceRaster = "c:/sapyexamples/output/distout" outBacklink = "c:/sapyexamples/output/backlinkout" # Check out the ArcGIS Spatial Analyst extension license arcpy.CheckOutExtension("Spatial") # Execute CostAllocation costAllocOut = CostAllocation(inFeature, costRaster, maxDist, valRaster, featField, outDistanceRaster, outBacklink) # Save the output costAllocOut.save("c:/sapyexamples/output/costalloc01")