Ohjelmasta

Katso tietoja ohjelman virheistä ja puutteista.

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

Seuraavana keväänä sain olla 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 saan olla 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 radoilla, oli jokaista rataa varten avattava oma SprintRoute-ikkuna.

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

Vuoden 2021 ratamestaroinnin yhteydessä syntyi versio 0.98, joka on jo eräänlainen välivaihe kohti ratamestariohjelmaa - siihen on lisätty useita käyttöä helpottavia ominaisuuksia sekä korjattu monta sellaisia virheitä, joihin ei ihan rutiinikäytössä törmää. Lisäksi se kykeni käsittelemään montaa eri rataa - mutta se ei vielä ymmärtänyt että sama rasti voi olla usealla eri radalla - eli jos rastin paikkaa siirsi yhdellä radalla, niin se oli siirrettävä erikseen myös muilla radoilla.

Keväällä 2022 olin taas ratamestarina ja sen myötä valmistui versio 0.99. Se on ensimmäinen ratamestarin toimintaa helpottava ja nopeuttava versio. Sen avulla suunnittelin SC:n kaikki neljä rataa ja vasta viikkoa ennen tapahtumaa vein rastit Condesiin ja viimeistelin radat.

Version 0.99 käyttöliittymässä on vielä parantamisen varaa. Toivottavasti saan vielä jatkaa Sprintticupin ratamestarina. Silloin kevääseen 2023 mennessä saisin SprintRouten sellaiseen malliin, että sitä voi jo pienillä kirjaimilla kutsua sprinttiratamestarin ratasuunnitteluohjelmaksi. Tai ainakin sellaiseksi, että olen siihen itse tyytyväinen.

Syksyn ja alkutalven askartelun tuloksena syntyi SprintRouten viimeisin versio 0.994. Se alkaa olla aika lähellä mielikuvaani työkalusta, jolla ratoja voi suunnitella. Joitain asioita vielä puuttuu, mutta ainahan jotain on jätettävä "seuraavaan versioon". Kevään 2024 Sprintticupin radat syntyivat kokonaan SprintRouten avulla. Lopulliset radat toki piirsin Condesilla kuten tähänkin asti.

Joka tapauksessa SprintRoute on itselleni korvaamaton ratamestarin apuväline. Lisäksi olen tutkinut sillä 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 ratanäkymässä. Ensimmäinen 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 rastivälinä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ä rastiympyrä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 ratanäkymään.

Lisää opastusta löydät sivupalkin ohjeista, erityisesti sivulta Uudet ominaisuudet.

Hieman tekniikasta

SprintRoute on selainkäyttöinen javascript-ohjelma. Se toimii Chrome-selaimella ja näyttäisi toimivan ainakin myös Opera ja 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. Datatiedosto ja viemäsi reittikuvat talletat omalle koneellesi. Käyttämääsi karttatiedostoa ei siten voi kukaan kopioida eikä tietysti ratatiedostojakaan.

Puutteita ja virheitä

Alkuvuoden 2024 aikana saan korjatuksi useita käyttöä hankaloittavia puutteita ja myös osan virheistä.

SprintRoute is not ready yet. It still has bugs. In the spring of 2023, I noticed a few bugs. They are related to adding and removing courses and controls when using multiple courses. Check visually shortest routes in the route window. Remember to save the file often enough and at least every time you add or remove the course.

During the beginning of the year 2024, I hope I can fix some bugs that make it difficult to use SprintRoute and also fix some nasty errors.

Keskeiset virheet ja puutteet ovat (ver 0.99):

  • 15.2.2023: Usean radan käyttö ei aina toimi. Kun ohjelmassa on useita ratoja ja niitä muokataa lisäämällä ja poistamalla rasteja tai ratoja, niin ohjelma ei aina näytä pysyvän mukana. Se näkyy selvästi ratanäkymän ylärivin radan minimipituuden lukemassa, joka äkkiä saattaa kasvaa monellakin sadalla metrillä.

    Virheen syy on se, että vielä tuntemattomasta syystä jollekin rastivälille on syntynyt uusia satunnaisia reittipisteitä, jolloin reitin pituus kasvaa. Virhe näkyy myös ratanäkymässä valitsemalla kuvake lyhyin reitti, jolloin virheelliset reitit erottuvat selvästi. Virhe voi myös liittyä rastikoodien päivitykseen. Toivon saavani tämä virheen korjatuksi kesään 2024 mennessä.

    Joka tapauksessa on syytä riittävän usein tallettaa tiedosto uudella nimellä ja aina, kun lisää tai poistaa ratoja. Tällöin voit aina palata aiempiin datatiedostoihin.

  • 2.4.2023: Pyöristysvirheitä Reittipituudessa voi olla yhden metrin pyöristysvirhe näkymien välillä tai joskus reittipiirtämisen aikana (virhe on korjattu versioon 0.993).

  • 22.2.2023: Usean radan käytöstä on löytynyt virhe: ylärivillä näkyvä lyhyimmän reitin pituus voi puuttua uusien ratojen muodostamisen yhteydessä. Virhe korjaantuu automaattisesti käymällä rastivälinäkymissä uuden radan teon jälkeen (virhe on korjattu versioon 0.992).

  • 1.2.2023:Uuden rastin lisäys: Et voi lisätä uutta rastia ratavalikossa viimeisenä olevaan rataan näpäyttämällä rastiympyrää. Ohitat vian lisäämällä uuden radan ja poistamalla sen sen jälkeen kun olet lisännyt uuden rastin edelliseen rataan (virhe on korjattu versioon 0.992).

  • 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 Escape näppäimellä tai näpäyttämällä reitin nimeä tai 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ä.
  • Ohjelman tallettamat tekstitiedostot eivät (aina) 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).

Ohjelman rajoitukset

- 9 rataa
- 40 rastia enintään yhdellä radalla (sisältää myös lähdön ja maalin)
- 9 reittiä enintään yhdellä rastivälillä
- Sama rasti ei voi olla kahdesti samalla radalla (ohita rajoitus osittain lisäämällä toinen rasti lähelle samaa rastia tai jopa sen päälle)
- Kiinteät reittitunnukset (A, B, C...)
- Vakiovärit (sininen, punainen...). Voit valita ne 20 värin (radat) tai 24 värin (reitit) paletista.