Quantum GIS + GPS + Spatialite + nopeusrajoitusluokittelu

Tässä linkki kuukauden takaiseen kokeiluun: http://latuviitta.org/documents/QGis_Spatialite_GPS.png

Selite:

Lisäksi kartalla näyttää olevan pisteet, joilla on addr:streetnumber ja jotain muita tasoja, mm. GPS_QGIS_TEST, joka on muokattava taso, jolle voi kerätä tietoja GPS:llä. En suosittele, ellei ole kuskia. Minulla oli, ja menomatkalla kävi selville, että nelostien nopeusrajoitukset ovat aika huonossa kunnossa ainakin Lusin-Jyväskylän välillä. Ikävä kyllä en enää muista, mitä QGis:llä kerätyille pisteille laittamani koodit oikein tarkoittavat, ja talvirajoituksetkin ovat tulleet tuon reissun jälkeen.

Kuva on ruma, mutta toivottavasti siitä selviää, että monia asioita olisi paljon helpompi tehdä, jos ottaisi ne 256x256 pikselin kokoiset laput pois silmiltään. Esimerkiksi tänään tuli puheeksi päällystelajin mukaan luokiteltu kartta ‘päällystetyt’ / 'päällystämättömät '/ ‘ei tietoa saatavilla’. Sen perään ei tarvitsisi haaveilla, jos ottaisi vektorit kauniiseen käteen ja luokittelisi ne niin kuin tuossa esimerkkikuvassa on tehty. Kaunista kuvaa kaipaava voisi ottaa sen siihen alle joltain bulkkituottajalta, kuten Mapnik-tasolta tai vaikka Maanmittauslaitokselta.

No joo, laatat ovat kieltämättä yleisiä ja tehokkaita ja lukemattomat ohjelmat tukevat niitä, joten kyllä minäkin niitä työssäni käytän, teen ja jakelen. Olenkohan muuten unohtanut sanoa mitä mieltä olen “tiilitetyistä” kuvista. Niiden suosijat voisivat mieluummin tiilittää kylpyhuoneensa, vrt. http://latuviitta.org/documents/tiilitetty.png

Kenelle muuten on oikeasti hyötyä tietää nelostietä ajaessaan, että tämäpä onkin trunk-luokan tie, koska GPS:ssä on noin paksu vihreä viiva? Eikö olisi tärkeämpää tietää, että tällä kohtaa on satasen nopeusrajoitus, mutta 500 metrin päästä se muuttuu kahdeksaankymppiin? Tai nähdä missä on ohituskieltoalueita?

Oikein nätin vektoreista tehdyn kartan saa aikaan, jos ajaa läppärillä paikallista WMS-palvelinta, joka voi olla mitä merkkiä tahansa (Mapserver, Geoserver, miksei jopa Mapnikin ogc_server, joka tosin taitaa olla mahdoton asentaa Windowsille ja vaikea Linuxillekin). Superhelpolla WMS:llä asentaminen voisi olla siedettävän yksinkertaista, mutta tuskin enää sitten, jos haluaisi taustalle PostGIS:in.

Olen pitkälti samaa mieltä siitä, että vektori voittaa bittikartan. Enhän oikeastaan muuta käytäkään. Joskus Nokia N95:n aikaan ajattelin odotella pari vuotta, miten nuo älypuhelin-GPS:t toimivat. Sain silloin hajonneen käytettynä saamani puhelimen tilalle ilmaiseksi toisen ikivanhan nokialaisen, joka on edelleen käytössä. Garminissa on rajoituksensa, mutta se toimii ilman tiedonsiirtoyhteyttä missä vain.

Toivon, että siinä vaiheessa, kun Edge 705 päästää toimintasavunsa pihalle, on saatavilla jokin siedettävän tarkkuinen GPS, johon saa ladata vapaan OSM-pohjaista vektorikarttaa käyttävän ohjelman.

Valmiista karttapaloista on oikeastaan vain yksi hyöty: kartta piirtyy nopeasti mutta tarkasti, kun zoomataan koko maakunta tai maa näkyviin. Vektorikartoista on pakko jättää asioita pois, ettei piirtäminen kestäisi ikuisuuksia. Esimerkiksi Garmin-kartallani näkyy laajalla zoomilla vain moottoriteitä ja meren rantaviivat. Kaikki järvet jäävät pois. Se on pääasiassa mkgmapin rajoitus. Teoriassa olisi mahdollista jättää suuret kohteet jäljelle ja pudottaa suuremman mittakaavan kartasta vain erottumattomat kohteet, kuten ajoradan viereiset. pyörätiet tai pienet alueet. Vierekkäisiä alueita voisi myös yhdistää.

Garminin ongelma on, että siihen on hankala lisätä kaikkia attribuutteja, ainakaan ennen kuin NT-karttaformaatti on täysin selvitetty. Koska suljettujen formaattien kanssa on aina hieman kissa-ja-hiiri-leikkiä, on parempi suunnata se energia vapaisiin vektorinavigaattoriohjelmiin.

Hmmm. Quantum GIS… http://www.qgis.org/ Open source… Linux, Unix, OSX… Tuohon pitää tutustua. Ihan mielenkiintoinen.

Mutta en kyllä ymmärrä, että jos on valmiiksi filtteröity data vaikka osm muodossa (tuota Spatiale (SQLite?) kantaa en tunne), kun saan haluamani tiedot filtteröityä helpo(hko)sti esiin osmosiksella, niin miten se

tien päällä räntäsateessa reaaliaikaisesti renderöiden, kuin kotona takkatulen ääressä alkoholipitoista juomaa siemaillen Maperitiven piirtäessä niitä (kirottuja) laattoja valmiiksi, josta ne voi sitten siirtää web sivulle esitettäväksi jonkin himmennetyn Mapnik bulkkikartan päällä. Tarkoitus on kuitenkin tehdä zoomattava “pohjoinen ylhäällä” tyyppinen kartta matkansuunnitteluun.

Ehkä minulle joskus kerrotaan tai muuten koen valaistuksen ;D

Mutta jos haluaisin mukaan otettavan vapaasti pyöritettävän ja portaattomasti zoomattavan kartan, ei taida etukäteisrenderöidyillä laatoilla olla saumaa.

.

PS: Katselin aiemmin tuota superhelppoa WMS:ää, mutta Windows vaatimus oli showstopper minulle.

Lievennetään vähän, eihän se ole yhtään sen helpompaa, koska pohjimmiltaan on kyse samasta asiasta. Lähtökohtana on vektoreita, jotka tiettyjen sääntöjen mukaan muutetaan rastereiksi, joko koko roska yhdellä kertaa levylle varastoon odottamaan mahdollista käyttäjää, tai sitten näytöllinen kerrallaan sitä mukaa kuin tarvitaan. Eroa syntyy siinä vaiheessa, kun yksi tahtoo nopeusrajoituskartan ja toinen latukartan ja kolmas polkupyöräkartan ja neljäs noname-kartan jne. Siinä syntyy laatta poikineen ja kuluu varmaankin vähintään parisataa gigaa levytilaa per vaihtoehto koko maan alueelle, ja jos muutaman maperatiivin jälkeen huomaa asentaneensa latukartan vaikka onkin purjehtimassa, niin voi tulla ikävä jotain nopeaa ad-hoc -renderöintiä. Mutta ei näiden vaihtoehtojen välillä vihanpitoa tarvita, molemmille on paikkansa. Minua itseäni miellyttää sekamuoto eniten, eli pohjakartta ja sen päällä tietokantakyselyillä tai verkkopalvelusta poimittuja kohteita ominaisuustietoineen ja päälle/pois -valinnoin. Rasterikartalle kun ei olisi kovin kätevää printata esimerkiksi aukioloaikoja tai puhelinnumeroita.

Kätevintä olisi, jos vektoripohjainen systeemi voisi käyttää suoraan OSM:in omaa tiedostomuotoa, ja kyllähän se onnistuukin mm. Potlatch-editorissa. Ilmeisesti osm-xml:ssä on kuitenkin tiettyjä puutteita, se ei esimerkiksi taida olla indeksoitavissa kovin helposti sen enempää sijainnin kuin tägienkään perusteella, joten koko maan kokoisella aineistolla siitä saattaisi tulla hyvin hidas.

Latuviitan vierailijoista 75 % näyttää käyttävän Windowsia, siitä syystä minä keskityn antamaan Windows-ohjeita, enkä neuvo mitään, mikä ei toimisi ollenkaan Windowsilla. Superhelppo toimii sellaisenaan Linuxilla, kunhan ensin asentaa pohjalle Mapserverin Linux-jakelun ja poimii Superhelposta pelkän datahakemiston ja mapfilet. Mapfile-ohjaustiedostoissa on piirto-ohjeet ja viittaukset sinne, mistä data haetaan, joten muokkaustyö ei ole mitenkään valtava. Oletushakemistoja käyttämällä voisi kyllä tehdä samanlaiset valmiit WMS- ja WFS-palvelut myös Linuxille, eli kopioi data+mapfile paketti tiettyyn hakemistoon, ja siinä se sitten olisikin.

Pyöritys ja zuumaus + GPS olisi kiva, mutta ei tule tuolta GIS-maailmasta yhtään esimerkkiä mieleen.

Näinpä. Loppujen lopuksi kyseessähän on panostaako laskentakapasiteettiin vai levykapasiteettiin.

Mutta tuo levytilan tarve… Tarkistin, että itselleni piirtämät suomen moottorikelkkareitit tasoilla 6-12 näyttää vievän 35M ja se filtteröity OSM XML muotoinen data, mistä nuo on piirretty on n. 30M.
Jokainen lisätaso tuplaa tarvittavan laattojen tilatarpeen (OK, epäreilu vertailu, OSM on pakkaamatonta XML:ää ja laatat png:tä ja tyhjiä laattoja ei ole edes tallennettu), mutta…

.

Koko maan kattava Maanmittauslaitoksen peruskartan näköinen aineisto näyttää kolmena vähän erilaisena versiona vievän tilaa 22, 30 tai 39 gigatavua (1 metrin pikselikoko). Vaihtelu johtuu erilaisista tiffin sisällä käytetyistä pakkausmenetelmistä ja myös aineistosta, eli korkeuskäyrien kanssa tarvitaan tilaa selvästi enemmän kuin ilman niitä.
Laatoitettuna levytilaa pitäisi kulua osapuilleen saman verran + 30 prosenttia, koska png ja LZW-pakattu tiffi ovat osapuilleen saman kokoisia. +30% tulee 2, 4, 8, 16 jne metrin resoluution tasoista. Oikeasti levyllä näyttää olevan yhteensä 18 gigatavua ja 2,8 miljoonaa laattaa, mikä johtuu siitä, että en ole täyttänyt 1 metrin resoluution varastoa etukäteen täyteen vaan vain käytön mukaan. Todellisuudessa kuluva levytila on enemmän, eli 25 gigatavua, eli aika paljon hukkaa tuossa tiedostojärjestelmässä.

Ilmakuvat vievätkin sitten paljon enemmän tilaa. Pelkästään 1 metrin pikselikoon laattojen tiedostoihin kuluu levytilaa 285 gigatavua (270 Gt tiedostoissa) ja niitä näyttää olevan ihan hiukkasta vaille 6 miljoonaa. Eli olet oikeassa, 300 gigan arvio perustui ilmakuviin ja on aika lähellä oikeaa, jos pysähdytään metrin resoluutioon. Maastokartat vievät vain alle kymmenesosan tuosta tilasta, ja harvat OSM-laatat varmasti vielä paljon vähemmän. Ja Googlen taso 12 näyttää vastaavan noin 70 metrin resoluutiota, joten tässä verrataan vähän eri käyttötarkoituksia. Maastotyössä taustakartan on kyllä jatkuttava tuonne metrin resoluutioon (noin Googlen taso 18), ja ilmakuvien puoleen metriin.

Tässä vielä todellisia lukuja maastokartan tilantarpeesta YKJ-laatoilla eräässä ympäristössä. Levytila tarkoittaa kyseisen tason tilantarvetta, ei kumuloituvaa.
taso res (m) kpl levytila
0 2048 6 120 kt
1 1024 15 400 kt
2 512 60 1,2 Mt
3 256 209 3 Mt
4 128 836 7 Mt
5 64 3300 18 Mt
6 32 12963 287 Mt
7 16 51852 432 Mt
8 8 207042 1,25 Gt
9 4 827044 7,92 Gt
10 2 1700433 15,1 Gt

*Pakko tunnustaa, ettei tuo levytilan tarve niin pelottavan suuri ole, jos esimerkiksi 8 metrin resoluutio riittää. Tuota vastaa kai lähinnä Googlen taso 14. *