Benutzer-Werkzeuge

Webseiten-Werkzeuge


javagraticule3d:report

Report der Ausgleichung

Der Ausgleichungsreport wird durch ein sogenanntes Template-System im HTML-Format erzeugt. HTML (Hypertext Markup Language) ist eine Auszeichnungssprache, die eine strukturierte Ausgabe von Inhalten ermöglicht und vorrangig im World Wide Web eingesetzt wird. Zur Darstellung von HTML-Dokumenten wird i.A. ein Browser verwendet. Die meisten Betriebssysteme liefern mindestens einen Webbrowser von hause aus mit, sodass keine zusätzliche Software zu installieren ist. Bei Linux ist es meist Mozillas Firefox und auf Windowsplattformen ist es Microsofts Internet Explorer.

Allgemeine Struktur eines HTML-Dokuments

Beim Erstellen von HTML-Dokumenten wird häufig versucht, Inhalt, Layout und Interaktionen zu trennen. Die inhaltliche Semantik wird durch die Struktur des HTML-Dokuments vorgegeben. Hierfür stehen Überschriften, Absätze, Tabellen oder Listen zur Verfügung. Zur Darstellung dieser Elemente wird i.d.R. auf CSS (Cascading Style Sheets) zurückgegriffen. CSS definiert somit die Größe, Farbe oder Ausrichtung von Inhalten im Dokument. Da HTML statisch ist, sind keine Interaktionen möglich. Abhilfe schafft hier die clientseitige Programmiersprache JavaScript. Alle drei Techniken kommen im Report zur Anwendung. Anpassungen in diesen Bereichen setzt somit ein gewisses Grundverständnis in diesen webbasierten Techniken voraus. Einen guten Einstieg bietet die deutschsprachige Onlinedokumentation SELFHTML.

Template-System

Das Template-System agiert auf der HTML-Ebene und liefert die eigentlichen Inhalte des Dokuments. Hierzu werden in den Template-Dateien Schlüsselwörter als Platzhalter eingefügt, die beim Export durch die entsprechenden Werte vom Programm ersetzt werden. Die Templates sind somit vollwertige HTML-Dateien, denen lediglich der Inhalt und die Formatierung fehlen. Zum Bearbeiten der ftlh-Files genügt somit ein einfacher Texteditor. Als Template-Engine kommt FreeMarker zum Einsatz, welches über eine umfangreiche Online-Dokumentation mit Beispielen verfügt.

Organisation eines Templates

Es können beliebig viele eigene Templates erzeugt werden. Damit die Ausgleichungssoftware die Templates findet, sind diese im Verzeichnis resources/ftl/ abzulegen. Jedes Template besteht aus einer Haupttemplatedatei und kann optional beliebig viele Subtemplates besitzen. Sowohl Haupt- als auch Subtemplatedateien haben die Endung *.ftlh. Befinden sich mehrere Templates im ftl-Verzeichnis, so werden diese als eigenständige Templates interpretiert und in der Applikation beim Erstellen eines Reports zur Auswahl gestellt. Es ist somit möglich, neben dem Default-Template eigene Vorlagen zu erstellen.

Ausgabesprache

Das Templatesystem erkennt, ähnlich wie JAG3D selbst auch, die Spracheinstellungen des Betriebssystems und liefert, sofern vorhanden, automatisch einen Report in der Systemsprache. Die Default-Sprache ist wiederum Englisch. Mitunter kann es sein, dass der Report in einer anderen Sprache ausgegeben werden soll als die UI von JAG3D bzw. das Betriebssystem vorsieht. In einem internationalen Projekt wird JAG3D hierbei bspw. mit deutscher Sprache administriert, der Report sollte aber in Englisch ausgegeben werden. Hierzu sind die Locale-Einstellungen des Templates zu überschreiben. In der Haupttemplatedatei JAG3D_Default.ftlh kann im Kopf für die englische Ausgabe einfach

<#setting locale='en'>

ergänzt werden. Weite Änderungen sind nicht notwendig. Werden häufig verschiedene Ausgabesprachen benötigt, so empfiehlt es sich, die JAG3D_Default.ftlh mit der Änderung unter einem neuen Namen, etwa: JAG3D_en.ftlh, im Templateverzeichnis zu speichern. In JAG3D werden dann automatisch mehrere Templates zum Erstellen des Reports angeboten.

Formatierung von Zahlen

Für die Formatierung von Zahlen wurden im Haupttemplate (JAG3D_Default.ftlh) verschiedene Variablen definiert.

<#assign df_redundancy         = "0.000;; roundingMode=halfEven decimalSeparator='.' infinity='∞' nan='NaN'">
<#assign df_omega              = "0.00;;  roundingMode=halfEven decimalSeparator='.' infinity='∞' nan='NaN'">
<#assign df_confidence_angle   = "0.00;;  roundingMode=halfEven decimalSeparator='.' infinity='∞' nan='NaN'">
<#assign df_teststatistic      = "0.00;;  roundingMode=halfEven decimalSeparator='.' infinity='∞' nan='NaN'">
 
<#assign df_scale_gross_error = "0.0;; multipier=1000000 roundingMode=halfEven decimalSeparator='.' infinity='∞' nan='NaN'">
<#assign df_scale_uncertainty = "0.0;; multipier=1000000 roundingMode=halfEven decimalSeparator='.' infinity='∞' nan='NaN'">
<#assign df_scale             = "0.0;; multipier=1000000 roundingMode=halfEven decimalSeparator='.' infinity='∞' nan='NaN'">
 
<#assign df_length_gross_error = "0.0;; multipier=1000 roundingMode=halfEven decimalSeparator='.' infinity='∞' nan='NaN'">
<#assign df_length_residual    = "0.0;; multipier=1000 roundingMode=halfEven decimalSeparator='.' infinity='∞' nan='NaN'">
<#assign df_length_uncertainty = "0.0;; multipier=1000 roundingMode=halfEven decimalSeparator='.' infinity='∞' nan='NaN'">
<#assign df_length             = "0.0000;; roundingMode=halfEven decimalSeparator='.' infinity='∞' nan='NaN'">
 
<#assign df_angle_gross_error  = "0.00;; multipier=1000 roundingMode=halfEven decimalSeparator='.' infinity='∞' nan='NaN'">
<#assign df_angle_residual     = "0.00;; multipier=1000 roundingMode=halfEven decimalSeparator='.' infinity='∞' nan='NaN'">
<#assign df_angle_uncertainty  = "0.00;; multipier=1000 roundingMode=halfEven decimalSeparator='.' infinity='∞' nan='NaN'">
<#assign df_angle              = "0.00000;; roundingMode=halfEven decimalSeparator='.' infinity='∞' nan='NaN'">

Diese Variablen erlauben eine nutzerspezifische Formatierung von Dezimalzahlen. Soll bspw. die Anzahl der Nachkommastellen der Koordinaten verändert werden, so ist die Variable df_length anzupassen. Die Anzahl der Nachkommastellen ergeben sich aus dem Zahlentemplate 0.0000 und beträgt derzeit vier. Durch Streichen oder Hinzufügen von weiteren Nullen kann die Anzahl der Stellen vermindert oder erhöht werden.

Werden häufig verschiedene Formatierungen z.B. für Kataster- und Ingenieurprojekte benötigt, so empfiehlt es sich, die JAG3D_Default.ftlh mit den Änderungen unter verschiedenen Namen, etwa: JAG3D_Kataster.ftlh und JAG3D_Ingenieur.ftlh, im Templateverzeichnis zu speichern. In JAG3D werden dann automatisch mehrere Templates zum Erstellen des Reports angeboten.

javagraticule3d/report.txt · Zuletzt geändert: 04.09.2017 14:07 von Michael Loesler