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 wird jedoch mit zunehmender Anzahl von Kombinationen unpraktisch. 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 Sie für eine bestimmte Analyse ändern können. Alle verfügen über einen sinnvollen Standardwert, der nach Bedarf vom Benutzer überschrieben 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, sodass die Werte des Netzwerkattributs zur Laufzeit mit dem Ausdruck und dem aktuellen Parameterwert bestimmt werden können.
Funktionsweise von parametrisierten Netzwerkattributen
Ein parametrisiertes Netzwerkattribut verfügt über einen Evaluator, der dessen Wert mit einem Parameter für das Netzwerkattribut sowie einem weiteren Netzwerkattribut bestimmt.
Weil sich die Parameterwerte zur Laufzeit ändern können, werden die Netzwerkattributwerte 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 Beschränkungsattribute
Der Standardparameter "Restriction Usage"
Jedem Beschränkungsattribut, das Sie erstellen, wird automatisch ein Parameter hinzugefügt: "Restriction Usage". Damit wird angegeben, ob durch das Beschränkungsattribut das Fahren auf Elementen, für die diese Beschränkung verwendet wird, unzulässig ist bzw. vermieden oder bevorzugt wird. Wenn Elemente vermieden oder bevorzugt werden, geben Sie außerdem den Grad der Vermeidung bzw. Bevorzugung an. Dem Parameter "Restriction Usage" kann einer der folgenden Werte zugewiesen werden (die numerischen Werte in Klammern werden in den Detailinformationen unterhalb der Liste beschrieben):
- Unzulässig – (-1) Fahren auf verknüpften Netzwerkelementen wird ist vollkommen unzulässig. Dies ist die häufigste Verwendung von Beschränkungen.
- Vermeiden: Hoch – (5) Es ist höchst unwahrscheinlich, dass mit der Einschränkung verknüpfte Netzwerkelemente durch den Solver verwendet werden.
- Vermeiden: Mittel – (2) Es ist unwahrscheinlich, dass mit der Einschränkung verknüpfte Netzwerkelemente durch den Solver verwendet werden.
- Vermeiden: Niedrig – (1.3) Es ist eher unwahrscheinlich, dass mit der Einschränkung verknüpfte Netzwerkelemente durch den Solver verwendet werden.
- Bevorzugen: Niedrig – (0.8) Es ist eher wahrscheinlich, dass mit der Einschränkung verknüpfte Netzwerkelemente durch den Solver verwendet werden.
- Bevorzugen: Mittel – (0.5) Es ist wahrscheinlich, dass mit der Einschränkung verknüpfte Netzwerkelemente durch den Solver verwendet werden.
- Bevorzugen: Hoch – (0.2) Es ist höchst wahrscheinlich, dass mit der Einschränkung verknüpfte Netzwerkelemente durch den Solver verwendet werden.
Jeder dieser sieben Textwerte wird intern durch einen festen numerischen Wert dargestellt, der in der Liste oben in Klammern aufgeführt wird. Die bereitgestellten Textoptionen und ihre zugrunde liegenden numerischen Werte sind für fast alle Benutzer ausreichend. Wenn Sie jedoch den Grad, zu dem Elemente vermieden oder bevorzugt werden, optimieren müssen, können Sie eigene numerische Werte eingeben.
Um beurteilen zu können, ob Sie einen benutzerdefinierten Wert eingeben sollten, müssen Sie wissen, wie der Solver dadurch beeinflusst wird. Im Allgemeinen werden die Kosten für Elemente mit Beschränkungen mit diesen numerischen Werten multipliziert, um die Kosten zu erhöhen oder zu verringern. Dadurch werden die Elemente während der Analyse mehr oder weniger günstig. Bevorzugte Elemente werden z. B. mit einem Parameterwert größer als 0 und kleiner als 1 multipliziert, um ihre Kosten zu reduzieren und die Wahrscheinlichkeit zu erhöhen, dass diese Elemente von dem Solver in die Ergebnisse einbezogen werden. Der Wert Bevorzugt: Hoch verfügt über einen Wert näher an 0, und Bevorzugt: Niedrig verfügt über einen Wert näher an 1. (Beachten Sie, dass das Eingeben des Wertes 0 nicht zulässig ist. Dies führt zum Zeitpunkt der Berechnung zu einem Fehler.) Für Elemente, die vermieden werden sollen, wird "Restriction Usage" auf numerische Werte größer als 1 festgelegt, da die Kosten durch Multiplizieren mit diesen Werten steigen. Um Elemente als unzulässig zu markieren, wird der Wert für "Restriction Usage" intern auf -1 festgelegt. Der Einfachheit halber können Sie sich vorstellen, dass Elemente mit negativen Kostenwerten von Network Analyst als nicht passierbar interpretiert werden; der interne Prozess ist allerdings komplizierter.
Beachten Sie, dass diese skalierten Kosten nur vorübergehend von dem Solver verwendet werden. Sie sind nie in der Ausgabe einer Analyse oder in detaillierten Wegbeschreibungen enthalten.
Um einen benutzerdefinierten Wert einzugeben, ersetzen Sie einfach die durch Network Analyst bereitgestellten Textoptionen (Eingeschränkt, Bevorzugen: Hoch usw.) durch eine Zahl. Wenn Sie einen numerischen Wert eingeben, der einem von einem Textwert verwendeten Wert entspricht, wird der Textwert angezeigt.
Wenn Sie ein Netzwerk-Dataset aus einer ArcGIS-Version vor 10.1 verwenden, ist der Parameter "Restriction Usage" bei keinem Beschränkungsattribut vorhanden. In diesem Fall werden Netzwerkelemente durch Beschränkungen immer unzulässig. Aktualisieren Sie das Netzwerk-Dataset, um die Option zum Ändern von Beschränkungen in Vermeiden oder Bevorzugen zu aktivieren.
Parameter zum Modellieren von Fahrzeugeigenschaften
Jedem Beschränkungsattribut wird von Network Analyst der Standardparameter "Restriction Usage" hinzugefügt. Sie können auch Parameter zum Festlegen von Fahrzeugeigenschaften hinzufügen, um detaillierter bestimmen zu können, welche Netzwerkelemente ein bestimmtes Fahrzeug durchlaufen darf.
Sie können beispielsweise ein parametrisiertes Beschränkungsattribut mit einem Parameter für die Fahrzeughöhe hinzufügen, um die Höhe des Fahrzeugs mit einem Deskriptor-Attribut zu vergleichen, in dem der Abstand unter Überführungen oder Tunneldecken gespeichert wird. Wenn die Fahrzeughöhe größer als der Abstand ist, wird die Kante als unzulässig markiert. 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 vermeiden.
In den meisten Fällen wird "Restriction Usage" auf "Unzulässig" festgelegt, wenn das Beschränkungsattribut von einem Parameter der Fahrzeugeigenschaften abhängig ist. Dementsprechend wird in diesem Unterabschnitt davon ausgegangen, dass Elemente durch das Beschränkungsattribut unzulässig werden.
In einem solchen Szenario können Sie zwei Attribute erstellen: ein Deskriptorattribut und ein Beschränkungsattribut, 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.
Parameter für Kostenattribute
Möglicherweise wünschen Sie stattdessen ein parametrisiertes 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 parametrisierten Attributs
Nachdem Sie die erforderlichen Netzwerkattribute erstellt haben, können Sie das parametrisierte Attribut festlegen. Dies erfolgt in zwei Hauptschritten:
- Hinzufügen eines Parameters zu einem Netzwerkattribut
- 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 Beschränkungsattribut "HeightRestriction" zugeschnitten, jedoch kann für Kostenattribute dasselbe Verfahren verwendet werden.
Dem Attribut "HeightRestriction" wird ein neuer Parameter, "VehicleHeight", hinzugefügt. Außerdem wird ihm der Standardwert 0 zugewiesen. (Bei einer Fahrzeughöhe von 0 wird davon ausgegangen, dass das Fahrzeug unter jedem Abstand hindurchpasst.) 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 parametrisierte Beschränkungsattribut "HeightRestriction" einem Evaluator zugewiesen, der den Parameter "Vehicle Height" mit dem Deskriptornetzwerkattribut "MaxHeight", das die Abstandsmaße für Netzwerkelemente enthält, vergleicht.
Da der Skript-Evaluator Berechnungen während der Analyse in der VBScript- oder Python-Umgebung durchführt, wird durch das Angeben dieses Evaluators die Analyse-Performance meist negativ beeinflusst. Esri empfiehlt nachdrücklich, für eine optimale Performance während der Analyse nach Möglichkeit den Funktions-Evaluator statt des Skript-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 beschränkt. Wenn er "False" zurückgibt, ist das Netzwerkelement nicht eingeschränkt und kann in der Lösung verwendet werden.
Für Vergleichszwecke wurde das parametrisierte 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.
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 Attributparameter 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 parametrisierte 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.