Hinzufügen von Zeitzonen zu einem Netzwerk-Dataset
Die Tageszeit bzw. die Uhrzeit (und ggf. auch das Datum) ändert sich für ein Fahrzeug, wenn es sich in eine andere Zeitzone bewegt. Falls in einem Netzwerk-Dataset, das mehrere Zeitzonen umspannt, keine Zeitzonen konfiguriert sind, kann es bei den Tageszeitwerten in einer Analyse zu Komplikationen kommen. Außerdem können für Verkehrsdaten aktivierte Netzwerk-Datasets falsche Fahrzeiten zurückgeben, wenn Zeitzonen ignoriert werden. Um diese Probleme zu vermeiden, können Sie das Netzwerk-Dataset für die Behandlung von Zeitzonen konfigurieren.
In diesem Thema wird erläutert, warum das Konfigurieren von Zeitzonen für ein Netzwerk-Dataset erforderlich sein kann, und es wird beschrieben, wie Sie die Konfiguration mithilfe eines Zeitzonen-Netzwerkattributs durchführen.
Wenn ein Netzwerk-Dataset vollständig innerhalb einer einzelnen Zeitzone liegt, ist das Konfigurieren von Zeitzonen nicht erforderlich. Außerdem ist das Konfigurieren von Zeitzonen unnötig, wenn Sie keine Netzwerkanalysen durchführen, die eine Startzeit mit einer zeitbasierten Impedanz verwenden.
Relevanz von Zeitzonen für die Netzwerkanalyse
Stellen Sie sich zum besseren Verständnis, warum das Einrichten eines Zeitzonenattributs für ein Verkehrsdaten-fähiges Netzwerk-Dataset wichtig ist, vor, dass eine Routenanalyse um 8:13 Uhr zwei benachbarte Kanten durchläuft. Sie beginnt an einer Kante in der Eastern-Zone und verläuft entlang einer anderen Kante in der Central-Zeitzone. Wenn kein Zeitzonenattribut konfiguriert ist, ignoriert das Netzwerk-Dataset den Zeitunterschied und ruft die Fahrzeiten für die Kanten nur basierend auf einer Zeitzone ab. Dies bedeutet, dass die Fahrzeit für die Kante in der Central-Zeitzone nicht für 7:13 Uhr abgerufen wird, sondern für 8:13 Uhr, oder je nach standardmäßiger Zeitzone auch eine andere Uhrzeit.
Wenn die Zeitzonen jedoch ordnungsgemäß konfiguriert sind, werden die Kosten für die Kante in der Eastern-Zeitzone korrekt für 8:13 Uhr Ortszeit und für die Kante in der Central-Zeitzone für 7:13 Uhr Ortszeit ausgewertet. So wird die Genauigkeit der Fahrzeiten in einem Verkehrsdaten-fähigen Netzwerk-Dataset sichergestellt. Für Wegbeschreibungen werden die Änderungen der Zeitzone auch angezeigt.
Unabhängig davon, ob ein Netzwerk-Dataset mit mehreren Zeitzonen Verkehrsdaten-fähig ist, erleichtert das Konfigurieren eines Zeitzonenattributs das Eingeben und Interpretieren von Tageszeiteigenschaften – wie Zeitfenster und Ankunfts- oder AbFahrzeiten –, weil die Zeitwerte immer die Ortszeit angeben. Angenommen, Sie fügen zwei Stopps hinzu – einen in der Eastern-Zeitzone und einen anderen in der Central-Zeitzone – und möchten die beiden Zeitfenster auf 8:00 bis 9:00 Uhr Ortszeit festlegen. Wenn keine Zeitzonen konfiguriert sind, müssen Sie einen oder beide Zeitfensterwerte manuell in die Standardzeitzone konvertieren. Falls Zeitzonen für das Netzwerk-Dataset konfiguriert sind, werden die von Ihnen eingegebenen Zeiten automatisch auf die Ortszeit der zugrunde liegenden Kante festgelegt, und Network Analyst führt die Zeitumrechnungen intern aus.
Behandlung von Zeitzonen durch Netzwerk-Datasets
Zeitzonen verfügen in Bezug auf die koordinierte Weltzeit (Coordinated Universal Time, UTC) über einen zeitlichen Versatz. Lokale Regeln geben an, wie groß der UTC-Versatz ist, ob Sommerzeit verwendet wird und welcher Unterschied und welche Datumsangaben für die Sommerzeit, falls zutreffend, verwendet werden. Diese Regeln können sich häufig ändern. Das Überwachen aller aktuellen und vorherigen Regeln ist anspruchsvoll. Glücklicherweise wird dies in den neueren Versionen von Windows-Betriebssystemen berücksichtigt, indem die Informationen zu allen weltweiten Zeitzonenänderungen per Windows-Update auf Ihrem Computer bereitgestellt werden. Die Zeitzonen und die zugehörigen Regeln werden in der Windows-Registrierung gespeichert.
Network Analyst ruft die UTC-Versätze und Sommerzeitregeln für Zeitzonen aus der Windows-Registrierung ab. Das Konzeptdiagramm unten enthält einen allgemeinen Überblick über die Funktionsweise.
Ein Feld "TimeZoneID" an den Kanten-Quell-Features gibt an, in welcher Zeitzone sich die Features befinden. Der TimeZoneID-Wert ist ein Fremdschlüssel zu einer Zeitzonentabelle, die sich im gleichen Workspace wie das Netzwerk-Dataset befindet und eine Liste von Zeitzonen speichert. Das Feld "MSTimeZone" in der Zeitzonentabelle ist auch ein Fremdschlüssel, jedoch für einen Eintrag in der Windows-Registrierung. (Als Kennungen und Fremdschlüssel werden meist ganzzahlige Werte verwendet. Die Registrierung verwendet zum Identifizieren von Zeitzonen jedoch Text.) Die Registrierung versorgt Network Analyst mit Informationen zum UTC-Versatz und zu den Sommerzeitdaten.
Wie in der Grafik dargestellt, benötigen Sie für die Kanten-Quell-Feature-Classes eine Zeitzonentabelle und ein Feld "TimeZoneID", bevor Sie für das Netzwerk-Dataset Zeitzonen konfigurieren können. Wenn diese Komponenten vorhanden sind, können Sie ein Zeitzonen-Netzwerkattribut erstellen.
Erstellen der Zeitzonentabelle
Um eine Zeitzonentabelle automatisch zu erstellen und aufzufüllen, führen Sie das Werkzeug "Populate Time Zone Table" aus, das Sie im ArcGIS Resource Center herunterladen können. Andernfalls leiten die folgenden Schritte Sie durch den Prozess der manuellen Erstellung einer Zeitzonentabelle. Für diese und die nächste Folge von Schritten wird angenommen, dass Sie mit dem Erstellen und Bearbeiten von Tabellen in ArcGIS vertraut sind.
- Erstellen Sie eine Tabelle im Workspace des Netzwerk-Datasets, und geben Sie ihr einen Namen, z. B. "TimeZones".
Falls es sich beim Workspace um eine Geodatabase handelt, muss die Tabelle auf Geodatabase-Ebene erstellt werden, obwohl das Netzwerk-Dataset ein Ebene tiefer angeordnet sein muss, also in einem Feature-Dataset.
- Fügen Sie der Tabelle ein Textattribut hinzu, und nennen Sie es MSTimeZone.Vorsicht:
Der Name des Textattributs muss MSTimeZone lauten, weil dies ein Schlüsselwort für Network Analyst ist.
Die Länge des Attributs muss dem Namen der längsten Zeitzone entsprechen, die Sie der Tabelle hinzufügen. Ab März 2010 hat der längste Zeitzonenname in der Windows-Registrierung 61 Zeichen.
- Optional können Sie auch ein weiteres Textfeld hinzufügen, um die Zeitzone zu beschreiben.
Weitere Informationen zu den Vorteilen des Hinzufügens eines Beschreibungsfeldes dieser Art erhalten Sie im nächsten Schritt.
- Nachdem die Tabelle erstellt wurde, müssen Sie das Feld "MSTimeZone" mit Zeitzonennamen auffüllen. Sie können dies manuell oder programmgesteuert durchführen.
Wenn Sie den Vorgang programmgesteuert durchführen möchten, beginnen Sie, indem Sie im ArcGIS Resource Center nach dem TimeZoneFactory-Objekt suchen. Andernfalls wird in den Unterschritten unten beschrieben, wie Sie die Werte manuell in der Windows-Registrierung nachschlagen.
- Öffnen Sie den Registrierungs-Editor.
Klicken Sie in Windows 7 oder Vista auf Start, geben Sie im Textfeld Suche starten regedit ein, und drücken Sie dann die EINGABETASTE.
Klicken Sie in Windows XP auf Start > Ausführen, um das Dialogfeld Ausführen zu öffnen. Geben Sie im Textfeld Öffnen den Text regedit ein, und drücken Sie die EINGABETASTE.
- Schlüssel in der Registrierung sehen wie Ordner aus. Erweitern Sie die folgenden Schlüssel: HKEY_LOCAL_MACHINE > SOFTWARE > Microsoft > WindowsNT > CurrentVersion > Time Zones.
Unter dem Schlüssel Time Zones wird eine lange Liste untergeordneter Schlüssel angezeigt. Jeder Schlüssel in der Liste steht für eine Zeitzone. Die Werte, die Sie in die neue Zeitzonentabelle unter dem MSTimeZone-Attribut eingeben, müssen genau die Schreibweise dieser Schlüsselnamen aufweisen, damit Network Analyst sie zur Berechnungszeit in der Registrierung findet.
Vorsicht:Achten Sie darauf, dass Sie keine Änderungen an der Registrierung vornehmen, da dies zu einer Beschädigung des Systems führen kann.
Klicken Sie zum Kopieren eines Namens auf einen Zeitzonenschlüssel, und drücken Sie F2, um in den Editiermodus zu wechseln. Drücken Sie STRG+C, um den Namen in die Zwischenablage zu kopieren. Drücken Sie ESC, um den Editiermodus zu beenden. (Drücken Sie später dann STRG+V, um den Namen einzufügen.)
Wenn ein Schlüssel im Registrierungs-Editor ausgewählt wird, werden seine Werte im rechten Bereich des Fensters Registrierungs-Editor angezeigt. Zusammen beschreiben die Werte die Zeitzone, und Network Analyst verwendet die Werte zum Ermitteln der richtigen Uhrzeiten. Network Analyst verwendet den Wert "Display" zwar nicht, aber Sie können die Informationen darunter verwenden, um den UTC-Versatz der Zeitzone und ihre geographischen Daten zu ermitteln.
- Erstellen Sie in der Zeitzonentabelle einen Datensatz für jede Zeitzone, die Sie im Netzwerk-Dataset verwenden möchten. Geben Sie für das Feld "MSTimeZone" jedes Datensatzes den Namen der Zeitzone so ein (bzw. fügen Sie ihn ein), wie er im Registrierungs-Editor angezeigt wird.
Falls ein Netzwerk-Dataset z. B. die Festlandfläche der USA umfasst, müsste die Tabelle wie unten dargestellt fünf MSTimeZone-Werte enthalten. (Das Feld "Display" ist optional.)
ObjectID
MSTimeZone
Anzeige
1
Eastern Normalzeit
(UTC-05:00) Eastern (USA, Kanada)
2
Central Normalzeit
(UTC-06:00) Central (USA, Kanada)
3
Mountain Normalzeit
(UTC-07:00) Mountain (USA, Kanada)
4
Mountain Normalzeit (Arizona)
(UTC-07:00) Arizona
5
Pacific Normalzeit
(UTC-08:00) Pacific (USA, Kanada)
Tipp:Das Feld "Display" ist hier angegeben, um den MSTimeZone-Wert besser beschreiben zu können. Die darin enthaltenen Informationen wurden aus den Display-Werten der Zeitzonenschlüssel in der Registrierung kopiert.
Obwohl für Network Analyst das Feld "Display" nicht in der Tabelle enthalten sein muss, kann das Hinzufügen die Identifizierung der unter "MSTimeZone" dargestellten Zeitzonen für Benutzer vereinfachen. Die Werte für "Mountain Normalzeit" und "Mountain Normalzeit (Arizona)" unter "MSTimeZone" ähneln sich z. B. sehr. Im Feld "Display" ist jedoch zu sehen, dass die Zeitzone für Arizona durch "Mountain Normalzeit (Arizona)" dargestellt wird. (Für Arizona ist eine separate Zeitzonenkennung erforderlich, da in Arizona im Gegensatz zu den restlichen Staaten mit Mountain Normalzeit keine Sommerzeit verwendet wird.)
- Öffnen Sie den Registrierungs-Editor.
Sie verfügen jetzt über eine Tabelle mit einem Textfeld mit dem Namen "MSTimeZone". Als Nächstes verknüpfen Sie jedes Kanten-Quell-Feature mit der richtigen Zeitzone in der Tabelle.
Hinzufügen des Feldes "TimeZoneID"
Jedes Kanten-Quell-Feature muss genau einer Zeitzone zugeordnet sein.
- Fügen Sie jeder Kanten-Quell-Feature-Class ein Ganzzahlfeld mit dem Namen TimeZoneID hinzu. Sie können diesem Feld einen beliebigen Namen zuweisen, aber meist wird "TimeZoneID" verwendet.
- Berechnen Sie die Werte der Kanten-Quell-Features.
Die TimeZoneID-Werte sind für Fremdschlüssel bestimmt, mit denen die Features Datensätzen in der gerade erstellten Zeitzonentabelle zugeordnet werden. Im obigen Beispiel steht "ObjectID 5" z. B. für Pacific Normalzeit, und alle Kanten-Quell-Features in dieser Zeitzone müssen den TimeZoneID-Wert 5 aufweisen. Falls die Pacific Normalzeit einen anderen ObjectID-Wert aufweist, wird stattdessen "TimeZoneID" mit diesem Wert aufgefüllt.
Hinzufügen eines Zeitzonen-Netzwerkattributs
Diese Schritte veranschaulichen, wie Sie ein Zeitzonen-Netzwerkattribut für das Netzwerk-Dataset erstellen. Das Attribut stellt die Beziehung zwischen dem Feld "TimeZoneID" in den Kanten-Quell-Feature-Classes und der Zeitzonentabelle her.
-
Klicken Sie im Dialogfeld Eigenschaften: Netzwerk-Dataset auf der Registerkarte Attribute oder im Assistenten Neues Netzwerk-Dataset auf Hinzufügen.
Das Dialogfeld Neue Attribute hinzufügen wird geöffnet.
- Geben Sie einen Namen für das Attribut ein, z. B. TimeZone.
- Wählen Sie in der Liste Verwendungstyp die Option Deskriptor.
-
Wählen Sie in der Liste Datentyp die Option Integer.
-
Klicken Sie auf OK.
Das Attribut wird der Attributliste hinzugefügt.
-
Klicken Sie mit der rechten Maustaste auf das neue Attribut, wählen Sie Zeitzonen verwenden, und klicken Sie dann auf den Namen der Zeitzonentabelle, die Sie erstellt haben.
Links vom Attributnamen wird als Kennzeichnung des Zeitzonenattributs ein grüner Kreis mit einem "T" in der Mitte angezeigt.
- Doppelklicken Sie auf den Namen des Zeitzonenattributs, um das Dialogfeld Evaluatoren zu öffnen.
-
Richten Sie für jede Kantenquelle einen Feld-Evaluator ein, mit dem die TimeZoneID-Werte aus den Quell-Feature-Classes gelesen werden.
Unten im Beispiel wird den Von-Bis- und Bis-Von-Richtungen ein Feld-Evaluator zugewiesen, der Werte aus einem TimeZoneID-Feld in der Quell-Feature-Class "Streets" ausliest.
-
Klicken Sie auf OK.
Das Dialogfeld Evaluatoren wird geschlossen. Nachdem Sie den Assistenten Neues Netzwerk-Dataset abgeschlossen oder das Dialogfeld Eigenschaften: Netzwerk-Dataset geschlossen haben, können Sie das Netzwerk-Dataset erstellen, um das neue Zeitzonenfeld einzubinden.