Beschriftung | Erläuterung | Datentyp |
Eingabe-Raster oder Feature-Regionen | Die Eingabe-Regionen, die durch optimale Korridore verbunden werden. 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 Regionseingabe ein Feature-Dataset ist, kann es sich um Polygone, Polylinien oder Punkte handeln. Polygon-Feature-Regionen dürfen nicht aus Multipart-Polygonen bestehen. | Raster Layer; Feature Layer |
Ausgabe der optimalen Korridorpolygone | Die Ausgabe-Polygon- oder Line-Feature-Class der optimalen Korridore, über die die einzelnen Eingaberegionen miteinander verbunden werden. Die Korridore (oder Linien) überlappen sich an Positionen, an denen Korridore über dieselbe Route verlaufen. Jeder Korridor (bzw. jede Linie) ist mit einer eindeutigen Nummer versehen, und konkrete Informationen über den Pfad sind in zusätzlichen Feldern in der Attributtabelle gespeichert. Dabei handelt es sich um folgende Felder:
| Feature Class |
Eingabe-Raster oder Feature-Barrieren (optional) | Das Dataset, das die Barrieren definiert. Die Barrieren können durch ein Integer- oder Gleitkomma-Raster oder ein Punkt-, Linien- oder Polygon-Feature definiert sein. | Raster Layer; Feature Layer |
Eingabe-Kosten-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 Ganzzahl- oder Gleitkommawerte sein, sie dürfen jedoch nicht negativ oder 0 sein (negative oder keine Kosten sind nicht zulässig). | Raster Layer |
Ausgabe der optimalen Verbindungslinien (optional) | Die Ausgabe-Line-Feature-Class identifiziert die optimalen Linien, über die die einzelnen Eingaberegionen miteinander verbunden werden. Die Linien überlappen sich an Positionen, an denen Wege über dieselbe Route verlaufen. Jeder Pfad (oder jede Linie) ist eindeutig nummeriert und spezifische Informationen zu dem Pfad werden in zusätzlichen Feldern in der Attributtabelle gespeichert. Dabei handelt es sich um folgende Felder:
| Feature Class |
Ausgabekorridore für benachbarte Polygone (optional) | Die Ausgabe-Polygon- oder Linien-Feature-Class, die die optimalen Korridore identifiziert, die jede Region mit dem nächstgelegenen oder kostengünstigsten Nachbarn identifiziert. Die Korridore (oder Linien) überlappen sich an Positionen, an denen Korridore über dieselbe Route verlaufen. Jeder Korridor ist mit einer eindeutigen Nummer versehen, und konkrete Informationen über den Pfad sind in zusätzlichen Feldern in der Attributtabelle gespeichert. Dabei handelt es sich um folgende Felder:
| Feature Class |
Ausgabe benachbarter Verbindungen (optional) | Die Ausgabe-Line-Feature-Class, die die optimale Verbindung von jeder Region zu jedem ihrer nächstgelegenen oder kostengünstigsten Nachbarn identifiziert. Jeder Korridor (bzw. jedes Polygon) ist mit einer eindeutigen Nummer versehen, und konkrete Informationen über den Pfad sind in zusätzlichen Feldern in der Attributtabelle gespeichert. Dabei handelt es sich um folgende Felder:
Da jeder Pfad durch eine eindeutige Linie dargestellt wird, weisen Positionen, an denen die dieselbe Route optimal verläuft, mehrere Linien auf. | Feature Class |
Korridormethode (optional) | Gibt an, wie der Korridor erstellt wird.
Hinweis:In diesem Release können lediglich Korridore mit fester Breite erstellt werden. Da es nur diese eine Standardoption gibt, ist der Parameter deaktiviert und wird im Dialogfeld des Werkzeugs nicht angezeigt. | String |
Korridorbreite (optional) | Lineare Entfernung zur Definition der Breite des resultierenden Korridors. Der Wert muss größer oder gleich Null sein. Die Standardeinstellung ist 0. | Double |
Entfernungsmethode (optional) | Gibt an, ob die Berechnung mit einer planaren Methode (flache Erde) oder einer geodätischen Methode (Ellipsoid) erfolgt.
| String |
Zusammenfassung
Berechnet die optimalen Korridorverbindungen zwischen mindestens zwei Eingaberegionen.
Weitere Informationen über das Verbinden von Positionen durch Korridore
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 die Eingabe-Regionen über ein Raster identifiziert werden, 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. Anschließend verwenden Sie das resultierende Raster als Eingaberegionen für dieses Werkzeug.
Wenn Eingabe-Regionen über 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. Multipart-Polygone dürfen nicht als Eingabe verwendet werden. Wenn Multipoint-Daten angegeben werden, wählt das Werkzeug einen der Punkte an der Position nach dem Zufallsprinzip als Regionswert 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, insofern angegeben.
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 Zellenmittelpunkt. 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 die Regionen beispielsweise aus einer Serie kleiner Polygone wie etwa Gebäudegrundrissen bestehen, 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 direkt mit dem Werkzeug Polygon in Raster rastern, einen Wert im Prioritätsfeld festlegen und die sich ergebende Ausgabe als Eingabe für dieses Werkzeug verwenden. Alternativ können Sie eine kleinere Zellengröße auswählen, damit der Detaillierungsgrad in den Eingabe-Features entsprechend erfasst wird.
Wenn es sich bei der Regionseingabe um ein Feature handelt, wird das Feld ObjectID als Regionsidentifikator verwendet.
Als Barrieren fungieren Positionen, die durch den Parameter Eingabe-Raster oder Feature-Barrieren ermittelt werden, Zellenpositionen, deren Parameter Eingabe-Kosten-Raster den Wert "NoData" enthält, oder Positionen, die sich außerhalb der Umgebungseinstellung "Maske" befinden.
Die Analyse-Umgebungseinstellung Maske kann auf ein Feature oder ein Raster-Dataset festgelegt werden. Wenn die Maske ein Feature ist, wird sie in ein Raster konvertiert. Die Zellen, die über einen Wert verfügen, definieren die Positionen, die im Maskenbereich liegen. NoData-Zellen definieren die Positionen, die sich außerhalb des Maskenbereichs befinden, und werden als Barriere behandelt.
Die standardmäßige Verarbeitungsausdehnung entspricht dem Wert des Parameters Eingabe-Kosten-Raster, sofern angegeben. Andernfalls wird die Ausdehnung der Eingaberegionen verwendet.
Der Parameter Kosten-Raster darf nicht den Wert 0 enthalten, da der Algorithmus ein multiplikativer Prozess ist. Wenn das Kosten-Raster den Wert 0 enthält und dieser Wert Gebiete mit den niedrigsten Kosten darstellt, müssen Sie den Wert 0 in einen kleinen positiven Wert (z. B. 0,01) ändern, bevor Sie das Werkzeug ausführen.
Sie können mit dem Werkzeug If-Else-Bedingungen den Wert 0 in den Zellen in einen anderen Wert ändern. Wenn Flächen mit dem Wert 0 Bereiche darstellen, die von der Analyse ausgeschlossen werden sollen, konvertieren Sie diese Werte zunächst in "NoData", indem Sie das Werkzeug Auf NULL setzen ausführen.
Wenn für den Parameter Eingabe-Kosten-Raster ein Wert angegeben ist, führt das Werkzeug die Berechnungen für diese Kostenoberfläche basierend auf dem Wert des Parameters Korridorbreite durch. Damit wird sichergestellt, dass für die angegebene Breite optimale Korridore erstellt werden, und es kann dazu führen, dass Regionen, die sich nahe der Oberflächenkante befinden, nicht mit den anderen Ergebnissen verbunden werden.
Die Angabe von Regionen, die sich nahe dem Parameterwert Eingabe-Raster oder Feature-Barrieren kann ebenfalls zu nicht verbundenen Korridoren führen.
Wenn für die Parameter Ausgabepolygone für benachbarte Korridore und Ausgabelinien für benachbarte Verbindungen keine Kostenoberfläche angegeben wird, werden die Nachbarn durch die Euklidische Entfernung bestimmt. In diesem Fall ist der nächste Nachbar einer Region derjenige Nachbar mit der geringsten Entfernung. Wenn jedoch eine Kostenoberfläche angegeben wurde, werden die Nachbarn anhand der Kostenentfernung identifiziert. Der nächste Nachbar einer Region ist dann die Region, die auf die kostengünstigste Weise erreicht werden kann. Es wird ein Kostenzuordnungsvorgang durchgeführt, um zu ermitteln, welche Regionen benachbart sind.
Der Wert des Parameters Ausgabekorridore für benachbarte Polygone 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 die Stützpunkte, die Pfade sind die Kanten, und die akkumulativen Entfernungen oder Kosten sind die Gewichtungen für die Kanten. Der minimale Spannbaum wird aus der Graphendarstellung der Pfade berechnet, um das Netzwerk der optimalen Verbindungslinien zu bestimmen, das für die Reise zwischen den Regionen erforderlich ist. Anschließend wird das Netzwerk der optimalen Korridorpolygone aus dem Netzwerk der optimalen Verbindungslinien erstellt.
Der Wert des Parameters Ausgabelinien für benachbarte Verbindungen wird aus den Pfaden berechnet, die in der Ausgabe der optionalen benachbarten Verbindungen erstellt wurden. Zur Berechnung dieser Teilmenge werden die benachbarten Verbindungen in Graphentheorie konvertiert. Die Regionen sind die Stützpunkte, die Pfade sind die Kanten, und die akkumulativen Entfernungen oder Kosten sind die Gewichtungen für die Kanten. Der minimale Spannbaum wird aus der Graphendarstellung der Pfade berechnet, um die Teilmenge der optimalen Verbindungslinien zu bestimmen, die für die Reise zwischen den Regionen erforderlich sind.
Jede optimale Verbindung 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 gilt nicht als zusätzliche Entfernung und verursacht keine zusätzlichen Kosten.
Je nach Konfiguration der Eingaberegionen und der zugewiesenen Nachbarn kann ein Pfad durch eine zwischenliegende Region verlaufen, um zu einer benachbarten Region zu gelangen. Beim Durchqueren der zwischenliegenden Region über diesen Pfad entstehen Kosten.
Der Wert des Parameters Ausgabe 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. Wählen Sie hierzu mithilfe der Schaltfläche Nach Attributen auswählen, der Gruppe Auswählen auf der Registerkarte Karte oder des Werkzeugs Layer nach Attributen auswählen die Pfade aus, die Sie im Netzwerk darstellen möchten. Bei der Auswahl der Pfade kann man sich von Kenntnissen der Region und den den Pfaden zugeordneten Statistiken in der ausgegebenen Attributtabelle leiten lassen.
Dieses Werkzeug erstellt ausschließlich Korridore mit fester Breite. Der Parameter Korridorbreite ermittelt die feste Breite der Korridore als lineare Entfernung. Wenn der Wert des Parameters Korridorbreite 0 beträgt, sind die Ausgabekorridore die optimalen Verbindungslinien.
Weitere Informationen zu den Geoverarbeitungsumgebungen für dieses Werkzeug finden Sie unter Analyseumgebungen und Spatial Analyst.
Parameter
OptimalCorridorConnections(in_regions, out_optimal_polygons, {in_barriers}, {in_cost_raster}, {out_optimal_lines}, {out_neighbor_polygons}, {out_neighbor_lines}, {corridor_method}, {corridor_width}, {distance_method})
Name | Erläuterung | Datentyp |
in_regions | Die Eingabe-Regionen, die durch optimale Korridore verbunden werden. 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 Regionseingabe ein Feature-Dataset ist, kann es sich um Polygone, Polylinien oder Punkte handeln. Polygon-Feature-Regionen dürfen nicht aus Multipart-Polygonen bestehen. | Raster Layer; Feature Layer |
out_optimal_polygons | Die Ausgabe-Polygon- oder Line-Feature-Class der optimalen Korridore, über die die einzelnen Eingaberegionen miteinander verbunden werden. Die Korridore (oder Linien) überlappen sich an Positionen, an denen Korridore über dieselbe Route verlaufen. Jeder Korridor (bzw. jede Linie) ist mit einer eindeutigen Nummer versehen, und konkrete Informationen über den Pfad sind in zusätzlichen Feldern in der Attributtabelle gespeichert. Dabei handelt es sich um folgende Felder:
| Feature Class |
in_barriers (optional) | Das Dataset, das die Barrieren definiert. Die Barrieren können durch ein Integer- oder Gleitkomma-Raster oder ein Punkt-, Linien- oder Polygon-Feature definiert sein. | Raster Layer; Feature 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 Ganzzahl- oder Gleitkommawerte sein, sie dürfen jedoch nicht negativ oder 0 sein (negative oder keine Kosten sind nicht zulässig). | Raster Layer |
out_optimal_lines (optional) | Die Ausgabe-Line-Feature-Class identifiziert die optimalen Linien, über die die einzelnen Eingaberegionen miteinander verbunden werden. Die Linien überlappen sich an Positionen, an denen Wege über dieselbe Route verlaufen. Jeder Pfad (oder jede Linie) ist eindeutig nummeriert und spezifische Informationen zu dem Pfad werden in zusätzlichen Feldern in der Attributtabelle gespeichert. Dabei handelt es sich um folgende Felder:
| Feature Class |
out_neighbor_polygons (optional) | Die Ausgabe-Polygon- oder Linien-Feature-Class, die die optimalen Korridore identifiziert, die jede Region mit dem nächstgelegenen oder kostengünstigsten Nachbarn identifiziert. Die Korridore (oder Linien) überlappen sich an Positionen, an denen Korridore über dieselbe Route verlaufen. Jeder Korridor ist mit einer eindeutigen Nummer versehen, und konkrete Informationen über den Pfad sind in zusätzlichen Feldern in der Attributtabelle gespeichert. Dabei handelt es sich um folgende Felder:
| Feature Class |
out_neighbor_lines (optional) | Die Ausgabe-Line-Feature-Class, die die optimale Verbindung von jeder Region zu jedem ihrer nächstgelegenen oder kostengünstigsten Nachbarn identifiziert. Jeder Korridor (bzw. jedes Polygon) ist mit einer eindeutigen Nummer versehen, und konkrete Informationen über den Pfad sind in zusätzlichen Feldern in der Attributtabelle gespeichert. Dabei handelt es sich um folgende Felder:
Da jeder Pfad durch eine eindeutige Linie dargestellt wird, weisen Positionen, an denen die dieselbe Route optimal verläuft, mehrere Linien auf. | Feature Class |
corridor_method (optional) | Gibt an, wie der Korridor erstellt wird. Hinweis:In diesem Release können lediglich Korridore mit fester Breite erstellt werden. Da es nur diese eine Standardoption gibt, ist der Parameter deaktiviert und wird im Dialogfeld des Werkzeugs nicht angezeigt.
| String |
corridor_width (optional) | Lineare Entfernung zur Definition der Breite des resultierenden Korridors. Der Wert muss größer oder gleich Null sein. Die Standardeinstellung ist 0. | Double |
distance_method (optional) | Gibt an, ob die Berechnung mit einer planaren Methode (flache Erde) oder einer geodätischen Methode (Ellipsoid) erfolgt.
| String |
Codebeispiel
Das folgende Skript im Python-Fenster veranschaulicht, wie Sie die Funktion OptimalCorridorConnections verwenden.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/arcpyexamples/data"
out_OCC_raster = OptimalCorridorConnections("InRegions.tif",
"OutCorridors.shp", "InBarriers.tif", "InCostRaster.tif",
"OutOptimalPaths.shp", "OutNbrPoly.shp", "OutNbrLines.shp",
"FIXED_WIDTH_CORRIDOR", 5000, "PLANAR")
Mit diesem Werkzeug können Sie ein optimales Netzwerk aus Wildtierkorridoren zwischen bekannten besiedelten Gebieten berechnen.
# Name: OptimalCorridorConnections_standalone.py
# Description: Calculates corridor.
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Set environment settings
env.workspace = "C:/arcpyexamples/data"
# Set local variables
regions = "Lakes.tif"
outCorridors = "NewCorridors.shp"
roadBarriers = "Roads.shp"
costSurface = "CostSurface.tif"
optimalLines = "OutCorridorCenterLines.shp"
outAllCorridors = "OutAllCorridors.shp"
outAllLines = "OutAllCenterLines.shp"
corridorMethod = "FIXED_WIDTH_CORRIDOR"
corridorWidth = 5000
distanceMethod = "GEODESIC"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute OptimalCorridorConnections
OptimalCorridorConnections(regions, outCorridors, roadBarriers,
costSurface, optimalLines,
outAllCorridors, outAllLines,
corridorMethod, corridorWidth, distanceMethod)