distanzwerk_formatbeschreibung

5

Click here to load reader

Upload: federico

Post on 12-Jun-2015

260 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Distanzwerk_Formatbeschreibung

Beschreibung ASTAG Distanzwerk

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

FFFFORMATBESCHREIUNG ASTAGORMATBESCHREIUNG ASTAGORMATBESCHREIUNG ASTAGORMATBESCHREIUNG ASTAG----DISTANZWERK 2008DISTANZWERK 2008DISTANZWERK 2008DISTANZWERK 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: Achtung: Achtung: 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.

Page 2: Distanzwerk_Formatbeschreibung

Beschreibung ASTAG Distanzwerk

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

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 Legende Legende Legende

•••• TypTypTypTyp

A = Alphanumerisch N = Numerisch

•••• Ortsname 1Ortsname 1Ortsname 1Ortsname 1

VVVVorsicht: orsicht: orsicht: orsicht: 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 2Ortsname 2Ortsname 2Ortsname 2

Dieses Feld ist im „ASTAG Distanzwerk 2008“ leer.

• ErschwernisErschwernisErschwernisErschwernis

Ganzzahliger Wert zwischen 1 und 5; wird für die Berechnung des GU benötigt.

• IkonaIkonaIkonaIkona----IDIDIDID

Vorsicht: Vorsicht: Vorsicht: Vorsicht: Die Ikona-ID des „ASTAG-Distanzwerks 2008“ ist nicht zwingend identisch mit der Ikona-ID der GU-Distanzwerke (GU 2001 bis GU 2007).

• MatrixMatrixMatrixMatrix----SchlüsselSchlüsselSchlüsselSchlüssel

Zeilenindex der auf die Distanzmatrix verweist. Vorsicht: Vorsicht: Vorsicht: Vorsicht: Der Matrix-Schlüssel ist nicht zwingend fortlaufend und nicht unbedingt eindeutig (n Orte zu 1 Matrix-Schlüssel).

Page 3: Distanzwerk_Formatbeschreibung

Beschreibung ASTAG Distanzwerk

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

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.

Page 4: Distanzwerk_Formatbeschreibung

Beschreibung ASTAG Distanzwerk

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

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

Page 5: Distanzwerk_Formatbeschreibung

Beschreibung ASTAG Distanzwerk

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

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.