GNavigia/Gina

Au­to­kart Ski­tag: Ei­ne Ski­line-Simu­la­ti­on

Hin­weis: Die Funk­tio­na­li­tät Au­to­kart Ski muss zu­nächst im Me­nü Ex­tras/Ein­stel­lun­gen im Rei­ter Aus­wer­tun­gen zu­ge­schal­tet wer­den. Zu­dem soll­ten Sie zur Be­ur­tei­lung der Tracks im­mer min­des­tens das Hö­hen­pro­fil sicht­bar ge­schal­tet ha­ben. Sie soll­ten das Fa­den­kreuz und das Maß­stab­s­li­ne­al se­hen kön­nen, da spä­ter op­tio­nal auf den Mit­tel­punkt der Dar­stel­lung zen­triert wer­den kann, was bei der An­sichts­art «Git­ter­li­ni­en» nicht op­ti­mal ist und leicht zu Punkt­ver­wechs­lun­gen füh­ren kann.

Die wün­schens­wer­te Er­wei­te­rung für die Funk­tio­na­li­tät «Au­to­kart Ski» wä­re die kom­plet­te Aus­wer­tung ei­nes GPS-Tracks oh­ne ei­ne wei­te­re Ak­ti­on des Be­nut­zers. Wa­rum das nicht zu 100% un­setz­bar ist, wird im Lau­fe die­ser Ge­schich­te be­schrie­ben. Im­mer­hin ist be­reits ein Mo­dul um­ge­setzt, das dies rea­li­siert, so­fern die Mess­feh­ler mo­de­rat sind und die «We­ge» be­kannt sind.

Die hier­zu not­wen­di­gen Be­feh­le sind un­ter dem Menü­punkt «Ski­ta­ge ana­ly­sie­ren» zu­sam­men­ge­fasst:

  • Ei­nen «Ski­tag als Ob­jekt zu­sam­men­stel­len» wur­de zu­rück­ge­stellt. Da­zu be­nö­tigt man die nach­fol­gen­den Spie­gel­stri­che.
  • Um «We­ge aus Ob­jek­ten» zu er­zeu­gen, muss man zu­vor Ob­jek­te ge­bil­det ha­ben. Sind Lif­te als Ob­jekt­lis­te vor­han­den, er­zeugt die Funk­tio­na­li­tät Weg­punk­te ei­ner be­stimm­ten Fach­be­deu­tung am An­fangs- und End­punkt der Be­för­de­rungs­an­la­gen.
  • Die Ana­ly­se von Tracks er­for­dert Re­gel­da­ten, die auf den im Pro­jekt er­stell­ten We­gen fu­ßen, und, für die Ski­line-kon­for­me Aus­wer­tung, Ski­pass­num­mern, die in ei­nem ei­ge­nen Mo­dul ver­wal­tet wer­den.
  • Die Funk­tio­na­li­tät «Ski­line si­mu­lie­ren aus SKIDATA-Tex­t­aus­zü­gen» ist ei­ne für Zer­matt spe­zi­fi­sche Funk­tio­na­li­tät, die nur für An­wen­der zur Ver­fü­gung steht, die die Ori­gi­nal­da­ten aus der Re­gis­trie­rungs­da­ten­bank der Zer­matt Berg­bah­nen AG (ZBAG) aus­wer­ten möch­ten. Die­se Da­ten ste­hen aber nur ei­nem aus­ge­wähl­ten Per­so­nen­kreis für in­ter­ne Zwe­cke, zur Ver­miss­ten- und zur Feh­ler­su­che zur Ver­fü­gung.

Ski­line si­mu­lie­ren aus GPS-Mes­sun­gen

Ob­gleich die Er­geb­nis­se am En­de ge­nau­so prä­sen­tiert wer­den kön­nen, wie es im Ab­schnitt über die Si­mu­la­ti­on aus SKIDATA-Tex­t­aus­zü­gen be­schrie­ben steht, ist der Weg dort­hin an die Be­son­der­hei­ten der GPS-Mes­sun­gen ge­bun­den, die oft wüs­te Kur­ven lie­fern, ins­be­son­de­re wenn man in ei­ner Luft­seil­bahn in der Mit­te ein­ge­zwängt ist. Zu­dem muss man zu­sam­men­ge­setz­te We­ge, z. B. die Gor­ner­grat­bahn oder die Kum­me Gon­del­bahn, Ab­schnitt für Ab­schnitt ver­fol­gen.

Um den Auf­wand der Pro­gram­mie­rung ge­ring zu hal­ten, wur­den fol­gen­de Funk­tio­na­li­tä­ten kom­bi­niert:

  • Ein Track kann als Pro­fil dar­ge­stellt wer­den. Er um­fasst idea­ler Wei­se ei­nen gan­zen Ski­tag.
  • Weg­punk­te wer­den, ab­hän­gig von ih­rem Ab­stand zum Pro­fil und ih­rer Fach­be­deu­tung, in das Pro­fil ein­ge­tra­gen.
  • Die Rei­hen­fol­ge der Weg­punk­te im Pro­fil wird mit der Fest­le­gung der We­ge ab­ge­gli­chen.
  • Die We­ge müs­sen ei­ne un­ter­bre­chungs­freie Lis­te bil­den. Bricht die Fol­ge ab, er­folgt ein Hin­weis und die Be­rech­nung stoppt.
  • Aus Auf­zeich­nungs­da­tum und GPS-Emp­fän­ger wird das Ski­ge­biet und die Ski­pass­num­mer er­mit­telt. Da­zu dient der Menü­punkt «Ski­pass­num­mern ver­wal­ten».

Ski­pass­num­mern ver­wal­ten

Ski­pass­num­mern kön­nen dann und nur dann in den Dia­lo­gen an­ge­zeigt wer­den, wenn sie in der Ver­wal­tung der Ski­pass­num­mern ein­ge­tra­gen sind. Der hier­zu not­wen­di­ge Dia­log er­for­dert die Fest­le­gung des ge­wünsch­ten GPS-Emp­fän­gers in der Ver­wal­tung der GPS-Emp­fän­ger.

Um ei­nen neu­en GPS-Emp­fän­ger hin­zu­zu­fü­gen oder ei­nen neu­en Na­men für den Rei­ter aus­zu­wäh­len, muss die Schalt­flä­che «GPS-Emp­fän­ger» be­tä­tigt wer­den. Bei bei­den Ak­tio­nen wird zu­nächst ge­prüft, ob der Na­me be­reits in der Lis­te der Rei­ter ver­tre­ten ist. Ist das der Fall, er­scheint ein Hin­weis und der Rei­ter wird in den Vor­der­grund be­or­dert. Das Lö­schen ei­nes Rei­ters wird von ei­ner Si­cher­heits­ab­fra­ge be­glei­tet. Die Da­ten wer­den be­nut­zer­be­zo­gen in fol­gen­der Da­tei ab­ge­legt:

%AppData%\GNavigia\Settings\Skipassnummern.xml

Track oder Ob­jekt ana­ly­sie­ren

Die Ana­ly­se ei­nes Tracks be­ginnt mit der Aus­wahl. Ist kein Track aus­ge­wählt, wer­den al­le im Pro­jekt vor­han­de­nen Tracks nach­ein­an­der be­ar­bei­tet. Die mehr­fa­che Be­ar­bei­tung er­for­dert ei­ne Be­stä­ti­gung. Die Be­rech­nung be­ginnt mit der An­zei­ge der Pro­fildar­stel­lung, die zu­vor kon­fi­gu­riert wer­den muss. Da­zu soll­ten nur die Hö­hen «nach Ent­fer­nung» an­ge­zeigt und die «Hö­hen­ska­la aus Ex­trem­wer­ten» be­rech­net wer­den. Die Weg­punk­te im Pro­fil wer­den nach fol­gen­der Gra­fik kon­fi­gu­riert:

Die Weg­punk­te, die im Pro­fil er­schei­nen, kön­nen nicht an­hand der Pro­fil­gra­fik über­prüft wer­den, da ei­ni­ge we­gen des ge­rin­gen Ab­stands nicht dar­ge­stellt wer­den. Zur Be­ur­tei­lung kann man ent­we­der das Ver­grö­ße­rungs­fens­ter hin­zu­schal­ten oder die Weg­punk­te als Da­tei spei­chern un­ter «Ex­tras/Weg­punk­te im Pro­fil ex­por­tie­ren».

Im Bei­spiel wur­den den Fach­be­deu­tun­gen «Lift­sta­ti­on, Tal», «Mit­te» und «Berg» (Ge­bäu­de) die blaue Far­be zu­ge­ord­net und dem «Ori­en­tie­rungs­punkt» die hell­blaue. Ent­spre­chend stel­len die blau­en und hell­blau­en Li­ni­en We­ge dar. Die Far­ben der Li­ni­en sind nicht kon­fi­gu­rier­bar. Die Aus­wahl und Zu­ord­nung der Sym­bo­le ist un­ter Dar­stel­lung der Weg­punk­te be­schrie­ben, die An­zei­ge der Fang­krei­se ist an «Be­ar­bei­ten/Text­po­si­tio­nen än­dern» ge­bun­den, der Ra­di­us wird als At­tri­but des Weg­punkts ein­ge­stellt.

Be­trach­ten wir die Schrit­te bis hier­her am Beis­peil von Zer­matt.

Der al­ler­ers­te Schritt ist das An­le­gen ei­ner Baum­struk­tur im Rei­ter «We­ge». Sie soll­ten ei­ne Struk­tur in der Art an­le­gen, wie im Bild ge­zeigt: Es darf nur ei­nen obers­ten Kno­ten ge­ben, dem Sie den Na­men des Ski­ge­biets ge­ben, hier «Zer­matt». Da­run­ter soll­ten Sie die Glie­de­rungs­stu­fen «Auf­stiegs­hil­fen» und «Ab­fahr­ten» an­le­gen, was die spä­te­re Feh­ler­su­che ver­ein­facht. Ge­ben Sie die­sen Stu­fen be­reits die Ty­pen «Lift» und «Ab­fahrt» mit, da sie an al­le un­ter­ge­ord­ne­ten We­ge ver­erbt wer­den. Sie kön­nen ei­ne wei­te­re Un­ter­glie­de­rung vor­se­hen, hier «Schweiz» und «Ita­li­en», aber das Pro­gramm kann da­mit für den Fol­ge­schritt nichts an­fan­gen.

Wenn Sie in frü­he­ren Pro­jek­ten be­reits ei­ne Tren­nung von Lif­ten und Pis­ten vor­ge­nom­men ha­ben und die­se un­ter ver­schie­de­nen Ob­jek­ten ab­ge­legt ha­ben, kön­nen Sie für die Lif­te «We­ge aus Ob­jek­ten er­zeu­gen». Das Er­geb­nis kön­nen Sie ex­por­tie­ren und in ei­nem an­de­ren Pro­jekt hin­zu­la­den. Wenn nicht, über­sprin­gen Sie die fol­gen­den Aus­füh­run­gen.

Der Dia­log «We­ge au­to­ma­tisch er­zeu­gen» er­fasst die­je­ni­gen Fach­be­deu­tun­gen, die Auf­stiegs­hil­fen zu­ge­ord­net wer­den. Die Schalt­flä­che «Hin­zu­fü­gen» öff­net den Dia­log zur Aus­wahl von Fach­be­deu­tun­gen. Wenn Sie dar­in ei­ne Fach­be­deu­tung aus­wäh­len und dop­pelkli­cken, wird die­se in den Dia­log über­nom­men, oh­ne dass Sie die Aus­wahl schlie­ßen müs­sen. Das be­schleu­nigt die Aus­wahl ei­ner gro­ßen Lis­te er­heb­lich.

Als Fach­be­deu­tun­gen der Lift­sta­tio­nen war zu­nächst ei­ne Di­ver­si­fi­zie­rung nach Tal-, Mit­tel- und Berg­sta­ti­on vor­ge­se­hen, aber es kann auch für al­le drei Po­si­tio­nen der Wert 2189 («Lift­sta­ti­on») ein­ge­tra­gen wer­den. Zu­dem be­darf es der An­ga­be ei­nes Kno­tens, un­ter dem die Er­geb­nis­se ein­ge­tra­gen wer­den, da­her die Not­wen­dig­keit, zu­vor ei­ne Baum­struk­tur an­zu­le­gen.

Aus den Ob­jek­ten er­ge­ben sich zu­meist be­reits die Be­zeich­nun­gen für die Lif­te. Wenn al­ler­dings noch Roh­be­zeich­nun­gen vor­lie­gen, die sich aus dem ori­gi­na­len Track­na­men er­ge­ben, kann es sein, dass man die­se von den Vor­schlä­gen aus­neh­men will. Sol­che Na­mens­tei­le kann man aus­schlie­ßen.

Schal­ten Sie für die fol­gen­den Ak­tio­nen die aus­wähl­ba­ren Ob­jektar­ten auf «Weg­punk­te»!

Ori­en­tie­rungs­punk­te sind Weg­punk­te mit der Fach­be­deu­tung 9009, die wie je­der an­de­re Weg­punkt neu an­ge­legt wer­den, mit dem Un­ter­schied, dass sie nicht mit ei­nem Track­punkt ver­bun­den wer­den soll­ten. Die Er­zeu­gung er­folgt «an di­gi­ta­li­sier­tem Ort».

Der Dia­log, der das An­le­gen neu­er Weg­punk­te be­glei­tet, ist für die schnel­le Er­zeu­gung von Ori­en­tie­rungs­punk­ten er­wei­tert wor­den. Da die Pro­fil­ab­stän­de die­ser Punktart oft ge­ring sind, steht ei­ne zwei­te, klei­ne Ska­la zur Ver­fü­gung. Zu­dem merkt sich der Dia­log die zu­letzt ge­wähl­te Fach­be­deu­tung, die man durch An­ha­ken ei­ner Op­ti­ons­schalt­flä­che über­neh­men kann. Er­for­der­lich ist dann nur noch die An­ga­be ei­nes Na­mens, das Kli­cken an die ge­wünsch­te Po­si­ti­on und die Aus­wahl des Pro­fil­ab­stands.

(1) Beim An­le­gen des ers­ten Wegs er­hal­ten Sie den Na­mens­vor­schlag «Pro­jekt», den Sie mit «Zer­matt» über­schrei­ben. Die­ser Weg ist neu­tral und er­hält kei­ne Typ­an­ga­be. Le­gen Sie dar­un­ter die un­ter­ge­ord­ne­ten Kno­ten «Auf­stiegs­hil­fen» (Typ «Lift») und «Ab­fahr­ten» (Typ «Ab­fahrt») an! Ach­ten Sie beim Typ auf die Schreib­wei­se!

(2) Für den Um­gang mit den Weg­punk­ten der Be­för­de­rungs­an­la­gen ist es un­er­heb­lich, ob sie au­to­ma­ti­siert oder «von Hand» er­zeugt wur­den. Er­zeu­gen Sie zu­nächst un­ter­halb von Auf­stiegs­hil­fen ei­nen neu­en Weg, dem Sie den Na­men «Zer­matt-Furi» ge­ben! Der Weg soll­te den Typ «Lift» vom über­ge­ord­ne­ten Kno­ten ge­erbt ha­ben. Die Fach­be­deu­tung stel­len Sie von Hand über den Menü­punkt «Be­ar­bei­ten/Fach­be­deu­tung fest­le­gen» ein.

(3) Die­sem Weg wei­sen Sie in der Rei­hen­fol­ge «MHE Zer­matt Tal» und «Fu­ri» zwei Weg­punk­te zu. Spä­ter wer­den Sie ei­nen Weg für die Tal­fahrt mit der Bahn brau­chen, der «Furi-Zer­matt» hei­ßen wird und die­sel­ben Weg­punk­te in um­ge­kehr­ter Rei­hen­fol­ge ent­hält. Hier­für gibt es ei­ne ei­ge­ne Fach­be­deu­tung, «3165 - Tal­fahrt mit Bahn».

(4) Neh­men wir an, dass in­ner­halb des Fan­gra­di­us an der Sta­tion Aro­leid aus frü­he­ren Kar­tie­run­gen be­reits ein Netz­punkt 3. Ord­nung liegt, der auf­grund des Maß­stabs nicht an­ge­zeigt wird. Wenn die­ser beim Ankli­cken in die Lis­te der Weg­punk­te für «Furi-Aro­leid» über­nom­men wird, wird es spä­ter zu ei­nem Pro­blem kom­men, weil die Na­men der Weg­punk­te ei­nes We­ges ein­deu­tig sein müs­sen.

Die Struk­tur­prü­fung der We­ge, be­gin­nend mit «Zer­matt», för­dert fol­ge­rich­tig zwei Mel­dun­gen zu Ta­ge, die ei­ne Feh­ler­su­che ver­ein­fa­chen:

Lö­schen Sie den Netz­punkt 3. Ord­nung aus dem Baum.

(5) Um zu ver­ste­hen, wie GNavigia die Rei­hen­fol­ge der Weg­punk­te im Pro­fil in die Ab­schnit­te ei­nes Ski­tags zer­legt, schau­en wir uns den Ab­schnitt «Schwarz­see-Furgg» ge­nau­er an. Ganz of­fen­sicht­lich kann man auf der Lift­fahrt nach Tro­cke­ner Steg an Schwarz­see in der Bahn sit­zen blei­ben, was fast al­le Gäs­te tun, oder man kann aus­stei­gen, die Pis­te «Ski­weg» neh­men und an Furgg wie­der ein­stei­gen. Sich spu­ten­de Fah­rer er­rei­chen die Gon­del, aus der sie aus­ge­stie­gen sind.

Be­reits die ers­te Er­fah­rung mit der Fest­le­gung von Ori­en­tie­rungs­punk­ten (OP) hat ge­zeigt, dass man grund­sätz­lich Kreu­zun­gen oder Ab­zwei­gun­gen wählt. Ich wer­de die­se Punk­te als «we­sent­li­che» Ori­en­tie­rungs­punk­te be­zeich­nen. Zu­sätz­lich kann man Zwi­schen­punk­te (ZP) fest­le­gen, al­so Ori­en­tie­rungs­punk­te oh­ne Kreu­zungs- oder Ab­zwei­gungs­cha­rak­ter, die dann zu ei­nem we­sent­li­chen OP wer­den, wenn sich zwei Pis­ten­tei­le nach ei­ner Tren­nung wie­der tref­fen und un­ter­schie­den wer­den sol­len, z. B. weil de­ren Län­gen stark dif­fe­rie­ren.

Aus jahr­zehn­te­lan­ger Er­fah­rung mit dem schwei­zer Teil­ski­ge­biet wis­sen wir, dass auf dem Weg von Schwarz­see nach Furgg die Pis­te «Aro­leid» ab­zweigt. An die­ser Ab­zwei­gung set­zen wir den ers­ten OP. Zu­dem set­zen wir noch ei­nen ZP auf dem Ski­weg, und zwar dort, wo er nach mensch­li­chem Er­mes­sen nie­mals von ei­nem Track ge­schnit­ten wird, der bei der Tal­fahrt mit der Gon­del auf­ge­zeich­net wird.

Mit den hier an­ge­leg­ten Weg­punk­ten er­gibt sich fol­gen­de Pro­fildar­stel­lung (Ver­grö­ße­rungs­fak­tor 10 am An­fang des Pro­fils):

(6) Für die lücken­lo­se An­ein­an­der­rei­hung von We­gen ist die Fest­le­gung von Ab­fahr­ten un­er­läss­lich. Wir wen­den uns dem Kno­ten «Ab­fahr­ten» zu und le­gen die We­ge «Schwarz­see-Aro­leid», «Aro­leid-Furgg» und «Aro­leid-Unte­re Aro­leid» an. Letz­te­rer ist für die Be­ur­tei­lung von «Schwarz­see-Furgg» un­er­heb­lich, zeigt aber die In­ten­ti­on, die zum OP «Aro­leid» auf die­ser Pis­te ge­führt hat­te.

In der Gra­fik ist der Weg «Aro­leid-Furgg» mit dem ZP «Ski­weg» se­lek­tiert. Der ZP vi­sua­li­siert den lan­gen Bo­gen, der hier zu fah­ren ist, hat aber nichts mit der Län­ge des Pis­ten­ab­schnitts zu tun, des­sen auf­wän­di­ge Be­rech­nung auf der Sei­te über die We­ge be­schrie­ben ist.

Die Aus­wer­tung geht die Weg­punk­te im Pro­fil durch. Neh­men wir an, dass beim Start am Mat­ter­horn-Express die Tal­sta­ti­on den In­dex 0 hat, weil al­le mo­der­nen Pro­gram­mier­spra­chen mit 0 zu zäh­len be­gin­nen, Fu­ri den In­dex 1 und Aro­leid den In­dex 2, so er­scheint Schwarz­see mit In­dex 3 in der Lis­te. Da­mit füllt sich die Lis­te der We­ge mit «Zer­matt-Furi», «Furi-Aro­leid» und «Aro­leid-Schwarz­see». An Schwsarz­see be­gin­nen nun zwei We­ge, ein­mal die Tal­fahrt mit der Bahn und der Ski­weg. GNavigia er­kennt das und hält zwei Strän­ge vor, «Schwarz­see-Furgg» und «Schwarz­see-Aro­leid». Mit In­dex 4 er­scheint OP «Aro­leid», wo­mit der Weg «Schwarz­see-Aro­leid» kom­plett ist. Mit die­sem OP be­ginnt zu­gleich der Weg «Aro­leid-Furgg». Mit In­dex 5 wird der «ZP Ski­weg» die­sem Weg zu­ge­ord­net.

In­dex 6 ist die Sta­tion «Furgg». Die­ser Weg­punkt schließt so­wohl «Schwarz­see-Furgg» als auch «Aro­leid-Furgg» ab, die bei­den Strän­ge kom­men wie­der zu­sam­men. Sie wer­den so­dann auf Nä­he ge­prüft:

  • Für die Ab­fahrt wer­den die bei­den We­ge be­trach­tet, für de­ren Weg­punk­te die In­di­ces ge­spei­chert wur­den. Die Dif­fe­renz 4 mi­nus 3 er­gibt 1, was be­deu­tet, dass die Punk­te un­mit­tel­bar auf­ein­an­der fol­gen. Für den zwei­ten Teil er­gibt sich 6 mi­nus 5 plus 5 mi­nus 4 gleich 2, was bei drei Punk­ten und zwei mög­li­chen Dif­fe­ren­zen be­deu­tet, dass auch hier die Punk­te un­mit­tel­bar auf­ein­an­der fol­gen.
  • Für die Tal­fahrt mit der Bahn wird 6 mi­nus 3 gleich 3 er­mit­telt, was bei nur ei­ner Dif­fe­renz be­deu­tet, dass ei­ne Lücke von 2 in den Da­ten klafft.
Folg­lich wird die Tal­fahrt mit der Bahn ver­wor­fen und der Strang in­ak­tiv ge­schal­tet. In­ak­ti­ven Strän­gen kann noch ein­mal ein Weg zu­ge­ord­net wer­den, der eher zu­fäl­lig er­fasst wird. Wür­de man den Strang so­fort lö­schen, könn­te man ei­nen Weg nicht zu­ord­nen, was zum Ab­bruch der Be­rech­nun­gen füh­ren wür­de.

Die Lis­te der er­mit­tel­ten We­ge wird letzt­lich um die bei­den We­ge «Schwarz­see-Aro­leid» und «Aro­leid-Furgg» er­gänzt.

Der Wert des ZPs ist grö­ßer als die Vi­sua­li­sie­rung des weit aus­ho­len­den Bo­gens der Pis­te. Wür­de er nicht an­ge­legt, könn­te es da­zu kom­men, dass ein schlech­ter Empfang bei der Tal­fahrt mit der Bahn den OP «Aro­leid» er­fasst. Dann wür­de die Pis­te mit zwei voll­stän­di­gen We­gen (oh­ne Lücken) Vor­rang vor der Tal­fahrt mit der Bahn er­hal­ten, was nicht den Tat­sa­chen ent­spricht. Je nach La­ge ei­nes OPs kann man auch nicht ein­fach den Pro­fil­ab­stand ver­rin­gern, um ei­ne sol­che Si­tua­ti­on zu ver­mei­den. Man­che Ab­zwei­gun­gen lie­gen di­rekt un­ter ei­ner Lift­spur.

Hin­weis: Pro­fil­ab­stän­de müs­sen so de­fi­niert wer­den, dass der Track die­se auch dann schnei­det, wenn die Li­ni­en we­gen schlech­ten Empfangs weit aus­ufern. Wäh­rend die Mit­tel­sta­ti­on ei­ner Gon­del ei­nen gro­ßen Ab­stand de­fi­nie­ren soll­te, lie­fern Pis­ten, so­fern sie nicht in en­gen Tä­lern oder durch Wald ver­lau­fen, recht ge­naue Tracks.

Hin­weis: Fang­krei­se dür­fen sich nie­mals schnei­den: Fällt ein Track­punkt in zwei sich über­schnei­den­de Krei­se, bricht die Aus­wer­tung mit dem Feh­ler ab, dass ein Weg nicht zu­ge­ord­net wer­den kann.

Zu­letzt schau­en wir uns das Er­geb­nis im Zu­sam­men­hang ei­ner Aus­wer­tung an. Da­rin wird der Weg «Schwarz­see-Aro­leid» als «Ski­weg 1» und «Aro­leid-Furgg» als «Ski­weg 2» be­zeich­net:

Klickt man auf die Schalt­flä­che «Si­mu­lie­re Ski­line», er­hält man die ty­pi­schen Ski­line-Dia­lo­ge, wie sie im fol­gen­den Ab­schnitt nä­her be­schrie­ben sind.

Ski­line si­mu­lie­ren aus SKIDATA-Tex­t­aus­zü­gen

Als Op­fer von ekla­tan­ten Feh­lern in der Ski­line-Aus­wer­tung für Zer­matt hat­ten mir die ZBAG Ori­gi­nal­da­ten der Re­gis­trie­rungs­da­ten­bank (SKIDATA) zur Ver­fü­gung ge­stellt, für die ich ei­nen Al­go­rith­mus zur Aus­wer­tung der Hö­hen­me­ter im­ple­men­tiert ha­be. Die­se Da­ten, so wur­de mir be­teu­ert, sei­en die, die an Ski­line zur Aus­wer­tung über­mit­telt wür­den. Zu­sam­men mit den Ski­pass­da­ten mei­ner Frau konn­te ich zahl­rei­che Be­son­der­hei­ten un­ter­su­chen.

Wer ver­ste­hen will, was die Im­ple­men­tie­rung be­wir­ken und wel­che Feh­ler sie be­rich­ti­gen soll, muss die aus­führ­li­che Be­schrei­bung hier­zu le­sen: Zer­matt/Ski­line Feh­ler­lis­te, ins­be­son­de­re die Num­mern 4, 8 und 11.

Auch wenn die Fehler selbst von Ski­line bis­her nicht be­rich­tigt wur­den, konn­te ich doch zei­gen, dass die Ein­tra­gun­gen in der SKIDATA-Daten­bank bis auf ei­nen «für Soft­ware ty­pi­schen» Feh­ler nach der Bahn­fahrt Furgg-Schwarz­see mit mei­nen mit­tels GPS auf­ge­zeich­ne­ten Da­ten über­ein­stimm­ten. Da es die ZBAG nicht in­ter­es­siert, ob man ei­nen Lift berg­auf oder bergab ge­fah­ren ist, sind die Vor­zei­chen al­ler Fahr­ten po­si­tiv, was man na­tür­lich nicht se­hen will, wenn man die «ge­fah­re­nen» Hö­hen­me­ter wis­sen will.

Die In­ten­ti­on hin­ter der Ent­wick­lung des Mo­duls war die Her­stel­lung der Ver­gleich­bar­keit der gra­fi­schen Aus­ga­be mit den Er­geb­nis­sen der Ski­line App. Der auf­merk­sa­me Beo­b­ach­ter stellt so­fort fest, dass die Ti­tel­zei­le aus ei­nem Desktop-Pro­gramm stammt und nicht aus ei­ner App, und auch die Fonts un­ter­schei­den sich deut­lich. Zu­dem ha­be ich die Hö­hen­un­ter­schie­de ne­ben die Berg­fahrt ge­schrie­ben, was die Feh­ler­su­che er­heb­lich ver­ein­facht.

Auf die Be­rech­nung der Pis­ten­ki­lo­me­ter ha­be ich ver­zich­tet, weil das, wenn man Ski­line si­mu­lie­ren will, re­la­tiv auf­wän­dig ist, zu­mal die Feh­ler fast im­mer im Verant­wor­tungs­be­reich der ZBAG lie­gen, die jah­re­lang am Gor­ner­grat Pis­ten­ki­lo­me­ter zu­sam­men­lügt, dass sich die Bal­ken bie­gen, er­staun­li­cher Wei­se aber auch nur dort.

Um die Da­ten aus der SKIDATA-Daten­bank nut­zen zu kön­nen, sind drei Da­tei­en er­fo­der­lich.

Die in­ter­ne Dar­stel­lung der ZBAG ist ein Da­ten­bank­sche­ma, aus dem Aus­zü­ge er­stellt wer­den müs­sen. Da­zu gibt es ei­ne stan­dar­di­sier­te Vor­ge­hens­wei­se, die ei­nen PDF-Aus­zug für je­den an­ge­for­der­ten Tag lie­fert.

[[Headline: Zermatt - Matterhorn ski paradise]]
[[Skipass: 1-1280-9-38...]]
M Zermatt Eintritt 'ME' 22.04.2019 09:37 1 1295
AS 4 M SS - Tr. Steg
M Tr. Steg Austritt 'ME' Matterhorn_glacier_paradise 22.04.2019 10:07 1
M AS 1 Furggsattel
M SB Furgsattel 'V' Matterhorn_glacier_paradise 22.04.2019 10:23 1 456
M AS 4 Furggsattel
M SB Furgsattel 'V' Matterhorn_glacier_paradise 22.04.2019 10:46 1 456

Die PDF Datei ist nicht maschinenlesbar und muss zu­vor in ei­ne Text­da­tei un­ge­wan­delt wer­den. Da die Po­si­tio­nie­rung der Ta­bel­le nicht über Ta­bu­la­to­ren son­dern ab­so­lut ge­schieht, ver­mi­schen sich län­ge­re Aus­ga­be­tex­te, die vor­ab ent­zerrt wer­den müs­sen. Zu­dem ist der Apostroph nicht das EDV-bevor­zug­te Trenn­zei­chen für 1000er-Stel­len und beim ers­ten Ge­brauch des Ski­pas­ses wird ei­ne zu­sätz­li­che Zahl in die ers­te Zei­le ein­ge­fügt, die von Hand ent­fernt wer­den muss.

Da Ski­line und die ZBAG ver­schie­de­ne Be­zeich­nun­gen für die Be­för­de­rungs­an­la­gen wäh­len, muss ei­ne Über­set­zungs­da­tei oder auch «Lift­be­schrei­bungs­da­tei» er­stellt wer­den, in die man zweck­mä­ßig zu­gleich die Hö­hen­un­ter­schie­de ein­trägt, die sich aus den Aus­zü­gen er­ge­ben.

Da­mit die Aus­ga­be der Ski­line App mög­lichst na­he kommt, er­wei­te­re ich die Da­tei um Zei­len mit Über­schrift und Ski­pass­num­mer, die zu­gleich die ein­zel­nen Ski­ta­ge von­ein­an­der tren­nen. Die Über­tra­gung der Da­ten vom PDF-Doku­ment in die Ein­ga­be­da­tei ist eben­so feh­ler­an­fäl­lig wie die Füh­rung der Über­set­zungs- oder Lift­be­schrei­bungs­da­tei. Das Pro­gramm warnt, wenn ein Lift­na­me nicht über­setzt wer­den kann.

Die zur Aus­wer­tung not­wen­di­gen Fall­un­ter­schei­dun­gen sind über­sicht­lich und kein He­xen­werk. An­ders als bei der Be­rech­nung aus GPS gibt es nur sehr sel­ten Mess­feh­ler, die dann ent­we­der als Ver­wechs­lung der Aus­s­tie­ge oder als feh­len­de Ein­trä­ge in der SKIDATA-Daten­bank da­her­kom­men.

Das Bei­spiel für den ge­müt­li­chen Ski­tag am 11. April mit 15.000 Hö­hen­me­tern zeigt be­reits zwei von GNavigia kor­rekt be­rech­ne­te, von Ski­line aber falsch er­mit­tel­te Hö­hen­un­ter­schie­de, den Ein­stieg an der Mit­tel­sta­ti­on der Kum­me Gon­del­bahn (9:53) und den Aus­stieg dort we­nig spä­ter (Ein­stieg Tal­sta­ti­on 10:21).

Las­sen sich die Hö­hen­me­ter an­nah­me­frei be­rech­nen, kann man die Lift­ki­lo­me­ter al­len­falls schät­zen, ei­ge­nen Ver­mes­sun­gen ent­neh­men oder bei ei­ner Seil­bahn­da­ten­bank im Netz er­fra­gen. Nicht al­le Bah­nen sind dort mit al­len tech­ni­schen Da­ten auf­ge­führt, so­dass die­se Zahl von of­fi­zi­el­len Zah­len ab­wei­chen wird.