This commit is contained in:
Ulf Gebhardt 2013-08-21 14:14:49 +02:00
parent 83279a1113
commit 82cab9dfd1
5 changed files with 84 additions and 81 deletions

View File

@ -1,20 +1,20 @@
\section{Datenbasis}\label{sec:daten}
In diesem Kapitel werden die Verkehrsdaten, die für diese Arbeit zur Verf"ugung standen, erklärt und erläutert, wie diese aufbereitet wurden. Die Aufbereitung der Daten dient der Modellierung des Verkehrssystems. Es wird im Kapitel \autoref{sec:modell} n"aher beschrieben.
\subsection{Induktionsschleifenwerte}\label{sec:daten:inductvalues}
F"ur die Untersuchungen dieser Arbeit stellte die Stadt Darmstadt die Werte der in der Stadt verbauten Induktionsschleifen zur Verf"ugung. Die Daten werden 'live' gemessen, und f"ur die adaptive Ampelsteuerung eingesetzt. F"ur diese Arbeit standen allerdings nur Daten zur Verf"ugung, die "uber einen Zeitraum von einer Minute gemessen wurden. Die Induktionsschleifen liefern die Werte 'count' und 'load'. Sie geben Auskunft "uber die Anzahl der Autos, welche den Sensor innerhalb des Messintervalls von einer Minute passiert haben und wie lange dieser Sensor innerhalb des Intervalls belegt war. Die Induktionsschleifen sind dabei fast ausschlie"slich an den Kreuzungseing"angen in den Stra"sen verbaut. Daten werden "uber ein fest definiertes Intervall von einer Minute erhoben.\\ \\
Der 'load'-Wert gibt dabei an, wieviel Prozent des Messintervalls vom Sensor als belegt erkannt wurde. Es handelt sich folglich um einen Gleitkomma-Wert zwischen 0 und 1. Der 'count'-Wert repr"asentiert die Anzahl der Autos, welche den Sensor innerhalb des Messintervalls passiert haben. Es handelt sich folglich um eine ganze nat"urlich Zahl, einschlie"slich der Null, falls der Sensor nicht passiert wurde.\\ \\
W"urde ein Sensor einen 'load' von 0.3 und einen 'count' von 5 melden, bedeutet das, dass dieser Sensor 30 Prozent einer Minute (18 Sekunden) belegt war und 5 Autos ihn passiert haben.\\ \\
Die Daten wurden von der Stadt Darmstadt als CSV-Dateien[gls:csv] zur Verf"ugung gestellt und im Rahmen der Arbeit \cite{thesis:mueller} aufbereitet und ver"offentlicht\footnote{Die Induktionsschleifenwerte sind als CSV-Dateien und \url{http://www.da-sense.de/trafficdata/} zu finden}.
F"ur die Untersuchungen dieser Arbeit stellte die Stadt Darmstadt die Werte der in der Stadt verbauten Induktionsschleifen zur Verf"ugung. Die Daten werden 'live' gemessen, und f"ur die adaptive Ampelsteuerung eingesetzt. F"ur diese Arbeit standen allerdings nur Daten zur Verf"ugung, die "uber einen Zeitraum von einer Minute gemessen wurden. Die Induktionsschleifen liefern die Werte \textit{count} und \textit{load}. Sie geben Auskunft "uber die Anzahl der Autos, welche den Sensor innerhalb des Messintervalls von einer Minute passiert haben (\textit{count}) und wie lange dieser Sensor innerhalb des Intervalls belegt war (\textit{load}). Die Induktionsschleifen sind dabei fast ausschlie"slich an den Kreuzungseing"angen in den Stra"sen verbaut. Daten werden "uber ein fest definiertes Intervall von einer Minute erhoben.\\ \\
Der \textit{load}-Wert gibt dabei an, wieviel Prozent des Messintervalls vom Sensor als belegt erkannt wurde. Es handelt sich folglich um einen Gleitkomma-Wert zwischen 0 und 1. Der \textit{count}-Wert repr"asentiert die Anzahl der Autos, welche den Sensor innerhalb des Messintervalls passiert haben. Es handelt sich folglich um eine ganze nat"urlich Zahl, einschlie"slich der Null, falls der Sensor nicht passiert wurde.\\ \\
W"urde ein Sensor einen \textit{load} von 0,3 und einen \textit{count} von 5 melden, bedeutet das, dass dieser Sensor 30 Prozent einer Minute (18 Sekunden) belegt war und 5 Fahrzeuge ihn passiert haben.\\ \\
Die Daten wurden von der Stadt Darmstadt als CSV-Dateien[gls:csv] zur Verf"ugung gestellt und im Rahmen der Arbeit von \textsc{C. Müller}\cite{thesis:mueller} aufbereitet und ver"offentlicht\footnote{Die Induktionsschleifenwerte sind als CSV-Dateien und \url{http://www.da-sense.de/trafficdata/} zu finden}.
\subsubsection{CSV-Dateien der Induktionsschleifenwerte}\label{sec:daten:inductvalues:csv}
Die von der Stadt Darmstadt zur Verf"ugung gestellten CSV-Dateien "ubermitteln die gesamten Sensorwerte der Induktionsschleifen der Stadt Darmstadt in zwei Teilen, dem Bereich 'Darmstadt S"ud' und den von 'Darmstadt Nord'.\\ \\
Die von der Stadt Darmstadt zur Verf"ugung gestellten CSV-Dateien "ubermitteln die gesamten Sensorwerte der Induktionsschleifen der Stadt Darmstadt in zwei Teilen, dem Bereich \textit{Darmstadt S"ud} und den von \textit{Darmstadt Nord}.\\ \\
Die CSV Datei ist speziell kodiert und bietet folgende Spalten an Informationen an:
\begin{enumerate}
\item{Datum und Uhrzeit der Messung}
\item{Die Bezeichnung der Kreuzung}
\item{Die Intervall"ange der Messung in Minuten}
\item{Die Werte 'load' und 'count' f"ur bis zu 64 Sensoren}
\item{Die Werte \textit{load} und \textit{count} f"ur bis zu 64 Sensoren}
\end{enumerate}
Die Bezeichnung der Kreuzungen richtet sich dabei nach der Kreuzungsbezeichnung des Verkehrsamtes[todo] Darmstadt und ist eindeutig. Eine "Ubersicht "uber ganz Darmstadt mit eingezeichneten Kreuzungen ist im Anhang \ref{abb:caddarmstadt} zu finden. Ein Kreuzungsname in Darmstadt besteht dabei aus einem 'A' und einer eindeutigen Nummer. Die L"ange des Messintervalls ist in Darmstadt auf eine Minute definiert. Ein Ausschnitt einer solchen CSV-Datei ist in \ref{tbl:csv} zu sehen.
Die Bezeichnung der Kreuzungen richtet sich dabei nach der Kreuzungsbezeichnung des Verkehrsamtes[todo] Darmstadt und ist eindeutig. Eine "Ubersicht "uber ganz Darmstadt mit eingezeichneten Kreuzungen ist im Anhang zu finden \ref{abb:caddarmstadt}. Ein Kreuzungsname in Darmstadt besteht dabei aus einem 'A' und einer eindeutigen Nummer. Die L"ange des Messintervalls ist in Darmstadt auf eine Minute definiert. Ein Ausschnitt einer solchen CSV-Datei ist in \ref{tbl:csv} zu sehen.
\begin{figure}\label{tbl:csv}
\begin{tabular}{|l|l|l|l|lllllllllll|}
\hline
@ -37,18 +37,18 @@ In diesem Kapitel werden die Verkehrsdaten, die f
\end{tabular}
\caption{CSV-Datei Ausschnitt von 8.8.2013}
\end{figure}
Sensorspalten, welche auf Z enden, bezeichnen den 'count'-Wert des jeweiligen Sensors, solche die auf B enden den 'load'-Wert. Jede Zeile in der CSV-Datei repr"asentiert dabei eine Kreuzung zu dem gegebenen Zeitpunkt. F"ur eine Kreuzung k"onnen dabei bis zu 64 Sensoren in der CSV-Datei bereitgestellt werden. Um die Zuordnung von CSV-Spalte zu dem tats"achlichen Sensornamen herzustellen, werden sog. "Ubersetzungstabellen ben"otigt. Diese ordnen einer CSV-Sensorspalte (1-64) einen kreuzungsspezifischen Sensornamen zu, welcher der Sensorbezeichnung der CAD-Zeichnungen[gls:cad] der Kreuzungen entspricht. In der Praxis wird eine solche "Ubersetzungstabelle durch einen Offset auf der CSV-Datei im Computer nachgebildet. F"ur die in diese Arbeit modellierten Kreuzungen sind "Ubersetzungstabellen sowie die CAD-Zeichnung im Anhang zu finden \ref{anhang:a3} ff. .
Sensorspalten, welche auf Z enden, bezeichnen den \textit{count}-Wert des jeweiligen Sensors, solche die auf B enden den \textit{load}-Wert. Jede Zeile in der CSV-Datei repr"asentiert eine Kreuzung zu dem gegebenen Zeitpunkt. F"ur eine Kreuzung k"onnen dabei bis zu 64 Sensoren in der CSV-Datei bereitgestellt werden. Um die Zuordnung von CSV-Spalte zu dem tats"achlichen Sensornamen herzustellen, werden sog. \textit{"Ubersetzungstabellen} ben"otigt. Diese ordnen einer CSV-Sensorspalte (1-64) einen kreuzungsspezifischen Sensornamen zu, welcher der Sensorbezeichnung der CAD-Zeichnungen[gls:cad] der Kreuzungen entspricht. In der Praxis wird eine solche "Ubersetzungstabelle durch einen Offset auf der CSV-Datei im Computer nachgebildet. F"ur die in diese Arbeit modellierten Kreuzungen sind \textit{"Ubersetzungstabellen} sowie die CAD-Zeichnung im Anhang zu finden [\ref{anhang:a3}]\footnote{Die CAD-Zeichnungen, sowie die Übersetzungstabellen aller Kreuzungen sind unter \url{http://www.da-sense.de/trafficdata/} zu finden}.
\subsubsection{MYSQL-Daten der JEE6 Anwendung zur Bereitstellung von Verkehrsdaten} \label{sec:datengrund:inductvalues:mysql}
Im Rahmen der Arbeit von \textsc{?. Müller}\cite{thesis:mueller}, wurde eine JEE6\footnote{Das aktuelle JEE-Framework ist unter \url{http://www.oracle.com/technetwork/java/javaee/overview/} zu erhalten.}[gls:jee6] Anwendung entwickelt, die die aufbereiteten Verkehrsdaten der Stadt Darmstadt bereit stellt. Hierf"ur wurden die CSV-Dateien eingelesen und in eine MYSQL-Datenbank "uberf"uhrt. Die dort gesammelten Sensordaten wurden bereits mit Geoinformation des OpenStreetMap Projektes verkn"upft und erlauben es eine Position für Kreuzungs- und Sensorknoten zu bestimmen.\\ \\
(todo ER Diagramm)
Im Rahmen der Arbeit von \textsc{C. Müller}\cite{thesis:mueller}, wurde eine JEE6\footnote{Das aktuelle JEE-Framework ist unter \url{http://www.oracle.com/technetwork/java/javaee/overview/} zu erhalten.}[gls:jee6] Anwendung entwickelt, die die aufbereiteten Verkehrsdaten der Stadt Darmstadt bereit stellt. Hierf"ur wurden die CSV-Dateien eingelesen und in eine MYSQL-Datenbank "uberf"uhrt. Die dort gesammelten Sensordaten wurden bereits mit Geoinformation des OpenStreetMap Projektes\footnote{Die Website des OpenStreetMap-Projektes ist unter \url{http://openstreetmap.org/} zu erreichen.} verkn"upft und erlauben es eine Position für Kreuzungs- und Sensorknoten zu bestimmen.\\ \\
[todo ER Diagramm]
Aus dieser Datenbank wurden alle Sensorwerte und Positionsangaben, welche im Rahmen dieser Arbeit ben"otigten wurden, entnommen. Die gesuchten Daten sind dabei auf drei Tabellen verteilt:
\begin{enumerate}
\item{\textit{jee\_crmodel\_CrossroadDim}: In dieser Tabelle werden Kreuzungsname und -position abgespeichert.}
\item{\textit{jee\_crmodel\_SensorDim}: In dieser Tabelle werden Sensorname und -position gespeichert, sowie die Kreuzung, auf der der Sensor verbaut ist, "uber eine eindeutige ID mit der Tabelle \textit{jee\_crmodel\_CrossroadDim} verkn"upft. Ein CSV-Offset identifiziert den Sensor bez"uglich seiner Position in der CSV-Datei.}
\item{\textit{jee\_traf?clight\_rawevents}: In dieser Tabelle werden die eingelesenen CSV-Dateien der Stadt gespeichert. Dies umfasst neben den Werten \textit{load}, \textit{count} und Messdatum, die zugeh"orige Kreuzung. Ein Sensor kann anhand des gespeicherten CSV-Offsets mit \textit{jee\_crmodel\_SensorDim} identifiziert und lokalisiert werden.}
\item{\textit{jee\_traficlight\_rawevents}: In dieser Tabelle werden die eingelesenen CSV-Dateien der Stadt gespeichert. Dies umfasst neben den Werten \textit{load}, \textit{count} und Messdatum, die zugeh"orige Kreuzung. Ein Sensor kann anhand des gespeicherten CSV-Offsets mit \textit{jee\_crmodel\_SensorDim} identifiziert und lokalisiert werden.}
\end{enumerate}
Um die Daten f"ur eigene Zwecke verwenden zu k"onnen, wurden die ben"otigten Teile extrahiert und in einem eigenen Datenbankschema abgespeichert. Mehr Informationen zu dem entwickelten Datenbankmodell sind im Kapitel \ref{sec:modell:datenbankschema} zu finden. Desweiteren wurden verschiedene SQL-Abfragen entwickelt, um die ben"otigten Informationen zu extrahieren.\\ \\
Um die gespeicherte Sensorposition zu ermitteln wurde eine SQL-Abfrage \ref{lst:sql_sensorquery} entworfen, welche Kreuzungs- und Sensornamen, sowie dessen jeweiligen Latitude und Longitude zur"uckgibt. Die Auswahl ist dabei auf die zehn untersuchten Kreuzungen beschr"ankt. Das Feld 'VALIDTO' in der Kreuzungstabelle bestimmt dabei, ob die Kreuzung noch in Betrieb ist. Sensornamen k"onnen ebenfalls mit dieser Abfrage gefiltert werden. In der abgebildeten SQL-Abfrage \ref{lst:sql_sensorquery} werden Sensoren welche mit 'D' beginnen herausgefiltert, da fast ausschlie"slich alle Sensoren, welche zur Kreuzungmodellierung und -berechnung verwendet wurden ein f"uhrendes 'D' aufweisen.\\
Um die gespeicherte Sensorposition zu ermitteln wurde eine SQL-Abfrage (siehe \autoref{lst:sql_sensorquery}) entworfen, welche Kreuzungs- und Sensornamen, sowie dessen jeweiligen Latitude und Longitude zur"uckgibt. Die Auswahl ist dabei auf die zehn untersuchten Kreuzungen beschr"ankt. Das Feld 'VALIDTO' in der Kreuzungstabelle bestimmt dabei, ob die Kreuzung noch in Betrieb ist. Sensornamen k"onnen ebenfalls mit dieser Abfrage gefiltert werden. In der abgebildeten SQL-Abfrage (siehe \autoref{lst:sql_sensorquery}) werden Sensoren welche mit 'D' beginnen herausgefiltert, da fast ausschlie"slich alle Sensoren, welche zur Kreuzungmodellierung und -berechnung verwendet wurden ein f"uhrendes 'D' aufweisen.\\
\lstset{language=SQL}
\begin{minipage}[t]{\dimexpr\textwidth-3\fboxsep-2\fboxrule-1em}
\begin{lstlisting}[caption={[SQL-Abfrage der Sensorens] SQL-Abfrage der Sensoren}, label={lst:sql_sensorquery}, captionpos=bsec]
@ -66,7 +66,7 @@ In diesem Kapitel werden die Verkehrsdaten, die f
AS sensors
\end{lstlisting}
\end{minipage}\\
Eine weitere Abfrage \ref{lst:sql_dataquery} dient der Ermittlung der Sensorwerte "uber einen bestimmten Zeitraum. Zur Identifizierung des Sensors wird der CSV-Offset benutzt. Die extrahierten Daten entsprechen dem Inhalt einer CSV-Datei der Stadt Darmstadt. Die Abfrage aus \autoref{lst:sql_sensorquery} wird dabei mit einer Abfrage auf der Tabelle \textit{jee\_trafficlight\_rawevents }kombiniert. Auf diese Weise erh"alt man sowohl die Sensor und die Kreuzungsinformationen, als auch die Z"ahlwerte der Induktionsschleifen. Ein Filter auf der Spalte \textit{DATETIME} der Ampelrohdaten erlaubt eine Auswahl des Zeitpunktes. Dabei ist zu beachten, dass die Zeitangaben in UTC-Zeitformat angegeben werden m"ussen.
Eine weitere Abfrage dient der Ermittlung der Sensorwerte "uber einen bestimmten Zeitraum (siehe \autoref{lst:sql_dataquery}). Zur Identifizierung des Sensors wird der CSV-Offset benutzt. Die extrahierten Daten entsprechen dem Inhalt einer CSV-Datei der Stadt Darmstadt. Die Abfrage aus \autoref{lst:sql_sensorquery} wird dabei mit einer Abfrage auf der Tabelle \textit{jee\_trafficlight\_rawevents} kombiniert. Auf diese Weise erh"alt man sowohl die Sensor- und Kreuzungsinformationen, als auch die Z"ahlwerte der Induktionsschleifen. Ein Filter auf der Spalte \textit{DATETIME} der Ampelrohdaten erlaubt eine Auswahl des Zeitpunktes. Dabei ist zu beachten, dass die Zeitangaben in UTC-Zeitformat angegeben werden m"ussen.
\begin{minipage}[t]{\dimexpr\textwidth-3\fboxsep-2\fboxrule-1em}
\begin{lstlisting}[caption={[SQL-Abfrage der Sensorwerte] SQL-Abfrage der Sensorwerte}, label={lst:sql_dataquery}, captionpos=bsec]
SELECT * FROM (SELECT CD.REALNAME AS CR_NAME,
@ -86,11 +86,11 @@ In diesem Kapitel werden die Verkehrsdaten, die f
\end{lstlisting}
\end{minipage}
\subsection{Geographischer Ausschnitt der Daten}\label{sec:datengrund:geo}
Um die Komplexit"at, den Modellierungsaufwand und den Aufwand der Berechnungen zu reduzieren, wurde das untersuchte Gebiet auf einen kleinen Ausschnitt der Stadt Darmstadt (im folgenden 'Ministadt' genannt) beschr"ankt. Dieser Ausschnitt erstreckt sich "uber zehn Kreuzungen, der A3\ref{anhang:a3}, A4\ref{anhang:a4}, A5\ref{anhang:a5}, A12\ref{anhang:a12}, A23\ref{anhang:a23}, A28\ref{anhang:a28}, A29\ref{anhang:a29}, A46\ref{anhang:a46}, A59\ref{anhang:a49} und der A104\ref{anhang:a104}.
Um die Komplexit"at, den Modellierungsaufwand und den Aufwand der Berechnungen zu reduzieren, wurde das untersuchte Gebiet auf einen kleinen Ausschnitt der Stadt Darmstadt (im folgenden \textit{Ministadt} genannt) beschr"ankt. Dieser Ausschnitt erstreckt sich "uber zehn Kreuzungen, der A3 [\ref{anhang:a3}], A4 [\ref{anhang:a4}], A5 [\ref{anhang:a5}], A12 [\ref{anhang:a12}], A23 [\ref{anhang:a23}], A28 [\ref{anhang:a28}], A29 [\ref{anhang:a29}], A46 [}\ref{anhang:a46}], A59 [\ref{anhang:a49}] und der A104 [\ref{anhang:a104}].
\begin{figure}
\centering
\includegraphics[width=0.5\textwidth]{pic/overview_ministadt}
\caption{Ministadt, Ausschnitt von Darmstadt, der innerhalb dieser Arbeit betrachtet wurde.}
\caption{\textit{Ministadt}, Ausschnitt von Darmstadt, der innerhalb dieser Arbeit betrachtet wurde.}
\end{figure}
Die Wahl des Ausschnitts richtete sich insbesondere nach der Anzahl der verbauten Sensorik. So finden sich auf allen zehn Kreuzungen 89 Sensoren, f"ur die Sensorwerte zur Verf"ugung stehen. Neben der Anzahl der Sensoren wurde auch darauf geachtet, dass die untersuchten Kreuzungen sog. Sonderf"alle aufweisen. Diese Sonderf"alle sind gesonderte Verkehrsvorgaben oder spezielle Sensoren und sind im folgenden beschrieben:
\begin{enumerate}
@ -99,14 +99,14 @@ In diesem Kapitel werden die Verkehrsdaten, die f
\item{Seitenstra"sen: Seitenstra"sen ohne Sensorik.}
\item{Validierungssensoren: Sensoren, welche die Sensorwerte anderer Sensoren (teilweise) best"atigen.}
\end{enumerate}
Die Einbahnstra"se verl"auft dabei von Kreuzung A29 nach A104. Sie verspricht eine einfachere Berechnung von Verkehrswerten, da eine Kreuzung mit einer Einbahnstra"se nur drei Kreuzungsein- und -ausg"ange hat, im Gegensatz zu einer 'normalen' Kreuzung mit jeweils vier Ein- und Ausg"angen. Mischspuren sind dagegen hinderlich f"ur die Berechnung, da ihr gemessener Wert, im Gegensatz zu Einspursensoren, nicht direkt einem Ausgang zugeordnet werden kann.
Eine genaue Untersuchung von Ein- und Mischspursensoren ist im Kapitel \autoref{sec:berechnung} zu finden.
Die Einbahnstra"se verl"auft dabei von Kreuzung A29 nach A104. Sie verspricht eine einfachere Berechnung von Verkehrswerten, da eine Kreuzung mit einer Einbahnstra"se nur drei Kreuzungsein- und -ausg"ange hat, im Gegensatz zu einer \textit{normalen} Kreuzung mit jeweils vier Ein- und Ausg"angen. Mischspuren sind dagegen hinderlich f"ur die Berechnung, da ihr gemessener Wert, im Gegensatz zu Einspursensoren, nicht direkt einem Ausgang zugeordnet werden kann.
Eine genaue Untersuchung von Ein- und Mischspursensoren und wie mit diese verfahren werden muss, um Verkehrswerte zu berechnen, ist im Kapitel \autoref{sec:berechnung} zu finden.
\subsection{CAD-Zeichnungen der Kreuzungen}\label{sec:daten:cad}
Es stehen au"serdem die CAD-Zeichnungen[gls:cad] der Kreuzungen der Stadt Darmstadt zur Verf"ugung. Diese CADs wurden im Rahmen der Kooperation der Arbeit \cite{thesis:mueller} der TU-Darmstadt von der Stadt zur Verf"ugung gestellt\footnote{Die CAD-Bilder sind unter \url{http://www.da-sense.de/trafficdata/information.php} zu erhalten}.
Sie geben Aufschluss, an welcher Stelle ein Sensor in der Stra"sendecke verbaut ist und wei"st dessen kreuzungsinternen Namen aus, der zur Identifizierung des Sensors ben"otigt wird. Die CAD-Zeichnungen dienen der manuellen Modellierung des Stra"senmodells, sowie der Identifizierung der Sensoren sowie der Zuordnung ihrer Sensor-Klasse und -Typs. So sind in den CAD-Zeichnungen die Fahrspuren und deren erlaubte Flie"srichtung markiert. Aufgrund dessen konnte eine Zuordnung von Sensoren nach ihrer Klasse, Einspursensor oder Mischspursensor, vorgenommen werden.
Des Weiteren wurden mithilfe der CAD-Zeichnungen die Verbindungen von Sensor zum virtuellem Kreuzungsausgangsknoten manuell in der Datenbank vermerkt, um den, im Kapitel\autoref{sec:modell} entwickelten, Graphen aufzuspannen. Die CAD-Zeichnungen der Kreuzungen der 'Ministadt' sind dem Anhang beigef"ugt \ref{anhang:a3}.
Es stehen au"serdem die CAD-Zeichnungen[gls:cad] der Kreuzungen der Stadt Darmstadt zur Verf"ugung. Diese CADs wurden im Rahmen der Kooperation der Arbeit von \textsc{C. Müller}\cite{thesis:mueller} der TU-Darmstadt von der Stadt zur Verf"ugung gestellt\footnote{Die CAD-Bilder sind unter \url{http://www.da-sense.de/trafficdata/information.php} zu erhalten}.
Sie geben Aufschluss, an welcher Stelle ein Sensor in der Stra"sendecke verbaut ist und wei"st dessen kreuzungsinternen Namen aus, der zur Identifizierung des Sensors ben"otigt wird. Die CAD-Zeichnungen dienen der händischen Modellierung des Stra"senmodells, sowie der Identifizierung der Sensoren und der Zuordnung ihrer Sensorklasse. So sind in den CAD-Zeichnungen die Fahrspuren und deren erlaubte Flie"srichtung markiert. Aufgrund dessen konnte eine Zuordnung von Sensoren nach ihrer Klasse, Einspursensor oder Mischspursensor, vorgenommen werden.
Des Weiteren wurden mithilfe der CAD-Zeichnungen die Verbindungen von Sensor zum virtuellem Kreuzungsausgangsknoten manuell in der Datenbank vermerkt, um den, im Kapitel\autoref{sec:modell} entwickelten, Graphen aufzuspannen. Die CAD-Zeichnungen der Kreuzungen der \textit{Ministadt} sind dem Anhang beigef"ugt [\ref{anhang:a3}].
\subsection{Abbiegewahrscheinlichkeiten}\label{sec:datengrund:abbw}
Von der Stadt Darmstadt wurden neben den Sensorwerten, gemittelte Abbiegewahrscheinlichkeiten f"ur einige der Induktionsschleifen zur Verf"ugung gestellt. Sie werden f"ur die Berechnung von Verkehrsfl"ussen bei Mischspursensoren ben"otigt. Die Abbiegewahrscheinlichkeiten eines Sensors beschreiben dabei wie viel Prozent des Verkehrs, der "uber den Sensor flie"st, zu dem jeweiligen Ausgang der Kreuzung flie"sen darf. N"aheres ist im Kapitel \autoref{sec:berechnung} zu finden. Diese Daten wurden mit Hilfe von Video"uberwachung der zu untersuchenden Kreuzungen, f"ur die Planungsabteilung des Verkehrsamtes[todo name] der Stadt Darmstadt ermittelt. Alle Werte sind dabei "uber die gesamten Messungen eines Tages gemittelt und liegen in PDF-Format f"ur die beiden Teile der Stadt, Nord und S"ud, vor (siehe Anhang \ref{abb:abbwnorth} \ref{abb:abbwsouth}).\\ \\
Von der Stadt Darmstadt wurden neben den Sensorwerten, gemittelte Abbiegewahrscheinlichkeiten f"ur einige der Induktionsschleifen zur Verf"ugung gestellt. Sie werden f"ur die Berechnung von Verkehrsfl"ussen bei Mischspursensoren ben"otigt. Die Abbiegewahrscheinlichkeiten eines Sensors beschreiben dabei wie viel Prozent des Verkehrs, der "uber den Sensor flie"st, zu dem jeweiligen Ausgang der Kreuzung flie"sen wird. N"aheres ist im Kapitel \autoref{sec:berechnung} zu finden. Diese Daten wurden mit Hilfe von Video"uberwachung der zu untersuchenden Kreuzungen, f"ur die Planungsabteilung des Verkehrsamtes[todo name] der Stadt Darmstadt ermittelt. Alle Werte sind dabei "uber die gesamten Messungen eines Tages gemittelt und liegen in PDF-Format f"ur die beiden Teile der Stadt, Nord und S"ud, vor (siehe Anhang \ref{abb:abbwnorth} \ref{abb:abbwsouth}).\\ \\
\cite{thesis:michael} hat im Rahmen seiner Bachelorarbeit diese Daten in eine MYSQL-Datenbank "ubertragen. Desweiteren berechnet er genauere Abbiegewahrscheinlichkeiten f"ur die einzelnen Knoten, indem mithilfe einer Mittelung die Ausgangswerte einer Kreuzung in Beziehung zu einem Wert am benachbarten Kreuzungseingang gesetzt werden. Diese Daten lagen allerdings noch nicht vor und konnten aus diesem Grund im Rahmen dieser Arbeit nicht untersucht werden.\\ \\
Die aufbereiteten Abbiegewahrscheinlichkeiten der Stadt liegen in der Form (Kreuzung, Sensor, Geradeaus, Links, Rechts) (siehe Tabelle \ref{tbl:abbw}) vor. Die Werte f"ur Links, Rechts und Geradeaus sind dabei in einer komplexen Form angegeben und m"ussen zur Verwendung auf eine Gleitkommazahl reduziert werden. Des Weiteren gilt es, die Richtung vom Sensor unabh"angig zu machen, da sich die Angaben Links, Rechts und Geradeaus auf die Fahrtrichtung des Verkehrs, der "uber den Sensor flie"st, beziehen.\\ \\
Zur Reduzierung der Werte auf Gleitkommazahlen wurden die Daten manuell bearbeitet. Die CAD-Zeichnungen dienen dabei als Hilfe, um die kreuzungsspezifischen Angaben interpretieren zu k"onnen. Ein aufbereiteter Ausschnitt der Abbiegewahrscheinlichkeiten ist in Tabelle \ref{tbl:abbw} zu finden.
@ -123,6 +123,7 @@ In diesem Kapitel werden die Verkehrsdaten, die f
A126 & D11 & (+A126.D11*0,6)*1+0 & NULL & (+A126.D11*0,4)*1+0\\
A126 & D21 & (+A126.D21*0,4)*1+0 & (+A126.D21*0,6)*1+0 & NULL\\
A12 & D11 & NULL & NULL & (+A12.D11*0,4)*1+0\\
\vdots & \vdots & \vdots & \vdots & \vdots\\
\hline
\end{tabular}\\ \\
\begin{tabular}{|l|l|l|l|l|}
@ -137,9 +138,10 @@ In diesem Kapitel werden die Verkehrsdaten, die f
A126 & D11 & 0,6 & NULL & 0,4\\
A126 & D21 & 0,4 & 0,6 & NULL\\
A12 & D11 & NULL & NULL & 0,4\\
\vdots & \vdots & \vdots & \vdots & \vdots\\
\hline
\end{tabular}
\label{tbl:abbw}
\end{figure}
Neben der Reduktion auf Prozentwerte, m"ussen die Richtungsangaben DirectionStraight, DirectionLeft und DirectionRight auf globale Werte umgerechnet werden. Da diese Berechnung der absoluten Richtungsangabe das entwickelte Modell erfordert, ist die finale Aufbereitung der Abbiegewahrscheinlichkeiten im Kapitel \ref{sec:berechnung} zu finden.
Neben der Reduktion auf Prozentwerte, m"ussen die Richtungsangaben \textit{DirectionStraight}, \textit{DirectionLeft} und \textit{DirectionRight} auf globale Werte umgerechnet werden. Da diese Berechnung der absoluten Richtungsangabe das entwickelte Modell erfordert, ist die finale Aufbereitung der Abbiegewahrscheinlichkeiten am Anfang des Kapitel \ref{sec:berechnung} zu finden.
\newpage

View File

@ -1,24 +1,24 @@
\section{Einleitung}\label{sec:einleitung}
Die Anzahl der LKWs und PKWs auf den Stra"sen Deutschlands steigt st"andig an. Insbesondere die moderne hochindustrialisierte Produktion von Autos lie"sen deren Preise fallen und erlaubten es Jedermann ein eigenes Auto zu besitzen. So waren im Jahre 1955 lediglich 1.748 tausend PKWs und 603 tausend LKWs gemeldet. Heute, 2013 sind 43.431 tausend PKWs und 2.579 tausend LKWs auf den Stra"sen Deutschlands unterwegs\cite{web:statista:lkw}\cite{web:statista:pkw}. Dabei ist neben dem Personenverkehr besonders der G"uterverkehr eine gro"se Belastung f"ur die Stra"sen. Das Statistische Bundesamt\footnote{Die Website des Statistischen Bundesamtes ist unter http://www.destatis.de/ zu erreichen.} weist in einer Erhebung der \texit{Anteile der Verkehrstr"ager im G"uterverkehr aus Deutschland in die EU}\cite{web:statista:gueter} den Stra"senverkehr mit 57\% aus w"ahrend Bahn- und Schifffahrtsverkehr lediglich einen Anteil von unter 10\% an dem G"utertransport haben. Die gr"o"ser gewordene Anzahl der Verkehrsteilnehmer auf den Stra"sen wird zunehmend zu einer Belastung f"ur die St"adte, Stra"sen, Mensch und Umwelt. In einer Umfrage des Umweltbundesamts \footnote{Die Website des Umwelt Bundesamtes ist unter http://www.umweltbundesamt.de/ zu erreichen.} von 2010 unter der Bev"olkerung, gaben 57\% der Befragten an, von Stra"senverkehrsl"arm bel"astigt zu werden\cite{web:statista:laerm}. Aus dies Grund ist die Verbesserung des innerst"adtischen Verkehrs, ob nun durch Umgehungsstra"sen, Feinstaubfilter oder andere Ma"snahmen, immer auch eine Verbesserung der Lebensqualit"at der dort lebenden und arbeitenden Menschen.\\ \\
Eine dieser Ma"snahmen ist der Einsatz von verkehrsaufkommensgesteuerten Ampelanlagen. Besonders gr"o"sere St"adte, welche unter hohem Verkehrsaufkommen leiden, setzen diese Technik seit einigen Jahren vermehrt ein\cite{paper:adaptiv}. Sie erm"oglichen es der Ampel mit Hilfe von, in der Fahrbahndecke verbauten Sensoren, ihre Ampelphasen, unter gewissen Rahmenbedingung, selbst zu steuern. Die Sensorik erkennt dabei, ob ein Auto an der Haltelinie steht und fordert eine Freigabe der Fahrtrichtung. Durch Einsatz einer solchen verkehrsaufkommensgesteuerten Ampel kann nachweislich \cite{paper:adaptiv} eine Verbesserung des Verkehrsflusses erreicht und die Haltezeiten an der Ampeln verk"urzt werden. Zunehmend werden auch sog. 'voll-adaptive' Ampelsteuerungen eingesetzt, welche neben den Sensorwerten der jeweiligen Kreuzung auch die Sensorwerte benachbarter Kreuzungen in die Berechnung der Ampelphasen einflie"sen lassen. Dieser Ansatz verspricht einen noch fl"ussigeren Verkehr und eine nochmalige Verbesserung des Verkehrsflusses\cite{paper:adaptiv}.\\ \\
Neben einer verbesserten Ampelsteuerung um den Verkehr schneller flie"sen zu lassen, haben sich einige Firmen auf die Untersuchung des Verkehrs spezialisiert und bieten Analysewerkzeuge f"ur den Verkehr an. So bieten die Programme VISSIM\footnote{Die Website der Software VISSIM lautet \url{http://www.vissim.de/}} und PELOPS\footnote{PELOPS: Programm zur Entwicklung L"angsdynamischer, mikrOskopischer VerkehrsProzesse in Systemrelevanter Umgebung} eine professionelle Modellierung von Verkehr an. Dabei kommt eine sog. mikroskopische Verkehrsmodellierung zum Einsatz. Mikroskopische Verkehrsmodelle modellieren dabei jeden einzelnen Verkehrsteilnehmer um Beziehungen unter diesen aufzeigen und berechnen zu k"onnen. So bestimmt sich die Geschwindigkeit eines Autos in einem solchen Modell in der Regel aus der des Vordermanns.\\ \\
Neben einer verbesserten Ampelsteuerung um den Verkehr schneller flie"sen zu lassen, haben sich einige Firmen auf die Untersuchung des Verkehrs spezialisiert und bieten Analysewerkzeuge f"ur den Verkehr an. So bieten die Programme VISSIM\footnote{Die Website der Software VISSIM lautet \url{http://www.vissim.de/}} und PELOPS\footnote{PELOPS: Programm zur Entwicklung L"angsdynamischer, mikrOskopischer VerkehrsProzesse in Systemrelevanter Umgebung} eine professionelle Modellierung von Verkehr an. Dabei kommt eine sog. mikroskopische Verkehrsmodellierung zum Einsatz. Mikroskopische Verkehrsmodelle modellieren dabei jeden einzelnen Verkehrsteilnehmer um Beziehungen unter diesen aufzeigen und berechnen zu k"onnen. So bestimmt sich die Geschwindigkeit eines Fahrzeugs in einem solchen Modell in der Regel aus der des Vordermanns.\\ \\
In dieser Arbeit wird untersucht inwieweit die Sensorik einer verkehrsaufkommensgesteuerten Ampelanlage ausreicht, um zu bestimmen, in welche Richtung und wie viel des Verkehrs aus und in die Kreuzungen flie"st. Dies ist besonders interessant, da die Sensorik bereits auf der Stra"se verbaut ist und keine manuellen Datenerhebungen notwendig sind. Die Herausforderung dabei ist, dass nicht alle Stra"sen und Kreuzungen mit Induktionsschleifen ausgestattet sind, da nicht alle Kreuzungen Ampelanlagen aufweisen, welche die Sensorik erfordert. Man m"ochte allerdings Verkehrswerte f"ur diese, nicht bekannten Bereiche, berechnen oder absch"atzen k"onnen, um die momentane Verkehrssituation besser einsch"atzen und sich einen "Uberblick "uber die aktuelle Verkehrslage verschaffen zu k"onnen. Dabei erweisen sich die geringe Sensormenge und der gro"se Abstand zwischen diesen, als die gr"o"sten Herausforderungen. F"ur die Untersuchung wurde ein Ausschnitt des Stra"sennetzes der Stadt Darmstadt\footnote{Die Website der Stadt Darmstadt ist unter \url{http://www.darmstadt.de/} zu erreichen.} gew"ahlt und ein Modell f"ur eine Kreuzung und ein zweites Modell f"ur Kreuzungen und deren Verbindungen erstellt. Hierf"ur wird, im Gegensatz zu industriellen Verkehrssimulationswerkzeugen ein makroskopischer Ansatz gew"ahlt um der geringen Sensordichte gerecht zu werden.\\ \\
F"ur diese Aufgabe stehen die Sensordaten von den Ampelanlagen der Stadt Darmstadt zur Verf"ugung. Die Stadt hat eine Vielzahl ihrer Kreuzungen mit sog. Induktionsschleifen, Verkehrssensoren, best"uckt. Diese liefern im Minutentakt Messwerte "uber die Anzahl der Fahrzeuge, welche den Sensor passiert und solche die auf dem Sensor gestanden haben. Für diese Arbeit wurde ausschließlich der Zählwert der Fahrzeuge zur Berechnung von Verkehr verwendet. Es wurde ein Ausschnitt von zehn Kreuzungen betrachtet, die eine hohe Sensordichte aufweisen. Die Einschr"ankung auf das verkleinerte Gebiet begr"undet sich aus der Menge der zu betrachtenden Daten. Das Betrachten eines kleineren Ausschnitts erm"oglichte es im Rahmen dieser Arbeit eine genauere Untersuchung durchzuf"uhren, als dies auf dem gesamten Stadtgebiet der Stadt Darmstadt m"oglich w"are. Für eine erste Untersuchung wurden die zehn Kreuzungen händisch modelliert. Mit den Erkenntnissen dieser Modellierung wurde ein generisches Modell des Verkehrssystems entwickelt.\\ \\
F"ur diese Aufgabe stehen die Sensordaten von den Ampelanlagen der Stadt Darmstadt zur Verf"ugung. Die Stadt hat eine Vielzahl ihrer Kreuzungen mit sog. Induktionsschleifen, Verkehrssensoren, best"uckt. Diese liefern im Minutentakt Messwerte "uber die Anzahl der Fahrzeuge, welche den Sensor passiert und solche die auf dem Sensor gestanden haben. Für diese Arbeit wurde ausschließlich der Zählwert der Fahrzeuge zur Berechnung von Verkehr verwendet. Es wurde ein Ausschnitt von zehn Kreuzungen betrachtet, die eine hohe Sensordichte aufweisen. Die Einschr"ankung auf das verkleinerte Gebiet begr"undet sich aus der Menge der zu betrachtenden Daten. Die Stadt Darmstadt hat [] Sensoren in ihrem Stadtgebiet auf [] Kreuzungen verbaut. Das Betrachten eines kleineren Ausschnitts erm"oglichte es im Rahmen dieser Arbeit eine genauere Untersuchung durchzuf"uhren, als dies auf dem gesamten Stadtgebiet der Stadt Darmstadt m"oglich w"are. Für eine erste Untersuchung wurden die zehn Kreuzungen händisch modelliert. Mit den Erkenntnissen dieser Modellierung wurde ein generisches Modell des Verkehrssystems entwickelt.\\ \\
Die generische Modellierung des Verkehrssystems wurde in Zusammenarbeit mit \textsc{M. Scholz}\cite{thesis:michael} entworfen, der dieses Modell ebenfalls für seine Bachelor Thesis\cite{thesis:michael} verwendet. In \autoref{abb:system} ist eine Übersicht über die verschiedenen Teile der entwickelten Verkehrssimulation und den dafür implementierten Softwareteilen zu finden. Weiß hinterlegt werden die Datengrundlagen, auf denen das Modell fußt, dargestellt. Systemteile, welche im Rahmen der Bachelor Arbeit von \textsc{M. Scholz} entstanden sind werden blau, solche die im Rahmen dieser Arbeit implementiert wurden grün dargestellt. Das Datenbankschema und die Modellierung des Verkehrssystem als Graph wurde in Zusammenarbeit entwickelt und wird mit einer Mischfarbe aus blau und grün aufgezeigt.
\begin{figure}
\centering
\includegraphics[width=0.95\textwidth]{ext/systembild}
\caption{Übersicht über das entworfene System[todo]}
\caption{Übersicht über das entworfene Softwaresystem]}
\label{abb:system}
\end{figure}
Eine Beschreibung der verkehrstechnischen Grundlagen ist in Kapitel \ref{sec:grundlagen} zu finden. Die in der \autoref{abb:system} abgebildeten Grundlage, die Daten der Induktionsschleifen der Stadt Darmstadt, werden im Kapitel \ref{sec:daten} beschrieben. Dafür wird auf die von \textsc{?. Müller} entworfene JEE6 Anwendung zur Bereitstellung von Verkehrsdaten\cite{thesis:mueller} zurückgegriffen, die die Daten der Stadt Darmstadt bereits aufbereitet hat. Das entwickelte Graphen-basierte Zweistufenmodell f"ur Kreuzungen und zwischen Kreuzungen wird in Kapitel \ref{sec:modell} vorgestellt. Es modelliert neben den Induktionsschleifen sog. \textit{virtuelle Sensoren}, f"ur die keine Sensorwerte vorliegen. Das Datenbankschema für die, in \autoref{abb:system} abgebildete Datenbank, sowie die Implementierung des Verkehrsmodells mithilfe der Java-Bibliothek \textit{JGraphT} werden in einzelnen Unterkapiteln behandelt. In Kapitel \ref{sec:berechnung} wird beschrieben wie anhand dieses Modells ein Verkehrsfluss aus den Kreuzungen heraus, bzw. in die Kreuzung hinein, berechnet werden kann. Daf"ur werden verschiedene Ans"atze diskutiert und eine L"osung mithilfe linearer Gleichungssysteme vorgestellt, um Verkehrswerte f"ur \textit{virtuelle Sensoren} zu berechnen. Durch weitere lineare Gleichungen konnten auch Vorhersagen f"ur Fl"usse zwischen zwei Kreuzungen berechnet werden. Grundlage dieser Berechnung sind Matrizenmultiplikationen, die in dieser Arbeit direkt am entwickelten Graphen berechnet werden. Des weiteren wird untersucht inwieweit der Verkehr anhand der gegebenen Daten vorhergesagt werde kann. Die Ergebnisse und das Modell werden auf ihre G"ultigkeit hin im Kapitel \autoref{sec:validierung} "uberpr"uft. Hierf"ur wurde eine Verkehrsz"ahlung vorgenommen, um die berechneten Daten "uberpr"ufen zu k"onnen. Dabei wurde festgestellt, dass die, auf den Straßen verbaute Sensorik in sehr unterschiedlicher Qualität messen. Im Kapitel \ref{sec:visualisierung} werden daraufhin zwei Visualisierungen des Modells, die im Rahmen dieser Arbeit entwickelt wurden, anhand des gew"ahlten Ausschnitts des Stra"sennetz der Stadt Darmstadt erl"autert.
Eine Beschreibung der verkehrstechnischen Grundlagen ist in Kapitel \ref{sec:grundlagen} zu finden. Die in der \autoref{abb:system} abgebildeten Grundlage, die Daten der Induktionsschleifen der Stadt Darmstadt, werden im Kapitel \ref{sec:daten} beschrieben. Dafür wird auf die von \textsc{C. Müller} entworfene JEE6 Anwendung zur Bereitstellung von Verkehrsdaten\cite{thesis:mueller} zurückgegriffen, die die Daten der Stadt Darmstadt bereits aufbereitet hat. Das entwickelte Graphen-basierte Zweistufenmodell f"ur Kreuzungen und zwischen den Kreuzungen wird in Kapitel \ref{sec:modell} vorgestellt. Es modelliert neben den Induktionsschleifen sog. \textit{virtuelle Sensoren}, f"ur die keine Sensorwerte vorliegen. Das Datenbankschema für die, in \autoref{abb:system} abgebildete Datenbank, sowie die Implementierung des Verkehrsmodells mithilfe der Java-Bibliothek \textit{JGraphT} werden in einzelnen Unterkapiteln behandelt. In Kapitel \ref{sec:berechnung} wird beschrieben wie anhand dieses Modells ein Verkehrsfluss aus den Kreuzungen heraus, bzw. in die Kreuzung hinein, berechnet werden kann. Daf"ur werden verschiedene Ans"atze diskutiert und eine L"osung mithilfe linearer Gleichungssysteme vorgestellt, um Verkehrswerte f"ur \textit{virtuelle Sensoren} zu berechnen. Durch weitere lineare Gleichungen konnten auch Vorhersagen f"ur Fl"usse zwischen zwei Kreuzungen berechnet werden. Grundlage dieser Berechnungen sind Matrizenmultiplikationen, die in dieser Arbeit direkt am entwickelten Graphen berechnet werden. Des weiteren wird untersucht inwieweit der Verkehr anhand der gegebenen Daten vorhergesagt werde kann. Die Ergebnisse und das Modell werden auf ihre G"ultigkeit hin im Kapitel \autoref{sec:validierung} "uberpr"uft. Hierf"ur wurde eine Verkehrsz"ahlung vorgenommen, um die berechneten Daten "uberpr"ufen zu k"onnen. Dabei wurde festgestellt, dass die, auf den Straßen verbaute Sensorik in sehr unterschiedlicher Qualität messen. Im Kapitel \ref{sec:visualisierung} werden daraufhin zwei computergestützte Visualisierungen des Modells, die im Rahmen dieser Arbeit entwickelt wurden, anhand des gew"ahlten Ausschnitts des Stra"sennetz der Stadt Darmstadt erl"autert.
\begin{figure}
\centering
\includegraphics[width=0.95\textwidth]{ext/colage}
\caption{Drei Visualisierungen des betrachteten Ausschnitts der Stadt Darmstadt. a) händische Visualisierung b) Visualisierung mithilfe der OSM-Karte c) Visualisierung des Graphenmodells}
\end{figure}
Abschlie"send werden die Ergebnisse dieser Arbeit in Kapitel \ref{sec:ausblick} zusammengefasst und ein Ausblick gegeben, wie sich die errechneten Werte und das entwickelte Modell weiter verbessern lassen.\\ \\
Grundlage dieser Arbeit ist insbesondere die Arbeit \textit{Modelling Freeway Traffic with Coupled HMMs} \cite{paper:kwonmurphy}, welche eine Modellierung von Verkehr auf Schnellstra"sen vornimmt und mit Hilfe eines Hidden Markov Modells die Geschwindigkeit von Verkehrsteilnehmer vorhersagt. [todo]Die Arbeit \cite{thesis:neubert}, die mithilfe von zellular Automaten den Verkehr auf Autobahnen simuliert, sowie die Daten der Arbeit \cite{thesis:mueller}, welche die Verkehrsdaten der Stadt Darmstadt bereits aufbereitet hat. Die Arbeit \cite{thesis:lehnhoff} erwies sich als hilfreich zur Validierung. So konnten die dort befundenen Sensorungenauigkeiten best"atigt werden.\\ \\
Grundlage dieser Arbeit ist insbesondere die Arbeit \textit{Modelling Freeway Traffic with Coupled HMMs} \cite{paper:kwonmurphy}, welche eine Modellierung von Verkehr auf Schnellstra"sen anhand von Induktionsschleifen vornimmt und mit Hilfe eines Hidden Markov Modells die Geschwindigkeit von Verkehrsteilnehmer vorhersagt. Die Arbeit \cite{thesis:lehnhoff} erwies sich als hilfreich zur Validierung. So konnten die dort befundenen Sensorungenauigkeiten best"atigt werden.\\ \\
\cite{thesis:elfers}
\cite{paper:kwonmurphy}

View File

@ -1,18 +1,18 @@
\section{Grundlagen}\label{sec:grundlagen}
In diesem Kapitel werden die Grundlagen der Verkehrstechnik und -modellierung beschrieben. Zum einen wird das Funktionsprinzip von Induktionsschleifen erklärt, welche die, für diese Arbeit verwendeten, Daten messen. Zum anderen wird auf die Verwendung der Induktionsschleifen für eine adaptive Ampelsteuerung eingegangen. Ein Kapitel über Makro- und Mikromodellierung umreißt die verschiedenen Verkehrssimulationsansätze.
In diesem Kapitel werden die Grundlagen der Verkehrstechnik und -modellierung beschrieben. Zum einen wird das Funktionsprinzip von Induktionsschleifen erklärt, welche die, für diese Arbeit verwendeten, Daten messen. Zum anderen wird auf die Verwendung der Induktionsschleifen für eine adaptive Ampelsteuerung eingegangen. Ein Abschnitt über Makro- und Mikromodellierung umreißt die verschiedenen Verkehrssimulationsansätze.
\subsection {Induktionsschleifen}\label{sec:grundlagen:induct}
Eine Induktionsschleife ist ein, in die Fahrbahndecke integrierter Sensor, der dem Messen des Verkehr dient. Er macht sich das Prinzip der elektromagnetischen Induktion zur Nutze, um metallische Objekte zu detektieren. Hierf"ur werden Kabelschleifen in die Fahrbahndecke eingelassen, parallel zu einem Kondensator geschaltet und mit einem Oszillator verbunden. Die Konstruktion aus Kondensator und Spule, der Induktionsschleife, wird Schwingkreis genannt. Durch Anlegen eines konstanten Gleichstroms erzeugen die Kabelschleifen ein Magnetfeld auf der Stra"se, welches sich ver"andert, wenn ein Fahrzeug darauf steht oder dar"uber f"ahrt. Diese "Anderung ist an einer ge"anderten Resonanzfrequenz mithilfe des Oszillators messbar. Die Resonanzfrequenz berechnet sich nach der Formel \ref{form:resonanzfrequenz} aus der Induktivit"at der Induktionsschleife und der Kapazit"at des Kondensators:
\begin{equation}\label{form:resonanzfrequenz}
f_0 = \frac1{2 \pi \sqrt{L C}}
\end{equation}
$L$ bezeichnet die Induktivit"at der Induktionsschleife, $C$ die Kapazit"at des Kondensators.\\
Die Elektronik der Induktionsschleife wertet die gemessene Resonanzfrequenz aus und "ubermittelt aufbereitete Werte. Sie k"onnen von einer adaptiven Ampel benutzt werden, um den Verkehr zu steuern. So k"onnen Werte f"ur die Anzahl der Autos, welche den Sensor passiert haben, bestimmt werden. Ebenso die Belegungszeit des Sensors. In Abbildung \ref{abb:2} ist eine in die Fahrbahndecke verbaute Kabelschleife zu sehen, in Abbildung \ref{abb:3} ist der schematische Aufbau einer Induktionsschleife aufgezeigt.\\ \\
Die Elektronik der Induktionsschleife wertet die gemessene Resonanzfrequenz aus und "ubermittelt aufbereitete Werte. Sie k"onnen von einer adaptiven Ampel benutzt werden, um den Verkehr zu steuern. So k"onnen Werte f"ur die Anzahl der Fahrzeuge, welche den Sensor passiert haben, bestimmt werden. Ebenso die Belegungszeit des Sensors. In Abbildung \ref{abb:induktfraese} ist eine in die Fahrbahndecke verbaute Kabelschleife zu sehen, in Abbildung \ref{abb:inductschema} ist der schematische Aufbau einer Induktionsschleife aufgezeigt.\\ \\
\begin{figure}
\centering
\subfigure[Induktionsschleife mit Kabel nach Abfr"asen der Fahrbahn. Quelle: wikipedia.org[todo-allowed?]]{\includegraphics[width=0.3\textwidth-2\fboxsep-2\fboxrule]{pic/800px-Induktionsschleife}}
\label{abb:2}
\label{abb:induktfraese}
\subfigure[Schematischer Aubau einer Induktionsschleife Quelle: \cite{thesis:mazur}.[todo]]{\includegraphics[width=0.5\textwidth-2\fboxsep-2\fboxrule]{pic/induktionsschleife-schema}}
\label{abb:3}
\label{abb:inductschema}
\caption{test todo}
\end{figure}
Wie bei jedem Sensor sind die Messungen unter Vorbehalt von Fehlern zu betrachten. In der Arbeit von \cite{thesis:lehnhoff} wurden die Induktionsschleifen des Stadtgebiets von Hannover untersucht und festgestellt, dass es sehr starke Unterschiede der Messgenauigkeit unter den Sensoren gibt. So wird in dieser Arbeit festgestellt, dass bei nur einem Drittel der Sensoren eine Messgenauigkeit von 90\% erreicht wird w"ahrend ein gleichgro"ser andere Teil eine Genauigkeit von unter 40\% aufweist. Laut dem Merkblatt zu Detektoren f"ur den Stra"senverkehr \cite{merk:street} wird f"ur Messfehler von Induktionsschleifen zwischen vier Fehlertypen unterschieden:
@ -25,13 +25,13 @@ In diesem Kapitel werden die Grundlagen der Verkehrstechnik und -modellierung be
Zeitliche Fehler wirken sich dabei auf die Belegzeitmessung aus. Da diese nicht innerhalb dieser Arbeit betrachtet wird, hat dieser Fehlertyp keine Auswirkungen auf die verwendeten Daten. R"aumlich Messfehler beziehen sich ebenfalls auf die Belegzeitmessung und k"onnen zu Problemen mit der Bestimmung des Fahrzeugtyps f"uhren, da f"ur gleich lange Fahrzeuge verschiedene Belegzeiten gemessen werden k"onnen. Lage- und formbedingte Fehler wirken sich auf den, in dieser Arbeit benutzten, Fahrzeugz"ahlwert aus. Diese treten auf, wenn ein Fahrzeug der, mit einem Sensor best"uckten, Nachbarspur zu nahe kommt und f"alschlicherweise ein Fahrzeug f"ur diese gez"ahlt wird. Umfeldbedingte Fehler sind am schwersten festzustellen. Es handelt sich dabei um Fehler, die durch magnetische St"orquellen in der Umgebung oder schlechte Isolation der Induktionsschleife auftreten. Eine Induktionsschleife kann weiterhin nicht jedes Fahrzeug detektieren. So werden Fahrräder oft nicht erkannt, da sich zu wenige Metall auf der Fahrbahn befindet, um den Sensor auszulösen. "Uber die Fehlerh"aufigkeit liegen keine Daten der Stadt Darmstadt vor. F"ur die Berechnungen dieser Arbeit wird deshalb angenommen die Sensorwerte seien korrekt. Die G"ultigkeit der Induktionsschleifenwerte wird in dem Kapitel \autoref{sec:validierung} genauer behandelt. \\ \\
Induktionsschleifen m"ussen zus"atzlich in zwei Sensortypen unterschieden werden, da sie eine unterschiedliche Behandlungsweise erfordern. Dabei gibt es keinen Unterschied zwischen der verbauten Sensorelektronik oder -installation. Der Sensortyp bestimmt sich aus der Fahrspur, auf der er in die Stra"sendecke eingelassen ist:
\begin{enumerate}
\item{Einspursensor: Ein Auto auf dieser Spur kann die Kreuzung nur in genau eine Richtung verlassen.}
\item{Mischspursensor: Ein Auto auf dieser Spur kann die Kreuzung in mehr als eine Richtung verlassen.}
\item{\textit{Einspursensor}: Ein Auto auf dieser Spur kann die Kreuzung nur in genau eine Richtung verlassen.}
\item{\textit{Mischspursensor}: Ein Auto auf dieser Spur kann die Kreuzung in mehr als eine Richtung verlassen.}
\end{enumerate}
Diese Unterscheidung ist wichtig, da Mischspursensoren neben den Induktionsschleifenwerte noch sog. Abbiegewahrscheinlichkeiten ben"otigen, um Kreuzungszusammenh"ange zu berechnen. Die Verwendung der Abbiegewahrscheinlichkeiten ist im Kapitel \autoref{sec:berechnung} beschrieben.
\subsection{Adaptive Steuerung von Ampelanlagen}\label{sec:datengrund:adapt}
Mit der Zunahme des motorisierten Verkehrs erhielten Anfang des 20. Jahrhunderts sog. Verkehrspolizisten die Aufgabe den Verkehr an Kreuzungen zu regeln. 1924 wurde am Potzdamer Platz in Berlin die erste Ampel errichtet, um die gestiegenen Personalkosten der Verkehrspolizisten zu reduzieren. In den folgenden Jahren wurde die Ampeltechnik weiter verbessert, an der manuellen Steuerung durch Verkehrspolizisten wurde allerdings festgehalten.\\
Die erste verkehrsabh"angige Steuerung wurde 1928 von Charles Adler jr. entwickelt und in Baltimore, Maryland das erste mal eingesetzt \cite{paper:adaptiv}[direct cite]. Bevor diese Technik allerdings Einzug in den allt"aglichen Kreuzungsverkehr fand vergingen noch etwa 40 Jahre. Heute sind die Kreuzungen vieler gro"ser St"adte mit dieser Steuerungstechnik ausgestattet. Die meisten der eingesetzten verkehrsabh"angigen Ampelsteuerungen setzen sog. Ablauflogiken ein. Sie erlauben es zu pr"ufen, ob eine zeitliche oder logische Bedingung der Kreuzung verletzt ist. Im Rahmen dieser Bedingungen kann die Umlaufzeit, Versatzzeit, Phasenfolge und/oder die Freigabezeit dynamisch dem Verkehr angepasst werden. Um den Bedarf an Freigabezeit zu berechnen, kommen die oben beschriebenen Induktionsschleifen zum Einsatz, um den Verkehr zu messen. Wird ein Auto auf einem Sensor erkannt, so kann die Ampelphase verl"angert oder die entsprechende Verkehrsrichtung freigeschaltet werden. Diese verkehrsabh"angige Steuerung von Ampelanlagen wird 'adaptive Steuerung' genannt.\\ \\
Die erste verkehrsabh"angige Steuerung wurde 1928 von Charles Adler jr. entwickelt und in Baltimore, Maryland das erste mal eingesetzt \cite{paper:adaptiv}. Bevor diese Technik allerdings Einzug in den allt"aglichen Kreuzungsverkehr fand vergingen noch etwa 40 Jahre. Heute sind die Kreuzungen vieler gro"ser St"adte mit dieser Steuerungstechnik ausgestattet. Die meisten der eingesetzten verkehrsabh"angigen Ampelsteuerungen setzen sog. Ablauflogiken ein. Sie erlauben es zu pr"ufen, ob eine zeitliche oder logische Bedingung der Kreuzung verletzt ist. Im Rahmen dieser Bedingungen kann die Umlaufzeit, Versatzzeit, Phasenfolge und/oder die Freigabezeit dynamisch dem Verkehr angepasst werden. Um den Bedarf an Freigabezeit zu berechnen, kommen die oben beschriebenen Induktionsschleifen zum Einsatz, um den Verkehr zu messen. Wird ein Fahrzeug auf einem Sensor erkannt, so kann die Ampelphase verl"angert oder die entsprechende Verkehrsrichtung freigeschaltet werden. Diese verkehrsabh"angige Steuerung von Ampelanlagen wird 'adaptive Steuerung' genannt.\\ \\
Durch eine solche Ampelsteuerung verk"urzt sich die Haltezeit von Fahrzeugen und sorgt f"ur einen fl"ussigeren Verkehr, im Vergleich zu einer sog. Festzeitsteuerung\cite{paper:adaptiv}, welche die Ampel nach fest definierten Ampelphasen schaltet. Dies begr"undet sich darin, dass die adaptive Ampelschaltung eine Spur nur dann freischaltet, wenn diese von einem Fahrzeug, detektiert mit Hilfe des Sensor in der Stra"se, ben"otigt wird. Es besteht au"serdem die M"oglichkeit, die Ampelphase so lange zu verl"angern, bis eine L"ucke in der Fahrzeugkolonne erkannt wird, um einen Zug von Fahrzeugen "uber die Kreuzung zu lassen. Werden die Induktionsschleifen an den Haltelinien einer Kreuzung verbaut, k"onnen sie au"serdem verwendet werden, um Rotlichtverst"o"se automatisch zu erkennen.\\ \\
Die Steuerung der Ampelanlagen ist ein Teil des Verkehrsmanagement (siehe \autoref{abb:verkehrsmanagement}). Sie ist f"ur viele andere Bereiche der Verkehrstechnik von gro"sem Interesse, da die Ampeln Sensordaten liefern, die vielf"altig verwendet werden k"onnen. Ein Beispiel der Verwendung ist diese Arbeit, die aus den erfassten Induktionsschleifenwerten Verkehrsfl"usse berechnet.
\begin{figure} \label{abb:verkehrsmanagement}
@ -44,10 +44,10 @@ In diesem Kapitel werden die Grundlagen der Verkehrstechnik und -modellierung be
\begin{enumerate}
\item{Erkl"arungsmodell: dient dazu reale Ph"anomen oder deren Entstehung zu erkl"aren.}
\item{Prognosemodelle: dient der Vorhersage verschiedenster Verkehrsparameter.}
\item{Gestaltungsmodelle: dient der Voraussage von Ver"anderungen des Verkehrsverhaltens bei (infrastruckturellen) Ma"snahmen.}
\item{Gestaltungsmodelle: dient der Voraussage von Ver"anderungen des Verkehrsverhaltens bei (infrastrukturellen) Ma"snahmen.}
\item{Optimierungsmodelle: dient der Optimierung von Verkehr.}
\end{enumerate}
Da im Rahmen dieser Arbeit Werte f"ur Kreuzungsausg"ange vorhergesagt bzw. angen"ahert werden, handelt es sich bei den hier diskutierten Modellen um ein Prognosemodell. Desweiteren wird zwischen den Genauigkeitsstufen des Modells unterschieden. Dies trifft insbesondere auf Flussmodelle zu. Diese k"onnen auf verschiedenen Ebenen, mit verschiedenen Genauigkeitsstufen, modelliert werden. Es wird zwischen vier Genauigkeitsstufen unterschieden\cite{lect:simumod}:
Da im Rahmen dieser Arbeit Werte f"ur Kreuzungsausg"ange vorhergesagt bzw. angen"ahert werden, handelt es sich bei dem hier diskutierten Modell um ein Prognosemodell. Des weiteren wird zwischen den Genauigkeitsstufen des Modells unterschieden. Dies trifft insbesondere auf Flussmodelle zu. Diese k"onnen auf verschiedenen Ebenen, mit verschiedenen Genauigkeitsstufen, modelliert werden. Es wird zwischen vier Genauigkeitsstufen unterschieden\cite{lect:simumod}:
\begin{itemize}
\item{makroskopisch: Modellierung auf Basis von Fahrzeugkollektiven}
\item{mesoskopisch: Modelliert auf Basis von Fahrzeugkollektiven, betrachtet allerdings auch einzelne Fahrzeuge}

View File

@ -1,29 +1,30 @@
\section{Graphen-basiertes Verkehrsmodell}\label{sec:modell}
In diesem Kapitel wird eine Modellierung des Verkehrsnetzes auf Basis eines Graphen vorgestellt. Es berücksichtigt im Besonderen die Verkehrssensoren, da diese Grundlage der Verkehrsflussberechnung sind. Es werden weiterhin zwei Darstellungen des Modells entwickelt. Die Darstellung als Matrix und als klassischer Graph mit Knoten und Kanten. Diese beiden Darstellungen sind untereinander kompatibel, k"onnen deshalb ineinander "uberf"uhrt werden. Der Graph ist ein n"utzliches Werkzeug der Visualisierung w"ahrend die Matrixdarstellung der Berechnung dient.\\ \\
Für die Entwicklung des Modells wurden zuerst händisch Zeichnungen der zehn untersuchten Kreuzungen, der 'Ministadt', angefertigt, um den lokalen Gegebenheiten gerecht zu werden und das Modell daran zu orientieren. Auf Grundlage dieser Zeichnungen wird daraufhin ein allgemeines Kreuzungsverkehrsmodell entwickelt. Als Grundlage f"ur die Modellierung dienen die in Kapitel \autoref{sec:datengrund} beschriebenen Daten.\\ \\
Für die Entwicklung des Modells wurden zuerst händisch Zeichnungen der zehn untersuchten Kreuzungen, der \textit{Ministadt}, angefertigt, um den lokalen Gegebenheiten gerecht zu werden und das Modell daran zu orientieren. Auf Grundlage dieser Zeichnungen wird daraufhin ein allgemeines Kreuzungsverkehrsmodell entwickelt. Als Grundlage f"ur die Modellierung dienen die in Kapitel \autoref{sec:datengrund} beschriebenen Daten.\\ \\
In der Industrie eingesetzte Software zur Berechnung und Modellierung von Verkehrsfl"ussen, verwenden meistens ein sog. mikroskopisches Modell des Verkehrs\footnote{vissim}, um die Interaktion der einzelnen Verkehrsteilnehmer modellieren zu k"onnen. Da die Sensorwerte, welche zur Verf"ugung stehen, allerdings "uber einen Zeitraum von einer Minute aufgenommen werden, eignet sich eine Mikromodellierung des Verkehrs nicht. F"ur einen solchen Modellierungsansatz sind genauere und mehr Daten notwendig. Es stehen lediglich Messwerte von 89 Sensoren auf dem untersuchten Gebiet zur Verf"ugung. Eine Modellierung einzelner Fahrzeuge erscheint deshalb, allein anhand der Induktionsschleifen, nicht m"oglich zu sein.\\ \\
In dieser Arbeit wird eine Zweistufenmodellierung vorgestellt, welche f"ur Kreuzungen eine genauere Modellierung auf Sensorebene zul"asst, w"ahrend es zwischen den Kreuzungen ein ungenauere Modellierung vornimmt. Dies ist sinnvoll, da nur im Kreuzungsbereich Sensoren zur Verf"ugung stehen. Kleinere Kreuzungen und Stra"senz"uge sind nicht mit Sensoren best"uckt und aus diesem Grund kann keine qualifiziert Aussage "uber diese gemacht werden. Sie werden aus diesem Grund nicht explizit modelliert.\\
Die Grundannahme f"ur das Modell ist, dass sich die Verkehrsteilnehmer an die Stra"senverkehrsordnung halten, da nur verkehrsg"ultige Verbindungen zwischen und innerhalb von Kreuzungen modelliert werden. Die beschriebene Modellierung kann dabei nicht jedes Verkehrsverhalten beschreiben. So kann beispielsweise der R"uckfluss von Autos, welche eine sog. 'U-Turn' an einer Kreuzung vollf"uhren, nicht mit dem entwickelten Modell modelliert werden. Eine genaue Beschreibung der Herausforderung des Modells ist am Ende dieses Kapitels zu finden.\\ \\
Um ein Verkehrsmodell zu entwickeln muss zuerst festgelegt werden, welche Art des Verkehrs modelliert werden soll. Da die Induktionsschleifen, welche Grundlage der Berechnung sind, nicht jedes Straßenfahrzeug detektieren können, werden nur solche modelliert, welche die Sensoren erkennen können[verweisen?]. Das Modell wurde zusammen mit M. Scholz \cite{thesis:michael} entwickelt, der mit Hilfe dieses Modells Abbiegewahrscheinlichkeiten für einzelne Sensoren berechnet(siehe \autoref{sec:daten}).\\ \\
In dieser Arbeit wird eine Zweistufenmodellierung vorgestellt, welche f"ur Kreuzungen eine genauere Modellierung auf Sensorebene zul"asst, w"ahrend es zwischen den Kreuzungen ein ungenauere Modellierung vornimmt. Dies ist sinnvoll, da nur im Kreuzungsbereich Sensoren zur Verf"ugung stehen. Kleinere Kreuzungen und Stra"senz"uge sind nicht mit Sensoren best"uckt und aus diesem Grund kann keine qualifiziert Aussage "uber diese gemacht werden. Sie werden aus diesem Grund nicht explizit modelliert. Die Modellierung verfolgt dabei einen makroskapischen Ansatz und ist den Prognosemodellen zuzuordnen.\\
Die Grundannahme f"ur das Modell ist, dass sich die Verkehrsteilnehmer an die Stra"senverkehrsordnung halten, da nur verkehrsg"ultige Verbindungen zwischen und innerhalb von Kreuzungen modelliert werden. Die beschriebene Modellierung kann dabei nicht jedes Verkehrsverhalten beschreiben. So kann beispielsweise der R"uckfluss von Autos, welche eine sog. \textit{U-Turn} an einer Kreuzung vollf"uhren, nicht mit dem entwickelten Modell modelliert werden. Eine genaue Beschreibung der Herausforderung des Modells ist am Ende dieses Kapitels zu finden.\\ \\
Um ein Verkehrsmodell zu entwickeln muss zuerst festgelegt werden, welche Art des Verkehrs modelliert werden soll. Da die Induktionsschleifen, welche Grundlage der Berechnung sind, nicht jedes Straßenfahrzeug detektieren können, werden nur solche modelliert, welche die Sensoren erkennen können[verweisen?]. Das Modell wurde zusammen mit \textsc{M. Scholz} \cite{thesis:michael} entwickelt, der mit Hilfe dieses Modells Abbiegewahrscheinlichkeiten für einzelne Sensoren berechnet(siehe \autoref{sec:daten}).\\ \\
\subsection{H"andische Modellierung der Ministadt}\label{sec:modell:ministadt}
Die 'Ministadt', der gewählte geographische Ausschnit\ref{sec:daten:geo}, enth"alt zehn mit Sensoren best"uckte Kreuzungen. Diese Kreuzungen werden mit A3 \ref{anhang:a3}, A4 \ref{anhang:a4}, A5 \ref{anhang:a5}, A12 \ref{anhang:a12}, A23 \ref{anhang:a23}, A28 \ref{anhang:a28}, A29 \ref{anhang:a29}, A46 \ref{anhang:a46}, A59 \ref{anhang:a59}und A104 \ref{anhang:a104} bezeichnet. Die Bezeichnungen stammten dabei aus der CAD-"Ubersichtskarte \ref{abb:caddarmstadt} der Stadt Darmstadt,. Eine genaue Beschreibung des gew"ahlten geographischen Ausschnitts ist in Kapitel \autoref{sec:datengrund} zu finden.\\ \\
Um eine "Ubersicht "uber das zu betrachtende Gebiet der 'Ministadt' zu erhalten wurde eine "Ubersicht "uber alle Kreuzungen in dem gesamten betrachteten Gebiet erstellt. In dieser Modellierung entfallen alle Seitenstra"sen und Zwischenkreuzungen ohne Sensoren. Die Zwischenkreuzungen entfallen, da keinerlei Messdaten f"ur diese Kreuzungen vorhanden sind, weshalb die Kreuzungs"ubersicht eine Verallgemeinerung des Verkehrsnetzes darstellt. Es werden dabei nur sensorbest"uckte Kreuzungen aufgezeigt.\\
Mit Rechtecken werden die betrachteten Kreuzungen vermerkt, mit Kreisen die nicht mehr modellierten Nachbarkeuzungen. Pfeile weisen dabei die Flie"srichtung der Stra"sen aus, in welche der Verkehr regelkonform flie"sen darf. So ist von der Kreuzung A29 nach A104 eine Einbahnstra"se an den einfachen Pfeilen zu erkennen, w"ahrend Stra"sen, welche in beide Richtungen befahren werden k"onnen mit Doppelpfeilen dargestellt werden.
Die \textit{Ministadt}, der gewählte geographische Ausschnit\ref{sec:daten:geo}, enth"alt zehn mit Sensoren best"uckte Kreuzungen. Diese Kreuzungen werden mit A3 [\ref{anhang:a3}], A4 [\ref{anhang:a4}], A5 [\ref{anhang:a5}], A12 [\ref{anhang:a12}], A23 [\ref{anhang:a23}], A28 [\ref{anhang:a28}], A29 [\ref{anhang:a29}], A46 [\ref{anhang:a46}], A59 [\ref{anhang:a59}] und A104 [\ref{anhang:a104}] bezeichnet. Die Bezeichnungen stammten dabei aus der CAD-"Ubersichtskarte \ref{abb:caddarmstadt} der Stadt Darmstadt. Eine genaue Beschreibung des gew"ahlten geographischen Ausschnitts ist in Kapitel \autoref{sec:daten} zu finden.\\ \\
Um eine "Ubersicht "uber das zu betrachtende Gebiet der \textit{Ministadt} zu erhalten wurde eine "Ubersicht "uber alle Kreuzungen in dem gesamten betrachteten Gebiet erstellt. In dieser Modellierung entfallen alle Seitenstra"sen und Zwischenkreuzungen ohne Sensoren. Die Zwischenkreuzungen entfallen, da keinerlei Messdaten f"ur diese Kreuzungen vorhanden sind, weshalb die Kreuzungs"ubersicht eine Verallgemeinerung des Verkehrsnetzes darstellt. Es werden dabei nur sensorbest"uckte Kreuzungen aufgezeigt.\\
Mit Rechtecken werden die betrachteten Kreuzungen vermerkt, mit Kreisen die nicht mehr modellierten Nachbarkreuzungen. Pfeile weisen dabei die Flie"srichtung der Stra"sen aus, in welche der Verkehr regelkonform flie"sen darf. So ist von der Kreuzung A29 nach A104 eine Einbahnstra"se an den einfachen Pfeilen zu erkennen, w"ahrend Stra"sen, welche in beide Richtungen befahren werden k"onnen mit Doppelpfeilen dargestellt werden. Die Kreuzungsübersicht ist in \autoref{abb:xroverview} zu sehen.
\begin{figure}[htbp!]
\centering
\fbox{\includegraphics[width=0.50\textwidth-2\fboxsep-2\fboxrule]{ext/Kreuzungsuebersicht}}
\caption{Kreuzungs"ubersicht 'Ministadt'in der Stadt Darmstadt}
\caption{Kreuzungs"ubersicht \textit{Ministadt} in der Stadt Darmstadt}
\label{abb:xroverview}
\end{figure}
Um eine "Ubersicht "uber die zu betrachtenden Kreuzungen zu erhalten wurden h"andisch Zeichnungen von den zehn Kreuzungen angefertigt. Die gew"ahlte intuitive Modellierung entspricht in etwa der, welche sp"ater im Computer entsteht. Die Grundlage f"ur diese Modellierung sind die CAD-Zeichnungen der Kreuzungen der Stadt Darmstadt. Sie werden im Kapitel \autoref{sec:datengrund} genauer beschrieben.\\ \\
In der Kreuzungs"ubersicht entfallen sehr viele Details, da keine Daten f"ur Seitenstra"sen zwischen den Kreuzungen vorhanden sind. Dagegen k"onnen die modellierten Kreuzungen wesentlich genauer dargestellt werden und lassen sich sehr gut auf Sensorebene modellieren. Neben den realen Sensoren erh"alt jede Kreuzung jeweils bis zu vier Ein- und Ausg"ange, modelliert als sog. 'virtuelle Sensoren'. Die Sensoren werden dabei nach den jeweiligen Kreuzungseing"angen platziert, auf denen sie in der Realit"at in der Stra"se verbaut sind. Validierungssensoren sind solche, welche R"uckschl"usse auf andere Sensoren der Kreuzung zulassen. Sie sind vor einem Kreuzungsausgang in der STraßendenke verbaut. Die Validierungssensoren werden in der h"andischen Modellierung aufgezeigt, in der Matrixdarstellung findet sich allerdings keinen Platz f"ur diese, da f"ur die Berechnung von der Grundannahme ausgegangen wird, dass ein Sensor direkt mit einem Kreuzungsein- und Ausgang, ohne Zwischenknoten, verbunden ist. Wie anhand des entwickelten Modells Verkehrsstr"ome berechnet werden k"onnen und wie sich Sensorwerte mit Validierungssensoren validieren lassen wird im Kapitel \autoref{sec:berechnung} genauer behandelt.\\ \\
F"ur die Modellierung der Kreuzungen sind mehr Daten bekannt - die Positionen der Induktionsschleifen. Sensoren werden als Achtecke mit aufgetragenen Flie"srichtungen dargestellt. Die Verbindungen von Sensoren und virtuellen Sensoren werden analog zur Kreuzungs"ubersicht als Pfeile mit ihrer Flie"srichtung eingezeichnet. Dekoriert wird ein Kreuzungsbild dabei mit bis zu acht virtuellen Sensorknoten, jeweils ein rechteckiger f"ur den Kreuzungsausgang, ein runden f"ur den Kreuzungseingang. Die Position des Sensors wird dahingehend vereinfacht, dass er einem Kreuzungseingang zugeordnet wird und direkt nach dem virtuellen Eingangssensor platziert wird.
Um eine "Ubersicht "uber die zu betrachtenden Kreuzungen zu erhalten wurden h"andisch Zeichnungen von den zehn Kreuzungen angefertigt. Die gew"ahlte intuitive Modellierung entspricht in etwa der, welche sp"ater im Computer entsteht. Die Grundlage f"ur diese Modellierung sind die CAD-Zeichnungen der Kreuzungen der Stadt Darmstadt. Sie werden im Kapitel \autoref{sec:daten} genauer beschrieben.\\ \\
In der Kreuzungs"ubersicht entfallen sehr viele Details, da keine Daten f"ur Seitenstra"sen zwischen den Kreuzungen vorhanden sind. Dagegen k"onnen die modellierten Kreuzungen wesentlich genauer dargestellt werden und lassen sich sehr gut auf Sensorebene modellieren. Neben den realen Sensoren erh"alt jede Kreuzung jeweils bis zu vier Ein- und Ausg"ange, modelliert als sog. \textit{virtuelle Sensoren}. Die Sensoren werden dabei nach den jeweiligen Kreuzungseing"angen platziert, vor dessen Haltelinie sie in der Realit"at in der Stra"se verbaut sind. Validierungssensoren sind solche, welche R"uckschl"usse auf andere Sensoren der Kreuzung zulassen. Sie sind vor einem Kreuzungsausgang in der Straßendenke verbaut. Die Validierungssensoren werden in der h"andischen Modellierung aufgezeigt, in der allgemeinen Modellierung einer Kreuzung findet sich allerdings keinen Platz f"ur diese, da f"ur die Berechnung von der Grundannahme ausgegangen wird, dass ein Sensor direkt mit einem Kreuzungsein- und Ausgang, ohne Zwischenknoten, verbunden ist. Wie anhand des entwickelten Modells Verkehrsstr"ome berechnet werden k"onnen und wie sich Sensorwerte mit Validierungssensoren validieren lassen wird im Kapitel \ref{sec:berechnung} genauer behandelt.\\ \\
F"ur die Modellierung der Kreuzungen sind mehr Daten bekannt - die Positionen der Induktionsschleifen. Sensoren werden als Achtecke mit aufgetragenen Flie"srichtungen dargestellt. Die Verbindungen von Sensoren und virtuellen Sensoren werden analog zur Kreuzungs"ubersicht als Pfeile mit ihrer Flie"srichtung eingezeichnet. Dekoriert wird ein Kreuzungsbild dabei mit bis zu acht virtuellen Sensorknoten, jeweils ein rechteckiger f"ur den Kreuzungsausgang, ein runden f"ur den Kreuzungseingang. Die Position der Sensoren wird dahingehend vereinfacht, dass sie einem Kreuzungseingang zugeordnet und direkt nach dem entsprechenden virtuellen Eingangssensor platziert werden. Die händische Modellierung der Kreuzung A23 ist in \autoref{abb:a23} zu sehen. Die restlich neun Kreuzungsbilder sind dem Anhang beigefügt.
\begin{figure}[htbp!]
\centering
\fbox{\includegraphics[width=0.50\textwidth-2\fboxsep-2\fboxrule]{ext/KreuzungA23}}
\caption{H"andische Modellierung der Kreuzung A23}
\label{abb:a23}
\end{figure}
Wie in Figur \autoref{abb:a23} zu erkennen, sind in der Kreuzung A23 zwei Validierungssensoren verbaut, die Sensoren [] und []. Die manuelle Modellierung verbindet diese mit den entsprechenden Eingangssensoren. Dies ist zwar korrekt, erweist sich f"ur die Berechnung allerdings als hinderlich. Aus diesem Grund werden bei der computergest"utzten Modellierung die Eingangssensoren direkt mit den jeweiligen Ausg"angen verbunden.\\ \\
Wie in Figur \autoref{abb:a23} zu erkennen, sind in der Kreuzung A23 zwei Validierungssensoren verbaut, die Sensoren \textit{D13} und \textit{D14}. Die händische Modellierung verbindet diese mit den entsprechenden Eingangssensoren. Dies ist zwar korrekt, erweist sich f"ur die Berechnung allerdings als hinderlich. Aus diesem Grund werden bei der computergest"utzten Modellierung die Eingangssensoren direkt mit den jeweiligen Ausg"angen verbunden.\\ \\
Diese intuitive Modellierung auf zwei Ebenen hat sich sowohl aus "Ubersichtsgr"unden, als auch f"ur die Berechnung als sinnvoll erwiesen. W"ahrend ein Kreuzungsbild eine wesentlich genauere Abbildung der Realit"at ist, ist im Vergleich die Kreuzungs"ubersicht relativ ungenau, da Seitenstra"sen nicht modelliert werden und alle Kreuzungen als gleich weit voneinander entfernt betrachtet werden. Die gew"ahlte Modellierung hat folglich zwei Genauigkeitsstufen. Die "Ubersicht "uber die Kreuzungen gew"ahrt einen Blick auf die Gesamtverkehrssituation. Sie dient, wie der Name schon sagt, der "Ubersicht. Ein wesentliches Ziel ist es Verkehrsdaten f"ur dieses Modell zu errechnen oder abzusch"atzen. Es stehen zwar Informationen "uber die einzelnen Sensoren der Kreuzungen zur Verf"ugung. Diese Werte k"onnen allerdings noch nicht auf ein Gesamtbild des Verkehrs "ubertragen werden. \\ \\
Im Folgendem wird ein allgemeines Verkehrsmodell auf Basis von Grapehn entwickelt. Grundlage dafür ist die händische Modellierung der Kreuzungen.
\subsection{Allgemeines Verkehrsmodell auf Basis eines Graphen}\label{sec:modell:graph}
@ -37,7 +38,7 @@ Um ein Verkehrsmodell zu entwickeln muss zuerst festgelegt werden, welche Art de
\item{Kreuzungsausgang: Ein Ausgang einer Kreuzung auf dem Verkehr die Kreuzung verlassen kann.}
\item{Kreuzungseingang: Ein Eingang einer Kreuzung auf dem Verkehr in die Kreuzung einfahren kann.}
\end{enumerate}
Eine Fahrspur bezeichnet dabei einen Bereich der Stra"senfahrbahn der mit seiner vorgegebenen Fahrtrichtung auf bestimmt Ausg"ange der Kreuzung zeigt. Ein Kreuzungsein bzw. -ausgang kann mehrere Fahrspuren aufweisen.\\ \\
Eine Fahrspur bezeichnet dabei einen Bereich der Stra"senfahrbahn der mit seiner vorgegebenen Fahrtrichtung auf bestimmt Ausg"ange der Kreuzung zeigt. Ein Kreuzungsein bzw. -ausgang kann mehrere Fahrspuren aufweisen. Außerdem wurde festgelegt, dass Kreuzungsein- bzw. Ausgänge als Virtuelle Sensoren modelliert werden.\\ \\
Zunächst müssen allerdings die Sensoren genauer untersucht werden. Alle Sensoren wurde dafür neben der Unterteilung nach Einspursensor und Mischspursensor nochmals in Subklassen unterschieden.\\ Einspursensoren unterteilen sich dabei in drei Subklassen:\\
\begin{enumerate}
\item{Einspur - Geradeaus}
@ -63,21 +64,21 @@ Um ein Verkehrsmodell zu entwickeln muss zuerst festgelegt werden, welche Art de
\item{ungerichter Graph}
\item{gerichteter Graph}
\end{itemize}
Ein ungerichteter Graph kann genau eine Kante zwischen zwei Knoten haben. Ein gerichteter Graph dagegen kann bis zu zwei Kanten zwischen zwei Knoten haben, einen f"ur jeder Richtung. Diese Einschr"ankung gilt hingegen nicht f"ur Graphen, die Mehrfachkanten erlauben. Mehrfachkanten sind solche, welche zwei oder mehr Kanten zwischen zwei Knoten zulassen.
Ein ungerichteter Graph kann genau eine Kante zwischen zwei Knoten haben. Ein gerichteter Graph dagegen kann bis zu zwei Kanten zwischen zwei Knoten haben, einen f"ur jeder Richtung. Diese Einschr"ankung gilt hingegen nicht f"ur Graphen, die Mehrfachkanten erlauben. Mehrfachkanten sind solche, welche zwei oder mehr Kanten zwischen zwei Knoten zulassen. Eine graphische Übersicht über die verschiedenen Graphen ist in \autoref{abb:graphen} zu finden.
\begin{figure}[htbp!]\label{abb:graphen}
\centering
\fbox{\includegraphics[width=0.5\textwidth-2\fboxsep-2\fboxrule]{ext/graphen}}
\caption{a) ungerichteter Graph b) gerichteter Graph c) ungerichteter Graph mit Mehrfachkanten}
\end{figure}
Bei dem, in dieser Arbeit, entworfen Graphen handelt es sich um gerichtete Graphen ohne Mehrfachkanten, da Spuren durch einen eigenen Sensorknoten modelliert und aus diesem Grund keine Mehrfachkanten ben"otigt werden. Typische Algorithmen auf einem Graphen sind die Tiefensuche, Breitensuche oder Wegfindungsalgorithmen.
Bei dem, in dieser Arbeit, entworfen Graphen handelt es sich um gerichtete Graphen ohne Mehrfachkanten, da jede Fahrspuren durch einen eigenen Sensorknoten modelliert und aus diesem Grund keine Mehrfachkanten ben"otigt werden. Typische Algorithmen auf einem Graphen sind die Tiefensuche, Breitensuche oder Wegfindungsalgorithmen.
\subsubsection{Kreuzungsgraph} \label{sec:modell:graph:xr}
Da der Kreuzungs"ubersichtsgraph die Kreuzungsgraphen als Knoten beinhalten soll, werden zuerst die Kreuzungsgraphen modelliert. Dabei gilt es folgende Elemente abzubilden und entweder als Knoten oder als Kante zu definieren. Validierungssensoren werden aus der Modellierung au"sen vorgelassen, um die Modellierung und Berechnung zu vereinfachen.
Da der Kreuzungs"ubersichtsgraph die Kreuzungsgraphen als Knoten beinhalten soll, um den Zusammenhalt des Modells zu gewährleisten, werden zuerst die Kreuzungsgraphen modelliert. Dabei gilt es folgende Elemente abzubilden und entweder als Knoten oder als Kante zu definieren. Validierungssensoren werden aus der Modellierung au"sen vorgelassen, um die Modellierung und Berechnung zu vereinfachen.
\begin{itemize}
\item{Stra"se: Ein nicht mit Sensoren best"uckte Stra"se, auf der Fahrzeuge fahren d"urfen.}
\item{Sensor: Eine Induktionsschleife, welche Verkehrswerte misst.}
\item{Virtueller Sensor: F"ur jede Richtung der Kreuzung wird jeweils ein virtueller Ausgang und Eingang angenommen.}
\end{itemize}
Es liegt nahe, Stra"sen als Kanten und Sensoren, sowie virtuelle Sensoren, als Knoten zu modellieren. Es wurde festgelegt, dass zwischen Kreuzungsein- und -Ausgang genau ein Sensor liegen muss. Dieser kann allerdings ebenfalls ein virtueller Sensor sein, wenn keine Werte für den entsprechenden Bereich bekannt sind. Des weiteren wird für jede Eingangsspur ein Sensor angenommen, da die Induktionsschleifen der Stadt Darmstadt diese Bedingung auf dem untersuchten Bereich erfüllt. Ein Sensor wird dabei einer Eingansspur zugeordet, wenn dieser vor der enstprechenden Haltelinie verbaut ist.\\ \\
Es liegt nahe, Stra"sen als Kanten und Sensoren, sowie virtuelle Sensoren, als Knoten zu modellieren. Es wurde festgelegt, dass zwischen Kreuzungsein- und -Ausgang genau ein Sensor liegen muss. Dieser kann allerdings ebenfalls ein virtueller Sensor sein, wenn keine Werte für den entsprechende Fahrspur bekannt sind. Des weiteren wird für jede Eingangsspur ein Sensor angenommen, da die Induktionsschleifen der Stadt Darmstadt diese Bedingung auf dem untersuchten Bereich erfüllt. Ein Sensor wird dabei einer Eingangsspur zugeordnet, wenn dieser vor der entsprechenden Haltelinie verbaut ist.\\ \\
Der Graph lässt sich mit dem Tupel $(V, E)$ beschreiben, wobei $V$ die Menge der virtuellen und realen Sensoren bezeichnet. $E$ bezeichnet gerichtete Kanten, die zwischen den Knoten bestehen. Eine Kante bezeichnet dabei die verkehrsgültige Verbindung zwischen zwei Knoten. Weiterhin gilt $E(V_1,V_2)$ nur, falls entweder $V_1$ oder $V_2$ ein Kreuzungsaus- bzw. -Eingang ist. F"ur Kreuzungen mit sog. Validierungssensoren gilt dies nicht, da die Validierungssensoren zwischen Sensor und Kreuzungsausgang in dem Graphen liegen. Aus diesem Grund werden f"ur das entwickelte Modell die Validierungssensoren nicht mit abgebildet. Im Kapitel \autoref{sec:berechnung} wird nochmals n"aher darauf eingegangen, wie diese Sensoren zur L"osung eines Gleichungssystems, um Abbiegewahrscheinlichkeiten auf einer Kreuzung zu berechnen, verwendet werden k"onnen.\\ \\
Da fast alle betrachteten Kreuzungen der Stadt Darmstadt nur einen Sensor zwischen Ein- und entsprechenden Ausgang haben, ist das entwickelten Modell auf die meisten Kreuzungen, ohne das Weglassen von Sensoren, anzuwenden.
\subsubsection{Kreuzungs"ubersichtsgraph} \label{sec:modell:graph:overview}
@ -90,7 +91,7 @@ Um ein Verkehrsmodell zu entwickeln muss zuerst festgelegt werden, welche Art de
\subsection{Matrixdarstellung des Kreuzungsmodells}\label{sec:modell:matrix}
Als Grundlage f"ur die Berechnung wurde eine Matrixdarstellung f"ur Kreuzungen entwickelt. Der oben entwickelte Graph l"asst sich dabei in eine Matrixform "uberf"uhren. Matrizen bieten z.b. durch Matrixmultiplikation die M"oglichkeit komplexe Zusammenh"ange durch einfache Rechenschritte auszudr"ucken. Mehr zu der Verwendung von Matrizen ist im Kapitel \autoref{sec:berechnung} zu finden.\\ \\
Um en Graph einer Kreuzung zu beschreiben, ist es n"otig die Verbindungen von Sensoren zu deren m"oglichen Kreuzungsausg"angen bzw. -Eing"angen zu modellieren.\\ \\
Die Beschreibung der Verbindungen l"asst sich mit einer Verbindungsmatrix bewerkstelligen. Dabei wird zwischen der sog. Eingangsmatrix und der sog. Ausgangsmatrix unterschieden. Beide Matrixformen zusammen bilden den Kreuzungsgraphen ohne Validierungssensoren ab.
Die Beschreibung der Verbindungen l"asst sich mit einer Verbindungsmatrix bewerkstelligen. Dabei wird zwischen der sog. Eingangsmatrix und der sog. Ausgangsmatrix unterschieden. Beide Matrixformen zusammen bilden den Kreuzungsgraphen (ohne Validierungssensoren) ab.
\subsubsection{Ausgangsmatrix}\label{sec:modell:matrix:out}
Die Ausgangsmatrize zeigt auf, von welchem Sensor welcher Ausgang einer Kreuzung bedient werden kann. Hierf"ur werden alle Ausg"ange einer Kreuzung auf der Y-Achse der Matrix verzeichnet, alle Sensoren dieser Kreuzung auf der X-Achse. Besteht eine Verbindung zwischen Sensor und Ausgang so kann an der entsprechenden Stelle der Matrix eine Verbindung mit '1' markiert werden. Besteht dagegen keine Verbindung wird das ebenfalls markiert, mit einer '0'.\\ \\
Die Allgemeine Form einer Ausgangsmatrix ist in \autoref{tbl:ausgangsmatrixallg} beschrieben.\\
@ -115,7 +116,7 @@ Um ein Verkehrsmodell zu entwickeln muss zuerst festgelegt werden, welche Art de
\caption{H"andische Modellierung der Kreuzung A23 mit markierten Ausgangsverbindungen in Richtung A104 und markierten Eingangsverbindungen aus Richtung A4.}
\label{abb:a23marked}
\end{figure}
Am Beispiel der Kreuzung A23 sei das hier demonstriert. Dabei entf"allt eine Ausgangsspalte, da die A23 eine Einbahnstra"se beinhaltet, welche es gebietet die Kreuzung nur in die eine Richtung zu verlassen. Die entsprechenden Ausgangsspalten werden dabei mit der, auf den Ausgang folgenden, Kreuzung benannt. Die Tabelle \autoref{abb:ausmatrixa23} beschreibt die Ausgangsmatrix der Kreuzung A23. Um die Zusammensetzung der Matrizen zu verdeutlichen sind in \autoref{abb:a23marked} die Verbindungen für den Eingang aus Richtung A4 markiert, sowie die Verbindungen für den Ausgang in Richtung A104.
Am Beispiel der Kreuzung A23 sei das hier demonstriert. Dabei entf"allt eine Ausgangszeile, da die A23 eine Einbahnstra"se beinhaltet, welche es gebietet die Kreuzung nicht in die eine Richtung zu verlassen. Die entsprechenden Ausgangszeilen werden dabei mit der, auf den Ausgang folgenden, Kreuzung benannt. Die Tabelle \autoref{abb:ausmatrixa23} beschreibt die Ausgangsmatrix der Kreuzung A23. Um die Zusammensetzung der Matrizen zu verdeutlichen sind in \autoref{abb:a23marked} die Verbindungen für den Eingang aus Richtung A4 markiert, sowie die Verbindungen für den Ausgang in Richtung A104.
\begin{figure}
\centering
\begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|}\hline
@ -188,41 +189,41 @@ Um ein Verkehrsmodell zu entwickeln muss zuerst festgelegt werden, welche Art de
\item{Der Typ der Spur, auf dem der Sensor verbaut ist: Misch- oder Einzelspur}
\item{F"ur virtuelle Sensoren der Aus- und Eing"ange einer Kreuzung, der Name der vorhergehenden bzw. nachfolgenden Kreuzung.}
\end{itemize}
Dabei ist eine ID ein eindeutiges Merkmal des Sensors. Der Sensorname dagegen ist nur innerhalb einer Kreuzung eindeutig. So ist auf Kreuzung A4\ref{anhang:a4} ein Sensor D11 zu finden, sowie auf Kreuzung A5\ref{anhang:a5} einer mit dem selben Namen. Dementsprechend sind Verkn"upfungen unter den Sensoren "uber die Sensor ID identifiziert. Diese Verkn"upfungen werden "uber die Felder \textit{toSensorLeftID}, \textit{toSensorStraightID} und \textit{toSensorRightID} modelliert und erlauben es den Graphen aufzubauen. Verbindungen zwischen Knoten werden dabei in Verkehrsflussrichtung gespeichert. In der Spalte \textit{sensorType} wird der Type des Sensors gespeichert. Eine zus"atzliche Tabelle erlaubt es Einzelheiten zu den einzelnen Sensortypen zu definieren. In dieser Arbeit wird nur auf die beiden Sensortypen 'virtueller Sensor' und 'realer Sensor' zur"uckgegriffen. Die Datenbankstruktur erlaubt es allerdings durch hinzuf"ugen einer Zeile in der Tabelle \textit{bt\_sensor\_types} einen neuen Sensortyp zu definieren. Auf diesen Typ kann ein Algorithmus, der auf dem Graphen rechnet, anders als auf die anderen beiden Sensortypen reagieren.\\ \\
Dabei ist eine ID ein eindeutiges Merkmal des Sensors. Der Sensorname dagegen ist nur innerhalb einer Kreuzung eindeutig. So ist auf Kreuzung A4\ref{anhang:a4} ein Sensor D11 zu finden, sowie auf Kreuzung A5\ref{anhang:a5} einer mit dem selben Namen. Dementsprechend sind Verkn"upfungen unter den Sensoren "uber die Sensor ID identifiziert. Diese Verkn"upfungen werden "uber die Felder \textit{toSensorLeftID}, \textit{toSensorStraightID} und \textit{toSensorRightID} modelliert und erlauben es den Graphen aufzubauen. Verbindungen zwischen Knoten werden dabei in Verkehrsflussrichtung gespeichert. In der Spalte \textit{sensorType} wird der Type des Sensors gespeichert. Eine zus"atzliche Tabelle erlaubt es Einzelheiten zu den einzelnen Sensortypen zu definieren. In dieser Arbeit wird nur auf die beiden Sensortypen \textit{virtueller Sensor} und \textit{realer Sensor} zur"uckgegriffen. Die Datenbankstruktur erlaubt es allerdings durch hinzuf"ugen einer Zeile in der Tabelle \textit{bt\_sensor\_types} einen neuen Sensortyp zu definieren. Auf diesen Typ kann ein Algorithmus, der auf dem Graphen rechnet, anders als auf die anderen beiden Sensortypen reagieren.\\ \\
Die Definition f"ur Kreuzungen ist dagegen deutlich einfacher. Da jede Kreuzung, die modelliert wurde, h"ochsten vier Ausg"ange hat, m"ussen jeweils 4 Ausg"ange sowie 4 Eing"ange modelliert werden. Auch hier werden Latitude und Logitude ben"otigt, um die Kreuzung auf einer Karte, oder relativ zu anderen Objekten der Modellierung, darstellen zu k"onnen. Die Kreuzungsnamen sind in der Stadt Darmstadt eindeutig, weshalb es keine ID f"ur eine Identifikation von Kreuzungen bedarf.\\ \\
Die Tabelle \textit{bt\_values} enth"alt aufbereitete Induktionsschleifenwerte. Diese werden mit den Abfragen, welche in \autoref{sec:datengrund} beschrieben sind, aus der MYSQL-Datenbank der JEE6 Anwendung zur Bereitstellung von Verkehrsdaten \cite{thesis:mueller} extrahiert, um das manuelle Untersuchung der CSV-Dateien zu umgehen. Sensoren werden hierf"ur mit ihrer eindeutigen ID identifiziert. Ein Zeitstempel der Sensordaten erlaubt es mehrere Datens"atze von verschiedenen Zeiten zu speichern. Ein Filter auf dem Zeitstempel erlaubt es Daten eines gew"ahlten Zeitpunktes wieder zu extrahieren. Gespeichert werden daf"ur die Werte 'load' und 'count' der Induktionsschleifen, zusammen mit der eindeutigen Sensor ID und dem entsprechen Zeitstempel.\\ \\
Die Tabelle \textit{bt\_FlowStatistics} enth"alt Abbiegewahrscheinlichkeiten f"ur Sensoren. Da diese Werte der Abbiegewahrscheinlichkeitstabelle der Stadt Darmstadt entnommen wurden, werden Sensoren "uber Kreuzungs- und Sensorname identifiziert und nicht "uber eine eindeutige Sensor ID. Dies ist m"oglich, obwohl Sensornamen nicht eindeutig sind, da innerhalb einer Kreuzung eine eindeutige Identifikation "uber den Namen des Sensors m"oglich ist. Eine Kombination aus dem eindeutigen Kreuzungsnamen und des, innerhalb der Kreuzung, eindeutigen Sensornamens, kann ein Sensor eindeutig identifizieren. F"ur die Abbiegewahrscheinlichkeitstabelle werden, neben dem Kreuzungs- und Sensornamen, bis zu drei verschiedene Abbiegewahrscheinlichkeiten angegeben. N"amlich die Wahrscheinlichkeit, dass ein Verkehrsteilnehmer, der "uber den Sensor f"ahrt, die Kreuzung rechts, links oder geradeaus verl"asst. Zus"atzlich wird der n"achste Sensorknoten, diesmal identifiziert "uber die SensorID, f"ur jede Richtung mit angegeben. Wie die Zuordnung der Abbiegewahrscheinlichkeiten f"ur Links, Rechts und Geradeaus zu einem Knoten erfolgt, wird im Kapitel \autoref{sec:berechnung} beschrieben.\\
Neben den Abbiegewahrscheinlichkeiten kann in der Abbiegewahrscheinlichkeitstabelle ebenfalls ein Zeitstempel und eine Intervalll"ange zu jedem Datensatz gespeichert werden. Dies erlaubt es, genauere, zeitspezifische Abbiegewahrscheinlichkeiten abzuspeichern. F"ur diese Arbeit lagen allerdings ausschlie"slich die Werte der Stadt Darmstadt vor, welche "uber alle Messungen gemittelt sind.
[todo end]
Die Tabelle \textit{bt\_values} enth"alt aufbereitete Induktionsschleifenwerte. Diese werden mit den Abfragen, welche in Kapitel \ref{sec:daten} beschrieben sind, aus der MYSQL-Datenbank der JEE6 Anwendung zur Bereitstellung von Verkehrsdaten \cite{thesis:mueller} extrahiert, um das manuelle Untersuchung der CSV-Dateien zu umgehen. Sensoren werden hierf"ur mit ihrer eindeutigen ID identifiziert. Ein Zeitstempel der Sensordaten erlaubt es mehrere Datens"atze von verschiedenen Zeiten zu speichern. Ein Filter auf dem Zeitstempel erlaubt es Daten eines gew"ahlten Zeitpunktes wieder zu extrahieren. Gespeichert werden daf"ur die Messwerte \textit{load} und \textit{count} der Induktionsschleifen, zusammen mit der eindeutigen Sensor ID und dem entsprechen Zeitstempel.\\ \\
Die Tabelle \textit{bt\_FlowStatistics} enth"alt Abbiegewahrscheinlichkeiten f"ur Sensoren. Da diese Werte der Abbiegewahrscheinlichkeitstabelle der Stadt Darmstadt entnommen wurden, werden Sensoren "uber Kreuzungs- und Sensorname identifiziert und nicht "uber eine eindeutige Sensor ID. Dies ist m"oglich, obwohl Sensornamen nicht eindeutig sind, da innerhalb einer Kreuzung eine eindeutige Identifikation "uber den Namen des Sensors m"oglich ist. Eine Kombination aus dem eindeutigen Kreuzungsnamen und des, innerhalb der Kreuzung, eindeutigen Sensornamens, kann ein Sensor eindeutig identifizieren. F"ur die Abbiegewahrscheinlichkeitstabelle werden, neben dem Kreuzungs- und Sensornamen, bis zu drei verschiedene Abbiegewahrscheinlichkeiten angegeben. N"amlich die Wahrscheinlichkeit, dass ein Verkehrsteilnehmer, der "uber den Sensor f"ahrt, die Kreuzung rechts, links oder geradeaus verl"asst. Zus"atzlich wird der n"achste Sensorknoten, diesmal identifiziert "uber die \textit{SensorID}, f"ur jede Richtung mit angegeben. Wie die Zuordnung der Abbiegewahrscheinlichkeiten f"ur Links, Rechts und Geradeaus zu einem Knoten erfolgt, wird im Kapitel \autoref{sec:berechnung} beschrieben.\\
Neben den Abbiegewahrscheinlichkeiten kann in der Abbiegewahrscheinlichkeitstabelle ebenfalls ein Zeitstempel und eine Intervalll"ange zu jedem Datensatz gespeichert werden. Dies erlaubt es, genauere, zeitspezifische Abbiegewahrscheinlichkeiten abzuspeichern. F"ur diese Arbeit lagen allerdings ausschlie"slich die Werte der Stadt Darmstadt vor, welche "uber alle Messungen gemittelt sind.
\subsection{Implementierung}
Zur Modellierung am Computer wird auf die Java Bibliothek JGraphT zur"uckgegriffen. Sie erlaubt es, dank Javas moderner Template-Technik, Graphen mit beliebigen Klassen als Knoten aufzubauen. Das Selbe gilt f"ur Kanten mit wenigen Einschr"ankungen. Desweiteren erlaubt JGraphT eine Konvertierung zu der weit verbreiteten Bibliothek JGraph, die eine Visualisierungschnittstelle f"ur Graphen mitbringt. Der Kreuzungs"ubersichtsgraph soll die Graphen der einzelnen Kreuzungen als Knoten enthalten, um den Zusmmenhalt des Modells zu gew"ahrleisten.\\ \\
Um eine Kreuzung mit JGraphT zu modellieren wurden folgende zwei Klassen definiert:
Zur Modellierung am Computer wird auf die Java Bibliothek \textit{JGraphT} zur"uckgegriffen. Sie erlaubt es, dank Javas moderner generischer Typen\footnote{siehe \url{http://docs.oracle.com/javase/tutorial/java/generics/types.html}}, Graphen mit beliebigen Klassen als Knoten aufzubauen. Das Selbe gilt f"ur Kanten mit wenigen Einschr"ankungen. Desweiteren erlaubt \textit{JGraphT} eine Konvertierung zu der weit verbreiteten Bibliothek \textit{JGraph}, die eine Visualisierungschnittstelle f"ur Graphen mitbringt. Der Kreuzungs"ubersichtsgraph soll die Graphen der einzelnen Kreuzungen als Knoten enthalten, um den Zusammenhalt des Modells zu gew"ahrleisten.\\ \\
Um eine Kreuzung mit \textit{JGraphT} zu modellieren wurden folgende zwei Klassen definiert:
\begin{itemize}
\item{SE: Sensoren, virtuelle und reale.}
\item{ST: Stra"se}
\item{\textit{SE}: Sensoren, virtuelle und reale.}
\item{\textit{ST}: Stra"se}
\end{itemize}
[Klassendiagramm todo]
Die Klasse \textit{SE} kann dabei Sensorname, Position in Latitude und Longitude, sowie die Kreuzung, welche den Sensor beinhaltet, speichern. Das Feld 'sensorType' erlaubt zus"atzlich die Unterscheidung von virtuellen und realen Sensoren. Des weiteren stehen drei Felder zur Verkn"upfung mit anderen Sensoren zur Verf"ugung. Das Feld 'multipleOutputDirections' erlaubt es zu bestimmen, ob es sich um einen Mehr- oder Einspursensor handelt. Sollte es sich um einen virtuellen Ein- oder Ausgang einer Kreuzung handeln, so werden in den Feldern 'outXR' und 'inXR' die Namen der benachbarten Kreuzungen gespeichert. Dies entspricht den Felder der in \autoref{sec:modell} beschriebenen Datenbankstruktur. Zus"atzlich zu den Verkn"upfungs- und Typinformationen k"onnen noch ein Sensorwert und ein Testwert gespeichert werden. Der Wert, falls gesetzt, wird dabei zur Berechnung eingesetzt, w"ahrend der Testwert zur "Uberpr"ufung eines berechneten Ergebnisses dient.
Die Klasse \textit{SE} kann dabei Sensorname, Position in Latitude und Longitude, sowie die Kreuzung, welche den Sensor beinhaltet, speichern. Das Feld \textit{sensorType} erlaubt zus"atzlich die Unterscheidung von verschiedenen Sensortypen. Des weiteren stehen drei Felder zur Verkn"upfung mit anderen Sensoren zur Verf"ugung. Das Feld \textit{multipleOutputDirections} erlaubt es zu bestimmen, ob es sich um einen Mehr- oder Einspursensor handelt. Sollte es sich um einen virtuellen Ein- oder Ausgang einer Kreuzung handeln, so werden in den Feldern \textit{outXR} und \textit{inXR} die Namen der benachbarten Kreuzungen gespeichert. Dies entspricht den Felder der in \autoref{sec:modell} beschriebenen Datenbankstruktur. Zus"atzlich zu den Verkn"upfungs- und Typinformationen k"onnen noch ein Sensorwert und ein Testwert gespeichert werden. Der Wert, falls gesetzt, wird dabei zur Berechnung eingesetzt, w"ahrend der Testwert zur "Uberpr"ufung eines berechneten Ergebnisses dient.
Wert und Testwert sind dabei von der Klasse \textit{VL}.\\ \\
Die Klasse \textit{VL} kann die beiden Werte der Induktionsschleifen 'load' und 'count' halten, sowie eine Sensor ID, die eine eindeutige Zuordnung der Werte zu einem Sensor erm"oglicht. Ein Zeitstempel bestimmt dabei den Zeitpunkt der Messung. Auch diese Strucktur enstpricht der des Datenbankmodells. Zur "Uberpr"ufung eines Wertes mit einem Testwert kann ein gemessener Wert als Testwert in der Klasse abgespeichert werden. Eine Berechnung soll nun einen Wert berechnen, der durch Vergleich mit dem gemessenem Testwert Aufschluss "uber die Genauigkeit der Berechnung gibt.\\ \\
Die Klasse \textit{VL} kann die beiden Werte der Induktionsschleifen \textit{load} und \textit{count} halten, sowie eine Sensor ID, die eine eindeutige Zuordnung der Werte zu einem Sensor erm"oglicht. Ein Zeitstempel bestimmt dabei den Zeitpunkt der Messung. Auch diese Struktur entspricht der des Datenbankmodells. Zur "Uberpr"ufung eines Wertes mit einem Testwert kann ein gemessener Wert als Testwert in der Klasse abgespeichert werden. Eine Berechnung soll nun einen Wert berechnen, der durch Vergleich mit dem gemessenem Testwert Aufschluss "uber die Genauigkeit der Berechnung gibt. Näheres ist im Kapite \ref{sec:validierung} zu finden.\\ \\
Die Klasse \textit{ST} modelliert eine Stra"se. Sie kann die Namen der Knoten, welche sie verbindet speichern, um den Graphen nicht st"andig nach den Namen der Nachbarn abzusuchen zu m"ussen. Diese beiden Werte dienen lediglich der Visualisierung. Desweiteren kann eine Gleitkommazahl gespeichert werden, welche die Abbiegewahrscheinlichkeit von einem Sensor, entlang dieser Kante, repr"asentiert. Dieser Wert dient der Aufteilung eines Mischspursensorwertes. Die Verwendung wird in Kapitel \autoref{sec:berechnung} beschrieben. Der Wert wird dabei aus der Abbiegewahrscheinlichkeitstabelle \textit{bt\_FlowStatistics} geladen.\\ \\
Eine Kreuzung wird hierf"ur mit der Klasse \textit{XR} modelliert. Sie enth"alt den, in \autoref{lst:sensorgraph} gezeigten Sensorgraph einer Kreuzung. Weiterhin werden f"ur die Kreuzungen eine Position in Latitude und Longitude abgespeichert, sowie alle verbundenen eingehenden Kreuzungen und alle ausgehenden Kreuzungen. Das Speichern von beiden, Vorg"anger- und Nachfolgerkreuzungen, ist zum Aufbau des Graphen nicht n"otig. Daf"ur w"urden entweder Ein- oder Ausg"ange ausreichen. Um Visualisierung und Berechnung zu vereinfachen wurden allerdings beide definiert. \\ \\
Eine Kreuzung wird mit der Klasse \textit{XR} modelliert. Sie enth"alt den, in \autoref{lst:sensorgraph} gezeigten Sensorgraph einer Kreuzung. Weiterhin werden f"ur die Kreuzungen eine Position in Latitude und Longitude abgespeichert, sowie alle verbundenen eingehenden Kreuzungen und alle ausgehenden Kreuzungen. Das Speichern von beiden, Vorg"anger- und Nachfolgerkreuzungen, ist zum Aufbau des Graphen nicht n"otig. Daf"ur w"urden entweder Ein- oder Ausg"ange ausreichen. Um Visualisierung und Berechnung zu vereinfachen wurden allerdings beide definiert. \\ \\
Eine Stra"se wird, wie in der Kreuzungsmodellierung mit der Klasse \textit{ST} beschrieben. Das Feld f"ur die Abbiegewahrscheinlichkeit kann allerdings nicht gef"ullt werden, da keine Abbiegewahrscheinlichkeiten au"serhalb von Kreuzungen bekannt sind. Das Feld wird sp"aterhin zum Speichern von Fl"ussen zwischen den Kreuzungen benutzt. \\ \\
Um den Graph mit der JGraphT-Bibliothek zu modellieren, wurde die Klasse 'ListableDirectedGraph' benutzt (siehe \autoref{lst:sensorgraph}). Diese Klasse des Frameworks erlaubt gerichtete Graphen aufzubauen, die Struktur zur Berechnung zu verwenden und sp"ater zu visualisieren.\\
Um den Graph mit der \textit{JGraphT}-Bibliothek zu modellieren, wurde die Klasse \textit{ListableDirectedGraph} benutzt (siehe \autoref{lst:sensorgraph}). Diese Klasse des Frameworks erlaubt gerichtete Graphen aufzubauen, die Struktur zur Berechnung zu verwenden und sp"ater zu visualisieren.\\
\begin{minipage}[t]{\dimexpr\textwidth-3\fboxsep-2\fboxrule-1em}
\begin{lstlisting}[caption={[abc] Die Kreuzungsklasse XR}, label={lst:sensorgraph}, captionpos=bsec]
public ListenableDirectedGraph<SE, ST> sensorGraph
= new ListenableDirectedGraph<>(ST.class);
\end{lstlisting}
\begin{lstlisting}[caption={[abc] Die Kreuzungsklasse XR}, label={lst:sensorgraph}, captionpos=bsec]
\begin{lstlisting}[caption={[abc] Die Kreuzungsklasse XR}, label={lst:streetgraph}, captionpos=bsec]
private static ListenableDirectedGraph<XR, ST> streetGraph
= new ListenableDirectedGraph<>(ST.class);
\end{lstlisting}
\end{minipage}
Die Klasse \textit{TrafficGraph} ist die Hauptklasse der JGraphT Modellierung. Sie enthält den Kreuzungsübersichtsgraphen und über das Feld \textit{data\_timestamp} kann definiert werden welcher Datensatz aus der Datenbank selektiert wird. Die Funktion \textit{createGraph} der Klasse erzeugt den Kreuzungsübersichtsgraphen. Dafür werden zuerst alle Kreuzungsknoten aus der Datenbank selektiert und für jeden ein neues \textit{XR}-Objekt angelegt und mit Daten befüllt. Dieses wird daraufhin dem \textit{streeGraph} hinzugefügt. In einem zweiten Schritt werden alle Verbindungen der Knoten untersucht. Wird der angegebene Zielknoten gefunden, wird eine Kante zwischen den beiden Kreuzungen in dem \textit{streeGraph}-Objekt hinzugefügt.
Während des Anlegens des \textit{XR}-Objekt werden die Kreuzungsdaten in dieses nachgeladen. Hierfür werden alle Sensoren, welche zu der entsprechenden Kreuzung gehören aus der Datenbank geholt, diese dem \textit{sensorGraph} hinzugefügt, sowie verbindungen zwischen den Sensoren annotiert.\\ \\
Die Funktion \textit{loadData} der \textit{TrafficGraph}-Klasse erlaubt das Laden der Daten für den spezifizierten Zeitpunktes. Diese läd sowohl die Sensorwerte und schreibt diese in die einzelnen Sensorknoten des \textit{sensorGraph}en, als auch die Abbiegewahrscheinlichkeiten, welche den dazugehörigen Kanten übergeben wird. Daraufhin sind alle Daten geladen und der Graph ist komplett aufgebaut. \\ \\
Die Klasse \textit{TrafficGraph} bietet allerdings noch eine Funktion \textit{calculate}, die das Aufrufen von verschiedenen Algorithmen erlaubt. Hierfür wurde die Klasse \textit{Algo} definiert, der im Konstruktor der Kreuzungsübersichtsgraph übergeben wird. Die abstrakte Funktion \textit{calculcate} dieser Klasse erlaubt es beliebige Algorithmen zu schreiben, welche auf den Graphen zurückgreifen können.\\ \\
Die Klasse \textit{TrafficGraph} ist die Hauptklasse der JGraphT Modellierung. Sie enthält den Kreuzungsübersichtsgraphen (siehe \autoref{lst:streetgraph}) und über das Feld \textit{data\_timestamp} kann definiert werden welcher Datensatz aus der Datenbank selektiert wird. Die Funktion \textit{createGraph} der Klasse erzeugt den Kreuzungsübersichtsgraphen. Dafür werden zuerst alle Kreuzungsknoten aus der Datenbank selektiert und für jeden ein neues \textit{XR}-Objekt angelegt und mit den Werten der Datenbank befüllt. Dieses wird daraufhin dem \textit{streeGraph} hinzugefügt. In einem zweiten Schritt werden alle Verbindungen der Knoten untersucht. Wird der angegebene Zielknoten gefunden, wird eine Kante zwischen den beiden Kreuzungen dem \textit{streeGraph}-Objekt hinzugefügt.
Während des Anlegens des \textit{XR}-Objekt werden die Kreuzungsdaten in dieses nachgeladen. Hierfür werden alle Sensoren, welche zu der entsprechenden Kreuzung gehören aus der Datenbank geholt, diese dem \textit{sensorGraph} hinzugefügt, sowie Verbindungen zwischen den Sensoren annotiert.\\ \\
Die Funktion \textit{loadData} der \textit{TrafficGraph}-Klasse erlaubt das Laden der Daten für den spezifizierten Zeitpunkt. Diese läd sowohl die Sensorwerte und schreibt diese in die einzelnen Sensorknoten des \textit{sensorGraph}, als auch die Abbiegewahrscheinlichkeiten, welche den dazugehörigen Kanten übergeben wird. Daraufhin sind alle Daten geladen und der Graph ist komplett aufgebaut. \\ \\
Die Klasse \textit{TrafficGraph} bietet allerdings noch eine weitere Funktion \textit{calculate}, die das Aufrufen von verschiedenen Algorithmen erlaubt. Hierfür wurde die Klasse \textit{Algo} definiert, der im Konstruktor der Kreuzungsübersichtsgraph übergeben wird. Die abstrakte Funktion \textit{calculcate} dieser Klasse erlaubt es beliebige Algorithmen zu schreiben, welche auf den Graphen zurückgreifen können.\\ \\
[todo klassdiag]
Im Rahmen dieser Arbeit wurden vier Algorithmen entwickelt.
\begin{enumerate}
\item{\textit{AlgoGraphPropagation}: Mithilfe dieses Algorithmus werden die Ausgangsverkehrswerte einer Kreuzung berechnet. Eine genaue Beschreibung des Verfahrens ist in \autoref{sec:berechnung} zu finden.}
@ -230,18 +231,18 @@ Um ein Verkehrsmodell zu entwickeln muss zuerst festgelegt werden, welche Art de
\item{\textit{AlgoFindSensorOutputDirection}: Mithilfe dieses Algorithmus wird die sensorspezifischen Richtungsangaben der Abbiegewahrscheinlichkeiten auf absolute Werte umgerechnet. Eine genaue Beschreibung des Verfahrens ist in \autoref{sec:berechnung} zu finden.}
\item{\textit{AlgoFindFlowToNextXR}: Mithilfe dieses Algorithmus werden die Werte welche für den Ausgang einer Kreuzung berechnet wurden auf das Kreuzungsübersichtsmodell übertragen. Eine genaue Beschreibung des Verfahrens ist in \autoref{sec:berechnung} zu finden.}
\end{enumerate}
Die gewählte Struktur ist darauf ausgelegt das Modell um weitere Algorithmen zu erweitern, um eine schrittweise Verbesserung der Modellierung zu erleichtern. Außerdem erlaubt die Struktur ein austauschen von Algorithmen, um ein beliebiges Berechnungsverfahren auf den Graphen anzuwenden.
[klassendiagramm]
Die gewählte Struktur ist darauf ausgelegt das Modell um weitere Algorithmen zu erweitern, um eine schrittweise Verbesserung der Modellierung zu erleichtern. Außerdem erlaubt die Struktur ein austauschen von Algorithmen, um ein beliebiges Berechnungsverfahren auf den Graphen anzuwenden. \\ \\
Die letzten beiden Funktionen der Klasse \textit{TrafficGraph} sind \textit{buildGUI} und \textit{buildXRGUI}. Beide dienen der Visualisierung des \textit{JGraphT} Graphen und werden im Kapitel \ref{sec:visualisierung} beschrieben.
\subsection{Zuk"unftige Herausforderungen des Modells}\label{sec:modell:limits}
Das entwickelte Modell kann nicht alle Verkehrsverhalten modellieren. In diesem Abschnitt wird behandelt, welche Einschr"ankungen das Modell mit sich bringt und welche Reduktionen des Detailgrades vorgenommen wurden.\\ \\
Das Modell kann sog. 'U-Turns', nicht modellieren. Als 'U-Turn' bezeichnet man das Verkehrsman"over, dass den Verkehrsteilnehmer von dem Kreuzungseingang einer Kreuzung zu dem Ausgang, welcher in die Richtung zeigt, aus der er gekommen ist, zur"uck bringt. Dieses Verkehrsverhalten ist selten zu beobachten und wurde aus diesem nicht modelliert. Desweiteren w"urde eine Modellierung dieses Man"overs eine 'U-Turn-Wahrscheinlichkeit' erfordern, welche nicht vorliegt.\\ \\
Das Modell kann sog. \textit{U-Turns}, nicht modellieren. Als \textit{U-Turn} bezeichnet man das Verkehrsman"over, dass den Verkehrsteilnehmer von dem Kreuzungseingang einer Kreuzung zu dem Ausgang, welcher in die Richtung zeigt, aus der er gekommen ist, zur"uck bringt. Dieses Verkehrsverhalten ist selten zu beobachten und wurde aus diesem nicht modelliert. Desweiteren w"urde eine Modellierung dieses Man"overs eine \textit{U-Turn-Wahrscheinlichkeit} erfordern, welche nicht vorliegt.\\ \\
Eine weitere, sehr elementare Schw"ache des Modells ist die Abstraktion der Sensorposition. Wie in den manuell angefertigten Kreuzungszeichnungen wird die Position eines Sensors innerhalb des Graphenmodells einem Eingang zugeordnet. Die Latitude und Longitude Werte des Sensors werden nur zur Visualisierung benutzt und nicht zur Berechnung. Ein Spurwechseln nach dem "Uberfahren eines Sensors kann nicht modelliert werden. Die Genauigkeit des Modells h"angt folglich direkt mit der Entfernung des Sensors von der Kreuzung ab. Ist der Sensor weit entfernt, so kann ein Verkehrsteilnehmer die Spur nochmals wechseln. Ist der Sensor direkt vor der Haltelinie verbaut, kann die Spur nicht mehr gewechselt werden, wenn das Fahrzeug darauf steht. Sind die Sensoren eines Kreuzungseingangs auf verschiedenen H"ohen in die Stra"se eingelassen, so k"onnen Verkehrsteilnehmer im schlechtesten Fall "uber zwei Sensoren fahren, wenn sie nach dem "Uberfahren eines Sensors die Spur nochmals wechseln, die einen Sensor weiter vorne im Kreuzungsbereich verbaut hat.\\ \\
Außerdem wird nur g"ultiges Verkehrsverhalten modelliert. So k"onnen Verkehrsteilnehmer, welche zwar auf einer Rechtsabbiegerspur stehen, allerdings geradeaus fahren, nicht von dem Modell modelliert werden.\\ \\
Es ist allerdings denkbar, das Modell durch U-Turn-, Spurwechsel- sowie Falschfahrwahrscheinlichkeiten zu erg"anzen und somit die Menge der modellierbaren Kreuzungszust"ande und -"Uberg"ange zu vergr"o"sern um ein realistischeres Bild des Verkehrs zu berechnen. Allerdings lagen keine Daten "uber das Verhalten der Verkehrsteilnehmer vor. \\ \\
Im Folgendem werden nochmal zwei besonders wichtige Herausforderungen vorgestellt, die elementare Herausforderungen für die Verkehrsflussberechnung darstellen. Zum einen ist dies das Verfolgen von Fahrzeugkolonnen über Kreuzungen hinweg. Es beschreibt das eine Verbindung von Sensorwerten zweier Kreuzungen nicht möglich ist, da nicht betsimmt werden kann, wann die Fahrzeuge an der nächsten Kreuzung ankommen. Zum anderen ist das das genaue Bestimmen der Abbiegewahrscheinlichkeiten der Fahrzeuge an den Sensoren. Dies ist nicht möglich da keine Validierungssensoren zur Verfügung stehen und deshalb nicht modelliert wurden.
Im Folgendem werden nochmal zwei besonders wichtige Herausforderungen vorgestellt, die elementare Herausforderungen für die Verkehrsflussberechnung darstellen. Zum einen ist dies das Verfolgen von Fahrzeugkolonnen über Kreuzungen hinweg. Es beschreibt das eine Verbindung von Sensorwerten zweier Kreuzungen nicht möglich ist, da nicht bestimmt werden kann, wann die Fahrzeuge an der nächsten Kreuzung ankommen. Zum anderen ist das das genaue Bestimmen der Abbiegewahrscheinlichkeiten der Fahrzeuge an den Sensoren. Dies ist nicht möglich da nicht ausreichend viele Validierungssensoren zur Verfügung stehen.
\subsubsection{Herausforderung: Verfolgung von Fahrzeugen "uber eine Kreuzung hinaus} \label{sec:datengrund:probtime}
Die Daten der Induktionsschleifen sind die Werte der Sensoren "uber die letzte Minute. Sie zeigen eine Art summierte Momentaufnahme des Verkehrs an den Messpunkten. Das macht es allerdings schwer, zwei Messungen in eine Beziehung zu setzen. Bildlich gesprochen kann man nicht trivial bestimmen, wie lange ein Auto von der einen zur anderen Kreuzung ben"otigt. Da die Daten nur f"ur bestimmte Zeitpunkte zur Verf"ugung stehen, kann nicht mehr festgestellt werden, wann ein Auto, welches an Kreuzung A "uber den Sensor gefahren ist, an Kreuzung B ankommt und dort "uber einen anderen Sensor f"ahrt. Die \textit{Verfolgung} eines Autos ist somit nicht m"oglich, da nicht festgestellt werden kann, wie weit es sich bis zur n"achsten Momentaufnahme fortbewegt hat.\\ \\
Die Arbeit von \textsc{M. Scholz} \cite{thesis:michael} versucht dieses Problem durch das Gleichsetzen des Kreuzungsausgangswertes mit dem Eingangswert der darauffolgenden Kreuzung zu l"osen. Dies ist allerdings nicht im Minutentakt durchzuf"uhren. Durch den Zeitversatz der Messungen m"ussen die Werte gemittelt werden. F"ur eine Berechnung des momentanen Verkehrsaufkommens zu einem Zeitpunkt eignet sich das Verfahren nicht.
\subsubsection{Herausforderung: Genaues Bestimmen der Abbiegewahrscheinlichkeit} \label{sec:datengrund:abbprob}
Das 'Abbiegeproblem' ist auf zu wenige Sensorwerte zur"uckzuf"uhren. In den Kreuzungen von Darmstadt sind die Induktionsschleifen am Kreuzungseingang verbaut, jedoch nicht am Kreuzungsausgang (bis auf wenige Ausnahmen). Aus diesem Grund wurden die Valliderungssensoren nicht modelliert. Es kann f"ur Mischspursensoren folglich nicht 'live' bestimmt werden, wie viele Fahrzeuge in die eine und wie viele in die andere Richtung gefahren sind, da keine Messungen der Kreuzungsausgänge vorliegen. Um den Fluss trotzdem bestimmen zu k"onnen, wird in dieser Arbeit mit Abbiegewahrscheinlichkeiten gearbeitet, die angeben, wie viel Prozent des Verkehrs, der "uber einen Sensor f"ahrt, die Kreuzung in welche Richtung verl"asst. Gel"ost wurde dieses Herausforderung durch gemittelte Abbiegewahrscheinlichkeiten an den Sensoren, die von der Stadt Darmstadt ermittelt wurden. Eine Bestimmung der exakten Abbiegewahrscheinlichkeiten für jede Minute ist mit einem fl"achendeckenden Einsatz von Vallidierungssensoren m"oglich. Mehr Informationen zu Vallierungssensoren und deren Verwendungsm"oglichkeiten sind im Kapitel \autoref{sec:berechnung} aufgezeigt.
\subsubsection{Herausforderung: Genaues Bestimmen des Abbiegeverhaltens} \label{sec:datengrund:abbprob}
Das das Abbiegeverhalten nicht für jede Minute berechnet werden kann, ist auf zu wenige Sensorwerte zur"uckzuf"uhren. In den Kreuzungen von Darmstadt sind die Induktionsschleifen am Kreuzungseingang verbaut, jedoch nicht am Kreuzungsausgang (bis auf wenige Ausnahmen). Aus diesem Grund wurden die sog. \textit{Valliderungssensoren} nicht modelliert. Es kann f"ur Mischspursensoren folglich nicht \textit{live} bestimmt werden, wie viele Fahrzeuge in die eine und wie viele in die andere Richtung gefahren sind, da keine Messungen der Kreuzungsausgänge vorliegen. Um den Fluss trotzdem bestimmen zu k"onnen, wird in dieser Arbeit mit Abbiegewahrscheinlichkeiten gearbeitet, die angeben, wie viel Prozent des Verkehrs, der "uber einen Sensor f"ahrt, die Kreuzung in welche Richtung verl"asst. Die Wahrscheinlichkeiten, die für diese Arbeit zur Verfügung standen, sind die gemittelte Abbiegewahrscheinlichkeiten an den Sensoren, die von der Stadt Darmstadt ermittelt wurden. Eine Bestimmung der exakten Abbiegewahrscheinlichkeiten für jede Minute ist mit einem fl"achendeckenden Einsatz von Vallidierungssensoren m"oglich. Mehr Informationen zu Vallierungssensoren und deren Verwendungsm"oglichkeiten sind im Kapitel \autoref{sec:berechnung} aufgezeigt.
\newpage

View File

@ -1,7 +1,7 @@
\section{"Ubersicht}\label{sec:uebersicht}
In Ballungsgebieten, vornehmlich in St"adten, steigt die Anzahl der Verkehrsteilnehmer. Insbesondere die Anzahl der Fahrzeuge ist in den letzten Jahren drastisch gestiegen. Diese zunehmende Belastung wirkt sich auf Stra"sen, auf den Verkehr und durch Verschmutzung und L"armbelastung auch auf den Menschen aus. Um der gestiegenen Anzahl an Fahrzeugen gerecht zu werden wurden verkehrsabh"angige Ampelanlagen entwickelt, welche ihre Ampelphasen dem Verkehrsaufkommen anpassen k"onnen. Hierf"ur wird der Verkehr der einzelnen Spuren einer Kreuzung mithilfe von Sensoren - Induktionsschleifen - erfasst. Mit der fortschreitenden Technisierung und dem gestiegenem Verkehr erhielten diese 'adaptiv' gesteuerten Ampelanlagen Einzug in die Stra"sen gr"o"serer St"adte, um die bereits vorhandenen Verkehrswege besser nutzen zu k"onnen.\\ \\
In dieser Arbeit wird untersucht, in wieweit man durch Verkehrsdaten, welche mithilfe von Induktionsschleifen auf den Stra"sen erfasst werden, Verkehrsfl"usse voraussagen und Stra"senbelastungen berechnen kann. Hierf"ur wurde ein zweistufiges Graphen-basiertes Modell der Stra"se entwickelt und verschiedene Ans"atze, um Verkehrsfl"usse innerhalb einer Kreuzung und zwischen Kreuzungen zu berechnen, diskutiert. Als Grundlage dieser Berechnungen dienen Induktionsschleifenwerte der Stadt Darmstadt, welche eine Vielzahl ihrer Kreuzungen mit Induktionsschleifen versehen hat.\\ \\
Mithilfe von linearen Gleichungssystemen konnten Verkehrsfl"usse innerhalb von Kreuzungen, sowie eine Anzahl an Verkehrsteilnehmer, welche eine Kreuzung in eine bestimmte Richtung verlassen, berechnet werden. Neben den Sensorwerten der Induktionsschleifen kamen dabei sog. Abbiegewahrscheinlichkeiten zum Einsatz. Diese wurden ebenfalls von der Stadt Darmstadt zur Verf"ugung gestellt. Eine Visualisierung des entwickelten Graphen erlaubt es die berechneten Verkehrsfl"usse besser zu untersuchen und zu verstehen. Die Validit"at der ermittelten Daten h"angt allerdings von den zugrundeliegenden Sensorwerten ab. In einer Verkehrsz"ahlung konnten ein Teil der modellierten Sensoren untersucht und bei einigen Sensoren eine sehr hohe Genauigkeit feststellen werden. Bei anderen Sensoren ergab die Z"ahlung allerdings Abweichungen von bis zu siebenhundert Prozent.\\ \\
In dieser Arbeit wird untersucht, in wieweit man durch Verkehrsdaten, welche mithilfe von Induktionsschleifen auf den Stra"sen erfasst werden, Verkehrsfl"usse voraussagen und Stra"senbelastungen berechnen kann. Hierf"ur wurde ein zweistufiges Graphen-basiertes Modell der Stra"se entwickelt und verschiedene Ans"atze, um Verkehrsfl"usse innerhalb einer Kreuzung und zwischen Kreuzungen zu berechnen, diskutiert. Als Grundlage dieser Berechnungen dienen Induktionsschleifenwerte der Stadt Darmstadt, die eine Vielzahl ihrer Kreuzungen mit Induktionsschleifen versehen hat.\\ \\
Mithilfe von linearen Gleichungssystemen konnten Verkehrsfl"usse innerhalb von Kreuzungen, sowie eine Anzahl an Verkehrsteilnehmer, welche eine Kreuzung in eine bestimmte Richtung verlassen, berechnet werden. Neben den Sensorwerten der Induktionsschleifen kamen dabei sog. Abbiegewahrscheinlichkeiten zum Einsatz. Diese wurden ebenfalls von der Stadt Darmstadt zur Verf"ugung gestellt. Eine Visualisierung des entwickelten Graphen erlaubt es die berechneten Verkehrsfl"usse besser zu untersuchen und zu verstehen. Eine zweite Visualisierung projeziert das Straßenmodell auf eine Luftbildkarte. Die Validit"at der ermittelten Daten h"angt allerdings von den zugrundeliegenden Sensorwerten ab. In einer Verkehrsz"ahlung konnten ein Teil der modellierten Sensoren untersucht und bei einigen Sensoren eine sehr hohe Genauigkeit feststellen werden. Bei anderen Sensoren ergab die Z"ahlung allerdings Abweichungen von bis zu siebenhundert Prozent.\\ \\
\section*{Abstract}
In urban areas, most notably Cities, have an increasing the number of road users.