Hintergrundinformationen

Jürgen A. Lamers
Ich habe ein Dokumentationsformat gesucht, dass mir das Anzeigen von Tracks, Verknüpfungen zu WikiPedia, aber genauso die Ausgabe nach EPUB oder PDF erlaubt. Deswegen habe ich mir erlaubt, HTML etwas zu erweitern und mittels XSLT daraus verschiedene Ausgabeformate zu generieren:

Funktionalitäten der einzelnen Ausgabeformate

POIs Track Wikipedia Fussnoten Offline Bilder Navigation Akustik
HTML Frame Tooltip+HRef zu GoogleMaps, Tooltip+HRef zur GeoRSS-Darstellung KML über OpenStreetMap, GoogleMaps, IFrame zu GPSies, BikeMap etc. Tooltip+HRef Tooltip nein verkleinert+HRef, als JQuery-Popup, Tooltip per Frame ja
HTML Tooltip+HRef zu GoogleMaps, Tooltip+HRef zur GeoRSS-Darstellung KML über GoogleMaps, IFrame zu GPSies, BikeMap etc. Tooltip+HRef Tooltip nein verkleinert+HRef, als JQuery-Popup, Tooltip Kopf/Fusszeile ja
BBCode nein als Bild, evtl. als Link Nein als "Spielverderber" versteckt nein nicht alle eingebunden! Keine 'Tooltip' und TabContainer-Bilder. gering nein
PDF nein als Bild, evtl. als Link als Fussnote für de.wikipedia Fussnote ja nicht alle eingebunden! Keine 'Tooltip'-Bilder. gering nein
EPUB nein als Bild nein inline mit kleinerer Schrift ja verkleinert per Software (TOC-Auswertung) nein
EPUB-Frame nein als Bild nein inline mit kleinerer Schrift ja verkleinert per Frame nein
FOP/PDF nein als Bild, evtl. als Link als Fussnote für wikipedia Fussnote ja nicht alle eingebunden! Keine 'Tooltip' und TabContainer-Bilder. gering nein

Neue Elemente für Abschnitte

<rb:chapter xmlns="http://www.w3.org/1999/xhtml"
 xmlns:html="http://www.w3.org/1999/xhtml"
 xmlns:rb="http://www.dokutransdata.de/"
 id="chap_sommer2006" 
 title="Hinterglemm 2006">

<rb:section id="sec_anreise" title="Anreisetag">
<rb:motto>Wer alles es kann</motto>
<rb:journeyday title="Anreisetag" date="2006/07/01"/>
<rb:subsection id="sec_anreise" title="Anreisetag">
<rb:subsubsection id="sec_anreise" title="Anreisetag">
</rb:subsubsection>
</rb:subsection>
</rb:section>
</rb:chapter>
Die Schemadefinition bzw. DTD liefere ich, wenn das Format einigermaßen stabil ist! Eine Datei kann als Root/Hauptelement folgendes haben:
chapter
Kapitel ist etwas übertrieben, meist ist es nur der Reisetag.
Unterelemente können sein: journeyday, section.
foreword
Vorwort.
Unterelemente können sein: section.
appendix
Anhang.
Unterelemente können sein: section.
Die Dateien können weiter unterteilt sein mit section - subsection - subsubsection. Wobei chapter auf h1 bzw. \section*, section auf h2 bzw. \subsection*, subsection auf h3 bzw. \subsubsection*, subsubsection auf h4 bzw. \paragraph* abgebildet wird.
motto
Liefert ein eingerückten Paragraphen mit den "Überschrift" Motto.
Ist gedacht als Leitspruch zum Tag oder zur Tour.
journeyday
Datum des Reisetages, das Datum wird derzeit nicht mehr ausgewertet. Der Titel lieferft evtl. die Kapitelüberschrift, sofern dieser beim chapter bzw. section fehlt.

Neue Elemente

Wirksamkeit der Elemente
ElementAusgabeformat
kmlHTML
itrackviewerHTML, PDF
wikiHTML, PDF
mapHTML
footnoteHTML, EPUB, PDF
timageHTML
turlHTML
tgeorssHTML
imageHTML, EPUB, PDF, Mobile … sofern nicht über mode gefiltert.
soundHTML
mailtoHTML, EPUB, PDF
touroverviewHTML, EPUB, PDF

Erläuterung

Sofern nicht anders erwähnt, sind die Attribute bei den Elementen Pflicht!
Vorläufig muss bei allen Elementen mit jtype="jquery" die Tooltip-Funktionalität eingeschaltet werden!
<touroverview></touroverview>
Container der folgende Elemente enthalten kann:
Elemente in
touroverview
ElementAusgabeformatErläuterung
stationHTML,PDFOrtsname durch den man/frau gefahren ist.
tourlengthHTML,PDFStreckenlänge der Tour
tourdurationHTML,PDFZeitverbrauch der Tour (nicht die reine Fahrzeit!)
tourtypeHTML,PDFKnackige Charakterisierung der Tour.
touraltitudeHTML,PDFHöhenmeter der Tour.
<kml/>
Verweis auf eine KML-Datei, diese wird mittels GoogleMaps oder OpenStreetMaps dargestellt.
Attribut Bedeutung Format
kmfileName der ZwischendateiHTML
titleTitel in der Zwischendatei.HTML
mapidIdentifikator für die KarteHTML
classSollte pic_left oder pic_right sein.HTML
fullurlAdresse der KML-Datei, muss weltweit erreichbar sein.HTML
widthBreite der eingebundenen KarteHTML
mapwidthBreite der Karte in der Zwischendatei.HTML
heightHöhe der eingebundenen KarteHTML
mapheightHöhe der Karte in der Zwischendatei.HTML
lonCenterKmlKartenmittelpunkt - Längengrad, muss für OpenLayer angegeben werden :-(
latCenterKmlKartenmittelpunkt - Breitengrad, muss für OpenLayer angegeben werden :-(
urlLokale URL wenn mit OpenLayer gearbeitet wird! Die Datei muss lokal zur HTML-Datei liegen, d.h. für eine Frame-Version ist eine weitere Kopie anzufertigen!
<rb:kml kmlfile="strafwanderung_001" mapid="strafwanderung_001" 
class="pic_right" 
url="http://www.ich-bin-am-wandern-gewesen.de/tracks/Hinterglemm2006/20060703_Tour_Panorama_2_Panorama_5.kml" 
title="Strafwanderung um Hinterglemm" width="540px" height="340px"
 mapwidth="520px" mapheight="320px"/>
<itrackviewer></itrackviewer>
Es wird ein Track von GPSies oder Bikemap etc. eingebunden.
Attribut Bedeutung Format
gpsiesIdentifikator für den Track bei GPSiesHTML, PDF
toursprungPortal für Tracks: bikemap, wandermap etc.HTML, PDF
tourIdentifikator für den Track auf einer Toursprung-SeiteHTML, PDF
classSollte pic_left oder pic_right sein.HTML
widthBreite der eingebundenen KarteHTML
heightHöhe der eingebundenen KarteHTML
modehtml oder ltx: Bild erscheint nur in dem gewünschten Ausgabeformat.HTML, PDF
Bei der PDF-Ausgabe wird nur ein Link zum Track auf dem Portal erstellt, in der EPUB-Ausgabe wird das Element komplett ignoriert.
<rb:itrackviewer mode="html" class="pic_right" 
width="520" height="340" 
toursprung="bikemap" tour="43570">Radtour nach Zell am See
</rb:itrackviewer>
<image/>
Bindet ein Bild ein und erstellt ggfs. eine separate HTML-Datei für das Originalbild.
Attribut Bedeutung Format
srcEingebundenes BildHTML, EPUB
mainsrcBild für die externe Datei.HTML
modehtml, epub oder ltx: Bild erscheint nur in dem gewünschten Ausgabeformat.HTML, EPUB, PDF
lsrcEingebundenes PDF-BildPDF
widthBreite des BildesHTML, EPUB
fwidthBreite des BildesFOP
lwidthBreite des BildesPDF
heightHöhe des BildesHTML, EPUB
fheightHöhe des BildesFOP
lheightHöhe des BildesPDF
idEindeutiger Schlüssel, wird als Rücksprung-Label verwendet.HTML
altAlternativer TextHTML
subtitleBildunterschriftHTML
classSollte pic_left oder pic_right sein.HTML
<rb:image class="pic_left" lwidth=".45\textwidth" width="40%"
 alt="Frosch-Hotel" mainsrc="100_0641.JPG" src="100_0641_s.JPG"
 lsrc="100_0641_s" id="IMG_100_0641"/>
<tgeorss></tgeorss>
Erstellt ein Tooltip-Fenster mit den POIs in der Umgebung zu einem Fotopunkt. Es wird im Hintergrund www.geonames.org in der freien Verson genutzt, deswegen kann der Zugriff zufällig nicht funktionieren...
Attribut Bedeutung Format Modus
latBreitengradHTML
lonLängengradHTML
titleTitelHTML
georssfileName der Zwischendatei zur DarstellungHTML
urlURL der KML-DateiHTML
captiontitleÜberschriftHTML

<map/>
Erstellt ein Tooltip-Fenster mit dem POI/Fotopunkt in OpenStreetMap oder GoogleMap.
Attribut Bedeutung Format Modus
lonLängengrad für den POIHTMLpflicht
latBreitengrad für den POIHTMLpflicht
titleBezeichnung des POIHTMLpflicht
idSchüssel, wird für das Popup-Fenster benötigt und die externe Datei!HTMLpflicht
zoomZoomstufe der KarteHTMLoptional
<rb:map lon="47.383333" lat="12.633333"
 title="Saalbach-Hinterglemm"/>
<wiki/>
Erstellt eine Referenz und ein Tooltip-Fenster mit dem Inhalt der WikiPedia-Seite
Attribut Bedeutung Format Modus
targetZiel in WikiPediaHTMLpflicht
idSchüssel, wird für das Popup-Fenster benötigtHTMLpflicht
sourceQuelle des Wiki-Eintrages (WikiPedia='', Radreise-Forum-Wiki='radreisewiki')HTMLpflicht
ltargetPseudoZiel in WikiPedia, für die Ausgabe nach PDF wegen der Kodierung von Umlauten etc. wichtig :-(PDFoptional
widthBreite des Tooltip-FensterHTMLoptional
heightHöhe des Tooltip-FensterHTMLoptional
<rb:wiki target="Saalbach-Hinterglemm" width="600px" 
height="300px"/>
<footnote/>
Erzeugt eine Fussnote.
Attribut Bedeutung Format
idEindeutiger IdentifikatorHTML
textText der als Tooltip bzw. Fussnote erscheint.HTML, PDF
<rb:footnote id="fn_01" 
text="Als ich zu Hause war, habe ich GPS-Trackmaker aktualisiert und ..."
/>
<sound/>
Es wird der Flashplayer emff zum Abspielen von MP3-Dateien eingebunden oder das HTML5 Element
audio
verwendet.
Attribut Bedeutung Format Modus
srcPfad zur MP3-DateiHTMLpflicht
titleÜberschrift zum PlayerHTMLoptional
<rb:sound src="test.mp3" title="Naturgeräusche"/>
<timage></timage>
Damit kann ein Bild über ein Tooltip eingebunden werden.
Attribut Bedeutung Format
srcPfad zur BilddateiHTML
theightHöhe des TooltipHTML
twidthBreite des TooltipHTML
<turl></turl>
Damit kann eine Webseite über ein Tooltip eingebunden werden.
Attribut Bedeutung Format
hrefAdresse der WebSeiteHTML
theightHöhe des TooltipHTML
twidthBreite des TooltipHTML
<mailto></mailto>
Erzeugt ein normalen Anker für EMails, in PDF-Mode wird daraus eine Fussnote!
Attribut Bedeutung Format
toAdressatHTML, EPUB, PDF
subjectBetreffHTML, EPUB
<rb:mailto to="jaloma@dokutransdata.de"
 subject="Schoener Reisebericht ;-)">
 Tadel</rb:mailto>

Verkappte Entities

Diese „Symbole“ werden zum Teil als Grafik eingebunden oder entsprechende Zeichenkombination.
<rb:hsmiley/>
Erzeugt ein Happy-Smiley
<rb:ssmiley/>
Erzeugt ein Sad-Smiley
<rb:prozent/>
Erzeugt das Prozentzeichen für die unterschiedlichen Ausgabeformate.

Einschränkungen

Vorläufig sind die Zeichen &, ^, $ verboten, sofern die PDF-Ausgabe erwünscht ist.
Beim Layouten der PDF-Ausgabe kann es Schwierigkeiten geben, es wird intern wrapfigure verwendet, deswegen können nicht zwei Bilder in einem Paragraphen verwendet werden.

Featureliste der erstellten Tools

Douglas-Peucker
Der aufgezeichnete Pfad kann jetzt ausgedünnt werden, entweder über den Ramer-Douglas-Peucker Algorithmus oder brutal über den Abstand zwischen zwei Punkten.
Ortsinformationen
Die ausgedünnten Spuren/Tracks können jetzt an GeoNames geschickt werden um
  • eine Ortsliste zur Strecke
  • oder eine POI-Liste an der Strecke
zu erstellen. Die Ortsliste wird zu einer Stationsliste für den Tourüberblick. Die POI-Liste kann als HTML- oder RDF-Datei weiterverwendet werden.
Fotoinformationen
Sind die Fotos mit Geo-Informationen (z.B. GeoSetter) ergänzt worden, kann ebenfalls mittels GeoNames eine POI-Liste erstellt werden.
get_image_infos all 'ImageBaseName' pl
Erstellt alle derzeit wichtigen Daten wie PDF-Bild, Map-Tag zum Bild, GeoNames-Informationen zum Punkt, GooglePlaces-Ergebnisse.
Fotomanipulationen
Ist ImageMagick installiert, können die Foto skaliert und als "Polaroid" manipuliert werden.
POI-Informationen
Die POI-Liste wird über Googles-Place-API erstellt, dazu sind die Bilder in "data\imgBaseInfos" abzulegen. Ein Aufruf mit
get_image_infos googleplaces 'ImageBaseName' de
erstellt eine HTML-Datei mit einer GoogleMap und den gefundene POIs. Sollen nach der ersten Suchanfrage nur noch Zoomstufe o.ä. in der Ergebnisdatei geändert werden, so kann dies mit 'googlehtml' erfolgen. Zeitgleich mit der Suchanfrage wird eine GPX-Datei mit Wegpunkten der Ergebnisse erstellt, diese kann bei der Vorplanung interessant sein.

Einzelaktionen bei 'get_image_infos.bat'

ArgumentAktion
xmpcoordsExtrahiert aus der *.xmp die notwendigen Koordinateninformationen und erstellt Property-Dateien zur weiteren Verwendung.
getcoordsWie vorher, nur direkt über das ExifTool!
geonamesÜber Geonames.org POI-Informationen besorgen.
resizeBild mittels ImageMagick verkleinern
pdfBild mittels ImageMagick nach PDF konvertieren für die LaTeX-Ausgabe
polaroidBild mittels ImageMagick in ein "Polaroid" verwandeln
rotateBild mittels ImageMagick rotieren
wikiWiki-Informationen über GeoNames.org besorgen.
placesOrte über GeoNames.org besorgen
googleplacesHotels, Camping etc. über Google-Places besorgen.
googlehtmlResultat von Google-Places nach HTML konvertieren. Eigenständiger Aufruf damit nicht ein weiterer Request nach Google geschickt werden muss... (kostet Geld!)
googlegpxResultat von Google-Places nach GPX konvertieren.

Einzelaktionen bei 'doit_peucker.bat'

Sollen Information aus den Tracks erstellt werden, liegt im Verzeichnis "data\tracks" eine Batchdatei zur Verarbeitung und die Tracks müssen dort abgelegt werden! Aufruf:
doit 'mode' 'lang' 'baseGPXFilename' 'tag'
ArgumentBedeutung
modeAktion die durchgeführt werden soll. (s. Tabelle)
langSprache für die WikiPedia-Anfragen.
baseGPXFilenameNur den Namen der GPX-Datei, die Datei muss in dem Verzeichnis 'originals' liegen, es ist auch keine Endung '.gpx' anzugeben.
tagEin Tag um die Ergebnisdatei zwischen einzelnen Läufen zu unterscheiden.
Erläuterungen zum Arbeitsmodus
Argument (mode)Aktion
fullErzeuge alle Informationen
orteErstelle die Ortliste für 'touroverview'
wikiHole die Wiki-Informationen über GeoNames zum Track
wikiRDFErstelle die RDF-Datei zu den Wiki-Informationen.
peuckerTrack mittels Douglas-Peucker ausdünnen
ausduennenNoch weiter ausdünnen über die Streckenlänge
getorteOrtsinformationen über den ausgedünnten Track holen!
getwikiWikiinformationen über den ausgedünnten Track holen!
googleplacesRattert den ausgedünnten Track durch, fragt bei GooglePlaces nach Daten und erzeugt eine HTML-Datei mit GoogleMaps-Anbindung, sowie eine GPX-Datei mit Wegpunkten pro Abfrage! Es werde viele Hilfsdateien erzeugt, zum einen Ergebnisdatei von GooglePlaces-Antworten, sowie einige Build-Dateien für Ant. Evtl. produziere ich hier noch eine eigene Anwendung.
placesDie Java-Anwendung zu GooglePlaces, liefert mir eine XML-Datei die mit einigen Zusatzinformationen aus der Detail-Anfrage ergänzt ist. Diese Datei kann einfacher in eine HTML-Map umgewandelt werden.