# Nutzeroberfläche

## CityDoctor
![interface](img/userInterface.png)

In der oberen Leiste sind folgende Schaltflächen in Reihenfolge:

* **Laden:** Öffnet den Dialog zum laden einer CityGML Datei
* **Prüfen:** Öffnet den Dialog zum prüfen einer geladenen CityGML
* **Prüfberichte:** Öffnet den Dialog zum schreiben eines Prüfprotokolls in xml oder pdf Form
* **Gitternetz:** Zeigt/Versteckt das Gitternetz anstatt gefüllter Polygone
* **Rückseiten:** Zeigt/Versteckt Rückseiten von Polygonen
* **Globale Ansicht:** Lädt alle Elemente einer CityGML in die Ansicht
* **LODs:** Schaltet einzelne LODs von der Ansicht an oder aus
* **Speichern:** Speichert eine CityGML Datei zurück, falls die Datei geprüft wurde wird die QualityADE mitgeschrieben.
* **About:** Öffnet den Dialog mit Informationen zu dem Projekt CityDoctor2
* **Ansichten:** Wechselt verschiedene Ansichten. Für die Prüfung gibt es nur eine.
* **Sprache:** Hier kann die Sprache eingestellt werden (Deutsch/Englisch)

!!! warning
	Das Anzeigen der Globalen Ansicht kann bei großen CityGML Dateien (> 100mb je nach System) zu abstürzen führen. Das Anzeigen kann kurz dauern.

## Laden
Über die Schaltfläche Laden wird der Dialog zum laden einer CityGML Datei geöffnet.

![open](img/open.png)

In der Datei Leiste kann ein Dateipfad eingetragen werden oder über die Schaltfläche **Auswählen** ausgewählt werden.

Außerdem können weitere Einstellungen für das Lesen der Datei angegeben werden.

* **NumberOfRoundingPlaces:** Auf wie viele Nachkommastellen werden die eingelesenen Werte gerundet.
* **XML-Validierung:** Führt eine XML Validierung durch. Fehler werden dabei direkt beim einlesen festgestellt und das Einlesen wird abgebrochen.
* **Speicherverbrauch:** Spart RAM um größere Dateien in der GUI zu ermöglichen. Kostet geringfügig Performance bei der Prüfung.

Beim Laden wird der Fortschritt ungefähr durch den Ladebalken repräsentiert.

!!! note
	Dateien können auch direkt per Drag and Drop vom Dateimanager in die GUI gezogen werden ohne den Laden Dialog zu verwenden. Dabei werden die Default Werte angenommen (8 Nachkommastellen, keine XML-Validierung)

Nach dem Laden einer CityGML Datei werden die Elemente in den einzelnen Tabs angezeigt. Durch auswählen eines Elements wird das in der Ansicht angezeigt.

![loadedFile](img/interfaceLoad.png)

!!! note
	Durch Auswählen des obersten Elements eines Reiters werden alle Elemente innerhalb diese Reiters angezeigt. Wie obige Warnung schon besagt, gilt auch hier, dass größere Datenmengen zu Abstürzen führen.

## Prüfen

![checkDialog](img/checkDialog.png)

Im Prüfdialog kann der Validierungsplan angepasst werden. Hier werden neben den Verfügbaren Prüfungen auch die globalen Parameter angezeigt.

Verändert können die Parameter mit einem Doppelklick in die Wert Spalte. Die Einheit ist dabei fest.

!!! note
	Der Parameter numberOfRoundingPlaces kann nicht verändert werden. Er wurde beim Laden der Datei festgelegt.

Falls Prüfungen nicht ausgeführt werden sollen können sie in der Spalte Aktiv deaktiviert werden.

!!! warning
	Wenn Prüfungen deaktiviert wurden die andere aktiven Prüfungen aber als Abhängigkeit benötigen werden sie bei der Prüfung wieder aktiviert um die Stabilität zu gewährleisten. Siehe [Anforderungen](requirements.md).

In dem Feld Schematron Datei kann ein Pfad zu einer Schematron Datei eingetragen werden. In dieser Datei können flexible Regeln für die semantischen Anforderungen festgelegt werden. Siehe [Semantische Prüfungen](semantic.md)

Über die beiden Schaltflächen oben rechts kann der Prüfplan gespeichert und geladen werden.

Nach der Prüfung werden fehlerhafte Elemente rot und fehlerfreie Elemente grün eingefärbt. Bei der Auswahl eines Elements das fehler beinhaltet werden die Fehler in dem unteren Tab **Fehler** angezeigt. Dort kann der Fehler ausgewählt werden um ihn in CityDoctor anzuzeigen und weitere Informationen zu erhalten.

![checked](img/checked.png)

Die Elemente können mit dem Dropdown-Menü gefiltert werden um nur fehlerhafte Elemente anzuzeigen.

## Prüfberichte

In diesem Dialog gibt es nochmal eine Übersicht über die Fehler in Bildform und die Möglichkeit einen xml oder pdf Bericht zu schreiben.

![reportDialog](img/reportDialog.png)