Sie sind auf Seite 1von 5

Beschreibung ASTAG Distanzwerk

FORMATBESCHREIUNG ASTAG-
ASTAG-DISTANZWERK 2008

Einleitung
Der Schweizerische Nutzfahrzeugverband ASTAG gibt zum Jahr 2008 ein neu
berechnetes Distanzwerk heraus. Dieses ersetzt die bisherigen Versionen des GU
Distanzwerks (GU 2001 bis GU 2007).

Achtung: Das ASTAG-Kalkulationsprogramm GU 2009 basiert auf dem nachstehend


beschriebenen ASTAG-Distanzwerk 2008.
Das ASTAG-Distanzwerk 2008 wurde neu berechnet und unterscheidet sich von allen
bisherigen Versionen (GU 2001 bis GU 2007)

Nutzungsrechte an der Distanzmatrix


Die zur Verfügung gestellten Daten dürfen nur für Arbeiten im Zusammenhang mit
der Einführung des ASTAG-Distanzwerks verwendet werden. Die Nutzung der Daten
in einem Extranet oder im Internet ist nicht im Umfang der Rohdaten-Lizenz nicht
enthalten und untersagt.
Die Daten dürfen nicht an Dritte weitergegeben werden.
Mit der Verwendung der Distanzmatrix in irgendeiner Form anerkennt der Kunde diese
Nutzungsbedingungen.

Grundlagen
Das Distanzwerk besteht aus einer Ortsdatei (orteliste2008.txt) und der dazugehörigen
Entfernungsmatrix (distanzwerk2008.dm), in der alle Strassenentfernungen zwischen
den Orten der Ortsdatei abgelegt sind.
Die Entfernungsmatrix ist auf ausgewählten Knotenpunkten aufgebaut. Die
Knotenpunkte decken den jeweiligen Gültigkeitsbereich des Entfernungswerkes
gleichmässig ab. Innerhalb der unterschiedlichen Hierarchiestufen sind die
Knotenpunkte unterschiedlich dicht.
Die Matrix umfasst 4’673 Orte.

O:\5501_09_ASTAG_GU2009_VZU\12_Spezifikation\CD_Rohdaten\Distanzwerk_Formatbeschreibung.doc Seite 1/5


Beschreibung ASTAG Distanzwerk

Ortsdatei
Die Ortsdatei ist als Excel-Datei und als Tab-getrennte Txt-Datei auf der CD-ROM
enthalten.

Feld Typ Inhalt Bemerkung


---------------------------------------------------------------------------------------------------------------
1 A Ortsname 1 (Name gemäss Post; max. 27 Zeichen)
2 A Ortsname 2 (dieses Feld ist in „ASTAG-Distanzwerk 2008“ leer)
3 N Ikona-ID (erste 4 Ziffern sind PLZ; erste 6 Ziffern sind postinterne
PLZ6)
4 N Erschwernis
5 N Matrix-Schlüssel

Legende

• Typ
A = Alphanumerisch
N = Numerisch
• Ortsname 1
Vorsicht: Die Feldlänge betrug in den GU-Distanzwerken (GU 2001 bis
GU 2007) maximal 24 Zeichen. Neu beträgt die maximale Länge 27
Zeichen.
• Ortsname 2
Dieses Feld ist im „ASTAG Distanzwerk 2008“ leer.
• Erschwernis
Ganzzahliger Wert zwischen 1 und 5; wird für die Berechnung des GU
benötigt.
• Ikona-
Ikona-ID
Vorsicht: Die Ikona-ID des „ASTAG-Distanzwerks 2008“ ist nicht
zwingend identisch mit der Ikona-ID der GU-Distanzwerke (GU 2001 bis
GU 2007).
• Matrix-
Matrix-Schlüssel
Zeilenindex der auf die Distanzmatrix verweist.
Vorsicht: Der Matrix-Schlüssel ist nicht zwingend fortlaufend und nicht
unbedingt eindeutig (n Orte zu 1 Matrix-Schlüssel).

O:\5501_09_ASTAG_GU2009_VZU\12_Spezifikation\CD_Rohdaten\Distanzwerk_Formatbeschreibung.doc Seite 2/5


Beschreibung ASTAG Distanzwerk

Satzaufbau Distanzmatrix
In der ersten Zeile steht die Anzahl der Matrixzeilen.
Die Distanzmatrix wird zeilenweise in der Matrix abgelegt. Jede Matrixzeile der
Distanzmatrix beginnt mit der Nummer der abgebildeten Matrixzeile. Jede Matrixzeile
wird nach 12 Werten umgebrochen, d.h. eine Matrixzeile kann aus mehreren
Textzeilen bestehen. Jede Matrixzeile endet mit der Zeichenfolge "0000". Die
darauffolgende Matrixzeile beginnt in einer neuen Textzeile.
Die Matrixwerte repräsentieren die Entfernung in km. Einige wenige Matrixwerte
können den Wert “0“ haben. Das kommt bei Knoten vor, die eng beieinander liegen
und an dasselbe Strassensegment angeschlossen sind.
Die Zeile 24 beginnt mit der Zeilennummer und den ersten 12 Werten, danach beginnt
eine neue Textzeile mit weiteren 11 Werten und dem Zeilenabschluss 0000. Jeder
Eintrag ist 6 Stellen lang und ist innerhalb dieser 6 Stellen rechtsbündig ausgerichtet.
Voran stehen Leerzeichen.
Da die Entfernungen alle symmetrisch sind, d.h. der Weg von A nach B ist genauso
lang wie von B nach A, ist die ASCII-Matrix als Dreiecksmatrix aufgebaut. Wenn man
die gesuchte Entfernung direkt aus der Matrix auslesen möchte, muss der grössere
Index immer für die Zeile und der kleiner Index immer für die Spalte stehen.
Die Entfernung von Index 8 nach Index 14 wird im u.g. Beispiel wie folgt ausgelesen:
Der grössere Index ist 14 und stellt die Zeilennummer dar. In Zeile 14 steht an Position
8 (Spalte) der gesuchte Wert von 203 km.

O:\5501_09_ASTAG_GU2009_VZU\12_Spezifikation\CD_Rohdaten\Distanzwerk_Formatbeschreibung.doc Seite 3/5


Beschreibung ASTAG Distanzwerk

Beispiel:
24 Matrixzeile(n), 24 Matrixspalte(n)
1 0000
2 288 0000
3 282 20 0000
4 295 51 31 0000
5 377 184 163 132 0000
6 152 140 136 157 258 0000
7 110 178 172 185 267 42 0000
8 94 167 154 150 204 122 131 0000
9 116 224 219 240 342 83 76 206 0000
10 248 83 69 62 158 115 138 95 198 0000
11 205 89 88 113 240 52 95 134 136 83 0000
12 176 115 111 132 251 24 66 114 107 90 34 0000
13 315 21 32 43 175 169 205 189 252 105 129 144
0000
14 283 78 90 122 254 131 173 203 214 122 73 108
120 0000
15 337 144 156 188 320 185 227 247 268 188 137 162
186 65 0000
16 334 131 143 175 307 181 224 257 265 176 127 159
13 62 56 0000
17 225 125 135 166 298 73 115 187 136 148 77 72
165 103 128 131 0000
18 240 66 76 107 239 88 131 155 171 98 35 65
106 40 94 91 63 0000
19 449 233 213 182 67 331 339 276 414 231 296 313
225 304 370 357 348 289 0000
20 259 38 21 44 175 119 149 133 202 49 73 94
56 92 158 145 133 76 225 0000
21 360 64 77 88 220 214 250 234 297 150 164 188
44 141 206 106 209 150 269 101 0000
22 251 162 174 206 338 99 141 265 182 206 155 180
204 83 18 75 36 112 388 176 224 000
23 76 220 214 226 308 84 41 172 40 179 132 108
247 214 269 265 156 172 381 191 291 182 0000
24 171 123 119 140 258 19 62 121 102 97 31 6
152 111 166 162 65 69 321 102 196 91 102 0000

O:\5501_09_ASTAG_GU2009_VZU\12_Spezifikation\CD_Rohdaten\Distanzwerk_Formatbeschreibung.doc Seite 4/5


Beschreibung ASTAG Distanzwerk

Verarbeitungshinweise zur EWS-Matrix


Eine 4’673 * 4’673 Matrix belegt ca. 73 MB. Abhängig von der Speicherkapazität wird
es nicht möglich sein, diese Matrix direkt zu laden. Eine effiziente Speicherung lässt
sich erreichen, wenn alle Entfernungswerte (ohne Matrixdiagonale) nacheinander in
ein eindimensionales Feld eingelesen werden. Für das obige Beispiel sieht dieses Feld
wie folgt aus:

Position 1 2 3 4 5 6 7 8 9 10 11
Wert 288 282 20 295 51 31 377 184 163 132 152

Die Position “pos“ eines Entfernungswertes für die Indizes “a“ und “b“ berechnet sich
dann mit
max (a, b) = der grössere Wert von a und b
und
min (a, b) = der kleinere Wert von a und b
durch:
pos = ((max (a, b) – 1) * (max (a, b) – 2)) / 2 + min (a, b)
Beispiel für a = 3
b=5
pos = ((max (5, 3) – 1) * (max (5, 3) – 2)) / 2 + min (5, 3)
pos = ((5 – 1) * (5 – 2)) / 2 + 3
pos = 9
Der Entfernungswert für 5 → 3 steht also an Position 9 und beträgt 163 km.

Die oben beschriebene Möglichkeit, ein eindimensionales Feld zu erzeugen, wird je


nach Entwicklungsumgebung wahrscheinlich dazu führen, dass das Feld aufgrund der
Datenmenge irgendwann „überläuft“.
Abhilfe könnte man dadurch schaffen, jeden einzelnen Entfernungswert in eine
Binärdatei zu schreiben (die Binärdatei wird im Gegensatz zu einer ASCII-Datei mit 73
MB nur noch ca. 25 MB gross sein). Die obige Formel lässt sich dann ebenfalls
anwenden, um die Position zu ermitteln, an der sich der gesuchte Entfernungswert in
der Binärdatei befindet.

O:\5501_09_ASTAG_GU2009_VZU\12_Spezifikation\CD_Rohdaten\Distanzwerk_Formatbeschreibung.doc Seite 5/5