Skip To Content

Optimales Reisekosten-Netzwerk ermitteln

Zusammenfassung

Berechnet das optimale Kostennetzwerk von verschiedenen Eingaberegionen.

Abbildung

Abbildung: Werkzeug "Optimales Reisekosten-Netzwerk ermitteln"

Verwendung

  • Ein Beispiel für die Anwendung dieses Werkzeugs ist die Ermittlung des besten Netzwerks für Notfallfahrzeuge.

  • Die Eingabe-Regionen können Image-Services oder Feature-Services 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, sollten Sie, falls Zonen (Zellen mit demselben Wert) aus mehreren Regionen bestehen, zuerst die Daten vorverarbeiten, um jeder Region eindeutige Werte zuzuweisen.

  • Zellenpositionen mit NoData im Eingabe-Kosten-Raster fungieren als Barrieren.

  • Das Eingabe-Kosten-Raster darf keine Null-Werte enthalten, da der Algorithmus ein multiplikativer Prozess ist. Wenn das Kosten-Raster Null-Werte enthält und diese Werte Gebiete mit den niedrigsten Kosten darstellen, ändern Sie die Null-Werte in einen kleinen positiven Wert (z. B. 0,01), bevor Sie Optimales Reisekosten-Netzwerk ermitteln ausführen.

  • Für das Ausgabe-Nachbar-Netzwerk werden die Nachbarn nicht durch die euklidische Entfernung, sondern durch die Kostenentfernung identifiziert. Daher ist der nächstgelegene Nachbar einer Region derjenige mit den geringsten Reisekosten und nicht etwa der Nachbar mit der geringsten Entfernung.

Syntax

DetermineOptimumTravelCostNetwork(inputRegionsRasterOrFeatures, inputCostRaster, outputOptimumNetworkName, {outputNeighborNetworkName})
ParameterErklärungDatentyp
inputRegionsRasterOrFeatures

Die Eingabe-Regionen, die durch das kostengünstigste Netzwerk verbunden werden sollen.

Regionen können durch einen Image-Service oder einen Feature-Service 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 ist, kann es sich um Polygone, Linien oder Punkte handeln. Polygon-Feature-Regionen dürfen nicht aus Multipart-Polygonen bestehen.

Raster Layer; Image Service; Feature Layer; String
inputCostRaster

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; Image Service; String
outputOptimumNetworkName

Der Name des Ausgabe-Optimal-Netzwerk-Feature-Service.

Der Polylinien-Feature-Service 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:

  • PATHID: eindeutige Kennung für den Pfad
  • PATHCOST: akkumulative Gesamtkosten für den Pfad
  • REGION1: die erste Region, die der Pfad verbindet
  • REGION2: die andere Region, die der Pfad verbindet

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.

String
outputNeighborNetworkName
(optional)

Der Name des Ausgabe-Nachbar-Netzwerk-Feature-Service.

Der Polylinien-Feature-Service, der 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:

  • PATHID: eindeutige Kennung für den Pfad
  • PATHCOST: akkumulative Gesamtkosten für den Pfad
  • REGION1: die erste Region, die der Pfad verbindet
  • REGION2: die andere Region, die der Pfad verbindet

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.

String

Abgeleitete Ausgabe

NameErklärungDatentyp
outputOptimumNetworkFeatures

Die Ausgabe-Optimal-Netzwerk-Features.

Raster-Layer
outputNeighborNetworkFeatures

Die Ausgabe-Nachbar-Netzwerk-Features.

Feature-Class

Codebeispiel

DetermineOptimumTravelCostNetwork – Beispiel 1 (Python-Fenster)

In diesem Beispiel wird das optimale Reisekosten-Netzwerk berechnet.

import arcpy

arcpy.DetermineOptimumTravelCostNetwork_ra(
    "https://myserver/rest/services/sources/ImageServer", 
	"https://myserver/rest/services/costsurface/ImageServer", 
    "outoptimumnetwork1")
DetermineOptimumTravelCostNetwork – Beispiel 2 (eigenständiges Skript)

In diesem Beispiel wird das optimale Reisekosten-Netzwerk berechnet.

#-------------------------------------------------------------------------------
# Name: DetermineOptimumTravelCostNetwork_Ex_02.py
# Description: Calculates the optimum travel cost network.
# Requirements: ArcGIS Image Server

# Import system modules
import arcpy

# Set local variables
inputSourceLayer = 'https://MyPortal.esri.com/server/rest/services/Hosted/sources/ImageServer'
inputCostLayer = 'https://MyPortal.esri.com/server/rest/services/Hosted/costraster/ImageServer'
outputOptimumNetworkName = 'outNetworkRaster'
outputNeighborName = 'outNeighborRaster'

arcpy.DetermineOptimumTravelCostNetwork_ra(inputSourceLayer, zoneField, inputCostLayer,
                               outputOptimumNetworkName, outputNeighborName)

Lizenzinformationen

  • Basic: Erfordert ArcGIS Image Server
  • Standard: Erfordert ArcGIS Image Server
  • Advanced: Erfordert ArcGIS Image Server

Verwandte Themen