Verwenden von Parametern mit Netzwerkattributen

Netzwerkattributwerte hängen manchmal von variablen Bedingungen ab. Beispielsweise kann es von der Höhe eines Fahrzeugs abhängen, ob ein Straßenabschnitt mit einer niedrigen Überführung passierbar ist. Die aktuellen Wetterbedingungen können eine geringere Fahrgeschwindigkeit verursachen und sich somit auf die Zeitkosten des Netzwerks auswirken. Sie können Beschränkungen auf der Grundlage der Fahrzeughöhe, Reisekosten auf der Grundlage von Maßstabsfaktoren und weitere variable Aspekte der Netzwerkanalyse mit einer von zwei Methoden modellieren. Eine Methode ist das Erstellen eines Netzwerkattributs für jede Änderung der Höhe oder Wetterbedingungen. Diese Methode kann jedoch nicht an eine zunehmende Anzahl von Kombinationen angepasst werden. Eine flexiblere Methode ist die Verwendung eines einzelnen Netzwerkattributs mit einem Parameter, der den variablen Aspekt des Attributs enthält.

Parameter sind Platzhalter für Werte, die später angegeben werden. Sie verfügen über einen Standardwert für den Fall, dass kein neuer Wert zugewiesen wird. In ArcCatalog werden Parameter zu Netzwerkattributen hinzugefügt und von den Evaluatoren des Attributs referenziert. Die Parameterwerte können in ArcMap beim Einrichten von Netzwerkproblemen geändert werden, so dass die Werte des Netzwerkattributs zur Laufzeit aus dem Ausdruck und dem aktuellen Parameterwert bestimmt werden können.

Funktionsweise von parametrierten Netzwerkattributen

Ein parametriertes Netzwerkattribut verfügt über einen VBScript- oder Funktions-Evaluator, der dessen Wert mit einem Parameter für das Netzwerkattribut sowie einem weiteren Netzwerkattribut bestimmt. Weil sich die Parameter zur Laufzeit ändern können, werden ihre Werte nicht in die Datenbank geschrieben, sondern nur bei Bedarf berechnet. Daher muss das Netzwerk-Dataset nicht neu berechnet werden, wenn sich der Parameterwert ändert.

Parameter für Restriktionsattribute

Sie können Parameter für Restriktionsattribute hinzufügen, um zu bestimmen, welche Netzwerkelemente für ein Fahrzeug verwendet werden können. Der Parameter, der eine Fahrzeugeigenschaft enthält, wird mit dem Wert aus dem Deskriptorattribut verglichen, um zu bestimmen, ob das Netzwerkelement passierbar ist. Beispielsweise kann für ein parametriertes Restriktionsattribut die Fahrzeughöhe mit einem Deskriptorattribut verglichen werden, in dem der Abstand unter Überführungen oder Tunneldecken gespeichert wird. Wenn die Fahrzeughöhe größer als der Abstand ist, ist die Kante eingeschränkt. Dies kann zu unterschiedlichen Routen für verschiedene Fahrzeuge führen, wie unten dargestellt. Ein niedriges Fahrzeug kann auf der direkten Route unter einer niedrigen Brücke fahren, während ein hohes Fahrzeug eine andere Route verwendet, um die niedrige Durchfahrt zu meiden.

Beispiel für eine Lastwagenroute unter Meidung eine Brücke mit niedriger Durchfahrtshöhe

In einem solchen Szenario können Sie zwei Attribute erstellen: ein Deskriptorattribut und ein Restriktionsattribut, und sie beispielsweise mit "MaxHeight" und "HeightRestriction" benennen. "MaxHeight" ruft Abstandswerte aus den Quelldaten ab, und "HeightRestriction" liest die Werte aus "MaxHeight", um sie mit einem Parameter zu vergleichen, der die aktuelle Fahrzeughöhe enthält. In der Abbildung unten wird eine Verallgemeinerung dieses Vorgangs dargestellt.

Suchen von Werten für ein parametriertes Restriktionsattribut

Parameter für Kostenattribute

Möglicherweise wünschen Sie stattdessen ein parametriertes Kostenattribut, das ein anderes Kostenattribut referenzieren und skalieren kann. Dies ist von Nutzen, wenn im Untersuchungsgebiet raues Wetter, z. B. Eis, Nebel oder starker Regen, herrscht und den normalen Verkehrsfluss behindert. Wenn Sie bereits über einen Parameter für ein Kostenattribut verfügen, können Sie Reisezeiterwartungen an geänderte Verkehrsgeschwindigkeiten anpassen.

Sie können zwei Netzwerkattribute erstellen: "DriveTime" zum Speichern der normalen Fahrzeitimpedanzen mit Werten aus Feldern in den Quelldaten, und "DriveTime_scaled", dem der Wert des Attributs "DriveTime" zugewiesen wird und das mit einem Wert für das Attribut "DriveTime_scaled", das den aktuellen Maßstabsfaktor enthält, skaliert wird.

Festlegen eines parametrierten Attributs

Nachdem Sie die erforderlichen Netzwerkattribute erstellt haben, können Sie das parametrierte Attribut festlegen. Dies erfolgt in zwei Hauptschritten:

  1. Hinzufügen eines Parameters zu einem Netzwerkattribut
  2. Festlegen des Attribut-Evaluators für die Verwendung des Parameters

Diese Schritte werden in ArcCatalog im Dialogfeld Eigenschaften: Netzwerk-Dataset auf der Registerkarte Attribute durchgeführt.

Weitere Informationen zum Bearbeiten von Netzwerk-Datasets

Hinzufügen eines Parameters

Mit den folgenden Schritten können Sie einen Parameter erstellen. Das folgende Beispiel ist auf das Restriktionsattribut "HeightRestriction" zugeschnitten, jedoch kann für Kostenattribute dasselbe Verfahren verwendet werden.

Auswählen eines Netzwerkattributs zum Hinzufügen eines Parameters
Festlegen der Eigenschaften eines neuen Parameters

Dem Attribut "HeightRestriction" wird der neue Parameter "Vehicle Height" hinzugefügt, und diesem wird der Standardwert 0 zugewiesen. (Bei der Fahrzeughöhe 0 wird angenommen, dass das Fahrzeug unter jeder Überführung hindurchfahren kann.) Sie können den Standardwert des Parameters in ArcMap ändern, wenn Sie eine Netzwerkanalyse durchführen.

Festlegen des Evaluators

Nachdem der Parameter hinzugefügt wurde, müssen Sie einen Evaluator entwerfen, der den Parameter und entweder eine Konstante oder ein weiteres Netzwerkattribut enthält, in dem Informationen zu dem Parameter gespeichert werden. Im folgenden Beispiel wird das parametrierte Restriktionsattribut "HeightRestriction" einem Evaluator zugewiesen, der den Parameter "Vehicle Height" mit dem Deskriptornetzwerkattribut "MaxHeight", das die Abstandsmaße für Netzwerkelemente enthält, vergleicht.

Schritte zum Festlegen der Evaluatoren für das parametrierte Netzwerkattribut
TippTipp:

Da der VBScript-Evaluator Werte während der Analyse in der VBScript-Umgebung berechnet, kann durch Angabe dieses Evaluators die Analyse-Performance beeinträchtigt werden. Esri empfiehlt nachdrücklich, für eine optimale Performance während der Analyse den Funktions-Evaluator statt des VBScript-Evaluators zu verwenden.

Weitere Informationen zu den in einem Netzwerk verwendeten Evaluator-Typen

Für dieses Beispiel wurde der Funktions-Evaluator gewählt. Im Dialogfeld "Funktions-Evaluatoren" unten wird der Ausdruck gezeigt, der für jede Straße ausgewertet wird. Immer wenn der Funktions-Evaluator "True" zurückgibt, ist das Netzwerkelement eingeschränkt. Wenn er "False" zurückgibt, ist das Netzwerkelement passierbar und kann in der Lösung verwendet werden.

Ein Funktions-Evaluator für ein Höhenrestriktionsattribut

Für Vergleichszwecke wurde das parametrierte Kostenattribut "DriveTime_scaled" mit einem Funktions-Evaluator (siehe unten) festgelegt, das den Parameter "DriveTime Factor" verwendet. Der Evaluator liest die Fahrzeit aus dem Kostenattribut "DriveTime" und multipliziert sie mit dem Wert von "DriveTime Factor", der zur Laufzeit angegeben wird.

Ein Funktions-Evaluator für ein Attribut für skalierte Fahrtzeit

Sie können den Standardwert 1 des Parameters zur Laufzeit ändern. Mit dem Wert 1,5 wird die normale Fahrzeit um 50 Prozent verlängert. Ein Netzwerkelement mit dem "DriveTime"-Wert 5 Minuten weist dann den "DriveTime_scaled"-Wert 7,5 Minuten auf.

Neuberechnen des Netzwerk-Datasets

Da die Werte von Funktions-Evaluatoren nicht in der Datenbank gespeichert, sondern zur Laufzeit berechnet werden, muss das Netzwerk-Dataset nicht neu berechnet werden, nachdem Sie in ArcCatalog einen Funktions-Evaluator oder entsprechende Netzwerkparameter hinzugefügt oder geändert haben. Wenn Sie jedoch ein zugehöriges Attribut auf der Grundlage eines Feld-Evaluators ändern, müssen Sie das Netzwerk-Dataset neu berechnen, damit die neuen Werte verwendet werden.

Wenn das parametrierte Attribut in ArcCatalog erstellt wurde, können Sie mit ihm in ArcMap Netzwerkprobleme lösen. Wenn Sie den Standardwert des Parameter ändern, muss das Netzwerk nicht neu berechnet werden.

Verwandte Themen


7/10/2012