82
Inhaltsverzeichnis Abbildungsverzeichnis IV Tabellenverzeichnis VI 1 Einleitung 1 1.1 Aufgabenstellung ................................ 1 1.2 Hilfsmittel .................................... 2 1.3 Gliederung der Arbeit .............................. 2 2 Geodäsie 4 2.1 Geoid ...................................... 4 2.2 Vereinfachte Bezugsflächen ........................... 5 2.3 Koordinatensysteme ............................... 7 2.3.1 Geozentrische erdfeste X,Y,Z-Koordinaten .............. 7 2.3.2 Geographische Koordinaten ...................... 8 2.4 Universale Transversale Mercator(UTM)-Projektion .............. 10 3 Global Positioning System (GPS) 13 3.1 Geschichte .................................... 13 3.2 Einsatzgebiete .................................. 13 3.3 Funktionsweise und Aufbau .......................... 14 3.4 Genauigkeit ................................... 15 4 Aufzeichnung von Fahrzeugdaten 17 4.1 Predictive Light Control ............................ 17 4.2 Matlab/Simulink ................................ 17 4.3 dSpace-MicroAutoBox ............................. 18 4.4 Datenaustauschformat .............................. 18 5 Digitale Straßenkarten 21 5.1 Geographic Data Files (GDF) .......................... 21 5.1.1 GDF-Parser ............................... 22 5.1.2 Darstellungsebenen ........................... 24 I

Inhaltsverzeichnis · Aufgabenstellung dieser Arbeit war eine Fahrdatenanalyse auf Basis einer objektrelationalen GeoDatenbank und eines GPS-Empfängers zu ermöglichen. Um dieses

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

  • Inhaltsverzeichnis

    Abbildungsverzeichnis IV

    Tabellenverzeichnis VI

    1 Einleitung 11.1 Aufgabenstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Hilfsmittel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Gliederung der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    2 Geodäsie 42.1 Geoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2 Vereinfachte Bezugsflächen . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.3 Koordinatensysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    2.3.1 Geozentrische erdfeste X,Y,Z-Koordinaten . . . . . . . . . . . . . . 72.3.2 Geographische Koordinaten . . . . . . . . . . . . . . . . . . . . . . 8

    2.4 Universale Transversale Mercator(UTM)-Projektion . . . . . . . . . . . . . . 10

    3 Global Positioning System (GPS) 133.1 Geschichte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.2 Einsatzgebiete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.3 Funktionsweise und Aufbau . . . . . . . . . . . . . . . . . . . . . . . . . . 143.4 Genauigkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    4 Aufzeichnung von Fahrzeugdaten 174.1 Predictive Light Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.2 Matlab/Simulink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.3 dSpace-MicroAutoBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.4 Datenaustauschformat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    5 Digitale Straßenkarten 215.1 Geographic Data Files (GDF) . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    5.1.1 GDF-Parser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225.1.2 Darstellungsebenen . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    I

  • Inhaltsverzeichnis

    5.1.3 Attributkonzept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285.1.4 Genauigkeit der Realitätsabbildung . . . . . . . . . . . . . . . . . . 29

    5.2 Datenbankmanagementsystem (DBMS) . . . . . . . . . . . . . . . . . . . . 305.2.1 Begriffserklärung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305.2.2 PostgreSQL 7.4.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315.2.3 PostGIS 0.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    5.3 Geographische Informationen in der Datenbank . . . . . . . . . . . . . . . . 355.3.1 Fahrstrecke als Points . . . . . . . . . . . . . . . . . . . . . . . . . 365.3.2 Straßenverbindungen als Points . . . . . . . . . . . . . . . . . . . . 375.3.3 Straßennetz als Multilinestrings . . . . . . . . . . . . . . . . . . . . 375.3.4 Stadtgrenze als Polygon . . . . . . . . . . . . . . . . . . . . . . . . 38

    6 Betrachter für digitale Karten 416.1 Thuban 1.0.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

    6.1.1 Schnittstellen für Erweiterungen . . . . . . . . . . . . . . . . . . . . 416.1.2 Schnittstelle zur Datenbank . . . . . . . . . . . . . . . . . . . . . . 42

    6.2 Erweiterung zur Fahrdatenauswertung . . . . . . . . . . . . . . . . . . . . . 426.2.1 Python 2.3.3 / wxWindows / wxPython . . . . . . . . . . . . . . . . 436.2.2 Erweiterung ”Data Analysis” . . . . . . . . . . . . . . . . . . . . . . 44

    7 Fahrdatenauswertung 467.1 Verfügbare Fahrzeugdaten . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

    7.1.1 GPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477.1.2 Tachosignal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477.1.3 Radumdrehungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477.1.4 Rad-Impuls-Zähler . . . . . . . . . . . . . . . . . . . . . . . . . . . 487.1.5 Gierrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

    7.2 Berechnungen aus Radsensoren . . . . . . . . . . . . . . . . . . . . . . . . 497.2.1 Wegelement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507.2.2 Krümmung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517.2.3 Richtungsänderung . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

    7.3 Bestimmung der Fahrzeugposition . . . . . . . . . . . . . . . . . . . . . . . 537.3.1 GPS-Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537.3.2 GPS-Position und Radrotation/Rad-Impuls-Zähler . . . . . . . . . . 547.3.3 GPS-Position, Rad-Impuls-Zähler/Radrotation und Gierrate . . . . . 57

    7.4 Map Matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587.4.1 Lotabbildung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587.4.2 Kritische Lotfällung . . . . . . . . . . . . . . . . . . . . . . . . . . 61

    7.5 Auswertung des Fahrverhaltens . . . . . . . . . . . . . . . . . . . . . . . . . 627.5.1 Auswertung der Fahrtgeschwindigkeit . . . . . . . . . . . . . . . . . 627.5.2 Auswertung der erlaubten Fahrtrichtung . . . . . . . . . . . . . . . . 627.5.3 Auswertung von Überholvorgängen . . . . . . . . . . . . . . . . . . 64

    II

  • Inhaltsverzeichnis

    7.6 Datenexport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657.6.1 Extensible Markup Language (XML) . . . . . . . . . . . . . . . . . 657.6.2 Export aus Thubanerweiterung . . . . . . . . . . . . . . . . . . . . . 65

    8 Resümee 678.1 Überprüfung der Zielsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . 678.2 Ausblicke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

    Literaturverzeichnis 68

    A Entity Relationship Model (GDF-Ebene 0 bis 2) 70A.1 Ebene 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70A.2 Ebene 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71A.3 Ebene 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

    B Quelltext 73B.1 Einfache Thuban-Erweiterung . . . . . . . . . . . . . . . . . . . . . . . . . 73

    C Erklärung zur Diplomarbeit 75

    III

  • Abbildungsverzeichnis

    2.1 Geoid (allgemein) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2 WGS-84 Geoid (NIMA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.3 Rotationsellipsoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.4 Definition der geographischen Breite und Länge . . . . . . . . . . . . . . . . 82.5 UTM-Projektion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.6 Nord- und Ostwert (UTM) . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.7 UTM-Koordinaten und Zonenfelder für Deutschland . . . . . . . . . . . . . 122.8 UTM-Berechnung mit PostgreSQL/PostGIS . . . . . . . . . . . . . . . . . . 12

    3.1 Satelliten des NAVSTAR-GPS . . . . . . . . . . . . . . . . . . . . . . . . . 143.2 Ortung im dreidimensionalen Raum . . . . . . . . . . . . . . . . . . . . . . 163.3 Genauigkeit verschiedener GPS-Verfahren . . . . . . . . . . . . . . . . . . . 16

    4.1 Fahrzeug, dSpace-Box, Matlab . . . . . . . . . . . . . . . . . . . . . . . . . 184.2 MicroAutoBox der Firma dSpace . . . . . . . . . . . . . . . . . . . . . . . . 19

    5.1 Beziehung zwischen Data Records . . . . . . . . . . . . . . . . . . . . . . . 235.2 GDF-Data-Record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235.3 Entity Relationship Model (GDF - Level 0) . . . . . . . . . . . . . . . . . . 245.4 Darstellung in Level 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255.5 Darstellung in Level 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265.6 Darstellung in Level 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285.7 Segmentieres Attribut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295.8 Digitalisierung von Kurven . . . . . . . . . . . . . . . . . . . . . . . . . . . 305.9 psql, pgAccess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325.10 Darstellung einer GDF-Datei (TeleAtlas GDF Viewer) . . . . . . . . . . . . 355.11 Fahrstrecke als Menge von Punkten . . . . . . . . . . . . . . . . . . . . . . 365.12 Straßenverbindungen als Menge von Punkten . . . . . . . . . . . . . . . . . 375.13 Straßen als Linienzüge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385.14 Straßenverbindungen mit Straßen . . . . . . . . . . . . . . . . . . . . . . . . 395.15 Stadtgrenze von Osnabrück als Polygon . . . . . . . . . . . . . . . . . . . . 40

    6.1 Geodatenbetrachter ”Thuban” . . . . . . . . . . . . . . . . . . . . . . . . . 41

    IV

  • Abbildungsverzeichnis

    6.2 Thuban-Erweiterung zur Fahrdatenauswertung . . . . . . . . . . . . . . . . 446.3 Einfaches Klassendiagramm der Erweiterung . . . . . . . . . . . . . . . . . 45

    7.1 Induktiver ABS-Sensor (Westbrook und Turner (1994)) . . . . . . . . . . . . 487.2 Drehbewegung an einem Fahrzeug (Jaschke (2002)) . . . . . . . . . . . . . . 497.3 Wegelement, Richtungsänderung und Krümmung aus Odometern . . . . . . . 507.4 Wegelement aus Fahrzeugdaten (in Thuban) . . . . . . . . . . . . . . . . . . 507.5 Vergleich der Wegelementberechnung aus Fahrzeugdaten (in Thuban) . . . . 517.6 Darstellung einer Testfahrt (in Thuban) . . . . . . . . . . . . . . . . . . . . . 527.7 Auswertung der Krümmung (in Thuban) . . . . . . . . . . . . . . . . . . . . 527.8 Auswertung der Richtungsänderung (in Thuban) . . . . . . . . . . . . . . . . 537.9 Positionsbestimmung mit GPS (in Thuban) . . . . . . . . . . . . . . . . . . 537.10 Bestimmung des Startrichtungswinkels . . . . . . . . . . . . . . . . . . . . . 557.11 Richtungswinkel bezogen auf P1 als Koordinatenursprung . . . . . . . . . . 567.12 Positionsbestimmung mit Radumdrehungen (in Thuban) . . . . . . . . . . . 577.13 Positionsbestimmung mit Rad-Impuls-Zähler (in Thuban) . . . . . . . . . . . 577.14 Positionsbestimmung mit Rad-Impuls-Zähler und Gierrate (in Thuban) . . . . 587.15 Zone einer Straße zur Einpassung . . . . . . . . . . . . . . . . . . . . . . . 597.16 Lot auf Strassenelement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607.17 Kritische Lotfällung an Kreuzungen . . . . . . . . . . . . . . . . . . . . . . 617.18 In Richtung des Line Features . . . . . . . . . . . . . . . . . . . . . . . . . 647.19 In entgegengesetzte Richtung des Line Features . . . . . . . . . . . . . . . . 647.20 Möglicher Überholvorgang durch Krümmung (in Thuban) . . . . . . . . . . 64

    V

  • Tabellenverzeichnis

    2.1 Geodätisches Datum, Ellipsoid, Verschiebung, Einsatzgebiet . . . . . . . . . 7

    3.1 Entwicklungsphasen des NAVSTAR-GPS . . . . . . . . . . . . . . . . . . . 13

    4.1 Aufbau der Transferstruktur . . . . . . . . . . . . . . . . . . . . . . . . . . 204.2 Normierungsfaktoren der Transferstruktur . . . . . . . . . . . . . . . . . . . 20

    5.1 Beispiel für Simple Features . . . . . . . . . . . . . . . . . . . . . . . . . . 265.2 Erfasste Feature-Arten bei TeleAtlas (Walter (1996)) . . . . . . . . . . . . . 275.3 Segmentieres Attribut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295.4 Räumliche Objekttypen in SQL . . . . . . . . . . . . . . . . . . . . . . . . . 335.5 Aufbau der Tabelle ”tracking_point” . . . . . . . . . . . . . . . . . . . . . . 365.6 Aufbau der Tabelle ”junction_point” . . . . . . . . . . . . . . . . . . . . . . 375.7 Aufbau der Tabelle ”roadelement_multilinestring” . . . . . . . . . . . . . . . 385.8 ”Order-i Area” - Typen für Deutschland . . . . . . . . . . . . . . . . . . . . 395.9 Aufbau der Tabelle ”boundaryelement_multilinestring” . . . . . . . . . . . . 405.10 Aufbau der Tabelle ”speedrestrictions_polygon” . . . . . . . . . . . . . . . . 40

    7.1 Navigationssysteme, Sensoren, Kartendaten . . . . . . . . . . . . . . . . . . 467.2 Direction of Traffic Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637.3 Fahrzeugarten für ”Direction of Traffic Flow” . . . . . . . . . . . . . . . . . 63

    VI

  • Danksagung

    Mein Dank gilt DIPL.-INFORM. (FH) BENEDIKT WOLF und DIPL.-INFORM.(FH) GERRIT HARTBROD, die mir bei zahlreichen Fragen in der Einarbeitungs-phase Rede und Antwort gestanden haben.

    Ebensolchen Dank gilt auch meinen Betreuern PROF. DR. JÜRGENBIERMANN und PROF. DR. THEODOR GERVENS für Ihre zahlreichen inter-essante Anregungen während der Arbeit.

    Natürlich möchte ich mich auch recht herzlich bei der FIRMA HELLA KGHUECK & CO für die Bereitstellung der GDF-Kartensätze und des Test-fahrzeugs bedanken.

    VII

  • 1 Einleitung

    Zu Beginn des Jahres 2003 hatte sich die Mehrheit der Teilnehmer des 41. Verkehrsgerichts-tags in Goslar für eine obligatorische Blackbox in PKWs ausgesprochen (Rötzer (2003)). Umriskantes Fahrverhalten einzudämmen oder aber das eigene Fahrverhalten zu Analysieren,könnte so ein Geräte verwendet werden. Aber auch andere Einsatzgebiete wären denkbar. Sowäre es möglich mit einem Unfalldatenschreiber fortlaufend Daten wie die Geschwindigkeit,Überholmanöver oder Richtungsänderungen aufzuzeichnen. Diese könnten dann zur Klärungvon Schuldfragen bei der Rekonstruktion eines Unfalls sehr hilfreich sein.

    Die Kombination von Blackbox und GeoDaten bietet in diesem Zusammenhang außerdemneue Möglichkeiten. Mit den räumlichen Informationen wäre es möglich Auswertungen zuerzeugen, welche direkten Bezug zu einer befahrenen Straße besitzen (Einbahnstraße, Ge-schwindigkeitsbeschränkungen).

    1.1 Aufgabenstellung

    Aufgabenstellung dieser Arbeit war eine Fahrdatenanalyse auf Basis einer objektrelationalenGeoDatenbank und eines GPS-Empfängers zu ermöglichen. Um dieses zu erreichen, wurdenfolgende Zielsetzungen festgelegt:

    • Die Bereitstellung der nötigen Veränderungen an einer schon vorhandenen objektrela-tionalen GeoDatenbank

    • Anzeige der Straßenkarte und sämtlicher Auswertungen mit dem GeoDaten-ViewerThuban

    • Auswertung einer gefahrenen Strecke hinsichtlich Geschwindigkeitsüberschreitungen,Überholvorgängen, Einhaltung der erlaubten Fahrtrichtungen (zum Beispiel bei Ein-bahnstraßen)

    Aufgrund der Tatsache, dass bei dem Testfahrzeug der Firma Hella KG Hueck & Co auchDaten von den Radsensoren und der Gierrate zur Verfügung standen, kamen noch weitereZielsetzungen hinzu. Diese umfassten die allgemeine Auswertung dieser Sensoren und diePositionsbestimmung des Fahrzeugs durch kombinierten Einsatz von GPS, Radsensoren undGierrate.

    1

  • 1 Einleitung

    1.2 Hilfsmittel

    Beim Verfassen dieser Arbeit wurde fast ausschließlich Freie Software eingesetzt. Unter Li-nux (Debian) kamen hierbei unter anderem LATEX, aspell, Gimp, xfig und kate zum Einsatz.Als DBMS wurde das freie PostgreSQL (mit PostGIS) genutzt. Zudem wurde für die Anzeigevon Straßeninformationen das frei erhältliche Thuban der Firma Intevation GmbH eingesetzt.Lediglich bei der Gestaltung des Klassendiagramms kam Together 6 zum Einsatz.

    Aus Hartbrod (2003) sind die ER-Modelle im Anhang entnommen.

    1.3 Gliederung der Arbeit

    Die vorliegende Arbeit ist grob unterteilt in den Grundlagen zur Einführung und Verständnisder Arbeit (Kapitel 2 und 3), der Datenbereitstellung und Darstellung (Kapitel 4 bis 6) undder Datenauswertung (Kapitel 7).

    Geodäsie (Kapitel 2)

    Zum Grundverständnis des Vermessungswesens werden hier Begriffe wie Geoid, Ellipsoidoder UTM besprochen. Dieses ich wichtig für das Verständnis der Positionsinformationeneines Fahrzeugs.

    Global Positioning System (Kapitel 3)

    Die Ortung einer Fahrzeugposition ist mit einem satellitengestützten Verfahren, dem GPS,möglich. GPS-Empfänger sind damit zu einem der wichtigsten Ortungsgeräte in Fahrzeugengeworden.

    Aufzeichnung von Fahrzeugdaten (Kapitel 4)

    In diesem Kapitel wird gezeigt, welche Informationen von der Blackbox des Fahrzeuges zurVerfügung standen.

    Digitale Straßenkarten (Kapitel 5)

    GDF-Dateien sind die Basis für digitale Straßeninformationen. Mit dem Einspielen dieser Da-ten in einer objektrelationalen GeoDatenbank, wird PostgreSQL (in Verbindung mit PostGIS)zu einem mächtigen Werkzeug.

    2

  • 1 Einleitung

    Betrachter für digitale Karten (Kapitel 6)

    Als Betrachter für geographische Daten wurde das freie Programm »Thuban« gewählt. Zudembesitzt Thuban eine Schnittstelle zur Datenbank und gute Erweiterungsmöglichkeit für eigeneModule.

    Fahrdatenauswertung (Kapitel 7)

    Dieses Kapitel befasst sich mit der Durchführung und den Ergebnissen der Fahrdatenanalyse.

    Zusammenfassung (Kapitel 8)

    Zum Schluss wird noch einmal die Zielsetzung überprüft. Außerdem wird ein Ausblick aufweitere Möglichkeiten der Fahrdatenanalyse gegeben.

    3

  • 2 Geodäsie

    Unter dem Begriff Geodäsie (geo : Erde, dasei : teilen) ist nach Helmert(1885) die Lehre der Ausmessung und Abbildung der Erdoberfläche zu verstehen (Möser(2003)). Schon in frühen Zeiten wurde versucht, die Form und Größe unseres Planeten zubeschreiben.

    Der griechische Dichter Homer (ca. 850 v. Chr.) dachte noch, die Erde sei eine Scheibe. Späterwurde von Pythagoras (582 v. Chr.) und Aristoteles (384 v. Chr.) angenommen, dass die Formder Erde eine Kugel sei. Diese Vermutung ist zwar etwas korrekter, aber in Wahrheit entsprichtdie Erde eher einer »Kartoffel« (ellipsoide Form).

    2.1 Geoid

    Um möglichst genau die Erdform zu modellieren, wird der theoretische Körper des »Geoids«angenommen. Ein Geoid (geoid : erd-förmig) ist die (unter den Kontinenten fort-gesetzte) Form der Erde, welche durch die Oberfläche der Weltmeere gegeben ist. Die Meeresollen hierbei keiner anderen Kraft, als die der Schwerkraft ausgesetzt sein (Gezeiten, Strö-mungen, Temperaturunterschiede, etc.). Somit ist jeder Punkt des Geoids rechtwinklig zurRichtung der Schwerkraft (Abbildung 2.1 (Gründig (2003))). Diese Variationen der Gravita-tion sind durch Materialunterschiede im Erdkern und der Erdoberfläche zu erklären.

    Abbildung 2.1: Geoid (allgemein)

    Deutlich zu erkennen ist dieses Phänomen auf den Bildern der »U.S National Imagery andMapping Agency (NIMA)«. Abbildung 2.2 stellt das Modell des WGS-84-Geoids (WorldGeodetic System 1984) dar. Bei geodätischen Messungen wird immer ein Bezug zu diesem

    4

  • 2 Geodäsie

    »realen Erdmodell« geschaffen. Da es sich durch seiner Komplexität aber nicht für mathema-tische Berechnungen eignet, werden alternative Bezugsflächen angenommen.

    Abbildung 2.2: WGS-84 Geoid (NIMA)

    2.2 Vereinfachte Bezugsflächen

    Die Problematik in diesem Vorgehen ist, dass auf dem Geoid gemessen, aber gleichzeitig aufder vereinfachten Bezugsfläche gerechnet wird. Aus diesem Grund müssen sich der Geoid unddie Ersatzfläche möglichst gleichen.

    Hierzu gibt es drei Varianten dieser Fläche:

    • Tangentialebene (für örtliche Vermessungen)

    • Kugel (für kleine Länder)

    • Rotationsellipsoid (weltweit)

    Für örtliche Messungen reicht eine Tangentialebene, um die gekrümmte Erdoberfläche abzu-bilden. Hierbei wird im Mittelpunkt des zu vermessenen Gebietes eine Ebene angelegt, diesenkrecht zum Geoid (also zur Schwerkraft) steht. Soll kein Fehler größer als 1 bis 2 cm entste-hen, darf der Durchmesser des Vermessungsgebietes nicht größer als 5 km sein. Diese Formder Vermessung kann bei Katastervermessungen (Grundbuch) und der Ingenieurgeodäsie (Hoch-

    5

  • 2 Geodäsie

    bau, Verkehrswegebau, Brücken, Tunnel, etc.) angewandt werden.

    Bei größeren Gebieten (bis 200 km) kann eine »Schmiegungskugel« benutzt werden. Hierbeiwird Größe und Position so gewählt, dass sie sich dem Geoid (im Bereich des Messgebietes)möglichst gut anschmiegt.

    Die bedeutendste Bezugsfläche ist der Rotationsellipsoid. Dieser wird unter Angabe der Haupt-(a) und Nebenhalbachse (b) beschrieben. Unter der Haupthalbachse ist der Äquatorradius undunter der Nebenhalbachse ist der Polradius zu verstehen. Das Verhältnis zwischen den Achsengibt die Abflachung f des Ellipsoiden wieder.

    f =a − b

    a(2.1)

    Deutlich zu erkennen ist, dass f kleiner wird, je mehr sich die Form einer Kugel nähert. Beia = b (und damit f = 0) wird dieses erreicht.

    Haupthalbachse(a)

    Nebenhalbachse(b)

    Abbildung 2.3: Rotationsellipsoid

    In Abhängigkeit des Bezugs zum Geozentrums werden zwei Arten von Rotationsellipsoidenunterschieden (Möser (2003)). Dem mittleren und dem lokalen Ellipsoiden (Referenzellip-soiden).

    Auf dem mittlere Erdellipsoid können Berechnungen für die gesamte Erde ausgeführt werden.Dieses ist möglich, da er das Geoid als Ganzes ersetzen kann. Mit Hilfe von Satellitenvermes-sungen wurde so ein immer genaueres weltweites Referenzsystem berechnet. Seit 1987 wirdfür das GPS (Global Positioning System) der weltweit gültige WGS-84-Ellipsoid benutzt.Dieser beschreibt den Äquatorradius mit einer Genauigkeit von ein bis zwei Metern. Für denmittleren Ellipsoiden gelten zudem einige Anforderungen:

    6

  • 2 Geodäsie

    • Mittelpunkt im Geozentrum

    • Identische Drehachse

    • Volumen von Ellipsoid und Geoid müssen gleich sein

    Sind keine weltweiten Vermessungen notwendig, kann auf einem lokalen Ellipsoiden zurück-gegriffen werden. Dieser passt sich einem Teil der Erde möglichst gut an, so dass sogar eineGeoidannäherung bis auf Zentimeterbereiche möglich ist. Im Gegensatz zum mittleren Ellip-soiden, muss seine Achse hier bloß parallel zur (mittleren) Rotationsachse der Erde sein. EineVerschiebung des Ellipsoidzentrums gegenüber dem Erdschwerpunkt ist somit möglich.

    Der Satz von Daten, welcher die Lage zum Erdkörper beschreibt, wird als »GeodätischesDatum« bezeichnet. Ein besonderes Datum bildet hierbei das Datum »WGS-84«. Hierfürwird der WGS-84-Ellipsoid unverändert (ohne Verschiebungen) übernommen. NachfolgendeTabelle 2.11 soll dieses verdeutlichen:

    Geodätisches Datum Ellipsoid X Y Z EinsatzgebietWGS 84 WGS 84 0 0 0 weltweitMassawa Bessel 1841 639 405 60 Äthiopien

    European 1950 International 1924 -112 -77 -145 TunesienEuropean 1950 International 1924 -84 -107 -120 Portugal, Spanien

    Tabelle 2.1: Geodätisches Datum, Ellipsoid, Verschiebung, Einsatzgebiet

    2.3 Koordinatensysteme

    Durch das Approximieren der Erdoberfläche durch einen Ellipsoiden, existieren verschiedeneModelle zur Positionsbestimmung. Zwei davon sind das geozentrische erdfeste X,Y,Z-Koordi-natensystem und das geographische Koordinatensystem.

    2.3.1 Geozentrische erdfeste X,Y,Z-Koordinaten

    Dieses Koordinatensystem hat seinen Ursprung im Erdschwerpunkt. Von diesem Punkt auskann, durch ein dreidimensionales kartesisches Koordinatensystem, jeder Punkt auf der Erdeoder in deren Nähe beschrieben werden. »Erdfest« bedeutet in diesem Zusammenhang, dasssich das Koordinatensystem mit der Erde dreht (Z-Achse). Die X,Y-Ebene entspricht derEbene des Äquators und die X,Z-Ebene die des Nullmeridians (Meridian : Längenkreis).Ein Anwendungsbeispiel für dieses System ist die Bahnbestimmung von Satelliten (Bill (1999)).

    1aus www.kowoma.de/gps vom 18.03.2004

    7

  • 2 Geodäsie

    2.3.2 Geographische Koordinaten

    Bei dieser Positionsangabe wird eine eindeutige Position durch einer geographischen Breite(φ), der geographischen Länge (λ) und einer geographischen Höhe (h) bestimmt. Die Höhewird orthogonal zur Ellipsoidoberfläche gemessen. Um einen festen Bezug zu einem Punktauf dem Ellipsoiden zu schaffen, wurden feste Referenzen eingeführt.

    So ist die Breite der Winkel zwischen der Verbindungslinie eines Punktes mit dem Erdmit-telpunkt und der Ebene des Erdäquators. Orte mit gleicher Breite sind auf, dem zum Äquatorparallelen, gleichen Breitenkreis. Der Breitengrad wird vom Äquator nach Norden und Südenmit je 90 Grad gezählt (nördliche Breite / südliche Breite).

    Die geographische Länge entspricht dem Winkel zur Ebene, die durch das astronomische Ob-servatorium von Greenwich (England) verläuft. Greenwich ist somit auf dem Nullmeridian.Der Längengrad wird vom Nullmeridian jeweils nach Osten und Westen mit je 180 Gradgezählt (östliche Länge / westliche Länge). Beim 180◦-Meridian befindet sich das Gegenstückzum Nullmeridian (die »Internationale Datumsgrenze«). Zudem haben Orte gleicher Länge inetwa die gleiche Zeit.

    Südpol

    Position auf Erdoberfläche

    Äquator

    geographische Breite

    geographische Länge

    Nullmeridian

    Nordpol

    Abbildung 2.4: Definition der geographischen Breite und Länge

    8

  • 2 Geodäsie

    GPS-Empfänger arbeiten standardmäßig mit geographischen Koordinaten, wobei sich derWGS-84-Ellipsoid (mit dem geodätischen Datum WGS 84) als Erdersatz durchgesetzt hat.

    Die Darstellung von Breite und Länge kann in Bogengrad (◦), Bogenminute (’) und Bo-gensekunde (”) erfolgen. Interessant ist, dass die mittlere Länge einer Bogenminute einerSeemeile (1,852 km) entspricht. Der Abstand zwischen zwei geographischen Breiten (der Bo-gengrad) ist somit 60 Seemeilen lang (ca. 111 km). Eine Umrechnung zwischen Dezimalgradund Grad, Minute und Sekunden kann wie folgt erfolgen:

    Dezimalgrad = Bogengrad +Bogenminute

    60+

    Bogensekunde

    3600(2.2)

    Beispielsweise entspricht der Punkt N 50,02528◦ und E 008,22222 (Raum Mainz) den Koor-dinaten N 50◦ 01’ 31” und E 8◦ 13’ 20”. Natürlich ist auch eine Angabe in Grad und Dezi-malminuten vorstellbar (N 50◦ 01,517’ und E 8◦ 13,333’).

    Zur Konvertierung zwischen geozentrische erdfeste X,Y,Z-Koordinaten und den geographi-schen Koordinaten stehen folgende Formeln zur Verfügung (Bill (1999)):

    X = (N + h) cos φ cos λ (2.3)

    Y = (N + h) cos φ sin λ (2.4)

    Z = (N(1 − e2) + h) sin φ (2.5)

    φ = arctan

    (

    Z

    s

    (

    1 − e2N

    N + h

    )

    −1)

    (2.6)

    λ = arctanY

    X(2.7)

    h =s

    cos φ− N (2.8)

    Die Hilfsgrößen N , s und e2 entsprechen den Formeln 2.9 bis 2.11. a und b sind die schonbesprochenen Haupt- und Nebenhalbachsen des jeweiligen Ellipsoiden.

    N =a

    1 − e2 sin2 φ(2.9)

    s =√

    X2 + Y 2 (2.10)

    e2 =a2 − b2

    a2(2.11)

    9

  • 2 Geodäsie

    2.4 Universale Transversale Mercator(UTM)-Projektion

    Zur weiteren Vereinfachung der Erdform können Punkte aus den dreidimensionalen Koor-dinatensystemen in ebene Koordinatensysteme überführt werden. Dieses erlaubt dann ein-fachere Berechnungsmöglichkeiten. Für Karten und Vemessungszwecke ist es außerdem sin-nvoll, wenn ein rechtwinkliges Gitter mit gleichen Abständen genutzt wird.

    Eine Projektionsart, des Ellipsoiden auf einer Ebene, ist die UTM-Projektion (transversaleMercatorprojektion von Gerhard Kremer (1512-1594)). Das Ergebnis entspricht der Projek-tion einer Lichtquelle (im Erdzentrum) die auf einen außen liegendem Zylinder scheint (Abbil-dung 2.5, Möser (2003)). Allerdings wird bei UTM (wie auch bei der Gauss-Krüger-Projektion)nicht alles auf einmal und einem Zylinder projiziert, sondern auf mehrere Streifen. Die brei-te der Streifen wird so gewählt, dass sich die Verzerrungen minimieren lassen. Allerdings isteiner verzerrungsfrei zweidimensionale Abbildung der dreidimensionalen Erde nicht möglich.Nur an den Mittelmeridianen (den Berührungspunkten auf der Streifenmitte) ist die Projektionohne Verzerrung. Je weiter ein Punkt sich von diesem Meridian entfernt, je größer wird auchdie Verzerrung.

    Abbildung 2.5: UTM-Projektion

    Wegen der Ausdehnung von sechs Grad pro Streifen, existieren 60 Streifen (360◦:6◦=60).Diese sind von 1 bis 60 durchnummeriert. Innerhalb eines Streifens findet die Orientierungdurch den Abstand zum Mittelmeridian und zum Äquator statt. Als Ostwert (E) wird diesenkrechte Entfernung zum Mittelmeridian bezeichnet. Der Nordwert (N) ist die entsprechendeEntfernung zum Äquator. Bei der Gauss-Krüger-Projektion entspricht der Nordwert demHochwert und der Ostwert dem Rechtswert.

    Um negative Ostwerte zu vermeiden ist es üblich den Ostwert des Mittelmeridians auf 500.000Meter zu setzen. Positionen, die östlich vom Mittelmeridian liegen, haben demnach Ostwertegrößer als 500.000. Alle Ostwerte westlich dieses Meridians sind kleiner als 500.0000.

    Jede Zone wird außerdem in 8◦ breite Bänder unterteilt. Die Bandbezeichnung für den größten

    10

  • 2 Geodäsie

    Teil Deutschlands ist ”U”.

    Äquator

    Ostwert

    Nordwert

    Grenze des Streifens

    Grenze des Streifens

    Mittelmeridian

    Abbildung 2.6: Nord- und Ostwert (UTM)

    Für Europa wurde ursprünglich das Hayford-Ellipsoid, für Nordamerika das Clark 1866und für Afrika das Clark 1880 genutzt. Heute wird aber dazu übergegangen weltweit für alleUTM-Koordinaten das WGS-84-Ellipsoid zu verwenden. Zudem soll die in Deutschland weitverbreitete Gauss-Krüger-Projektion zukünftig durch UTM (Abbildung 2.7 2) abgelöst wer-den (Grande u. a. (2004)).

    Um die relativ aufwendige Umrechnung von geographischen Koordinaten in UTM-Koordinatenzu vereinfachen, kann die Funktion ”transform(geomery,integer)” von PostGIS genutzt wer-den. Weiterführende Ausführungen sind in Kapitel 5 zu finden.

    Nachfolgend befindet sich eine PL/pgSQL-Funktion und ein Beispielaufruf, die transform()nutzt (Abbildung 2.8.) Die geographische Koordinate N 50,919225◦ E 007,169041◦ entsprichtder UTM-Koordinate Zone 32, Ostwert 371303.868, Nordwert 5642438.948.

    1 -- ----------------------------------------------------------- Grad (WGS84) in UTM-Koordinaten (Zone 32,WGS84) umrechnen-- ---------------------------------------------------------DROP FUNCTION grad_2_utm(DOUBLE PRECISION,DOUBLE PRECISION);CREATE FUNCTION grad_2_utm(DOUBLE PRECISION,DOUBLE PRECISION) RETURNS TEXT AS ’DECLARE

    rec RECORD;x_value RECORD;y_value RECORD;

    10 ret TEXT;transform_text TEXT;

    BEGIN

    2aus www.geodaten.bayern.de vom 10.06.2004

    11

  • 2 Geodäsie

    Abbildung 2.7: UTM-Koordinaten und Zonenfelder für Deutschland

    transform_text := ’’SRID=4326;POINT(’’ ||$1||’’ ’’||$2||’’)’’;SELECT transform(transform_text::geometry,32632) INTO rec;IF FOUND THEN

    SELECT x(rec.transform) INTO x_value;SELECT y(rec.transform) INTO y_value;ret := ’’ ’’ || x_value.x || ’’ ’’ || y_value.y || ’’ ’’;

    ELSE20 RAISE NOTICE ’’Fehler bei Transform!’’;

    ret := ’’(0 0)’’;END IF;RETURN ret;

    END;’LANGUAGE ’plpgsql’;

    Abbildung 2.8: UTM-Berechnung mit PostgreSQL/PostGIS

    12

  • 3 Global Positioning System (GPS)

    Der GPS-Empfänger ist eines der wichtigsten Geräte zur Positionsbestimmung im Fahrzeug.Dieses Kapitel soll zum Verständnis von GPS beitragen.

    3.1 Geschichte

    Für eine weltweite Navigation in Echtzeit begannen in den 70er Jahren die USA und dieUdSSR mit der Entwicklung von Globalen-Navigations-Satellitensystemen (GNSS). Auf deramerikanischen Seite wurde NAVSTAR-GPS (Navigation Satellite Timing and Ranging-GlobalPositioning System) entwickelt. Das sowjetische Gegenstück hieß GLONASS (Global’nayaNavigatsivannaya Sputnikovaya Sistema) (SAPOS (2004)).

    Geschichtlich gesehen, lassen sich bei NAVSTAR-GPS mehrere Phasen unterscheiden:

    Zeitraum Phasen1974 - 1979 Überprüfungsphase1979 - 1985 Entwicklungsphase1985 - 1993 Ausbauphase

    Tabelle 3.1: Entwicklungsphasen des NAVSTAR-GPS

    Seit Dezember 1993 befindet sich das System in der Erprobungsphase durch das Verteidi-gungsministerium der USA (DoD - Department of Defence) (Schumann (1996a))

    Um ein von Amerika unabhängiges System zu nutzen, wurde von der Europäischen Union undder Europäischen Weltraumorganisation (ESA) mit der Entwicklung eines eigenen GNNS be-gonnen. Das 3,2 Mrd. Euro teure Projekt, mit dem Namen ”Galileo”, soll 2008 abgeschlossenwerden.

    3.2 Einsatzgebiete

    Es gibt viele Möglichkeiten das GPS-System mehr oder weniger sinnvoll einzusetzen. EinigeBeispiel hiervon sind in Barie (2000) beschrieben:

    • Digitale Routenplaner

    13

  • 3 Global Positioning System (GPS)

    • Tragbare Bar-Suchmaschine (der Brauerei Heineken)

    • Straßen-Leitsystem zur Lockerung des Verkehrsflusses mit dynamischenGeschwindigkeitsbegrenzungen und Umleitungen

    • Elektronische Fesseln für Straftäter

    • Geschosse der Artillerie mit GPS-Empfängern

    • Automatische Berechnung von Erträgen je Parzelle auf Mähdreschern

    3.3 Funktionsweise und Aufbau

    Der Aufbau des GPS-Systems besteht aus drei Segmenten. Dieses sind die Raumsegmente(Satelliten), den Bodensegmenten (Kontrollstationen) und den Nutzersegmenten (Empfangs-technik) (SAPOS (2004)).

    Abbildung 3.1: Satelliten des NAVSTAR-GPS

    Zum Raumsegment gehören momentan 29 Satelliten, welche die Erde in einer Höhe von20230 km umrunden (Abbildung 3.1, Schumann (1996b)). Hierdurch ist der Datenempfangvon 4 bis 12 Satelliten gleichzeitig möglich.

    Die Positionsbestimmung beruht auf der Laufzeitmessung eines Signals vom Satelliten zumEmpfänger. Ist die Laufzeit des Signals bekannt, kann dieser mit der Ausbreitungsgeschwindig-keit der Welle (Lichtgeschwindigkeit) multipliziert werden, um die Entfernung (pseudo range)zu erhalten (Schumann (1996a)). Reflexionen dieses Signals an Häusern, Brücken, usw. er-höhen die Laufzeit und senken somit die Genauigkeit.

    Für die räumliche Positionsbestimmung sind drei Satelliten notwendig. Zusätzlich wird einvierter Satellit zur Zeitkorrektur genutzt.

    14

  • 3 Global Positioning System (GPS)

    S1, S2 und S3 in Abbildung 3.2 sollen die genau bekannten Positionen der Satelliten sein.Die gemessenen Entfernungen zum Empfänger sind p1, p2 und p3. Auf einer Kugel (je Satel-lit) mit den Radien p1 bis p3, muss sich der Empfänger irgendwo auf der Oberfläche dieserKugeln befinden. Der Schnittpunkt aller Kugeloberflächen ist also die Empfängerposition.Diese Überlegungen führen zu folgenden Formeln:

    p1 =√

    (xp − x1)2 + (yp − y1)2 + (zp − z1)2 + Pabweichung + e1 (3.1)

    p2 =√

    (xp − x2)2 + (yp − y2)2 + (zp − z2)2 + Pabweichung + e2 (3.2)

    p3 =√

    (xp − x3)2 + (yp − y3)2 + (zp − z3)2 + Pabweichung + e3 (3.3)

    p4 =√

    (xp − x4)2 + (yp − y4)2 + (zp − z4)2 + Pabweichung + e4 (3.4)Pabweichung = c · Tabweichung (3.5)

    pi Gemessene Entfernungen zum Empfängerxp, yp, zp Gesuchte Empfängerpositionxi, yi, zi Bekannte Satellitenpositionenei Sonstige SystemfehlerPabweichung Entfernungsabweichungen wegen UhrzeitfehlerTabweichung Zeitabweichung beim Empfänger

    Aus 3.1 bis 3.5 sind so die Unbekannten xp, yp, zp und Tabweichung zu berechnen.

    3.4 Genauigkeit

    Am 1. Mai 2000 verkündete US-Präsident Bill Clinton: „Ich darf Ihnen mitteilen, dass dieVereinigten Staaten heute um Mitternacht die Verschlechterung der Signale des Globalen Posi-tioning System (GPS) stoppen werden” (Barie (2000)). Gemeint war hiermit die Abschaltungdes ”Selective-Availability” (SA). Diese Technik wurde dazu genutzt, um aus sicherheitspoli-tischen Erwägungen, das GPS-Signal künstlich zu verschlechtern. Nach Aussagen des US-Verteidigungsministeriums (2001) verbesserte sich somit die Positionsbestimmung von 100 mauf ≤ 13 m (bei 95%iger Wahrscheinlichkeit).

    Zur weiteren Genauigkeitssteigerung existiert das Differential GPS (DGBS). Statt einem (mo-bilen) Empfänger wird zusätzlich noch ein zweiter (statischer) Empfänger verwendet. Dieserbefindet sich an einem exakt vermessenen Punkt, wodurch die Messfehler zu den Satellitenkorrigiert werden können. Aus Abbildung 3.3 von Schraut (2000) sind die Genauigkeiten ver-schiedener GPS-Varianten ersichtlich. Im Rahmen dieser Arbeit stand Standard-GPS (ohneSA) am Fahrzeug zur Verfügung.

    15

  • 3 Global Positioning System (GPS)

    p1

    p2

    p3

    S2(x2,y2,z2)

    S3(x3,y3,z3)

    S1(x1,y1,z1)

    Abbildung 3.2: Ortung im dreidimensionalen Raum

    Abbildung 3.3: Genauigkeit verschiedener GPS-Verfahren

    16

  • 4 Aufzeichnung von Fahrzeugdaten

    4.1 Predictive Light Control

    In Kooperation zwischen der Firma Hella KG Hueck & Co und der Fachhochschule Os-nabrück wurde von Dipl.-Inform. (FH) Benedikt Wolf das Matlab-Programm PLC (PredictiveLight Control) entwickelt. Es dient zur Aufnahme und Verifizierung von Daten während ei-ner Fahrt. Ziel dieses Projekts ist eine "vorausschauende Ausleuchtungssteuerung", basierendauf Fahrzeuginformationen und digitalen Kartendaten, zu entwickeln. Hierbei sollen Fahr-daten mit einer digitalen Landkarte kombiniert werden, so dass es möglich ist die Scheinwer-fer intelligent auszurichten.

    Das System besteht aus dem Fahrzeug, einem GPS-Empfänger, einer dSpace-MicroAutoBoxund einem Notebook mit dem Programm ”PLC”. Der GPS-Empfänger und der CAN-Bus(Controller Area Network Bus) des Fahrzeuges sind an der dSpace-Box angeschlossen, umDaten an das Matlab-Programm zu übertragen. Über dem CAN-Bus sind zum Beispiel In-formationen über die aktuelle Gierrate, dem Tachosignal oder der Radumdrehung abfragbar.Außerdem ist das Notebook an der Box angeschlossen, um die Daten zu lesen und eine wei-tere Verarbeitungen vorzunehmen. Innerhalb Matlab werden die Daten mit Zuhilfenahme derBibliothek ”mlib” aus der dSpace-Box übertragen und in einen Datenpuffer geschrieben (Ab-bildung 4.1).

    4.2 Matlab/Simulink

    Matlab, in Kombination mit Simulink, ist derzeit weltweiter Standard zur Simulation und Ent-wicklung technischer Systeme. Die Bezeichnung Matlab steht für ”MATrix LABoratory”.Dieses spiegelt die Bedeutung von Matrizen und Vektoren wieder, da Matlab diese grund-sätzlich für die Darstellung von Daten gebraucht. Eingesetzt wird Matlab zur Lösung undDarstellung von wissenschaftlichen Berechnungen. Für spezielle Problembereiche existieren”Toolboxen”. Eine spezielle Toolbox ist Simulink. Es ermöglicht mathematische Modelle fürSchalt- und Regelkreise zu erstellen.

    17

  • 4 Aufzeichnung von Fahrzeugdaten

    Fahrzeugdaten(Gierrate, Tacho,Raddrehzahl, etc.)über CAN−Bus

    GPS−Empfänger

    dSpace−Box

    Simulink

    Matlab−Programm

    Datenaufnahme

    "mlib"

    − Vorverarbeitung (Umrechnungen)− Lokalisierung− Ausleuchtungs− strategien− Graphische Darstellung

    Datenpuffer

    Abbildung 4.1: Fahrzeug, dSpace-Box, Matlab

    4.3 dSpace-MicroAutoBox

    Im Testfahrzeug wurde eine MicroAutoBox von dSpace eingesetzt (Abbildung 4.2). Die kom-pakte Box bietet hier die Möglichkeit des schnellen Prototypings, da Simulink-Programme im-portiert werden können. Das Simulink-Programm übernimmt einen Teil der Vorverarbeitungund des Empfangs der Daten von der GPS- und CAN-Schnittstelle. Somit stehen alle fahrzeug-relevanten Daten über das Simulink-Modell zur Verfügung.

    4.4 Datenaustauschformat

    Als Datenpuffer zwischen der Datenaufnahme und der weiteren Vorverarbeitung in PLCdient die ”Transferstruktur”. Diese Matlab-Struktur wurde, zur späteren Verarbeitung, in eineCSV-Datei (Comma Separated Value) exportiert. Der genauen Aufbau wird aus Tabelle 4.1ersichtlich.

    Nachfolgend befindet sich ein Auszug aus einer CSV-Datei. Hierbei entspricht eine Zeilejeweils einem Datensatz.

    1 94801,53.1524,52292616.6667,8016623.3333,57,0,-8,-1,0,918,923,178,170,0,0,42778,0,094802,54.634,52292713.3333,8016465,57,0,-8,-1,0,921,920,222,215,0,0,42786,0,094802,54.634,52292713.3333,8016465,57,0,-8,-1,0,926,927,11,3,0,0,42794,0,094802,54.634,52292713.3333,8016465,58,0,-8,-1,0,931,932,85,78,0,0,42806,0,094802,54.634,52292713.3333,8016465,58,0,-8,-1,0,931,933,100,93,0,0,42810,0,094802,54.634,52292713.3333,8016465,58,0,-8,-1,0,930,928,189,182,0,0,42826,0,0

    18

  • 4 Aufzeichnung von Fahrzeugdaten

    Abbildung 4.2: MicroAutoBox der Firma dSpace

    94802,54.634,52292713.3333,8016465,58,0,-8,-1,0,932,931,234,226,0,0,42834,0,094802,54.634,52292713.3333,8016465,58,0,-8,-1,0,928,930,52,45,0,0,42846,0,094802,54.634,52292713.3333,8016465,58,0,-8,-28,0,929,927,111,104,0,0,42858,0,0

    10 94802,54.634,52292713.3333,8016465,57,0,-8,-82,0,925,933,156,149,0,0,42866,0,094802,54.634,52292713.3333,8016465,58,0,-8,-55,0,938,936,231,224,0,0,42878,0,094802,54.634,52292713.3333,8016465,58,0,-8,-1,0,944,935,20,13,0,0,42886,0,094802,54.634,52292713.3333,8016465,58,0,-8,-82,0,927,936,110,103,0,0,42902,0,094802,54.634,52292713.3333,8016465,58,0,-8,-109,0,932,941,170,163,0,0,42914,0,094802,54.634,52292713.3333,8016465,58,0,-8,-82,0,940,939,200,193,0,0,42918,0,094803,56.6712,52292813.3333,8016301.6667,58,0,-8,-1,0,933,939,4,253,0,0,42930,0,094803,56.6712,52292813.3333,8016301.6667,58,0,-8,-1,0,931,932,49,42,0,0,42938,0,094803,56.6712,52292813.3333,8016301.6667,58,0,-4,-55,0,935,933,94,87,0,0,42946,0,094803,56.6712,52292813.3333,8016301.6667,58,0,-4,-1,0,931,937,123,117,0,0,42950,0,0

    20 94803,56.6712,52292813.3333,8016301.6667,58,0,-4,-55,0,936,936,183,176,0,0,42962,0,0

    Diese Daten sind als ”Rohdaten” des Fahrzeugs zu verstehen, die nicht direkt übernommenwerden können. Aus diesem Grund müssen sie (teilweise) noch mit einem Normierungsfaktorumgerechnet werden (Tabelle 4.2). In Zeile 11 der CSV-Datei befindet sich das Fahrzeug somitauf Breitengrad 52.2927133333 und Längengrad 8.016465. Seine momentane Geschwindigkeit(Tachosignal) liegt bei 58 km/h.

    19

  • 4 Aufzeichnung von Fahrzeugdaten

    Position Bedeutung1 GPS-Zeit (Stunde,Sekunde,Minute)2 GPS-Geschwindigkeit (km/h)3 GPS-Breitengrad4 GPS-Längengrad5 Fahrzeuggeschwindigkeit (Tachosignal,km/h)6 7 Lenkwinkelsignal8 Gierrate9

    10 Raddrehzahl (linkes Vorderrad)11 Raddrehzahl (rechtes Vorderrad)12 Rad-Impuls-Zähler (linkes Vorderrad)13 Rad-Impuls-Zähler (rechtes Vorderrad)14 Blinker (links)15 Blinker (rechts)16 CAN-Timer17 Abblendlicht18 Rückwärtsgang

    Tabelle 4.1: Aufbau der Transferstruktur

    Mit dem CAN-Timer (16. Stelle) kann die Gültigkeitsdauer eines Datensatzes berechnen wer-den. Dieser zählt jeden Takt des CAN-Busses von 0 bis 65535. Nach 65535 wird wieder von 0an gezählt (Überlauf). Durch Bildung der Differenz zwischen aktuellem und vorherigen CAN-Timer-Wert (∆CANTimer) und anschließender Multiplikation mit der Dauer eines Taktes(7.5ms), lässt sich die Datensatz-Gültigkeitsdauer berechnen. Diese wird für die Ermittlungeiner zurückgelegten Wegstrecke benötigt (Kapitel 7).

    Bedeutung Normierungsfaktor MaßeinheitGPS-Breitengrad 1000000−1 GradGPS-Längengrad 1000000−1 Grad

    Gierrate 100−1 Grad/SekundeRaddrehzahl (linkes Vorderrad) 2−1 Umdrehungen/MinuteRaddrehzahl (rechtes Vorderrad) 2−1 Umdrehungen/Minute

    Tabelle 4.2: Normierungsfaktoren der Transferstruktur

    20

  • 5 Digitale Straßenkarten

    5.1 Geographic Data Files (GDF)

    GDF ist ein Standard für den Austausch von digitalen Karten in Europa. In dieser Arbeit wur-den Kartensätze (hauptsächlich aus dem Raum Osnabrück) der Firma TeleAtlas genutzt, dieim Format ”GDF ASCII Sequential” vorlagen. Ein anderer großer Anbieter ist ”Navtech”.

    Eine sehr ausführliche Beschreibung des Formats (ca. 480 Seiten) ist bei ERTICO (1995)zu erhalten. Jeder der zehn Teile dieser Dokumentation beschäftigt sich mit einem eigenenThema:

    • Introduction - Ziele, Definitionen von grundlegenden Fachbegriffen

    • General Data Model - Entwicklungsgeschichte, GDF-Struktur, NIAM-Diagramm

    • Feature Catalogue - Definition von GDF-Objekten (Road Element, Road, Railway Ele-ment, etc.)

    • Attribute Catalogue - Attribute der Objekte

    • Relationship Catalogue - Beziehungen zwischen den Objekten

    • Feature Representation - Darstellungsebenen (Ebene 0 bis 2)

    • Quality Description Specification - Qualitätsmessung der GDF-Daten

    • Global Data Catalogue - Geodätisches Datum, Projektionsmethoden

    • GDF Logical Data Structures - Beschreibung von Datenstrukturen (Elemente von Ob-jekten, elementare Datentypen)

    • Media Record Specifications - Zum Lesen von GDF-Dateien benötigte Informationenüber Datensätze/-felder

    21

  • 5 Digitale Straßenkarten

    5.1.1 GDF-Parser

    Bereits zu Beginn stand ein Parser für GDF-AS-Dateien zur Verfügung. Dieser wurde vonDipl.-Inform. (FH) Gerrit Hartbrod entwickelt (Hartbrod (2003)) und ermöglicht das automa-tische Importieren von Daten aus GDF in eine objektrelationale GeoDatenbank (PostgreSQL).Logische Strukturen und Terminologien des GDF-Formats wurden bei der Überführung in dasDatenbanksystem beibehalten. Hierbei wurde zunächst noch kein PostGIS genutzt. Die Koor-dinaten von GDF-Objekte sind als einfache Floats angelegt (in geographische Koordinaten).Abbildung 5.2 bis 5.3 sollen an dieser Stelle exemplarisch die Überführung verdeutlichen.

    Grundsätzlich ist zwischen den Formaten GDF ASCII Sequential (GDF-AS) und GDF ASCIIRelational (GDF-AR) zu unterscheiden. Beim relationalen Format sind die Objekte eines Typs(Nodes, Edges, Faces, etc.) in einer separaten Datei abgelegt. In der sequentielle Ausführungbefinden sich diese in einer einzigen Textdatei. Nachfolgender Ausschnitt stammt aus einergenutzten GDF-AS-Datei:

    1 251029002067 189480 5 0251029002068 189481 5 0251029002069 189482 5 0251029002070 189483 5 0251029002071 189484 5 0251029002072 189485 5 0251029116653 189486 5 0251029116763 189487 5 0251029116774 189488 5 0

    10 251029116787 189489 5 0251029346069 189490 5 0251029346090 189491 5 024 29003955 29003840 29003841 29000005 29000003 2 024 29003957 29003842 29003843 29000003 29000180 2 024 29003959 29003844 29003845 29000006 29000004 2 024 29003960 29003844 29003846 29000004 29000213 2 024 29003961 29003846 29003847 29000004 29000005 2 024 29003962 29003847 29003845 29000004 29000120 2 024 29003963 660736 29003841 29003847 29000005 29000124 2 0

    20 24 29003964 660737 29003846 29003840 29000005 29040158 2 024 29003965 290038451028000549 29000006 29000125 2 024 29003966 1028000548 29003844 29000006 29000216 2 024 29003967 660738 29003848 29003849 29000007 29000012 2 024 29003968 660739 29003851 29003849 29000270 29000007 2 024 29003969 660740 29003850 29003851 29039875 29000007 2 024 29003970 660741 29003852 29003850 29039916 29000007 2 0

    Die ersten beiden Bytes eines Datensatzes (in diesem Fall ein ”Data Record”) beginnen miteinem Record Type Code. ”Edge Records” haben hierfür die 24 und ”New Node Records”die 25. In den Abbildungen 5.2 und 5.1 ist der jeweilige Aufbau und Ihre Beziehungen un-tereinander zu sehen. So zeigt zum Beispiel die FromNodeID/ToNodeID eines Edge Records

    22

  • 5 Digitale Straßenkarten

    (Kante) auf jeweils einer NodeID eines New Node Records (Knoten). Auf dieser Weise ist derAnfangs- und Endknoten einer gerichteten Kante gegeben.

    Abbildung 5.1: Beziehung zwischen Data Records

    Abbildung 5.2: GDF-Data-Record

    Nach dem Lesen der Records werden die Daten vom GDF-Parser in entsprechende Tabellenabgelegt. Die Tabellen (zu dem obigen Beispiel) sind in Abbildung 5.3 als ER-Modell dargestellt.

    Ursprünglich wurde der Parser im Zusammenhang mit dem in Kapitel 4 erwähnten Projekt”Predictive Light Control” entwickelt. Die Datenbank soll dabei die nötigen Straßeninforma-tionen (Straßenkrümmung, Straßenbreite, etc.) bereitstellen. Innerhalb dieser Arbeit sind, mitder Fahrdatenanalyse (Geschwindigkeitsüberschreitungen, Fahrverhalten, Einhaltung der er-laubten Fahrtrichtungen, etc.), weitere Anwendungsfelder untersucht worden. Dieses zeigt,dass eine GeoDatenbank ein universelles Werkzeug für viele Problemstellungen darstellt.

    23

  • 5 Digitale Straßenkarten

    Abbildung 5.3: Entity Relationship Model (GDF - Level 0)

    5.1.2 Darstellungsebenen

    Die Geographic Data Files nutzen ein dreistufiges Ebenenmodel (Ebene 0 bis 2). Auf jederhöheren Ebene steigt der Abstraktionsgrad bezüglich der realen Welt.

    24

  • 5 Digitale Straßenkarten

    Level 0: Ebener Graph

    Ebene 0 stellt eine reine Geometrie-Ebene dar, die als planarer Graph zu verstehen ist (Abbil-dung 5.4). Es existieren gerichtete Kanten (Edges), Knoten (Nodes) und Flächen (Faces). Indiesem ebenen Graph dürfen keine zwei verschiedenen Knoten oder Kanten die selbe Positionbesitzen. Um Krümmungsverläufe von Kanten zu approximieren, werden zwischen den zweiKnoten einer Kante sogenannte ”Intermediate Points” (Zwischenpunkte) gesetzt.

    Wichtig ist, dass auf dieser Schicht noch nicht entschieden werden kann, was eine bestimmteKante darstellen soll. Alle Kanten sind hier noch als gleichwertig anzusehen.

    Abbildung 5.4: Darstellung in Level 0

    Level 1: Simple Features

    Auf dieser Ebene erhalten die Elemente aus Ebene 0 einen Bezug zur realen Welt (Abbildung5.5). Kanten können so beispielsweise Straßen, Flüsse oder Bahnstrecken sein. Anstatt Edges,Nodes und Faces werden hier Line Feature, Point Feature und Area Feature dargestellt. Ihregemeinsame Bezeichnung ist Simple Feature.

    Für die Beziehung zwischen Ebene 0 und Ebene 1 gilt:

    • Jeder Point Feature korrespondiert zu einem Node

    25

  • 5 Digitale Straßenkarten

    • Ein Node wird durch keinem, einem oder mehrere Point Features dargestellt

    • Jedes Line Feature korrespondiert zu einem oder mehreren Edges

    • Ein Edge wird durch keinem, einem oder mehrere Line Features dargestellt

    • Jedes Area Feature korrespondiert zu einem oder mehrere Faces

    In Tabelle 5.1 sind Beispiele welche ”Objekte der realen Welt” (Feature Class) ein Line-/Point-/Area-Feature sein können. Darüber hinaus werden diese realen Objekte in ”FeatureThemes” eingeteilt (Tabelle 5.2).

    Feature Feature Class BedeutungLine Feature Road Element Ein Straßenzug (bzw. ein Teilstück)Point Feature Junction Verbindungspunkte zweier Road ElementsArea Feature Order-8-Area Gemeindefläche

    Tabelle 5.1: Beispiel für Simple Features

    Abbildung 5.5: Darstellung in Level 1

    26

  • 5 Digitale Straßenkarten

    Feature Theme Feature ClassAdministrative Area Country

    Order 1 Area - Order 9 AreaCentre of Administrative Area

    Boundary JunctionBoundary Element

    Settlements Built up AreaCentre of Settlement

    Roads and Ferries Address Area Boundary ElementAddress AreaRoad Element

    JunctionEnclosed Traffic Area

    Ferry ElementRoad

    IntersectionFreeway Exit

    Centre of Freeway ExitRailways Railway Element

    Railway Element JunctionWaterways Waterway Junction

    Water AreaWater Line Element

    Road Furniture SignpostServices Airport

    Hotel or MotelParking AreaPetrol Station

    Railway StationRest AreaRestaurant

    Regions Free PortPark

    IslandBrunnels Brunnel

    Tabelle 5.2: Erfasste Feature-Arten bei TeleAtlas (Walter (1996))

    27

  • 5 Digitale Straßenkarten

    Level 2: Complex Features

    Die Simple Features aus Ebene 1 können in Level 2 zu Complex Features zusammengefasstwerden (Abbildung 5.6). So kann eine ”Intersection” (Kreuzungspunkt) die Zusammenle-gung von Road Elements und Junctions der vorherigen Ebene sein. Diese Sicht reicht füreine Verkehrsführung auf einem On-Board-Display in Fahrzeugen aus (Walter (1996)).

    Aufgrund der Vereinfachung hat diese Ebene aber keine genaue geometrischen Darstellung.Auch Informationen, wie die erlaubt Fahrtrichtung, gehen durch Verschmelzung mehrere Sim-ple Features verloren. Innerhalb dieser Arbeit war diese Schicht, aus den genannten Gründen,nicht relevant.

    Abbildung 5.6: Darstellung in Level 2

    5.1.3 Attributkonzept

    Mit Attributen lassen sich Eigenschaft zu den Features (Straßenbreite, Straßenname, Haus-nummern, etc.) hinzufügen. Durch Segmentierung (bei linienförmigen Features) kann einBereich angegeben werden, innerhalb dessen ein Attribut gültig ist. Hierzu stehen zu jedemAttribut die Werte ”From Position” und ”To Position” zur Verfügung. In dem Beispiel aus Ab-bildung 5.7 und Tabelle 5.3 soll es sich um eine Straße mit dem Namen ”Parkstraße” handeln.Die Parkstraße ist, außer an einer Verengung auf 8 m, überall 15 m breit.

    28

  • 5 Digitale Straßenkarten

    Abbildung 5.7: Segmentieres Attribut

    From Position To Position Straßenbreite Straßenname0 220 15

    220 220 8220 400 15

    0 400 Parkstraße

    Tabelle 5.3: Segmentieres Attribut

    5.1.4 Genauigkeit der Realitätsabbildung

    Ein wichtiges Kriterium für die Güte der GPS-Daten ist die Genauigkeit, mit der die Realitätabgebildet wird. Dieses ist auch für das Map-Matching der Fahrzeugposition zur digitalenKarte von großer Bedeutung. Bei einer (relativ) genauen DGPS-Messung ist ein Map-Matchingmit exakten Karten sicherlich einfacher, als mit ungenauen.

    Nach Czommer (2000) ist die GDF-Vorschrift, dass Kantenzüge innerhalb der Straßenbegren-zungen liegen, erfüllt. Bei den in dieser Arbeit vorhandenen Daten von TeleAtlas, weichendie Straßenvektoren nicht mehr als 1/4 der Straßenbreite von der Straßenmitte ab. Die Punkt-genauigkeit kann (in Ballungsgebieten) mit ca. 3 m angenommen werden. Zudem lässt sichsagen, dass sich die Länge eines realen Straßenteilstücks (b) höchstens um 1% vom approx-imierten Kurventeilstück (s) (mit Zwischenpunkten) unterscheidet. Dieses resultiert aus derBedingung, dass die Richtungsänderung zweier Intermediate Points höchstens 15◦ betragendarf.

    29

  • 5 Digitale Straßenkarten

    Abbildung 5.8: Digitalisierung von Kurven

    5.2 Datenbankmanagementsystem (DBMS)

    5.2.1 Begriffserklärung

    Nach Heuer und Saake (2000) ist eine ”Datenbank” (DB) eine Sammlung loser Daten. ZurDatenbank gehören Nutzer- und Metadaten. Metadaten können Strukturbeschreibungen oderIntegritätsbedingungen sein. Die Art der Datenhaltung spielt beim Begriff ”Datenbank” keineRolle. Als ”Datenbankmanagementsystem” (DBMS) werden alle Softwaremodule bezeich-net, die zur Datenverwaltung notwendig sind. Anwendungen, die auf einem DBMS aufsetzen,heißen ”Datenbankanwendung” (DBA). Bei einer Kombination von DBMS und DBA ist esein ”Datenbanksystem” (DBS).

    Für eine Datenbank sind verschiedene Modelle zu unterscheiden:

    • Hierarchische Datenbanken - Datensätze sind in einer Baumstruktur gespeichert(70er Jahre)

    • Vernetzte Datenbanken - Datensätze sind im gerichteten Graph beliebig verknüpfbar(70er Jahre)

    • Relationale Datenbanken - Tabellen-artige Organisation der Datensätze(seit ca. 1980)

    • Objektorientierte Datenbanken - Datensätze ohne starre Struktur und Erweiterung vonDatentypen möglich

    • Objektrelationale Datenbanken - Kombination von relationalen und objektorientiertenEigenschaften

    PostgreSQL ist ein objektrelationales Datenbankmanagementsystem.

    30

  • 5 Digitale Straßenkarten

    5.2.2 PostgreSQL 7.4.2

    An der Universität von Kalifornien (Berkeley) wurde, betreut von Professor Michael Stone-braker, das Datenbankmanagementsystem ”Ingres” ab 1977 entwickelt. Der Nachfolger vonIngres hieß ”Postgres” - Post Ingres (1986). 1994 begannen freiwillige Helfer, basierendauf dem originalen Postgres-Berkeley-Code, die Weiterentwicklung als Open-Source-Projektfortzuführen. Zu diesem Zeitpunkt fand eine Namensänderung von Postgres in ”Postgres95”statt. Kurz darauf (1996) wurde Postgres95 nochmals, mit der Einführung der AbfragespracheSQL (Structured Query Language), in ”PostgreSQL” umbenannt.

    Besonders attraktiv ist dieses Datenbankmanagementsystem durch seine freie Verfügbarkeit(BSD-Lizenz). So ist es, für kommerzielle wie für nicht kommerzielle Anwendungen, kosten-los nutzbar. Bei vielen Linux-Distributionen gehört es deshalb schon zur Standardausstattung.Alternativ ist ein Download von www.postgresql.org möglich.

    Mit der Erfüllung des ANSI SQL-92 Standards bietet PostgreSQL zahlreiche Möglichkei-ten.

    • Transaktionssicherung (commit/rollback)

    • Verschachtelte Abfragen

    • Views

    • Trigger

    • Prozedurale Abfrage-/Programmiersprache (PL/pgSQL)

    • Benutzerdefinierte Typen

    In dieser Arbeit wurde PostgreSQL in der Version 7.4.2 genutzt. Mit der geographischenErweiterung ”PostGIS” bildete PostgreSQL das DBMS für die GeoDatenbank. Für den Daten-bankzugriff steht das Kommandozeilen-Tool ”psql” zur Verfügung. Eine wesentliche Arbeits-erleichterung bringt aber der Einsatz von graphische Frontends wie ”pgAccess” (Abbildung5.9).

    5.2.3 PostGIS 0.8

    PostGIS wird von der kanadischen Refractions Research Inc. entwickelt und ist ebenso freiverfügbar wie PostgreSQL. Bei PostGIS (hier in Version 0.8) handelt es sich um eine PostgreSQL-Erweiterung, welche die Verarbeitung von geometrischen Objekten ermöglicht. Auf dieserWeise wird die Datenbank zu einer räumlichen Datenbank für ein ”Geographic InformationSystem” (GIS). Es hat sich eingebürgert jedes System, dass geographische Daten erfassen und

    31

  • 5 Digitale Straßenkarten

    Abbildung 5.9: psql, pgAccess

    bearbeitet kann, als GIS (auch ”Geo-Informationssystem”) zu bezeichnen. Eine genaue Defi-nition des Begriffs ist bei Bill und Fritsch (1997) zu entnehmen:

    ”Ein Geo-Informationssystem ist ein rechnergestütztes System, das aus Hardware, Software,Daten und Anwendungen besteht. Mit ihn können raumbezogene Daten digital erfasst undredigiert, gespeichert und reorganisiert, modelliert und analysiert sowie alphanumerisch undgraphisch präsentiert werden.”

    Geometrische Objekte

    Während der Entwicklung von PostGIS wurde die ”Simple Features Specification for SQL”des Open GIS Consortium (OGC) eingehalten. Dieses ist eine Spezifikation welche festlegt,wie Funktionen und geometrische Objekte für räumliche Datenbanken auszusehen haben. Sosind geographische Daten als Tabellen mit je einem Tupel pro geometrisches Objekt abgelegt.Jedes dieser Objekte verweist dabei auf ein räumliches Referenzsystem (spatial_ref_sys).

    In Tabelle 5.4 sind alle möglichen instantiierbaren Objekttypen und ihre Darstellung in SQL

    32

  • 5 Digitale Straßenkarten

    (als ”Well-known Text”) aufgeführt. Es gibt Punkte, Linien und Polygone. Die Linien undPolygone ergeben sich jeweils aus dem Verbinden der angegebenen Koordinaten in der angegebe-nen Reihenfolge. Soll ein Objekt mehrere einfache Elemente enthalten, ist dieses mit Multi-Point, MultiLineString, MultiPolygon oder GeomCollection möglich.

    Geometrie SQL-DarstellungPoint ’POINT(10 10)’

    MultiPoint ’MULTIPOINT(5 5, 10 10)’LineString ’LINESTRING(5 5, 10 10, 15 15)’

    MultiLineString ’MULTILINESTRING((5 5, 10 10, 15 15),(20 20, 25 25, 30 30))’Polygon ’POLYGON(5 5, 10 10, 15 15, 5 5)’

    MultiPolygon ’MULTIPOLYGON((5 5, 10 10, 15 15, 5 5),(20 20, 25 25, 30 30, 35 35))’GeomCollection ’GEOMETRYCOLLECTION(POINT(10 10),POLYGON(5 5, 10 10, 15 15, 5 5))’

    Tabelle 5.4: Räumliche Objekttypen in SQL

    Die Eintragungen in der Referenzsystem-Tabelle, für das geographische KoordinatensystemWGS-84 und der entsprechenden UTM-Projektion (siehe Kapitel 2), sind aus nachfolgen-dem Listing ersichtlich. Jeder Eintrag ist hierbei eindeutig durch das Attribut ”srid” (Spatial-Reference-Identifier) festgelegt.

    1 -- SPATIAL_REF_SYS

    CREATE TABLE spatial_ref_sys (srid integer not null primary key,auth_name varchar(256),auth_srid integer,srtext varchar(2048),proj4text varchar(2048)

    );10

    ---- GCS WGS 1984--INSERT INTO "spatial_ref_sys" (srid, auth_name, auth_srid, srtext, proj4text)VALUES(4326,’EPSG’,4326,’GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]’,’+proj=longlat +ellps=WGS84 +datum=WGS84’);

    20

    ---- WGS 1984 UTM Zone 23N

    33

  • 5 Digitale Straßenkarten

    --INSERT INTO "spatial_ref_sys" (srid, auth_name, auth_srid, srtext, proj4text)VALUES(32623,’EPSG’,32623,’PROJCS["WGS_1984_UTM_Zone_23N",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Transverse_Mercator

    30 "],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",-45],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0],UNIT["Meter",1]]’,’+proj=utm +zone=23 +ellps=WGS84 +datum=WGS84 +units=m’);

    Mit der Funktion ”transform(geometry,integer)” kann zwischen verschiedenen Koordinaten-systemen umgerechnet werden. Das Attribut ”proj4text” beinhaltet dazu die dafür notwendi-gen Informationen, die von der Bibliothek ”proj4” gebraucht werden. Proj4 wird auch vonThuban für seine Projektionen genutzt.

    Eine Tabelle mit räumlichen Informationen zu erzeugen erfolgt in zwei Schritten.Zuerst wird eine normale nicht-räumliche Tabelle erzeugt. Danach wird das räumliche Attributdurch die PostGIS-Funktion ”AddGeometryColumn” hinzugefügt. Soll auf keinem Referenz-system bezug genommen werden, muss srid auf -1 gesetzt werden. Mit dem letzten Parametervon AddGeometryColumn wird die räumliche Dimension der Objekte gewählt.

    1 CREATE TABLE road_segments (id INTEGER NOT NULL PRIMARY KEY,name VARCHAR(64),

    );SELECT AddGeometryColumn(’my_database’,’road_segments’,’centerline’,’-1’,’LINESTRING’,’2’);

    INSERT INTO road_segments VALUES(1, ’Main Street’,10 GeometryFromText(’LINESTRING( 44 31, 56 34, 70 38 )’ ,-1)

    Installation

    Um die volle Funktionalität der räumlichen Erweiterung für eine Datenbank zu nutzen, müssen(nach Installation der Bibliotheken ”proj4” und ”geos”) hierfür die Dateien ”postgis.sql” und”spatial_ref_sys.sql” ausgeführt werden. Dieses wird mit dem Kommandozeilen-Tool psqldurchgeführt. Nachfolgend sind die wichtigsten Schritte aufgeführt, die im Quellverzeichnisvon PostgreSQL auszuführen sind:

    cd contribgunzip postgis-0.8.0.tar.gztar xvf postgis-0.8.0.tar

    34

  • 5 Digitale Straßenkarten

    cd postgis-0.8.0makemake installcreatelang plpgsql psql -d -f postgis.sqlpsql -d -f spatial_ref_sys.sql

    Wie schon oben erwähnt, werden zwei zusätzliche Bibliotheken gebraucht:

    • proj4 - wird benötigt um die transform()-Funktion auszuführen. Hiermit können Projek-tionen ausgeführt werden (geographische Koordinaten UTM)

    • geos - benötigt für touches(), contains(), disjoint(), intersection(), union(), buffer()

    5.3 Geographische Informationen in der Datenbank

    Die Straßeninformationen aus der GeoDatenbank und die Fahrzeugdaten mussten für den Geo-betrachter Thuban aufbereitet werden. Hierzu war es notwendig, aus der vorhandenen Daten-bank (siehe 5.1.1) neue Tabellen mit geometrischen PostGIS-Objekten anzulegen. Die Objekteaus diesen Tabellen können dann direkt von Thuban dargestellt werden (siehe auch Kapitel 6).Ziel war es eine ähnliche Darstellung in Thuban zu ermöglichen, wie es auch bei gängigenViewern möglich ist, die direkt die GDF-Dateien einlesen können (Abbildung 5.10).

    Abbildung 5.10: Darstellung einer GDF-Datei (TeleAtlas GDF Viewer)

    35

  • 5 Digitale Straßenkarten

    5.3.1 Fahrstrecke als Points

    Abbildung 5.11: Fahrstrecke als Menge von Punkten

    Die gefahrene Strecke des Testfahrzeugs wurde als eine Menge von Punkten in der Ebenedargestellt (Abbildung 5.11). Je nach Methode der Positionsbestimmung ergibt sich die Punkt-position anders. Bei reiner Bestimmung über GPS wurde immer dann ein neuer Punkt gesetzt,wenn aus der CSV-Datei mit den Fahrzeugdaten (Kapitel 4) eine neu GPS-Position zur Verfü-gung stand. Da GPS-Daten mit 1 Hz empfangen wurden, war dieses (bei Fahrzeugbewegung)jede Sekunde möglich. Wurde eine Kombination aus GPS und Radsensoren (eventuell mitGierrate) gewählt, so wurde ein Punkt bei jeder Änderung der GPS-Zeit gesetzt. Die GPS-Zeitist der erste Wert der Transferstruktur (siehe 4.4).

    Aus Tabelle 5.5 ist ersichtlich, dass zudem weitere Informationen zu jeder Fahrzeugpositionabgelegt wurden.

    Attribut Datentyp Bedeutunggid integer Eindeutiger Wert je Punkt (für Thuban)

    roadelement_gid integer gid des zugehörigen Road Elements nach Map Matchingroadelement_pos float Position auf entsprechendes Road Element [m]

    speed integer Gefahrene Geschwindigkeit [km/h]traffic_flow_error integer Einhaltung der erlaubten Fahrtrichtung

    speed_error integer Übertretung der Geschwindigkeitsbegrenzung [km/h]sidestep integer Festgestellte Überholvorgänge

    distance_wheelrotation float Durch Radumdrehung berechnete Wegstrecke [m]distance_impulse float Durch Rad-Impuls-Zähler berechnete Wegstrecke [m]distance_speed float Durch Geschwindigkeit berechnete Wegstrecke [m]

    deflection_wheelrotation float Durch Radumdrehung berechnete Krümmung [m−1]deflection_impulse float Durch Rad-Impuls-Zähler berechnete Krümmung [m−1]

    direction_wheelrotation float Durch Radumdrehung berechnete Richtungsänderung [◦]direction_impulse float Durch Rad-Impuls-Zähler berechnete Richtungsänderung [◦]

    geom point Punkt als geometrisches Objekt

    Tabelle 5.5: Aufbau der Tabelle ”tracking_point”

    36

  • 5 Digitale Straßenkarten

    5.3.2 Straßenverbindungen als Points

    Die ”Junctions” sind Verbindungspunkte von ”Road Elements”. Sie werden im GDF eindeutigdurch eine ”point_id” festgelegt. Durch die Attribute ”from_point” und ”to_point” (des RoadElements) wird somit die Orientierung eines Straßenelements vorgegeben. Dieses ist zumBeispiel für Auswertungen hinsichtlich der erlaubten Fahrtrichtung von Bedeutung.

    Attribut Datentyp Bedeutunggid integer Eindeutiger Wert je Punkt (für Thuban)

    point_id integer ID aus GDFgeom point Punkt als geometrisches Objekt

    Tabelle 5.6: Aufbau der Tabelle ”junction_point”

    Abbildung 5.12: Straßenverbindungen als Menge von Punkten

    5.3.3 Straßennetz als Multilinestrings

    Alle Kanten zwischen zwei ”Junctions”, die zu einem ”Road Element” gehören, bilden einMultilinestring. Auch sie hat in GDF eine eindeutige ID (”life_id”). Es ist es möglich, dassdie Orientierung eines Road Elements eine andere ist, als die der Kante. In diesem Fall müssendie Koordinaten der Kante in Richtung des Road Elements gedreht werden.

    37

  • 5 Digitale Straßenkarten

    Attribut Datentyp Bedeutunggid integer Eindeutiger Wert je Punkt (für Thuban)

    life_id integer ID aus GDFfrom_point_id integer Anfangspunkt (”Junction”)

    to_point_id integer Endpunkt (”Junction”)length float Länge des Road Elements [m]

    name_attr varchar(50) Straßennametraffic_flow integer Erlaubte Fahrtrichtung

    geom multilinestring Linienzug als geometrisches Objekt

    Tabelle 5.7: Aufbau der Tabelle ”roadelement_multilinestring”

    Abbildung 5.14 verdeutlicht den Zusammenhang zwischen Junction und Road Element.Hier wurden die Linienzüge (Abbildung 5.13) und Punkte (Abbildung 5.12) übereinandergelegt. Eine Junction muss dabei nicht unbedingt, wie hier dargestellt, auf einer Kreuzungliegen. Die GDF-Katensätze von TeleAtlas benutzen nur ein segmentiertes Attribut , dass aufder ganzen Länge gültig ist, je Road Element. Bei Änderung einer Straßeneigenschaft, zwi-schen zwei Kreuzungen, ist es also notwendig die Straße in mehrere kleinere Straßenelementezu unterteilen. Bei dieser Unterteilung werden so auch Junctions zwischen Kreuzungspunktenangelegt.

    Abbildung 5.13: Straßen als Linienzüge

    5.3.4 Stadtgrenze als Polygon

    Zur Modellierung von geschlossenen geometrischen Flächen gibt es in GDF die ”Area Fea-tures”. Leider fehlte in der vorhandenen GeoDatenbank der Bezug zwischen den Area Fea-

    38

  • 5 Digitale Straßenkarten

    Abbildung 5.14: Straßenverbindungen mit Straßen

    tures (Ebene 1) und den dazugehörigen Elementen aus Ebene 0. So war es nicht möglich,aus den Area Features die Stadtgrenze zu bilden (um innerhalb dessen eine erlaubt Höchst-geschwindigkeit festzulegen).

    Eine andere Möglichkeit bestand, in dem direkt auf das Line Feature ”Boundary Element”zugegriffen wurde. Dieses ist die kleinste Einheit, um eine ”Administrative Area” zu be-grenzen. Die höchste Ebene wird dabei ”Country” genannt. Unterabteilungen davon sind die”Order-i Areas”. ”i” und deren genaue Bedeutung ist für jedes Land unterschiedlich (Tabelle5.8). In den vorhandenen Kartensätzen für Osnabrück bildeten alle Boundary Elements in etwadie Stadtgrenze.

    order-n Bedeutung1 Bundesland2 Regierungsbezirke3 Kreis8 Gemeinde9 Ortsteil

    Tabelle 5.8: ”Order-i Area” - Typen für Deutschland

    Da es sich um eine geschlossene Fläche handelt, bietet sich das geometrische Objekt ”Poly-gon” an. Zunächst wurde eine Tabelle ”boundaryelement_multilinestring” angelegt, in der alle

    39

  • 5 Digitale Straßenkarten

    Boundary Elements vorhandenen waren. Aus dieser wurde hiernach die Tabelle ”speedrestric-tions_polygon” erstellt.

    Attribut Datentyp Bedeutunggid integer Eindeutiger Wert je Punkt (für Thuban)

    life_id integer ID aus GDFfrom_point_id integer Anfangspunkt (”Junction”)

    to_point_id integer Endpunkt (”Junction”)length float Länge des Boundary Elements [m]

    name_attr varchar(50) geom multilinestring Linienzug als geometrisches Objekt

    Tabelle 5.9: Aufbau der Tabelle ”boundaryelement_multilinestring”

    Attribut Datentyp Bedeutunggid integer Eindeutiger Wert je Punkt (für Thuban)

    speed integer Erlaubte Höchstgeschwindigkeit [km/h]geom polygon Geschlossene Fläche als geometrisches Objekt

    Tabelle 5.10: Aufbau der Tabelle ”speedrestrictions_polygon”

    Abbildung 5.15: Stadtgrenze von Osnabrück als Polygon

    40

  • 6 Betrachter für digitale Karten

    6.1 Thuban 1.0.0

    Thuban ist ein in Python und C++ geschriebener interaktiver Viewer für geographische Da-ten. Herausgegeben wird dieser unter der GNU GPL als Freie Software von der IntevationGmbH. Neben Python wird die Bibliothek wxWindows genutzt, so dass es plattformunab-hängig auf Linux und Windows ausgeführt werden kann. Zudem ist dieser Betrachter dazugeeignet Werte von Attributen zu visualisieren, welche zusätzlich zur Geometrie angelegt wur-den. Die Objekte werden dabei anders farbig (je nach Wert) dargestellt.

    Abbildung 6.1: Geodatenbetrachter ”Thuban”

    6.1.1 Schnittstellen für Erweiterungen

    Ein großer Vorteil von Thuban ist seine leichte Erweiterbarkeit. Somit kann es als Basis fürweiterer GIS-Applikationen dienen.

    Die Schnittstelle, zur Entwicklung von Add-Ons, steht in Form der Klasse ”context” zur Ver-fügung. Über eine Instanz dieser Klasse sind Instanzen der Klassen ”application”, ”session”und ”mainwindow” erreichbar. Mit ihnen ist es möglich, auf alle wichtigen Komponenten vonThuban zugreifen zu können. Im Anhang ist hierzu ein kleines ”Hello World!”-Beispiel zufinden.

    41

  • 6 Betrachter für digitale Karten

    • context.application - wird nur benötigt, wenn eine Session geladen oder gesichert wer-den soll. (Thuban/UI/application.py im Thuban-Verzeichnis)

    • context.session - hiermit findet die Verbindung zur Datenbank statt. So liefert”context.session.DBConnections()” ein Array von Instanzen der KlassePostGISConnection. (Thuban/Model/session.py im Thuban-Verzeichnis)

    • context.mainwindow - ermöglicht, durch Aufruf von ”context.mainwindow.canvas.full_redraw()”,die aktuelle Karte neu zu zeichnen. (Thuban/UI/mainwindow.py im Thuban-Verzeichnis)

    6.1.2 Schnittstelle zur Datenbank

    Im Thuban-Verzeichnis ”Thuban/Model” befindet sich das Python-Modul ”postgisdb.py”.Hier gibt es eine Klasse mit Namen ”PostGISConnection”, über deren Methode ”cursor()”eine Cursor-Instanz für Datenbankzugriffe angefordert werden kann. Die Abfrage der Daten-bank gestaltet sich dann, mit gewohnten SQL-Befehlen, sehr einfach.

    1 # ******** DELETE ********db_execute = "DELETE FROM my_table"self.cursor.execute(db_execute)

    # ******** SELECT ********db_execute ="SELECT * from my_table"self.cursor.execute(db_execute)values = self.cursor.fetchall()

    10 # ******** INSERT ********db_execute = "INSERT into my_table (value) values (%d)" % (1)self.cursor.execute(db_execute)

    Sollen geometrische Objekten (aus einer Datenbank) in Thuban dargestellt werden, so müssendie Tabellen folgende Eigenschaften besitzen:

    • ”srid” muss den Wert -1 haben

    • Jede darzustellende Tabelle, mit geometrischen Informationen, muss ein eindeutiges At-tribut mit Namen ”gid’ besitzen (als ”integer”)

    • Thuban kann nur geometrische Objekte vom Typ Polygon, Multipolygon, Multilinestringund Point aus der Datenbank darstellen

    6.2 Erweiterung zur Fahrdatenauswertung

    Die in dieser Arbeit entwickelte Erweiterung für Thuban (”Data Analysis”) wurden in Pythongeschrieben. Für die graphische Oberfläche setzt Thuban auf wxWindows auf. In diesem Ab-schnitt wird daher zunächst auf Python/wxWindows eingegangen und hiernach auf die Er-weiterung.

    42

  • 6 Betrachter für digitale Karten

    6.2.1 Python 2.3.3 / wxWindows / wxPython

    Python 2.3.3

    Die Annahme, Python habe etwas mit einem Reptil zu tun, ist falsch. Tatsächlich ist der Namevon britischen Komikern - Monty Python’s Flying Circus - entliehen (von Löwis und Fischbeck(2001)). Im Gegensatz zu C ist Python keine kompilierte Sprache. Sie ist eine Interpreter-sprache, welche zur Laufzeit aus dem Quellcode einen Bytecode erzeugt. Dieser Bytecodeverzichtet auf Maschinencode und ist somit plattformunabhängig ausführbar. Ein ähnlichesVorgehen ist bei der Sprache Java wiederzufinden.

    Einige der Vorteile, bei Verwendung von Python, sind:

    • Plattformunabhängigkeit

    • Fehlertoleranter (im Gegensatz zu C-Programme)

    • Python besitzt einen einfachen Syntax

    • Klare Strukturen, die eingehalten werden müssen, erleichtern das spätere Lesen vonPython-Programmmen

    • Verbesserter Programmaufbau und einfache Wartung durch Unterstützung der objekt-orientierten Programmierung (OOP)

    • Integration von C-Modulen in Python-Programme möglich(Python selbst ist in C geschrieben)

    • Python ist Open Source

    Diese Gründe tragen dazu bei, dass sich Python bei der schnellen Prototypenentwicklung(Rapid Prototyping) großer Beliebtheit erfreut.

    wxWindows / wxPython

    An der Universität von Edinburgh wurde das kostenlose wxWindows entwickelt. Es han-delt sich hierbei um eine in C++ geschriebene Bibliothek zur Programmierung von graphis-chen Oberflächen. Der große Vorteil, bei Verwendung von wxWindows, liegt in seiner Unter-stützung für viele Plattformen. Eine einmal entwickelte Anwendung lässt sich so einfach aufWindows, Linux oder Mac portieren.

    Das von Robin Dunn entwickelte wxPython ist eine Sammlung von Pythonmodulen, dieein Ansprechen von wxWindows ermöglichen. Durch die ähnliche Programmarchitektur zuwxWindows kann deren Dokumentation ebenfalls verwendet werden.

    43

  • 6 Betrachter für digitale Karten

    Um einen ersten Einblick in die Möglichkeiten dieser Module zu erlangen, ist es sehr empfeh-lenswert die vorgefertigte Sammlung von Programmbeispielen anzusehen. Sie werden au-tomatisch bei der Installation von wxPython mit installiert.

    6.2.2 Erweiterung ”Data Analysis”

    Die Einbindung der Erweiterung ”Data Analysis” kann in Thuban auf zwei verschiedenenArten erfolgen.

    • Alle Dateien der Erweiterung werden in das Verzeichnis ”.thuban” kopiert, oder

    • Der Pfad zu den Dateien ist in der Systemvariable ’PYTHONPATH” eingetragen

    Bei beiden Methoden ist aber wichtig, dass die Datei ”thubanstart.py” vorhanden ist, da sienach Programmstart importiert wird. In ihr werden die Importe zu sämtliche Erweiterungenangegeben. Wurde alles erfolgreich ausgeführt, erscheint ein weiterer Menüpunkt in Thuban(”Fahrdaten”), über dem das Analyse-Modul (Abbildung 6.2) erreicht werden kann.

    Abbildung 6.2: Thuban-Erweiterung zur Fahrdatenauswertung

    Menüpunkte

    • File - Laden von Fahrzeug-CSV-Dateien

    • Analyze - MapMatching, Auswertung der Fahrtrichtung, Geschwindigkeitsüber-schreitungen und Überholvorgänge

    • Set - Setzen von Geschwindigkeitsbegrenzungen auf Straßen(teilstücken)

    • Show - Graphische Auswertung der Streckenlänge, Krümmung und Richtungsänderung

    • Report - Schreibe/Lesen von XML-Dateien mit Informationen über Fahrtrichtung, Ge-schwindigkeitsüberschreitungen und Überholvorgänge

    44

  • 6 Betrachter für digitale Karten

    Klassen

    Nach dem dreireihigen Architekturschema des ”Three-Tiers-Models” wurde auf die Trennungvon Benutzerschnittstelle, Logik der Anwendung und Datenhaltung geachtet. In der Klasse”Processing” findet die gesamte Steuerung der Anwendung statt. Für das Schreiben der XML-Dateien ist die Klasse ”XMLWriter” zuständig (Datenhaltung). Alle anderen Klassen sind demBereich ”Benutzerschnittstelle” zugeordnet.

    Die Klassen ”XMLWriter”, ”XMLViewer_Frame” und ”PythonSTC” entstammen aus Tutori-als, die für diese Arbeit angepasst wurden.

    Abbildung 6.3: Einfaches Klassendiagramm der Erweiterung

    45

  • 7 Fahrdatenauswertung

    In diesem Kapitel werden die Methoden und Resultate zur Fahranalyse vorgestellt, wobei Wertauf die mathematischen Zusammenhänge, Algorithmen und Ergebnisse gelegt wird.

    7.1 Verfügbare Fahrzeugdaten

    Als ”Odometer” werden die Sensoren des Anti-Blockier-Systems (ABS) bezeichnet. Signaledieser Sensoren können, zusammen mit einem Kreisel und/oder elektronischem Kompass,für Fahrzeugnavigationssysteme eingesetzt werden. Mit einem Kreisel können Richtungsän-derungen festgestellt werden. Der elektronische Kompass stellt die Orientierung zum magne-tischen Nordpol fest. In Tabelle 7.1 sind einige Systeme, mit ihren jeweiligen verwendetenSensoren, dargestellt (Czommer (2000)).

    Aus dieser Tabelle ist zu erkennen, dass hauptsächlich das Tachosignal (zur Weglängener-mittlung), der Kreisel (Richtungsänderung) und das GPS genutzt werden. Die in dieser Arbeitzu Verfügung gestandenen Fahrzeuginformationen werden im Folgenden erklärt. Alle Datenentstammen aus der Fahrzeug-CSV-Datei (Kapitel 4).

    Navigationssystem Radsensor Tacho Kompass Kreisel GPS KartenAlpine NVE-N055ZP X X X Navtech

    Becker TrafficStar X X X NavtechBlaupunkt Travel Pilot (RGN08) X X X TeleAtlas

    Clarin Nax 9400 E X X X TeleAtlasDelco Telepath 100 X X X EtakGPS Gear Autopilot X TeleAtlas

    Grundig Pilot System GPS-1 X X X NavtechMagneti Marelli Route Planer X X X Navtech

    Philips Carin 520 X X X NavtechPioneer Car-Navigation System X X X Navtech

    Pioneer GPS-X77 X EtakSharp ? X X Navtech

    Sony NVX-F160 X ?

    Tabelle 7.1: Navigationssysteme, Sensoren, Kartendaten

    46

  • 7 Fahrdatenauswertung

    7.1.1 GPS

    Dieses entspricht dem Standard-GPS (ohne SA), wie es schon in Kapitel 3 beschrieben wurde.Längen- und Breitengrade sind mit dem Normierungsfaktor 1000000−1 zu multiplizieren, umDezimalgrade zu erhalten (Kapitel 4).

    7.1.2 Tachosignal

    Die Fahrzeuggeschwindigkeit (in der Einheit km/h) kann direkt aus der CSV-Datei übernom-men werden. Es ist keine Normierung notwendig.

    Es ist möglich hieraus, in Verbindung mit dem CAN-Timer (Kapitel 4), eine Längenberech-nung der gefahrenen Wegstrecke durchzuführen:

    ∆s = Speed ·1000 m

    km

    3600 sh

    · ∆CANTimer · 0.0075s (7.1)

    [∆s] = m (7.2)

    [Speed] =km

    h(7.3)

    7.1.3 Radumdrehungen

    Von den linken und rechten Vorderrädern stand die Radumdrehung zur Verfügung. Die Berech-nung der Wegstrecke ergibt sich aus 7.4 und 7.5, nach der Multiplikation des Radumdrehungs-wertes aus der CSV-Datei mit dem Faktor 2−1. Für die beiden Räder wird ∆s jeweils getrenntermittelt.

    ∆sL =WheelRotationL · WheelRadiusL · 2π

    60 smin

    · ∆CANTimer · 0.0075s (7.4)

    ∆sR =WheelRotationR · WheelRadiusR · 2π

    60 smin

    · ∆CANTimer · 0.0075s (7.5)

    [∆sL] = m (7.6)

    [∆sR] = m (7.7)

    [WheelRotationL] = min−1 (7.8)

    [WheelRotationR] = min−1 (7.9)

    [WheelRadiusL] = m (7.10)

    [WheelRadiusR] = m (7.11)

    (7.12)

    47

  • 7 Fahrdatenauswertung

    WheelRadiusL und WheelRadiusR sind mit dem konstanten Wert 0.32945 m anzunehmen.

    7.1.4 Rad-Impuls-Zähler

    Beim Rad-Impuls-Zähler werden Impulse gezählt, die von einem rotierenden Zahnrad stam-men (Abbildung 7.1). Jedes dieser Zähne hat den gleichen Abstand, so dass durch die Anzahlder gezählten Impulse die zurückgelegte Wegstrecke berechnet werden kann. In dieser Arbeitsind es 96 Impulse pro ganzer Radumdrehung. Der Zähler beginnt bei 0. Wird 255 überschrit-ten, findet ein Überlauf statt. Auch hier wird die Strecke getrennt ermittelt. Gegenüber denbeiden vorherigen Methoden wird aber kein ∆CANTimer (Kapitel 4) benötigt.

    ∆sL =WheelRadiusL · 2π

    96· ∆Impulse (7.13)

    ∆sR =WheelRadiusR · 2π

    96· ∆Impulse (7.14)

    [∆sL] = m (7.15)

    [∆sR] = m (7.16)

    [WheelRadiusL] = m (7.17)

    [WheelRadiusR] = m (7.18)

    (7.19)

    Abbildung 7.1: Induktiver ABS-Sensor (Westbrook und Turner (1994))

    48

  • 7 Fahrdatenauswertung

    7.1.5 Gierrate

    Unter ”gieren” ist die Drehbewegung eines Fahrzeugs um seine Hochachse gemeint (Abbil-dung 7.2). Die ”Gierrate” (ω) ist somit die Geschwindigkeit dieser Drehung. Sie wird in denFahrzeugdaten als Grad pro Sekunde angegeben. Sein Normierungsfaktor hierfür ist 100−1.

    Abbildung 7.2: Drehbewegung an einem Fahrzeug (Jaschke (2002))

    7.2 Berechnungen aus Radsensoren

    Aus Czommer (2000) sind die Formeln 7.20 bis 7.28 zu entnehmen. Sie ermöglichen es, diegefahrene Wegstrecke ∆s, die Richtungsänderung ∆ϕ und die Krümmung κ aus den Sensor-daten der Vorderräder zu berechnen. Hierzu sind zwei Odometer notwendig (also mit Rad-Impuls-Zähler oder Radumdrehungen). ∆sL und ∆sR sind jeweils die Strecken aus 7.1.3 und7.1.4. Zusätzlich müssen noch die Parameter a (halbe Spurweite) und b (Radstand) angegebenwerden. Die Werte des Testfahrzeugs waren a = 0.785 m und b = 2.97 m. Rh ist hier derKrümmungsradius.

    γ =

    a2 · (∆s2L + ∆s2R)2(∆s2L − ∆s2R)2

    − (a2 + b2) (7.20)

    τ = a ·∆s2L + ∆s

    2R

    ∆s2L − ∆s2R(7.21)

    Rh =

    τ + γ falls ∆sL > ∆sR (Rechtskurven)

    τ − γ falls ∆sL < ∆sR (Linkskurven)unendlich falls ∆sL = ∆sR (keine Richtungsänderung)

    [Rh] = m (7.22)

    49

  • 7 Fahrdatenauswertung

    Abbildung 7.3: Wegelement, Richtungsänderung und Krümmung aus Odometern

    7.2.1 Wegelement

    ∆s =

    Rh · (∆s2L − ∆s2R)4 · a

    (7.23)

    [∆s] = m (7.24)

    Wenn κ = unendlich, dann gilt ∆s = ∆sL und ∆s = ∆sR.

    Abbildung 7.4: Wegelement aus Fahrzeugdaten (in Thuban)

    50

  • 7 Fahrdatenauswertung

    Abbildung 7.4 ist ein Beispiel der implementierten Wegelementberechnung/Darstellung inThuban. Auf der X-Achse sind die ”tracking_points” (siehe 5.3.1) - hier mit GPS ermittelt -und auf der Y-Achse die gefahrene Distanz eingezeichnet. Für eine genauere Analyse wurdeauch die Differenz zwischen den Distanzen von tracking_point zu tracking_point und denberechneten Wegstrecken dargestellt. Auffällig ist, dass die Werte aus dem Rad-Impuls-Zählerund der Radumdrehung sehr dicht zusammen liegen. Etwas abseits befindet sich im allge-meinen das Tachosignal (Abbildung 7.5).

    Abbildung 7.5: Vergleich der Wegelementberechnung aus Fahrzeugdaten (in Thuban)

    7.2.2 Krümmung

    κ =1

    Rh(7.25)

    [κ] = m−1 (7.26)

    Aus der Krümmung κ kann auf die Richtung, in der sich das Fahrzeug bewegt, geschlossenwerden. Ist κ < 0, so liegt eine Rechtskrümmung (konkav) vor. Eine Linkskrümmung (kon-vex) liegt vor, wenn κ > 0. Wenn Rh = unendlich, dann soll κ = 0 sein.

    51

  • 7 Fahrdatenauswertung

    Abbildung 7.6: Darstellung einer Testfahrt (in Thuban)

    Abbildung 7.7: Auswertung der Krümmung (in Thuban)

    In Abbildung 7.7 sind deutlich die vier Spitzen zu sehen, die an den Kreuzungspunkten inAbbildung 7.6 auftreten. Da sie negativ sind, muss die Fahrt im Uhrzeigersinn erfolgt sein.

    7.2.3 Richtungsänderung

    ∆ϕ =

    ∆s2L − ∆s2R4 · a · Rh

    (7.27)

    [∆ϕ] = rad (7.28)

    52

  • 7 Fahrdatenauswertung

    ϕ muss Null sein, wenn Rh = unendlich.

    Abbildung 7.8: Auswertung der Richtungsänderung (in Thuban)

    Die Abbildung 7.8 bezieht sich ebenfalls auf die Fahrt von Abbildung 7.6. Auch hier sinddie Spitzen, wie bei der Krümmung, zu erkennen. Die Darstellung bei Thuban erfolgt in Grad(Y-Achse).

    7.3 Bestimmung der Fahrzeugposition

    7.3.1 GPS-Position

    Dieses ist die einfachste Möglichkeit, die Fahrzeugposition zu bestimmen. Aus der Fahrzeug-CSV-Datei wird dann ein neuer ”tracking_point” gesetzt, wenn eine neue GPS-Position zurVerfügung steht.

    Abbildung 7.9: Positionsbestimmung mit GPS (in Thuban)

    53

  • 7 Fahrdatenauswertung

    7.3.2 GPS-Position und Radrotation/Rad-Impuls-Zähler

    Hier wird die anfängliche Position durch GPS bestimmt. Dies ist notwendig, um die Startpo-sition und Startausrichtung zu ermitteln. Alle weiteren Fahrzeugpositionen werden mit Hilfeder Radsensoren berechnet.

    Der Algorithmus:

    1. Ersten/nächsten GPS-Punkt (P1) suchen, bei dem die Geschwindigkeit ≥ 20 km/h ist(Fahrzeug soll sich fortbewegen)

    2. Nachfolgender (unterschiedlicher) GPS-Punkt ist P2, wenn eine geringe Richtungsän-derung zu P1 stattgefunden hat (wird über Gierrate ermittelt)

    3. Wenn die Richtungsänderung bei 2. zu groß war, starte wieder bei 1.

    4. P1 und P2 auf der digitalen Straßenkarte einpassen (Map Matching)

    5. Aus P1 und P2 die Startausrichtung (Startwinkel) t berechnen

    6. Die Koordinaten von P2 sollen (xfahrzeug, yfahrzeug) sein

    7. Die Richtungsänderung (∆ϕ), die Krümmung (κ) und das Wegelement (∆s) auf 0 set-zen

    8. ∆ϕ, κ und ∆s für den nächsten Datensatz (Fahrzeug-CSV-Datei) bestimmen und auf-summieren

    9. Wiederhole 8., wenn sich GPS-Time nicht ändert

    10. Neue Fahrzeugausrichtung bestimmen:

    t = t − ∆ϕ, wenn κ < 0 (Rechtskrümmung) odert = t + ∆ϕ, wenn κ > 0 (Linkskrümmung)

    Auf ”Überläufe” beim Bogenmaß sind zu achten:

    t = t − 2π, wenn t > 2πt = 2π + t, wenn t < 0

    11. Neue Fahrzeugposition bestimmen (dieses entspricht der ”ersten geodätischen Grund-aufgabe” - Bill (1999))

    xfahrzeug = xfahrzeug + ∆s cos tyfahrzeug = yfahrzeug + ∆s sin t

    54

  • 7 Fahrdatenauswertung

    12. (xfahrzeug, yfahrzeug) als ”tracking_point” speichern

    13. Ab 7. wiederholen, wenn das Dateiende der CSV-Datei noch nicht erreicht wurde

    Eine genauere Betrachtung ist noch bei Punkt 5 notwendig, der Bestimmung des Startrich-tungswinkels. Dieses erfolgt mit der ”zweiten geodätischen Grundaufgabe” (Bill (1999)).

    t = arctann2 − n1o2 − o1

    (7.29)

    P1

    P2

    Ostwert(o)

    Nordwert(n)

    t

    Abbildung 7.10: Bestimmung des Startrichtungswinkels

    Der Wertebereich der arctan-Funktion ist aber nur im offenen Intervall (−π/2, π/2) definiert(also zwischen -90◦ und + 90◦). Dieses bedeutet, dass in Abhängigkeit des Nord- und Ost-wertes (Quadranten in Abbildung 7.11) noch ein weiterer Korrekturwert addiert werden muss.

    t = arctann2 − n1o2 − o1

    + t0 (7.30)