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ämlich CELL_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 die resultierende Ausgabe als Eingabe für das Werkzeug Kostenkonnektivität verwenden. Alternativ können Sie eine kleinere Zellengröße auswählen, damit der Detaillierungsgrad in den Eingabe-Features entsprechend 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) als Regionskennung verwendet.
Wenn die Eingabe-Regionen Raster sind und der Bereich der Zeilen-IDs sehr groß ist, kann dies (auch wenn es nur wenige Regionen gibt) negative Auswirkungen auf die Performance des Werkzeugs Kostenkonnektivität haben.
Zellenpositionen mit NoData im Eingabe-Kosten-Raster fungieren als Barrieren.
Die standardmäßige Verarbeitungsausdehnung entspricht der des Eingabe-Kosten-Rasters.
Das Kosten-Raster kann keine 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-Werte 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 Ergebnispfade aus Kostenpfad nur bis an den Rand einer Region reichen, müssen Sie, wenn Sie die zusätzlichen Pfade im integrierten Netzwerk für weitere Netzwerkanalysen verwenden möchten, diese innerhalb der Region erweitern, um sie mit den Pfaden im Netzwerk des minimalen Spannbaums verbinden zu können.
Die Ausgabe optionaler benachbarter Verbindungen kann als alternatives Netzwerk zum Netzwerk des minimalen Spannbaums verwendet werden. Bei dieser Ausgabe wird jede Region mit ihren benachbarten Kostenregionen verbunden, sodass ein komplexeres Netzwerk mit vielen Pfaden entsteht. Die Feature-Class kann direkt verwendet werden oder als Grundlage für die Erstellung Ihres eigenen Netzwerks fungieren. Hierfür können Sie die spezifischen Pfade, die das Netzwerk enthalten soll, entweder mit dem Werkzeug Nach Attributen auswählen in der Dropdown-Liste Auswahl des Werkzeugs Features auswählen auf der Werkzeugleiste Werkzeuge oder mit dem Geoverarbeitungswerkzeug Auswählen auswählen. Bei der Entscheidung, welche Pfade ausgewählt werden, kann man sich von Kenntnissen der Region und den den Pfaden zugeordneten Statistiken in der ausgegebenen Attributtabelle leiten lassen.
Das resultierende Netzwerk, das entweder aus dem minimalen Spannbaum oder den optionalen benachbarten Verbindungen entstanden ist, lässt sich in ein Network Analyst-Netzwerk zwecks Durchführung weiterer Netzwerkanalysen umwandeln.
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 | Erklärung | 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. Der Rastertyp muss ein Ganzzahlwert sein, 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 dürfen nicht 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 (bzw. jede Linie) ist eindeutig nummeriert, und konkrete Informationen über den Pfad sind 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 (bzw. jede Linie) ist eindeutig nummeriert, und konkrete Informationen über den Pfad sind in zusätzlichen Feldern in der Attributtabelle gespeichert. Hierzu gehören folgende Felder:
Mit diesen Angaben erhalten Sie nähere Informationen über die im Netzwerk enthaltenen Pfade. Dies ist besonders nützlich, wenn Entscheidungen über zu entfernende Pfade getroffen 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
- Projektionsmethode für 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
- Basic: Erfordert Spatial Analyst
- Standard: Erfordert Spatial Analyst
- Advanced: Erfordert Spatial Analyst