GNavigia/Gina

Ob­jek­te, Mel­dun­gen und Son­der­funk­tio­nen

Ob­jek­te: Sinn und Ge­brauch

Wir ha­ben bis­her nur je­nen Teil des Pro­gramms be­trach­tet, der die Ma­ni­pu­la­ti­on und die Vi­sua­li­sie­rung von Tracks um­fasst, wir kom­men jetzt zu dem der Ob­jekt­bil­dung. Ob­jek­te im Sin­ne die­ses Pro­gramms sind die­je­ni­gen GPS-Ele­men­te, die in der streng hier­ar­chi­schen Baum­struk­tur im Rei­ter Ob­jek­te an­ge­legt wer­den kön­nen. Ob­jek­te (kön­nen) be­ste­hen aus Ob­jek­ten, Text­ob­jek­ten, Ob­jek­tre­fe­ren­zen und Tracks. Streng hier­ar­chisch be­deu­tet, dass es nur ge­nau ei­nen obers­ten Kno­ten ge­ben kann.
Ob­jek­te fas­sen letzt­lich Tracks zu­sam­men, die so un­ter ei­nem an­de­ren Na­men prä­sen­tiert oder aus­ge­wer­tet wer­den kön­nen. Ist ei­nem Ob­jekt ein Track oder ei­ne Ob­jek­tre­fe­renz zu­ge­ord­net, kann ihm kein Ob­jekt mehr zu­ge­ord­net wer­den. Tracks und Ob­jek­tre­fe­ren­zen bil­den so­mit die Blät­ter des Baums.
«Wo­zu braucht man Ob­jek­te?», wer­den Sie fra­gen. Be­trach­ten wir hier­zu ei­nen An­wen­dungs­fall, der auch maß­geb­lich der Ob­jekt­ent­wick­lung zu­grun­de lag, näm­lich das Be­stim­men der Län­ge ei­ner Ski­ab­fahrt. Wenn man z. B. in Zer­matt von Hohtäl­li ab­fährt zum Gant, trifft man nach et­wa der hal­b­en Stre­cke auf die Pis­te «Kel­le», die die Ab­fahrt Gor­ner­grat-Rif­fel­alp ein­lei­tet. Für ei­nen Ki­lo­me­ter lau­fen die Ab­fahr­ten zu­sam­men wei­ter, dann ga­beln sie sich zur Rif­fel­alp und zum Gant. Auf der nicht maß­stäb­li­chen Skiz­ze ist un­schwer zu er­ken­nen, dass hier ins­ge­samt vier Ab­fahr­ten (Hohtälli-Gant, Hohtälli-Rif­fel­alp, Gor­ner­grat-Gant und Gor­ner­grat-Rif­fel­alp) be­tei­ligt sind, für die man nur fünf Teil­ab­schnit­te, al­so Tracks, tat­säch­lich be­ar­bei­ten muss. Wür­de man die In­for­ma­tion durch Ko­pie­ren der Teil­ab­schnit­te zu je­weils ei­ner Ab­fahrt zu­sam­men­stel­len, hät­te man zwar nur vier Tracks, aber da­für wür­de der Mit­tel­teil vier Mal auf­tre­ten. Wenn man nach Fer­tig­stel­lung der Ar­bei­ten ei­nen Feh­ler in die­sem Mit­tel­teil ent­deckt, muss man vier Ab­fahr­ten be­rich­ti­gen. Hat man statt des­sen vier Ob­jek­te er­zeugt, die auf die zu­ge­hö­ri­gen Teil­ab­schnit­te ver­wei­sen, än­dern sich die be­trof­fe­nen Ob­jek­te beim Be­rich­ti­gen des ei­nen Tracks au­to­ma­tisch.
Ob­jek­tre­fe­ren­zen sind, was der Na­me so schön spre­chend sagt, Re­fe­ren­zen auf Ob­jek­te. Stel­len Sie sich vor, dass un­se­re Ab­fahrt Hohtälli-Gant aus den Pis­ten «Whi­te Ha­re» und «Grün­see» be­steht, wo­bei die «Whi­te Ha­re» be­reits zu­vor als Ob­jekt aus den Tracks «Whi­te Ha­re I» und «Whi­te Ha­re II», dem Mit­tel­stück, zu­sam­men­ge­stellt wur­de. Da­mit kön­nen wir ein Ob­jekt «Ab­fahrt Hohtälli-Gant» bil­den mit­tels ei­ner Ob­jek­tre­fe­renz «Re­fe­renz: Whi­te Ha­re» und dem Track «Pis­te Grün­see». Hat man die Pis­te «Grün­see» zu­vor be­reits als Ob­jekt de­fi­niert, stellt man die Ab­fahrt aus zwei Ob­jek­tre­fe­ren­zen zu­sam­men.
Ob­jek­tre­fe­ren­zen kön­nen auf be­lie­bi­ge Ob­jek­te zei­gen, die kei­ne Re­kur­si­on er­zeu­gen, d. h. dass es kei­ne Ob­jek­tre­fe­ren­zen auf di­rek­te Vor­fah­ren in der Ob­jekt­hier­ar­chie ge­ben kann.
Track­re­fe­ren­zen kön­nen in ih­rer Be­deu­tung Tracks gleich­ge­stellt wer­den, al­ler­dings kann man den Na­men des Tracks für die spe­zi­el­le An­for­de­rung über­schrei­ben. Hier­zu er­folgt ei­ne Ab­fra­ge, be­vor die Re­fe­renz hin­zu­ge­fügt wird. Ins­be­son­de­re für Lis­ten von HTML-Aus­ga­ben ist die Um­be­nen­nung für die Aus­ga­be manch­mal sinn­voll.
*
Track­re­fe­ren­zen ent­ste­hen ana­log zu Ob­jek­tre­fe­ren­zen da­durch, dass man aus der Aus­wahl, die man über die Schalt­flä­che «Re­fe­renz» er­reicht, nicht ein Ob­jekt son­dern ei­nen Track aus­wählt. Das setzt vor­aus, dass der zu re­fe­ren­zie­ren­de Track be­reits un­ter ei­nem Ob­jekt ein­ge­tra­gen ist. Track- und Ob­jek­tre­fe­ren­zen sind aber auch nur sinn­voll, wenn sie ge­wöhn­li­che Aus­wer­tun­gen the­ma­tisch «ver­fei­nern», so­dass die so ge­nut­zen Tracks prak­tisch im­mer un­ter Ob­jek­ten auf­tre­ten soll­ten. Ist das nicht der Fall, bil­det man ein Pro-Forma-Objekt, un­ter dem al­le zu re­fe­ren­zie­ren­den Tracks zu­sam­men­ge­fasst sind. Tre­ten Tracks und Ob­jek­tre­fe­ren­zen ge­mischt auf, wird das beim La­den der Da­tei als Hin­weis aus­ge­ge­ben. Schäd­lich ist das zwar nicht, aber das Pro­gramm mag es nicht, weil nur Re­fe­ren­zen ei­ne sau­be­re und ein­heit­li­che Aus­ga­be als HTML-Datei ga­ran­tie­ren.
*
Ob­jek­te ver­fü­gen nur über sehr we­ni­ge At­tri­bu­te, na­ment­lich die Ak­tua­li­tät, die dar­stel­lungs­re­le­van­te Fach­be­deu­tung, die Lis­te der Fach­be­deu­tun­gen, die GUID, die Ob­jekt-ID, die Ob­jekt­län­ge und die Ver­ti­kal­di­stanz (Hö­hen­un­ter­schied), so­wie Na­me und Be­schrei­bung. Der Na­me muss nicht ein­deu­tig sein und kann je­der­zeit ge­än­dert wer­den.
Ob­jek­te sind die Kno­ten des Baums und oh­ne Blät­ter (Tracks oder Ob­jek­tre­fe­ren­zen) nicht sinn­voll nutz­bar. Tracks un­ter­schei­det man durch die vor­an­ge­stell­te Track-ID, wäh­rend Ob­jek­tre­fe­ren­zen durch die Be­zeich­nung «Re­fe­renz:» ein­ge­lei­tet wer­den.
*
Ob­jek­te wer­den dem Baum hin­zu­ge­fügt, in­dem ein Kno­ten, der «Be­zugs­kno­ten», se­lek­tiert und die Schalt­flä­che «Ob­jekt» be­tä­tigt wird. Die Schalt­flä­che ist nur dann sen­si­tiv, wenn der aus­ge­wähl­te Kno­ten dies zu­lässt, d. h. kei­ne Ob­jek­tre­fe­ren­zen oder Tracks auf­weist. Neue Kno­ten kön­nen ge­gen­über dem ak­tu­ell se­lek­tier­ten Kno­ten als über-, un­ter­ge­ord­net oder gleich­be­rech­tigt ein­ge­fügt wer­den. Da Kno­ten mitt­ler­wei­le sehr ein­fach ver­scho­ben wer­den kön­nen und auch Un­do/Re­do da­durch nicht ein­fa­cher wird, wur­de die Op­ti­on "Als neu­er Zweig des Bau­mes ab hier" auf­ge­ge­ben. Da­für kann ein gleich­be­rech­tig­ter Kno­ten vor oder nach dem ak­tu­ell se­lek­tier­ten Kno­ten ein­ge­fügt wer­den. «Ver­ges­se­ne» Glie­de­rungs­stu­fen las­sen sich so recht ein­fach ein­fü­gen. Der Dia­log un­ter­schei­det die Op­tio­nen nach ih­rer Ver­füg­bar­keit und graut sol­che aus, die un­gül­ti­ge Kom­bi­na­tio­nen von Tracks und Ob­jek­ten er­ge­ben wür­den.
*
Tracks wer­den zu Ob­jek­ten hin­zu­ge­fügt, in­dem sie aus ei­nem Dia­log aus­ge­wählt wer­den, der nach den gül­ti­gen Re­geln der Mehr­fach­s­e­lek­ti­on ar­bei­tet. Tracks sind letzt­lich Fleisch und Blut der Ob­jek­te, da sie die mess­ba­ren Grö­ßen (Län­gen, Hö­hen­un­ter­schie­de etc.) rea­li­sie­ren. Wird mehr als ein Track se­lek­tiert, so er­gibt sich die Ge­samt­län­ge des Ob­jekts, die «Ob­jekt­län­ge», aus der Sum­me der Ein­zel­län­gen eben die­ser Tracks, ge­mes­sen über die nicht ge­lösch­ten Track­punk­te der­sel­ben in der je­wei­li­gen Kar­ten­pro­jek­ti­on un­ter Berück­sich­ti­gung der Hö­hen­un­ter­schie­de. Dass die UTM-Kar­ten­pro­jek­ti­on un­ter un­güns­ti­gen Um­stän­den ei­nen Feh­ler von 40 Zen­ti­mer auf ei­nen Ki­lo­me­ter be­dingt, kön­nen wir im Rah­men der Mess­ge­nau­ig­keit ge­trost ver­nach­läs­si­gen. Wich­ti­ger ist da schon, dass die Tracks, die sich in der Sum­me mög­lichst feh­ler­frei zu ei­nem Ob­jekt­maß er­ge­ben sol­len, auch tat­säch­lich an­ein­an­der­sto­ßen. Um dies zu ge­währ­leis­ten, soll­ten die Op­ti­ons­schalt­flä­chen «Er­geb­nis nach La­ge sor­tie­ren» und «Er­set­zen statt hin­zu­fü­gen» an­ge­schal­tet sein. Bit­te be­den­ken Sie, dass beim Auf­star­ten des Dia­logs be­reits die­je­ni­gen Tracks se­lek­tiert sind, die zum Ob­jekt ge­hö­ren, auch wenn sie ggf. ge­ra­de nicht sicht­bar sind! Wenn Sie den Dia­log be­stä­ti­gen, wer­den die Op­tio­nen aus­ge­wer­tet und die an­ge­ge­be­ne Dif­fe­renz da­zu be­nutzt, den Ab­stand der nach La­ge sor­tier­ten Tracks zu un­ter­su­chen. Wird die ma­xi­ma­le Dif­fe­renz über­schrit­ten, er­folgt ei­ne Feh­ler­mel­dung und das Er­geb­nis wird nicht über­nom­men.
*
Text­ob­jek­te bil­den ei­nen Son­der­fall des Ob­jekts. Sie tra­gen al­lein Tex­t­in­for­ma­tio­nen und kön­nen so zur Il­lus­tra­ti­on von Er­geb­nis­lis­ten die­nen. Wenn Sie ei­ne Po­si­ti­on im Ob­jekt­baum aus­ge­wählt ha­ben, er­zeu­gen Sie ein neu­es Text­ob­jekt durch Be­tä­ti­gen der «Text» Schalt­flä­che. Im Dia­log kön­nen Sie die Po­si­ti­on fest­le­gen, an der das Text­ob­jekt in den Ob­jekt­baum ein­ge­tra­gen wer­den soll. Der Text­ob­jekt­na­me soll­te spre­chend sein. Wenn Sie nur we­nig Text ha­ben, soll­ten Sie den Text­ob­jekt­na­men und den Text iden­tisch hal­ten. Dies er­rei­chen Sie mit den Schalt­flä­chen «Ko­pie­ren» so­wie «HTML-fett/kur­siv/klein», die den Text mit der Ken­nung für ei­ne ent­spre­chen­de For­ma­tie­rung in das Text­feld über­neh­men. Die Auf­lis­tung «Zer­matt an ei­nem Tag» il­lus­triert an­schau­lich, was die Text­ob­jek­te leis­ten kön­nen. Sie do­ku­me­nie­ren die Auf­stiegs­hil­fen, die na­tur­ge­mäß nicht in die Ge­samt­zahl der Pis­ten­ki­lo­me­ter ein­flie­ßen dür­fen.
*
Das Än­dern der Ob­jekt­hier­ar­chie ge­schieht durch «Zie­hen und Fal­len­las­sen». Sie kön­nen Ob­jek­te an­fas­sen und mit ge­drück­ter Maustas­te an ei­nen an­de­ren Ort ver­schie­ben. Das Pro­gramm über­prüft, was für ein Kno­ten ak­tu­ell un­ter der Maus liegt. Be­sitzt der Kno­ten be­reits Ob­jek­tre­fe­ren­zen oder Tracks, so wird das Ob­jekt auf der­sel­ben Ebe­ne vor das ak­tu­el­le Ob­jekt ver­scho­ben. Das Ko­pie­ren von Ob­jek­ten ist nicht mög­lich.
*
Sie lö­schen Ob­jek­te mit Hil­fe der gleich­na­mi­gem Schalt­flä­che. Da­bei kön­nen Sie ent­schei­den, ob die un­ter­ge­ord­ne­ten Ob­jek­te eben­falls ge­löscht wer­den sol­len, oder ob sie an­de­ren Kno­ten zu­ge­ord­net wer­den, was Sie vor al­lem dann nut­zen wer­den, wenn Sie ver­se­hent­lich ei­ne Hier­ar­chie­stu­fe zu­viel ge­bil­det ha­ben. In die­sem Fall wei­sen Sie die Kind­kno­ten dem über­ge­ord­ne­ten Ob­jekt zu. Der Dia­log un­ter­schei­det die Op­tio­nen nach ih­rer Ver­füg­bar­keit und graut sol­che aus, die un­gül­ti­ge Kom­bi­na­tio­nen von Tracks und Ob­jek­ten er­ge­ben wür­den. Da­bei kann es zu der Si­tua­ti­on kom­men, dass «al­le lö­schen» die ein­zi­ge ver­blei­ben­de Mög­lich­keit ist. Auch auf die­sen Sach­ver­halt wer­den Sie per Dia­log hin­ge­wie­sen, da Sie die Ak­ti­on im­mer noch ab­bre­chen kön­nen. Nur in die­sem ei­nen Fall ist die ers­te Op­ti­on be­reits aus­ge­wählt. In al­len an­de­ren Fäl­len wird bei ei­ner un­gül­ti­gen Aus­wahl die Schalt­flä­che OK aus­ge­graut.

Ob­jekt­fach­be­deu­tun­gen be­stim­men

Fach­be­deu­tun­gen für Ob­jek­te las­sen sich ma­nu­ell ver­ge­ben oder an­hand der­je­ni­gen der zu­ge­hö­ri­gen Tracks be­stim­men. Hat man Tracks be­reits mit Fach­be­deu­tun­gen at­tri­bu­tiert, kann GNavigia den Über­trag auf die Ob­jek­te vor­neh­men. Die Steue­rung ist, wie man sich leicht vor­stel­len kann, we­gen der Viel­zahl der Be­din­gun­gen ent­spre­chend un­durch­sich­tig - und zur­zeit auch noch nicht voll­stän­dig im­ple­men­tiert. Drei Pa­ra­me­ter­grup­pen be­stim­men das Er­geb­nis der Be­rech­nung, wo­bei die drit­te Grup­pe zur­zeit al­lein hin­sicht­lich der Fest­le­gung «nur wenn ein­deu­tig» im­ple­men­tiert ist.
  • Zu be­ar­bei­ten­de Ob­jek­te: Die Be­stim­mung der Ob­jekt­fach­be­deu­tun­gen kann über den ge­sam­ten Baum vor­ge­nom­men wer­den oder ab dem se­lek­tier­ten Kno­ten, des­sen ak­tu­el­ler Pfad an­ge­ge­ben wird. In­ter­essan­ter ist aber die Fra­ge, was mit den Ob­jek­tre­fe­ren­zen ge­sche­hen soll, die selbst kei­ne Fach­be­deu­tung tra­gen son­dern nur auf Ob­jek­te ver­wei­sen. Wird die Op­ti­on zur An­wen­dung der Er­geb­nis­se auf re­fe­ren­zier­te Ob­jek­te ein­ge­schal­tet, wer­den auch die re­fe­ren­zier­ten Ob­jek­te be­ar­bei­tet.
  • Wenn be­reits ei­ne Fach­be­deu­tung exis­tiert, kann fest­ge­legt wer­den, wie mit der neu er­mit­tel­ten Fach­be­deu­tung ver­fah­ren wer­den soll. Da­bei beu­tet «un­ter­ge­ord­net hin­zu­fü­gen», dass die Fach­be­deu­tung an die Lis­te der Fach­be­deu­tun­gen an­ge­hängt wird und da­mit die Dar­stel­lung des Ob­jekts nicht ver­än­dert, wäh­rend «über­ge­ord­net hin­zu­fü­gen» be­sagt, dass die Fach­be­deu­tung an den An­fang der Lis­te rückt und da­mit die Dar­stel­lung des Ob­jekts be­stimmt.
  • Neue Fach­be­deu­tun­gen wer­den nur dann in die Er­geb­nis­se ein­ge­stellt, wenn sie der ge­wähl­ten Be­din­gung ge­hor­chen. Be­steht ein Ob­jekt aus meh­re­ren Fach­be­deu­tun­gen, so ist ei­ne Zu­ord­nung nicht ein­deu­tig. Da­bei kann die Fra­ge, wel­che Fach­be­deu­tung für das Ob­jekt re­le­vant ist, nicht oh­ne Kennt­nis der Ge­samt­si­tua­ti­on ent­schie­den wer­den. Neh­men wir wie­der un­ser Bei­spiel mit den Ski­pis­ten: Ei­ne Pis­te mö­ge sich aus meh­re­ren Tracks zu­sam­men­set­zen, wo­von 5% der Ge­samt­stre­cke ei­ne mör­de­ri­sche Bu­ckel­pis­te ist und 95% flach wie die nord­deut­sche Tiefebe­ne. Sie wer­den die­ses Ob­jekt doch nicht al­len Erns­tes als «be­son­ders ein­fa­che Pis­te» mar­kie­ren wol­len, oder?

Ob­jekt­fach­be­deu­tun­gen lö­schen

Ob­jekt­fach­be­deu­tun­gen wer­den, wie an­de­re Fach­be­deu­tun­gen auch, nicht pau­schal ge­löscht, son­dern müs­sen mit der Aus­wahl aus der Lis­te der Fach­be­deu­tun­gen über­ein­stim­men, da im­mer nur die an­ge­ge­be­ne Fach­be­deu­tung aus der Lis­te der dem Ob­jekt zu­ge­ord­ne­ten Fach­be­deu­tun­gen ent­fernt wird.

Mel­dun­gen

Mel­dun­gen tre­ten in der ak­tu­el­len Pro­gramm­ver­si­on eher sel­ten auf. Ei­ner der Fäl­le ist die Aus­ga­be der Mel­dun­gen zum Ex­port von Tracks, die als In­for­ma­tion an­ge­se­hen wer­den kann. ein wei­te­rer Fall ist die Aus­ga­be dop­pel­ter Iden­ti­fi­zie­rer (IDs), die vor al­lem dann von In­ter­es­se sein dürf­te, wenn Sie von Hand in die Da­ten­da­tei­en ein­ge­grif­fen oder Da­ten über ei­nen Da­ten­bank­zu­griff be­reit­ge­stellt ha­ben. GNavigia selbst soll­te in die­ser Hin­sicht weit­ge­hend feh­ler­frei Ar­bei­ten. Das Mel­dungs­fens­ter wird bei Be­darf in den Vor­der­grund ge­schal­tet.
*
Auch die Na­vi­ga­ti­on schreibt An­ga­ben zum Ver­bin­dungs­auf- und -abbau in das Mel­dungs­fens­ter, das da­her heu­te nicht mehr über den Rei­ter «Mel­dun­gen» son­dern «Na­vi­ga­ti­on» zu er­rei­chen ist.