Mit der Spatial Analyst-Lizenz verfügbar.
Zusammenfassung
Erstellt das kostengünstigste Konnektivitätsnetzwerk zwischen mindestens zwei Eingabe-Regionen.
Weitere Informationen zur Funktionsweise des Werkzeugs "Kostenkonnektivität"
Abbildung
Verwendung
Die Eingabe-Regionen können ein Raster oder Feature-Daten sein.
In einem Raster ist eine Region eine Gruppe von Zellen mit identischem Wert, die zusammenhängen (benachbart sind). Wenn Ihre Eingabe-Regionen durch ein Raster identifiziert sind, führen Sie, falls Zonen (Zellen mit demselben Wert) aus mehreren Regionen bestehen, zunächst das Werkzeug Gruppierung zu Regionen als Vorverarbeitungsschritt aus, um jeder Region eindeutige Werte zuzuweisen. Verwenden Sie das resultierende Raster als Eingabe-Regionen für das Werkzeug Kostenkonnektivität.
Wenn Eingabe-Regionen durch Polygon-, Linien- oder Punktdaten identifiziert werden, werden sie anhand der Feature-ID in ein Raster konvertiert, um sicherzustellen, dass die resultierenden Regionen eindeutige Werte aufweisen. Daher dürfen Multipart-Polygone nicht als Eingabe verwendet werden. Wenn Multipoint-Daten eingegeben werden, wählt Kostenkonnektivität einen der Punkte an der Position nach dem Zufallsprinzip als Region-Wert aus.
Die Auflösung der gerasterten Eingabe-Feature-Regionen lässt sich mit der Umgebung Zellengröße steuern. Standardmäßig wird als Auflösung die Auflösung des Eingabe-Kosten-Rasters festgelegt.
Bei der Verwendung von Polygon-Feature-Daten als Eingabe-Region-Daten 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ämlichCELL_CENTER. Dies bedeutet, dass Daten, die sich nicht am Zellmittelpunkt befinden, nicht in die vorläufige, gerasterte Region aufgenommen und folglich nicht in den Entfernungsberechnungen dargestellt werden. Wenn Ihre Regionen 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 resultierende Ausgabe als Eingabe für das Werkzeug Kostenkonnektivität verwenden. Alternativ können Sie eine Zellengröße auswählen, die so klein ist, dass der jeweilige Detaillierungsgrad von den Eingabe-Features erfasst wird.
Wenn die Region-Eingabe ein Feature ist, wird das ObjectID-Feld (z. B. OID oder FID, abhängig vom Typ der Feature-Eingabe) verwendet.
Zellenpositionen mit NoData im Eingabe-Kosten-Raster fungieren als Barrieren.
Wenn die Eingabe-Region-Daten und das Kosten-Raster unterschiedliche Ausdehnungen haben, wird als Standardausgabeausdehnung der Schnittpunkt beider Elemente verwendet.
Wenn eine Maske in der Umgebung festgelegt wurde, werden die durch die Maske identifizierten Zellen als NoData-Werte verarbeitet.
Wenn eine Maske definiert und eine Region oder ein Teil einer Region nicht in der Maske enthalten ist, werden die Berechnungen für die verbleibenden Zellen der Region durchgeführt. Die Zellen der Region, die nicht in der Maske enthalten sind, werden bei den Berechnungen nicht berücksichtigt.
Das Kosten-Raster kann Werte von 0 enthalten, da der Algorithmus ein multiplikativer Prozess ist. Wenn das Kosten-Raster Werte von 0 enthält und diese Werte Gebiete mit den niedrigsten Kosten darstellen, ändern Sie die Werte von 0 in einen kleinen positiven Wert (z. B. 0,01), bevor Sie Kostenkonnektivität ausführen. Führen Sie dazu zuerst das Werkzeug If-Else-Bedingungen aus. Wenn Flächen mit dem Wert 0 Bereiche darstellen, die von der Analyse ausgeschlossen werden sollen, sollten diese Werte vor dem Ausführen von Kostenkonnektivität in "NoData" geändert werden, indem Sie zuerst das Werkzeug Auf NULL setzen ausführen.
Für Ausgabe-Feature-Class benachbarter Verbindungen werden die Nachbarn nicht durch die euklidische Entfernung, sondern durch die Kostenentfernung identifiziert. Daher ist der nächstgelegene Nachbar einer Region, derjenige, der die geringsten Reisekosten verursacht, und nicht etwa der Nachbar mit der geringsten Entfernung. Es wird ein Kostenzuordnungsvorgang durchgeführt, um zu ermitteln, welche Regionen benachbart sind.
Das optimale Ausgabe-Netzwerk wird aus den Pfaden erstellt, die in der Ausgabe der optionalen benachbarten Verbindungen erstellt wurden. Die Pfade in der Ausgabe der optionalen benachbarten Verbindungen werden in Graphentheorie konvertiert. Die Regionen sind Stützpunkte, die Pfade sind die Kanten und die akkumulativen Kosten sind die Gewichtungen für die Kanten. Der minimale Spannbaum wird aus der Graphendarstellung der Pfade berechnet, um das Netzwerk der kostengünstigsten Pfade zu bestimmen, das für die Reise zwischen den Regionen erforderlich ist.
Jeder kostengünstige Pfad erreicht die äußere Grenze des Polygons oder der Mehrzellenregion. Das Werkzeug setzt die Pfade dann vom Umfang der Region mit zusätzlichen Liniensegmenten fort, sodass Anfangs- und Endpunkte zwischen Regionen und die Bewegung zwischen diesen ermöglicht wird. Die Bewegung entlang dieser Liniensegmente verursacht keine zusätzlichen Kosten.
Mit den Werkzeugen Kostenentfernung und Kostenpfad können Regionen, die nicht direkt im minimalen Spannbaum verbunden sind, basierend auf A-priori-Informationen verbunden werden. Für eine bestimmte Region ist beispielsweise ein alternativer Rettungsweg erforderlich, um Feuerwehrmännern die Evakuierung aus der Region zu ermöglichen. Da die resultierenden Pfade aus Kostenpfad nur die Kante einer Region erreichen, müssen Sie diese Pfade innerhalb der Region erweitern, um sie mit den Pfaden des Netzwerks der minimalen Spannbäume zu verbinden, falls Sie diese zusätzlichen Pfade im integrierten Netzwerk verwenden möchten, um nachfolgende Netzwerkanalysen durchzuführen
Die optionale Ausgabe benachbarter Verbindungen kann zum Erstellen des eigenen gewünschten Netzwerks verwendet werden, indem bestimmte Pfade basierend auf dem Wissen zum Untersuchungsgebiet und den Statistiken entfernt werden, die mit den Pfaden in der resultierenden Attributtabelle verknüpft sind.
Das resultierende Netzwerk, sei es aus dem minimalen Spannbaum oder den optionalen benachbarten Verbindungen, kann in ein Network Analyst-Netzwerk konvertiert werden, um zusätzliche Netzwerkanalysen durchzuführen.
Weitere Informationen zur Geoverarbeitung von Umgebungen mit diesem Werkzeug finden Sie unter Analyseumgebungen und Spatial Analyst.
Syntax
CostConnectivity (in_regions, in_cost_raster, out_feature_class, {out_neighbor_paths})
Parameter | Erläuterung | Datentyp |
in_regions | Die Eingabe-Regionen, die durch das kostengünstigste Netzwerk verbunden werden sollen. Regionen können nach Raster oder Feature-Dataset definiert werden. Wenn die Region-Eingabe ein Raster ist, werden die Regionen nach Gruppen zusammenhängender (benachbarter) Zellen mit identischem Wert definiert. Jede Region muss eindeutig nummeriert sein. Die Zellen, die nicht Teil einer Region sind, müssen vom Typ "NoData" sein. Das Raster muss ganzzahlig und die Werte können positiv oder negativ sein. Wenn die Region-Eingabe ein Feature-Dataset ist, kann es sich um Polygone, Linien oder Punkte handeln. Polygon-Feature-Regionen können aus Multipart-Polygonen bestehen. | 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 ganzzahlige oder Gleitkommawerte sein, sie dürfen jedoch nicht negativ oder 0 sein (negative oder keine Kosten sind nicht zulässig). | Raster Layer |
out_feature_class | Die Ausgabe-Polylinien-Feature-Class des optimalen (kostengünstigsten) Netzwerks von Pfaden, die zum Verbinden der einzelnen Eingabe-Regionen erforderlich sind. Jeder Pfad (oder jede Linie) ist eindeutig nummeriert und spezifische Informationen zu dem Pfad werden in zusätzlichen Feldern in der Attributtabelle gespeichert. Hierzu gehören folgende Felder:
Diese Informationen geben Aufschluss über die Pfade innerhalb des Netzwerks. Da jeder Pfad durch eine eindeutige Linie dargestellt wird, weisen Positionen, an denen Pfade an derselben Route verlaufen, mehrere Linien auf. | Feature Class |
out_neighbor_paths (optional) | Die Ausgabe-Polylinien-Feature-Class, die alle Pfade von jeder Region zu jeder ihrer nächstgelegenen Nachbarn identifiziert. Jeder Pfad (oder jede Linie) ist eindeutig nummeriert und spezifische Informationen zu dem Pfad werden in zusätzlichen Feldern in der Attributtabelle gespeichert. Hierzu gehören folgende Felder:
Diese Informationen gewähren Einblick in die Pfade innerhalb des Netzwerks und sind insbesondere bei der Entscheidung hilfreich, welche Pfade ggf. entfernt werden sollen. Da jeder Pfad durch eine eindeutige Linie dargestellt wird, weisen Positionen, an denen Pfade an derselben Route verlaufen, mehrere Linien auf. | Feature Class |
Codebeispiel
CostConnectivity – Beispiel 1 (Python-Fenster)
Das folgende Skript im Python-Fenster veranschaulicht die Verwendung des Werkzeugs CostConnectivity.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
CostConnectivity("regions.shp", "cost_ras", "C:/sapyexamples/output/costnetwork", "C:/sapyexamples/output/costneigh")
CostConnectivity – Beispiel 2 (eigenständiges Skript)
Erstellt das kostengünstigste optimale Pfadnetzwerk, das die Eingabe-Regionen miteinander verbindet.
# Name: CostConnectivity_Ex_02.py
# Description: Calculates the least-cost network
# 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
inRegionData = "regions.shp"
inCostRaster = "cost_ras"
outCostNetwork = "C:/sapyexamples/output/costnetwork"
outOptCostNeigh = "C:/sapyexamples/output/costneigh"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute Cost Connectivity
CostConnectivity(inRegionData, inCostRaster, outCostNetwork, outOptCostNeigh)
Umgebungen
- Auto Commit
- Zellengröße
- Aktueller Workspace
- Standard-Ausgabe-Z-Wert
- Ausdehnung
- Geographische Transformationen
- Maske
- M-Auflösung
- M-Toleranz
- Räumlichen Index beibehalten
- Ausgabe-CONFIG-Schlüsselwort
- Ausgabe-Koordinatensystem
- Ausgabe hat M-Werte
- Ausgabe hat Z-Werte
- Ausgabe-M-Domäne
- Ausgabe-XY-Domäne
- Ausgabe-Z-Domäne
- Scratch-Workspace
- Fang-Raster
- XY-Auflösung
- XY-Toleranz
- Z-Auflösung
- Z-Toleranz
Lizenzinformationen
- ArcGIS Desktop Basic: Erfordert Spatial Analyst
- ArcGIS Desktop Standard: Erfordert Spatial Analyst
- ArcGIS Desktop Advanced: Erfordert Spatial Analyst