[JETI-API] Ennakkoilmoituksen sijainti

65 views
Skip to first unread message

Teemu Sirkiä

unread,
Jun 28, 2017, 2:21:20 AM6/28/17
to rata.digitraffic.fi
Kaikissa ennakkoilmoituksissa ei ole suoraan itse ilmoituksen elementissä luettavissa rataosaa tai ratakilometrisijaintia, esimerkiksi tässä:

https://rata.digitraffic.fi/jeti-api/0.2/ennakkoilmoitukset/x.x.xxx.LIVI.ETJ2.81.66249/2.html

Onko olemassa mitään teknistä estettä, miksei tuo rataosa ja ratakilometrisijainti voisi näkyä kaikissa ennakkoilmoituksissa?


Niissä ilmoituksissa, joissa sijainti näkyy, elementin muoto muuttui vähän oudoksi tässä jokin aika sitten:

radat": [

    [
        "x.x.xxx.LIVI.INFRA.45.3158067",
        {
            "ratanumero": "003",
            "alku": {
                "etaisyys": 300,
                "ratakm": 141
            },
            "loppu": {
                "etaisyys": 700,
                "ratakm": 141
            }
        }
    ]

]

Eli tuolla on lista, jossa on ensimmäisenä alkiona elementin tunnus, toisena alkiona sitten objekti, jossa on ratakilometritiedot. Tällaisen tiedon käsittely menee usein sovelluspuolella vähän kikkailuksi, kun pitää varmistaa, minkätyyppistä tietoa missäkin alkiossa on. Swagger-dokumentaation perusteella tuo on ilmeisesti palvelinpäässä jokin tuple, joka purkaantuu auki näin?

Solita / Jüppe

unread,
Jun 28, 2017, 2:21:50 PM6/28/17
to rata.digitraffic.fi
Moi,

kenttä nimeltä "laskennallisetRatakmvalit" on tyhjä sekä ennakkoilmoituksissa että ennakkosuunnitelmissa (toimii vuosisuunnitelmissa). Tämä on tietysti bugi: toiminnallisuus on jäänyt pois toukokuussa tehdyissä muutoksissa. Kyse on vain muutamasta koodirivistä, joten eiköhän tuo saada pian korjattua. LaskennallisetRatakmvalit kertoo mitä ratakilometrivälejä kyseinen ennakkotieto kaikkiaan kattaa, huomioiden kaikki mahdolliset kohdeobjektinsa.

Muut ratakilometrisijainnit, kuten esimerkkisi, ovat rajoituksia. Ilman rajoitusta ennakkotieto kohdistuu viittaamaansa käsitteeseen kokonaisuutena, jolloin sen ratakilometrisijainti tai -välit saadaan infra-apista kyseisen käsitteen kautta. Muutamia lineaarisia kohteita (raiteet, radat...) voidaan kuitenkin rajoittaa tietylle välille, joka näkyy tuolla tavalla. Pitää myöntää että tuo valitsemani rakenne on melko huono, ja seuraavaan API-versioon onkin ollut TODO-listalla jo pidemmän aikaa tuon taulukon muuttaminen objektiksi jotta käy selkeästi ilmi tuon ratakilometrivälin olevan rajoite.

Kiitos palautteesta!

Teemu Sirkiä

unread,
Jun 28, 2017, 3:42:26 PM6/28/17
to rata.digitraffic.fi


keskiviikko 28. kesäkuuta 2017 21.21.50 UTC+3 Solita / Jüppe kirjoitti:
Moi,

kenttä nimeltä "laskennallisetRatakmvalit" on tyhjä sekä ennakkoilmoituksissa että ennakkosuunnitelmissa (toimii vuosisuunnitelmissa). Tämä on tietysti bugi: toiminnallisuus on jäänyt pois toukokuussa tehdyissä muutoksissa. Kyse on vain muutamasta koodirivistä, joten eiköhän tuo saada pian korjattua. LaskennallisetRatakmvalit kertoo mitä ratakilometrivälejä kyseinen ennakkotieto kaikkiaan kattaa, huomioiden kaikki mahdolliset kohdeobjektinsa.

Ai kappas, siellä on tosiaan tällä hetkellä tuollainenkin. En varmaan huomannut, kun se on aina tyhjä. Vanhempi versio omasta ennakkoilmoituslistastani käytti ratakmvalit tietoa, ja muistan, että jouduin sitten tekemään erinäisiä muutoksia, jotta se selviytyi noista toukokuun muutoksista. Jos tuon saisi toimimaan kuten se aiemmin toimi, niin ongelma olisi helposti ratkaistu.
 
Muut ratakilometrisijainnit, kuten esimerkkisi, ovat rajoituksia. Ilman rajoitusta ennakkotieto kohdistuu viittaamaansa käsitteeseen kokonaisuutena, jolloin sen ratakilometrisijainti tai -välit saadaan infra-apista kyseisen käsitteen kautta. Muutamia lineaarisia kohteita (raiteet, radat...) voidaan kuitenkin rajoittaa tietylle välille, joka näkyy tuolla tavalla. Pitää myöntää että tuo valitsemani rakenne on melko huono, ja seuraavaan API-versioon onkin ollut TODO-listalla jo pidemmän aikaa tuon taulukon muuttaminen objektiksi jotta käy selkeästi ilmi tuon ratakilometrivälin olevan rajoite.

Ahaa, sitä pitäisi tulkita noin. Tuollaisesta kokoelmatyypistä on tosiaan paha sanoa, mitä sen alkiot tarkoittavat. Mutta jos tuo laskennallinen väli alkaa taas toimia, niin se ratkaisee koko ongelman, koska sen kautta ilmoitukselle pitäisi aina löytyä rataosa ja kilometrisijainti. Tässä siis tavoitteena, että pelkästään sen ennakkoilmoituslistan lataamalla saisi nämä rataosasijainnit ilman, että tarvitsee kysellä jokaisesta elementistä erikseen, missä se sijaitsee.
 
Kiitos palautteesta!

Kiitos vastauksesta! Ensi viikolla alkaa loma, jospa ehtisi koodailla jotain uutta. :-)

Solita / Jüppe

unread,
Jul 19, 2017, 12:29:18 PM7/19/17
to rata.digitraffic.fi
LaskennallisetRatakilometrivälit on nyt korjattu.

Teemu Sirkiä

unread,
Jul 20, 2017, 4:25:48 AM7/20/17
to rata.digitraffic.fi


keskiviikko 19. heinäkuuta 2017 19.29.18 UTC+3 Solita / Jüppe kirjoitti:
LaskennallisetRatakilometrivälit on nyt korjattu.

Kiitos, tästä oli paljon hyötyä!
Reply all
Reply to author
Forward
0 new messages