[Infra-API] Koordinaatit mukana kaikissa vastauksissa

70 views
Skip to first unread message

Teemu Sirkiä

unread,
Mar 26, 2018, 5:44:22 AM3/26/18
to rata.digitraffic.fi
Onko tälle muutokselle

Myös viiva- ja polygonigeometriat oletuksena mukaan muissakin kuin geojson-muodossa. Aikaisemmin ne piti pyytää erikseen propertyName-parametrilla.

ollut minkälainen peruste?

Nyt kun pyytää esimerkiksi selaimessa katselua varten HTML-muodossa liikennepaikkavälejä tai raiteita, niin vastaus on perin massiivinen ja selain hyytyy, koska geometria on siellä mukana. Samoin jos kaipaan esimerkiksi liikennepaikkavälejä JSON-muodossa, niin en todennäköisesti tarvitse geometriatietoja mihinkään, eli ainakin näin äkkiseltään ajateltuna nykyään rajapinnasta tulee tarpeetonta dataa, mikä voi paisuttaa vastauksen jopa monikymmenkertaiseksi. Pitäisi siis aina muistaa pyytää vain niitä kenttiä, joita tarvitsee, tai sitten pitäisi olla helppo keino suodattaa yksittäinen kenttä pois.

Solita / Jüppe

unread,
Mar 26, 2018, 6:31:16 AM3/26/18
to rata.digitraffic.fi
Ei sinänsä sen kummempaa perustetta kuin alkuperäisessä valinnassakaan. Rajapintaan valittu filosofia on, että oletuksena palautetaan kaikki data, jottei mitään jää käyttäjiltä piiloon.

Alunperin kaikki geometriat oli piilotettu muista kuin geojson-muodoista, mutta hyvin nopeasti alkoi tulla kysymyksiä tyyliin "eikö liikennepaikoilla ole koordinaattipistettä?". Sen jälkeen piilotettiin vain viiva- ja polygonigeometriat (linestring, multilinestring, polygon, multipolygon). Näistäkin oikeastaan tarvitsisi piilottaa vain viivat, sillä polygonit ovat yleensä melko kulmikkaita. Ongelmaksi muodostuu että dataa jää piiloon, ja käyttäjän pitäisi osata huomata että dataa on joskus saatavilla enemmän kuin mitä tavallisessa "kaiken datan palauttavassa" vastauksessa on mukana. Alkuperäinen "kaikki geometria piiloon" oli vielä melko selkeä sääntö. 

Nyt kun suuriin viivageometrioihin tuli mukaan viivojen yhdistäminen ja vastauskoko sitä myötä jo pieneni, ajattelin ettei kannattane piilottaa viivojakaan. Teknisestikin yksinkertaisempi käsitellä kaikkea samoilla säännöillä. Datamääristä ja tehokkuudesta huolestuneiden olisi jokatapauksessa syytä hakea vain se data mitä tarvitsevat, sillä osa datasta on raskasta laskennallista.

Mahdollisuus jättää tiettyjä kenttiä pois saattaisi olla hyödyllinen ominaisuus, vaikka saman voi tietysti tehdä nykyisinkin luettelemalla kaikki kentät mitä haluaa. Tuntuisiko hyödylliseltä voida sanoa esimerkiksi "liikennepaikkavalit.json?propertyName=-geometria"?

HTML-sivuilla on CSS-vipu, joka piilottaa useammalle riville leviävät geometriat näkyvistä, mikä tuntui tekevän sivuista ainakin Safarilla ja Chromella riittävän kevyitä. Tuo CSS ei tietenkään toimi Firefoxissa, pahoittelut, korjaan sellaiseksi että myös Firefox toimii sulavammin. Tuo WKT-geometria ei kuitenkaan ole HTML:ssä kovinkaan hyödyllinen, ja suunnitelmissa olikin joskus kokeilla sen korvaamista pienellä karttaikkunalla, jonka saisi erikseen klikkaamalla näkyviin, jolloin geometriadataa ei tarvittaisi varsinaisessa HTML:ssä mukana. Kuulostaisiko tämä hyödylliseltä?

Liikennepaikkaväleistä jäi näemmä viivojen yhdistäminen pois, lisään sen sinnekin. Kiitos!

Teemu Sirkiä

unread,
Mar 26, 2018, 8:48:26 AM3/26/18
to rata.digitraffic.fi


maanantai 26. maaliskuuta 2018 13.31.16 UTC+3 Solita / Jüppe kirjoitti:

Kiitoksia perusteellisesta vastauksesta!



Mahdollisuus jättää tiettyjä kenttiä pois saattaisi olla hyödyllinen ominaisuus, vaikka saman voi tietysti tehdä nykyisinkin luettelemalla kaikki kentät mitä haluaa. Tuntuisiko hyödylliseltä voida sanoa esimerkiksi "liikennepaikkavalit.json?propertyName=-geometria"?

Tällainen olisi erittäin hyödyllistä. Monesti olisi kätevämpää ilmoittaa, mitä haluaa jättää pois kuin luetella kaikki 20 tietokenttää paitsi se yksi, jota ei tahdo. Tai riippuu toki siitä, kummasta luettelosta tulee pidempi.



Datamääristä ja tehokkuudesta huolestuneiden olisi jokatapauksessa syytä hakea vain se data mitä tarvitsevat, sillä osa datasta on raskasta laskennallista.

Silloin kun hakee dataa tutustumismielessä tai johonkin yksinkertaiseen käyttöön muuten vain, niin kovin moni tuski alkaa tutustua rajapintaan niin tarkasti, että sieltä jättäisi kenttiä pois. Etenkään kun se ei välttämättä ole loppukäyttäjälle helposti pääteltävissä, mikä on laskennallisesti raskasta ja mikä ei. Tässä mielessä "turhaa" dataa siirtynee melko paljon.

 
HTML-sivuilla on CSS-vipu, joka piilottaa useammalle riville leviävät geometriat näkyvistä, mikä tuntui tekevän sivuista ainakin Safarilla ja Chromella riittävän kevyitä. Tuo CSS ei tietenkään toimi Firefoxissa, pahoittelut, korjaan sellaiseksi että myös Firefox toimii sulavammin. Tuo WKT-geometria ei kuitenkaan ole HTML:ssä kovinkaan hyödyllinen, ja suunnitelmissa olikin joskus kokeilla sen korvaamista pienellä karttaikkunalla, jonka saisi erikseen klikkaamalla näkyviin, jolloin geometriadataa ei tarvittaisi varsinaisessa HTML:ssä mukana. Kuulostaisiko tämä hyödylliseltä?

Chromella nykysisältö latautuu tosiaan merkittävästi Firefoxia paremmin. Minikartta olisi myös käytettävyydeltään kätevän kuuloinen ominaisuus, jos yksittäisen elementin haluaisi nähdä kartalla. Tosiaan pelkästä koordinaattirimpsusta harvemmin on HTML-muodossa hyötyä. Itse ainakin käytän HTML-muotoista esitystä yleensä vain tietosisältöön tutustumiseen, kun sitä taulukkoa on ihmissilmällä kivempi katsoa kuin JSON-dumppia, jota voi sitten koneellisesti jalostaa helposti, kun tietää, mitä siellä on.

Solita / Jüppe

unread,
May 22, 2020, 4:02:46 PM5/22/20
to rata.digitraffic.fi
Moi,

jäänyt mainitsematta tänne, että mahdollisuus jättää tiettyjä sarakkeita pois vastauksesta (esim propertyName=-geometria) on ollut toteutettuna Lokakuusta 2018 lähtien.

Mainittua HTML-muodon karttaikkunaa ei ole toteutettu, mutta tietyn objektin geometrian saa kartalle näkyviin helposti laittamalla objektin OID:n (tai vaikkapa sen koko geojson-urlin) infra-apin etusivukartan hakulaatikkoon.
Reply all
Reply to author
Forward
0 new messages