<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">\chapter{Design}
\label{chapter:design}

\section{Laden von Daten}
Der erste Schritt eines Bildauswerters ist das Laden der benötigten Daten, insbesondere das zur Auswertung vorgesehene Bild und die dazugehörigen Informationen aus der Umgebung. Das Bild wird häufig durch den CSD-Server zur Verfügung gestellt und sollte deshalb leicht in den SBA geladen werden können. Außerdem ist es bei georeferenzierten Daten vorteilhaft, wenn die Geokoordinaten auf der Karte des Goeviewers dargestellt werden. Im Entwurf und  in der Imlementierung beschränken wir uns bei der Kartendarstellung auf einige wichtige Datentypen der CSD, insbesondere Bilder und Videos.


\subsection{CSD Task erstellen}
Um den Bildauswertern die Arbeit zu vereinfachen, soll eine wiedererkennbare  % Was meinst du mit wiedererkennbar? Gibt es einen besseren Fachbegriff?
Nutzeroberfläche zur Verfügung stehen, um Daten aus der CSD auszulesen (siehe Abbildung \ref{figure:requestUI}). % Das Fenster ist halb englisch - halb deutsch beschriftet. Einheitlich englisch fände ich konsistenter. Bei anderen Screenshots ist das auch so
Die Benutzeroberfläche ermöglicht das Suchen nach vielen Kriterien, wie zum Beispiel dem Namen der Mission, des Erstellers und der Erstellzeit.

Die Auswahl einer Region soll auch möglich sein, um die Daten auf diesen Bereich der Karte zu beschränken. Der Geoviewer bietet hierfür eine einfache Möglichkeit.  Der Nutzer kann durch eine einfach Einzeichnung auf der Karte den Suchbereich selektieren und die Suche einschränken. Auf dem SBA ist dieses nicht % oder ``noch nicht''? Wird daraus eine Anforderung an dein Projekt?
so einfach möglich. Hierfür wurde eine Verbindung zum Geoviewer implementiert. % durch dich oder vorher schon? 
Ist der SBA mit dem Backend des Geoviewers verbunden und Geoviewer gestartet, so aktiviert sich der Regionsauswahl des Bildauswerters. Die Auswahl der Region erfolgt für den SBA auf dem Geoviewer und das Ergebniss wird zurück an den SBA gesendet. % Ich habe nicht verstanden, was anders ist als bei der schon vorhandenen o.g. Auswahl der Region auf dem Geoviwer.

Die Nutzeroberfläche kann durch ein Preset vorkonfiguriert werden. Die Konfiguration wird aus einem Konfigurationsdatei gelesen und ermöglicht eine einfachere Bedienung. Zum Beispiel kann man so mögliche CSD-Server vorgeben. Der Nutzer muss dann keine URL eingeben, sondern kann die Server aus einer Combobox auswählen.

Der Sourcecode der Nutzeroberfläche wurde in eine separate Bibliothek ausgelagert, damit sie wiederverwendet werden kann.  Die Bibliothek wurde CSD-Commons genannt. % Darfst du im Design-Kapitel so formulieren? Musst du die Auslagerung nicht als Anforderung schreiben? Hier sthet schon, was du implementiert hast.

\begin{figure}
\centering
\includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{RequestUI.png}
\caption{Die Eingabe eines CSD-Requests im SBA. Der Request ist auf Bilder eingeschränkt, da der SBA nur Bilder unterstützt}
\label{figure:requestUI}
\end{figure}

\subsection{Task ausführen}
Nachdem der Nutzer einen Task Request erstellt hat, muss dieser ausgeführt werden. Die Eingaben des Nutzers müssen in einen CSD-Abfrage umgewandelt werden und eine Verbindung aufgebaut werden. 

Der Geoviewer sendet den Task Request zur Verarbeitung an den CSD-Adapter. Der Adapter baut mit Hilfe der Isaac.lib (TODO ref) eine Verbindung zum CSD-Server auf und generiert die zugehörige Query. Der SBA verarbeitet den Task direkt. Die Schritte sind sehr ähnlich % womit ähnlich? Hier ist nicht klar, wo Reuse möglich ist.
und sind deshalb ebenfalls in die CSD-Common Bibliothek integriert worden (Siehe Abbildungen  \ref{figure:strukturViewer} und \ref{figure:strukturSBA}. Die grün markierten Komponenten sind gleich). Zur Verbindung mit der CSD wird die Isaac.lib verwendet.


\subsection{Ergebnis auswerten}
Der Isaac.lib kann bei einer Abfrage ein Result Handler übergeben werden. Findet die Bibliothek ein Ergebnis wird diese dem Result Handler übergeben. %Was meinst du mit der Formulierung ``Ereignis finden''?
Für den SBA und den CSD Adapter müssen zunächst alle generellen Informationen aus dem MetaDaten-XML-Dokument ausgelesen werden. Anschließend folgt die genauere Verarbeitung der einzelnen Ergebnisse. % Was sind das für Ergebnisse?

Beim SBA wird anschließend ein CSD-Data-Objekt mit allen nötigen Informationen erstellt und dieses Objekt dem CSD-DataStore hinzugefügt. Das Ergebnis der Anfrage wird anschließend in einer Tabelle dargestellt und der Nutzer kann ein Bild zum Laden auswählen (Bild \ref{figure:resultUI}).

Der CSD-Adapter teilt die Ergebnisse erst nach Typ aus, sodass zum Beispiel Bilder und Videos anders verarbeitet werden. % Was meinst du mit ``austeilen''?
Im den meisten Fällen wird zuerst das eigentliche Objekt heruntergeladen und für den Lagetisch aufbereitet. Bei Bildern wird überprüft, ob das Bild direkt als Kartenmaterial eingebunden werden kann. Aus dem Metadaten-XML-File wird eine Metadaten-Anzeige erstellt. Außerdem wird ein Data Objekt erstellt und an das Backend gesendet, sodass das Ergebnis auf der Karte visualisiert werden kann. Im Geoviewer werden diese Objekt dann dargestellt und können verwendet werden, um die Metadaten im Metadaten Display anzuzeigen.

\begin{figure}
\centering
\includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{ResultUI.png}
\caption{Die Anzeige aller Ergebnisse im SBA. Die Tabelle ist sortierbar und es lassen sich beliebige Spalten ein- und ausblenden. Falls ein Vorschaubild verfügbar ist, wird dieses an der Seite zusammen mit dem Kommentar des Bildes angezeigt.}
\label{figure:resultUI}
\end{figure}

\begin{landscape} 
\begin{figure*}
\includegraphics[scale=0.9]{../UML/Struktur Viewer.png}
\caption{Struktur der Anbindung an die CSD für den Geoviewer. In Grün eingezeichnet sind die Komponenten aus der CSD-Common Bibliothek. }
\label{figure:strukturViewer}
\end{figure*}

\begin{figure*}
\includegraphics[scale=1]{../UML/Struktur SBA.png}
\caption{Struktur der Anbindung an die CSD im Stereo-Bildauswerter. In Grün eingezeichnet sind die Komponenten aus der CSD-Common Bibliothek. In Gelb sind die Swing-Actions eingezeichnet, die der Nutzer aufrufen kann.}
\label{figure:strukturSBA}
\end{figure*}
\end{landscape} 


\section{Ausgewertete Daten des SBA speichern}
\subsection{Export in \rec}
Eine Funktion der Erkennungsassistenz \rec ist das Hinzufügen von bisher unbekannten Fahrzeugen. Sind zum Beispiel Piraten mit ihrem modifizierten Bot unterwegs, so kann man Bilder hinzufügen, sodass dies in Zukunft auch vorgeschlagen wird. In dem SBA wurde eine Funktion eingebaut, die das Exportieren eines Bildes für den \rec vereinfacht. Durch einen Knopf wird das Bild gerendert und in einen definierten Ordner abgespeichert. In diesem Ordner findet der \rec das Bild und bietet eine Import an.

\subsection{Export in CSD}
Nach einer erfolgreichen Auswertung  soll das annotierte Bild auch wieder in die CSD hinzugefügt werden. Hierfür wurde in den SBA ein schreibender Zugriff auf den Server implementiert. Zunächst kann der Nutzer die nötigen  und bei bedarf auch einige optionale Meta Informationen eingeben. Hierfür wurde ein Oberfläche angelegt (Siehe Abbildung \ref{figure:metaUI}). Falls das Bild aus der CSD geladen wurde, so wird die UI  mit den Werten des geladenen Bildes gefüllt. Die Obefläche überprüft  ob alle nötigen Richtlinien eingehalten wurden. Dies kann zum Beispiel bedeuten, dass gewisse Felder notwendig sind und das einige Felder eien maximale Länge haben. Zur einfacheren Benutzung wurden Knöpfe zur einfacheren Datums Auswahl und zum generieren von zufälligen IDs hinzugefügt.
Nachdem der Nutzer alle Informationen eingetragen hat, beginnt der eigentliche Schreibvorgang. Zunächst wird das Bidl gerendered. Anschließend wir dieses mit Hilfe des NSIF Creators ein NSIF Bild erstellt, das in der CSD gespeichert werden kann. Zusammen mit einem MetaDaten XML File, das aus den Eingaben generiert wird, wird das Bild in die CSD hochgeladen.


\begin{figure}
\centering
\includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{MetaDataUI.png}
\caption{Die Anzeige aller Ergebnisse im SBA. Die Tabelle ist sortierbar und es lassen sich beliebige Spalten ein und ausblenden. Falls ein Vorschau Bild verfügbar ist wird dies An der Seite zusammen mit dem Kommentar des Bildes angezeigt.}
\label{figure:metaUI}
\end{figure}

\begin{figure}
\centering
\includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{../UML/Struktur Writing.png}
\caption{Die Nutzereingebe zur Eingabe der Meta Daten. }
\label{figure:StrukturWriting}
\end{figure}</pre></body></html>