Ohjelmasta

Keväällä 2017 Lauttasaaren Myllykallion sprintticupin ratamestarina tuskailin reittipituuksien mittaamisessa ja reittien vertailussa. CONDES, joka sinänsä on loistava ratamestariohjelma, tarjosi hyvin vaatimattomat eväät näihin tehtäviin.

Seuraavana keväänä olin Kannelmäen sprintticupin ratamestari. Sitä varten olin selannut verkkoa ja löytänyt hienon ratamestariohjelman 2DReRun. Se tuntui täyttävän kaikki toiveeni - sillä saattoi mitata ja piirtää reittejä sekä tehdä niistä reittikuvia. Lisäksi ohjelmassa oli ominaisuuksia, joilla saattoi esimerkiksi muuttaa reittikuvien ulkonäköä.

En kuitenkaan koskaan päässyt oikein sisälle ohjelman eräisiin toimintoihin kuten tiedostojen talletukseen tai reittikuvien muokkaamiseen. Niinpä syksyllä ajattelin, että jos keväällä 2019 olen taas ratamestarina Kannelmäessä, niin sitä varten kasaan itselleni "mieluisamman" ohjelman. Ja niin siinä sitten kävi - syntyi SprintRoute eli suomeksi RinttiReitti. Tosin se ei silloin ihan ehtinyt valmiiksi, mutta lähes kuitenkin.

Vuonna 2020 jatkoin ratamestarin uraani Malminkartanossa. Ratoja suunnitellessani sain ajatuksia, joilla ohjelman käyttöä saattoi yksinkertaistaa. Siitä syntyi versio 0.96. Tapahtuma tosin siirtyi koronan takia syksyyn, joten tällä kertaa ohjelmakin ehti tulla ajoissa valmiiksi.

Ruokahalu kasvaa syödessään - sanotaan. Jouduin korjaamaan Malminkartanon ratoja koronan takia. Muutokset tietysti paransivat ratoja, mutta oli niistä muutakin hyötyä: huomasin, että ohjelman käyttö on kömpelöä, koska sillä saattoi käsitellä kerrallaan vain yhtä rataa. Ja kun samoja rasteja oli eri radalla, oli jokaista rataa varten avattava oma SprintRoute-ikkuna.

Muutosten teko eri ikkunoissa oli turhan työlästä ja niinpä SprintRouten versiossa 1.0 on voitava käsitellä samanaikaisesti useita ratoja. Haaste on iso, mutta uskon siitäkin selvittävän.

Nyt esillä oleva versio 0.98 on eräänlainen välivaihe - siihen on lisätty useita käyttöä helpottavia ominaisuuksia sekä korjattu monta sellaisia virheitä, joihin ei ihan rutiinikäytössä törmää.

Joka tapauksessa SprintRoutesta on ollut paljon apua ratamestarityössäni. Lisäksi olen sillä tutkinut juoksemieni sprinttien reitinvalintoja. Reittien vertailu pituuserojen perusteella tuntuu mielestäni oikeammalta tavalta kuin pelkkä silmämääräinen arviointi.

Näin pääset alkuun

Ohjelman käynnistys avaa ikkunan, johon "pudotat" karttatiedoston. Seuraavaksi avautuu ikkuna, jossa voit tarvittaessa muuttaa kartan ominaisuuksia kuten mittakaavaa ja skannaustarkkuutta. Tämän jälkeen pääsetkin jo piirtämään rataa ja sille reittejä.

Aluksi olet karttanäkymässä. Näpäytys karttaan piirtää lähtökolmion. Seuraavalla näpäyksellä piirrät ensimmäisen rastin. Jatka samalla viimeiseen rastiin ja maaliin asti. Näpäytä lopuksi sinistä nappia Course done, jolloin viimeinen rasti vaihtuu maaliksi ja rata on valmis.

Reittien piirtäminen käy yhtä yksinkertaisesti: siirry ensin napilla Route View reittinäkymään. Näpäytä karttaa ja saat reitin ensimmäisen askeleen. Seuraava näpäys piirtää toisen askeleen. Jatka kunnes reitti on viimeistä askelta vaille valmis. Lopeta reitti näpäyttämällä rastiymyrässä olevaa pientä palloa.

Samalla tavalla voit piirtää muut reitit. Kun kaikki reitit ovat valmiit, voit siirtyä seuraavalle rastivälille napilla Next leg tai palata napilla Map View takaisin karttaikkunaan.

Lisää opastusta löydät sivupalkin ohjeista.

Hieman tekniikasta

SprintRoute on selainkäyttöinen javascript-ohjelma. Se toimii Chrome-selaimella ja näyttäisi toimivan ainakin Opera ja Edge -selaimilla. Ohjelman keskeinen osa on graafinen javascript-kirjasto Raphael. Se yksinkertaistaa tavattomasti reittien piirtämistä. Olen käyttänyt sitä jo vuosia. Jonkin verran olen tukeutunut myös JQuery- ja JQuery UI -kirjastoihin, jos eteen on tullut isoja ongelmia.

Pyörää ei kannata keksiä uudelleen - verkosta olen löytänyt monia näppäriä scriptejä ja käyttänyt niiden ajatuksia. Ne ovat helpottaneet ohjelmointia. Tällaisia ovat esimerkiksi html2canvas (Niklas von Herzen), joka sieppaa palan kuvaruudusta kuvatiedostoksi. Muita ovat mm. Drag n' Drop In Raphael.js (Wesley Todd) ja RaphaelJS zoom pan (Gavin Kistner)

Lopuksi on huomautan, että ohjelma on hieman kömpelö (harrastelija kun olen), mutta se toimii ja riittää omiin tarkoituksiini. Ja jos siitä on hyötyä muillekin, niin hyvä niin.

Tiedostot

Karttatiedosto (.jpg tai .gif) luetaan "pudottamalla" se avausikkunaan.

Reittitiedosto, jossa ovat rata ja reitit, talletetaan tekstitiedostoksi (.txt). Se on muokattavissa useimmilla tekstieditoreilla lukuunottamatta NotePadia. Sen voi lukea uudelleen, kunhan pohjana on sama karttatiedosto kuin tiedostoa talletettaessa.

Reittikuva tallennetaan .jpg -kuvatiedostoksi joko yhdeltä rastiväliltä tai koko radasta. Kuvan leveyden pikseleinä voit itse valita. Kuvan sivusuhde on aina A4:n mukainen.

Huomaa, että missään vaihessa et talleta karttatiedostoa minnekään. Vain datatiedosto ja viemäsi reittikuvat tallettuvat haluamaasi paikkaan. Käyttämääsi karttatiedostoa ei siten voi kukaan kopioida.

Puutteita ja virheitä

SprintRoute ei ole vielä valmis. Siinä on puutteita ja pieniä virheitä. Keskeiset puutteet ovat (ver 0.984):

  • Kartan vetäminen takkuaa joskus, varsinkin kun reittejä on paljon. Tilanne korjaantuu useimmiten välitalletuksella - talleta ja avaa sama tiedosto uudelleen. Takkuaminen reittinäkymässä aiheuttaa usein ensimmäisen askeleen seuraavasta reitistä. Poista askel esimerkiksi näpäyttämällä askelympyrää CTRL-näppäin alaspainettuna.
  • Kartan vierityspalkit ("scroll bars") puuttuvat. Eivät toimineet oikein ja ovat toistaiseksi pois käytöstä
  • Samoin Undo ja Redo (peruuta ja kumoa peruutus) -toiminnot puuttuvat yhä.
  • Tiedoston talletus on kaksivaiheinen - se liittyy selaimen ominaisuuksiin eikä sitä voi mielestäni ohittaa.
  • Ohjelman tallettamat tekstitiedostot eivät avaudu riveittäin Notepadissa. Sensijaan kaikki muut tekstieditorit kuten esimerkiksi WordPad ja NotePad++ toimivat ongelmitta.
  • Reittien piirtämista ja käsittelyä on parannettu. Silti voi yhä tulla ongelmia, jos reittejä on paljon ja niitä on moneen kertaan poistettu ja lisätty tai rastiväleille on lisätty rasteja tai rasteja on poistettu. Joskus myös yhteisreittien kanssa voi olla yllättäviä tilanteita.
  • Talleta tiedosto riittävän usein. Virhetilanteen voi joskus ohittaa talletuksella ja avaamalla talletettu tiedosto uudelleen (älä kuitenkaan talleta samalla tiedostonimellä kuin millä olet tallettanut viimeisimmän "varman" talletuksen).
  • Ajan myötä tulee tietysti esiin uusia pikkuvirheitä. Mutta kaikki ne ovat kuitenkin tulleet ennemmin tai myöhemmin korjatuiksi.

Ohjelman rajoitukset

- 9 rataa (HUOM. eri radoilla ei vielä yhteisiä rasteja)
- 40 rastia enintään yhdellä radalla (sisältää myös maalin)
- 9 reittiä enintään yhdellä rastivälillä
- Kiinteät reittitunnukset (A, B, C...)
- Vakiovärit (sininen, punainen...) voi myös asettaa valita 24 värin paletista.