OSM:n pohjainen latukartta - www.latukartta.fi

Kuinka usein päivität karttaa? Korjailen omia mokiani (kun ehdin) ja katsoisin välillä, miltä se näyttää.

Päivittelen koko maan tasolle 14 käytännössä viikottain (yleensä maanantaisin viikonlopun hiihtojen jälkeen), alemmat tasot alueittain silloin kun on olen huomannut muutoksia. Minulle voi laittaa viestiä ja pyytää päivittämään jonkin tietyn alueen. Käytän lähteenä http://download.geofabrik.de/osm/europe/ sivustolla olevaa Suomi-tiedostoa - se tulee sinne kerran päivässä käytännössä puolilta päivin.

Vaikkei itse ladulle pääse, niin satunnaiselle kävijälle on hyötyä laittaa latujen läheisille parkkipaikoille piste:amenity=parking. Tälläisenä lumisena talvena niitä parkkipaikkoja ei ole liikaa. Sen puolesta sen merkin voi laittaa vaikkei latu olisikaan vielä merkitty. Sinänsä se 200m kävely ei ole vaarallista ennen hiihtoa… mutta aika usein reitin varrella on hyviä parkkipaikkoja, kun vain ne tulee merkattua.

Vaikken itse hiihdäkään niin on kyllä ollut ilo seurata latujen ilmestymistä latukartalle. Täällä Tuusulassa/Keravallapäinkin ainakin jotkut tuntuvat hiihtelevän kun latuja on ilmaantunut kartalle pikkuhiljaa.

Linkkivinkkinä Latukartat-sivun linkkiosioon Tuusulan kunnan sivuilla olevat latukartat ja kuntoraportti:
http://www.tuusula.fi/sivu.tmpl?sivu_id=2290

Sitten kun mukaan tulee latujen kunnon raportointi, niin samalla kannattaa miettiä, kannattaako ylipäätään renderöidä karttaa etukäteen palvelimelle laatoiksi. Jos tyylit ovat yksinkertaisia ja käyttäjämäärät kohtuullisia, niin latutilanteen voisi mainosti piirtää suoraan tietokannasta. Tässä pari yksinkertaista esimerkkiä. Ensimmäisestä URL:sta huomaa, että kokonaisen pohjakartan piirtäminen tietokannasta on melko hidasta, koska tasoja ja dataa on paljon ja säännöt monimutkaisia. Pohjakarttaa varten on siis hyvä olla olemassa laatoittava karttapalvelu.

http://188.64.1.61/cgi-bin/mapserv?map=/usr/map/osm-mapserver_i.map&REQUEST=GetMap&SERVICE=WMS&VERSION=1.1.1&WIDTH=469&HEIGHT=354&LAYERS=default&TRANSPARENT=TRUE&FORMAT=image/png&BBOX=252097.87225892936,6798498.983050847,526331.9582495452,7005490.169491526&SRS=EPSG:3067&STYLES=

Toinen URL vastaa paljon nopeammin, koska se hakee tietokannasta vain tieluokat “motorway”, “trunk” ja “primary”.
http://188.64.1.61/cgi-bin/mapserv?map=/usr/map/osm-mapserver_i.map&REQUEST=GetMap&SERVICE=WMS&VERSION=1.1.1&WIDTH=469&HEIGHT=354&LAYERS=roadsfar_01&TRANSPARENT=TRUE&FORMAT=image/png&BBOX=252097.87225892936,6798498.983050847,526331.9582495452,7005490.169491526&SRS=EPSG:3067&STYLES=

Kolmannessa esimerkissä on ruman pitkä URL, mutta se näyttää WMS:n joustavuuden. Käyttäjä päättää itse, mistä tietoista kartta tehdään ja miltä se näyttää. Tässä tapauksessa siis pyydetään:

  • kohteet “highway=trunk”, jotka piirretään vihreällä 3 yksikköä levellä viivalla
  • “trunk”:it otsikoidaan fontilla “scb”, fonttikoko 16, väri musta
  • vastaavasti poimitaan “highway=primary”, tämän luokan tiet piirretään punaisella ja tunnukset sinisellä

Koska kartta piirretään aina suoraan lähtöaineistosta, niin se on aina ajan tasalla. Jos tyyli ei miellytä, niin pyyntöä muokkaamalla kartan saa eri näköiseksi; jopa sisällön voi vaihtaa muokkaamalla filter-osaa. SLD:n muokkaamiseen pitäisi tietysti olla käyttöliittymä, OpenLayers osaa käsitellä suoria WMS-tasoja kuten myös SLD-muotoiluja ja filttereitä. Valitettavasti Mapnik ei tue SLD:n käyttöä, joten karttamoottorina täytyy käyttää jotain muun merkkistä palvelinta, esimerkiksi Mapserveriä tai Geoserveriä. Latukarttapalvelussa voisi ehkä muutenkin harkita kuntotietojen päivittämistä oman palvelimen tietokantaan eikä vyöryttää kuntopäivityksiä OSM-tietokannan kautta.

Tässä siis ensin se pitkä URL, ja sen alla SLD-määrittely selvälukuisempana.

http://188.64.1.61/cgi-bin/mapserv?map=/usr/map/osm-mapserver_i.map&REQUEST=GetMap&SERVICE=WMS&VERSION=1.1.1&WIDTH=469&HEIGHT=354&LAYERS=roadsfar_01&TRANSPARENT=TRUE&FORMAT=image/png&BBOX=252097.87225892936,6798498.983050847,526331.9582495452,7005490.169491526&SRS=EPSG:3067&STYLES=&SLD_BODY=%3CStyledLayerDescriptor%20version%3D%221.0.0%22%20xmlns%3D%22http%3A%2F%2Fwww.opengis.net%2Fsld%22%20xmlns%3Agml%3D%22http%3A%2F%2Fwww.opengis.net%2Fgml%22%20xmlns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20xmlns%3Axsi%3D%22http%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema-instance%22%20xsi%3AschemaLocation%3D%22http%3A%2F%2Fwww.opengis.net%2Fsld%20http%3A%2F%2Fschemas.opengis.net%2Fsld%2F1.0.0%2FStyledLayerDescriptor.xsd%22%3E%20%3CNamedLayer%3E%20%3CName%3Eroadsfar_01%3C%2FName%3E%20%3CUserStyle%3E%20%3CFeatureTypeStyle%3E%20%3CRule%3E%20%3Cogc%3AFilter%3E%3Cogc%3APropertyIsEqualTo%3E%3Cogc%3APropertyName%3Ehighway%3C%2Fogc%3APropertyName%3E%3Cogc%3ALiteral%3Etrunk%3C%2Fogc%3ALiteral%3E%3C%2Fogc%3APropertyIsEqualTo%3E%3C%2Fogc%3AFilter%3E%20%3CMinScaleDenominator%3E1000010.000000%3C%2FMinScaleDenominator%3E%20%3CMaxScaleDenominator%3E2500010.000000%3C%2FMaxScaleDenominator%3E%20%3CLineSymbolizer%3E%20%3CStroke%3E%20%3CCssParameter%20name%3D%22stroke%22%3E%2300ff00%3C%2FCssParameter%3E%20%3CCssParameter%20name%3D%22stroke-opacity%22%3E1.00%3C%2FCssParameter%3E%20%3CCssParameter%20name%3D%22stroke-width%22%3E3.00%3C%2FCssParameter%3E%20%3C%2FStroke%3E%20%3C%2FLineSymbolizer%3E%20%3CTextSymbolizer%3E%20%3CLabel%3Eref%3C%2FLabel%3E%20%3CFont%3E%20%3CCssParameter%20name%3D%22font-family%22%3Escb%3C%2FCssParameter%3E%20%3CCssParameter%20name%3D%22font-size%22%3E16.00%3C%2FCssParameter%3E%20%3C%2FFont%3E%20%3CLabelPlacement%3E%20%3CPointPlacement%3E%20%3CAnchorPoint%3E%20%3CAnchorPointX%3E0.5%3C%2FAnchorPointX%3E%20%3CAnchorPointY%3E0.5%3C%2FAnchorPointY%3E%20%3C%2FAnchorPoint%3E%20%3C%2FPointPlacement%3E%20%3C%2FLabelPlacement%3E%20%3CFill%3E%20%3CCssParameter%20name%3D%22fill%22%3E%23000000%3C%2FCssParameter%3E%20%3C%2FFill%3E%20%3C%2FTextSymbolizer%3E%20%3C%2FRule%3E%20%3CRule%3E%20%3Cogc%3AFilter%3E%3Cogc%3APropertyIsEqualTo%3E%3Cogc%3APropertyName%3Ehighway%3C%2Fogc%3APropertyName%3E%3Cogc%3ALiteral%3Eprimary%3C%2Fogc%3ALiteral%3E%3C%2Fogc%3APropertyIsEqualTo%3E%3C%2Fogc%3AFilter%3E%20%3CMinScaleDenominator%3E1000010.000000%3C%2FMinScaleDenominator%3E%20%3CMaxScaleDenominator%3E2500010.000000%3C%2FMaxScaleDenominator%3E%20%3CLineSymbolizer%3E%20%3CStroke%3E%20%3CCssParameter%20name%3D%22stroke%22%3E%23ff0000%3C%2FCssParameter%3E%20%3CCssParameter%20name%3D%22stroke-opacity%22%3E1.00%3C%2FCssParameter%3E%20%3CCssParameter%20name%3D%22stroke-width%22%3E3.00%3C%2FCssParameter%3E%20%3C%2FStroke%3E%20%3C%2FLineSymbolizer%3E%20%3CTextSymbolizer%3E%20%3CLabel%3Eref%3C%2FLabel%3E%20%3CFont%3E%20%3CCssParameter%20name%3D%22font-family%22%3Escb%3C%2FCssParameter%3E%20%3CCssParameter%20name%3D%22font-size%22%3E16.00%3C%2FCssParameter%3E%20%3C%2FFont%3E%20%3CLabelPlacement%3E%20%3CPointPlacement%3E%20%3CAnchorPoint%3E%20%3CAnchorPointX%3E0.5%3C%2FAnchorPointX%3E%20%3CAnchorPointY%3E0.5%3C%2FAnchorPointY%3E%20%3C%2FAnchorPoint%3E%20%3C%2FPointPlacement%3E%20%3C%2FLabelPlacement%3E%20%3CFill%3E%20%3CCssParameter%20name%3D%22fill%22%3E%230000ff%3C%2FCssParameter%3E%20%3C%2FFill%3E%20%3C%2FTextSymbolizer%3E%20%3C%2FRule%3E%20%3C%2FFeatureTypeStyle%3E%20%3C%2FUserStyle%3E%20%3C%2FNamedLayer%3E%20%3C%2FStyledLayerDescriptor%3E

Tässä SLD ilman URL-enkoodausta. Viivan värit annetaan stroke:lla, värit stroke-width:llä, tieluokat valitaan PropertyIsEqualTo -filtterillä jne.

](http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd\>)

roadsfar_01



ogc:Filterogc:PropertyIsEqualToogc:PropertyNamehighway</ogc:PropertyName>ogc:Literaltrunk</ogc:Literal></ogc:PropertyIsEqualTo></ogc:Filter>
1000010.000000
2500010.000000


#00ff00
1.00
3.00



ref

scb
16.00




0.5
0.5




#000000




ogc:Filterogc:PropertyIsEqualToogc:PropertyNamehighway</ogc:PropertyName>ogc:Literalprimary</ogc:Literal></ogc:PropertyIsEqualTo></ogc:Filter>
1000010.000000
2500010.000000


#ff0000
1.00
3.00



ref

scb
16.00




0.5
0.5




#0000ff






Nuo sivut ovat toimineet hyvänä motiivina laittaa reitit käyttäjälle mukavempaan formaattiin. Nyt näyttää yksi kartta olevan pdf:nä ja kartan reittikin vastaa nykyistä reittiä. Päivitys menossa? Tätä kirjoittaessa useimmat kumminkin ovat vielä mht:nä ja vain Karhunkierros/Urheilukeskus uusittuna. Keravan www-sivuilta myös saa hetken hakea latujen karttatietoa.

Juhe, sä olet ilmeisesti piirrellyt latua tuonne varuskunnan metsään / Korpikylän suuntaan? Katselin karttaa ja siellä näkyisi menevän yksi latu aivan aikaisemmin piirretyn polun vieressä siellä teollisuusalueen laidalla. Olettaisin että latu ja polku menevät käytännössä samaa viivaa pitkin mutta ne ovat piirretty erillisinä, joten tuon voisi varmaan tarkistaa. Elikkä esim tässä kohti: http://www.openstreetmap.org/?lat=60.38488&lon=25.05311&zoom=17&layers=O

Laiskuutta, kun sai yhdellä merkinnällä sen eikä tarvinnut sitä pilkkoa viiteen osaan (kannattaisi käyttää relaatioita). Metsässä ne todennököisemmin menee samaa uraa. Toisaalta hiihtäjälle olennaisinta on risteysten paikka, että sen puolesta niitä ladun väliosia ei edes tarvii tarkkaan laittaa. Tulevaisuudessa risteysten paikatkin voivat vaihtaa paikkaa?? Jos kelejä ja aikaa riittää, niin voisi käydä siellä hiihtämässä yhden pienen ladun pätkän + urheilupuiston ladut.

Nyt on lisäykset tehty.

Urheilupuistossa on nyt vastaavasti parannettavaa… Jää jotain merkattavaa muille/myöhemmille kierroksille. Osa reiteistä on kumminkin kierretty ja kartasta näkee että sinnekin kannattaa mennä hiihtään. Se edellinen korjattava kohta: polku taisi olla väärässä kohtaan. Latu ja polku menee nyt samaa uraa.

Laatoilla on etunsa, mistä syystä niiden käyttö on räjähdysmäisesti kasvanut ja joista meillä on kiittäminen näistä kaikista kivoista uusista karttapalveluista. Etuja ovat mm. skaalautuvuus ja “cacheability”, mitä onkaan suomeksi. Aiheesta lisää: http://sproke.blogspot.com/2011/02/overcome-by-events-or-rearranging-deck.html

Mutta jos kuitenkin haluaa WMS-palvelua käyttää, sitä voi nopeuttaa varsin mielenkiintoisella tuotteella nimeltään MapProxy, josta tuli juuri versio 1.0.0 ulos (http://mapproxy.org).

MapProxy on todellakin hieno, ja käytän sitä sekä töissä että huvin vuoksi. Sen avulla voidaan tehdä eräänlainen välimuoto jäykkien laattojen ja lennossa luotavan WMS:n välille, eli laatoista luotava WMS. MapProxy osaa mm. projisoida laatat toiseen projektioon, joillon jokaista tuettavaa projektiota varten ei tarvita omaa laattavälimuistia levyllä.

Laatoilla on etunsa (nopeus, minulle tutussa ympäristössä palvelukyky on 16 kertaa parempi kuin suoralle WMS:llä). Niin myös suoraan tietokannasta renderöinnillä.

Naputtelin ohjeen minkä avulla voi saada “tavallisia” ihmisiä nauhoittamaan gpx-jälkiä (Suomessa vielä yleisillä) Nokian älypuhelimilla Sport Tracker ohjelmalla: http://www.latukartta.fi/sekalaista/SportTrackerGPXtiedosto.html . Motiivina oli saada tuttuja lahjoittamaan jälkiä - tiesin, että porukka hiihtää mutta heillä ei ole nauhoittavaa navigaattoria => eivät voi lahjoittaa jälkeä. Ohjeesta saa antaa palautetta - korjailen sitä palautteen avulla.

Innostin työkaverin keräämään Turusta jälkeä - hän noudatti ohjetta ja lähetti minulle gpx-tiedoston. Piirsin jäljen pohjalta ladun Turkuun: http://www.latukartta.fi/turku/ . Turussa on yllättävän vähän vielä latuja kartoitettuna.

Lopputalven tavoitteena on saada paljon lisää latuja kartalle - IRCissä puhuri mainitsi hiihtolatuja olevan reilut 2000km tällä hetkellä latukartalla. Kunhan lumet ovat sulaneet / tiet aurattuna niin pitää katsoa tuota kartan piirtämistä taas uudestaan. Nykyinen Maperative pohjainen piirtäminen on raskasta & muutokset eivät päivity tarpeeksi heti. Varsinaisille loppukäyttäjille nopea päivitys ei ole niin tärkeää mutta kartoittajana on kiva nähdä tulokset nopeasti.

Ei hullumpi ohje, tosin kaipaa oikolukua kun muutamia typoja on vielä jäänyt tekstiin. Itse ainakin kuvittelisin osaavani noilla ohjeilla kaapata jäljen ja lähettää sen eteenpäin käsiteltäväksi.

Tuossa ohjeessa voisi olla maininta kännykän asennosta lähettimiin – siis että GPS:n antenni saisi kohtuullisen signaalin sateliiteista. Mulla on jonkin verran eroa jäljen tarkkuudessa pelkän GPS-vastaanottimen (loggeri) ja kännykän (Nokia C7) välillä. Siinä loggerissa todennäköisesti on isompi ja parempi antenni (kumpaakaan laitetta en ole avannut…). Kun kerran kännykän GPS ei ole yhtä hyvä, niin sijoittelulla on enemmän merkitystä.

Hiihtoladun kanssa parempi varmaan olla se 50m metsään menevä latu kuin ei ollenkaan… Sen takia en karkoittaisi yhtään potentiaalista jäljen kerääjää paikannuksen tarkkuuden takia. Kannattaako muuta ohjetta sijoituksesta pistää kuin että kännykkä taskuun? Siitä huolimatta, että kehon lähellä GPS:n signaali heikkenee…

Voisihan tuohon tietty laittaa jotain tuosta sijoituksesta ja asennosta, sillä kuitenkin saa aika helposti tarkkuutta paremmaksi ja ainakin itse olen huomannut että eri taskuissa pitämällä saan kävellen ihan erilaisia mutkitteluita jälkeen vaikka teoreettinen tarkkuus pysyisi samana. Kävellessä reisitasku on ollut tähän mennessä paras sijoituspaikka antenniosa ylöspäin, fillaroidessa taas vyöpussukassa on tullut tasaisinta jälkeä. Tietty jos sattuu reppu olemaan mukana niin sen takimmaisessa lokerossa tulee edellisiä parempi jälki.

Hiihtoladun kanssa tosiaan ei varmaan hirveän nirso kannata olla jäljen suhteen, muutama metri sinnetänne kunhan suunnilleen saa sen kartalle. Kyllä sen joku muu sitten hiihtää uusiksi ja saa tarkemman jäljen jonka mukaan voi korjailla. Ja jos jäljessä on systemaattista siirtymää suuntaan tai toiseen niin mahdollisilla kiintopisteillähän sitä voi vähän kohdistella.

Tein tässä juuri eilen/tänään noin 40km/sivu eli 80km lenkin kahdella gepsillä (Tomtom One ja ZTE Blade) ja ajattelin että pitääkin vertailla miten niiden jäljet eroavat toisistaan. Jos niissä on sanottavaa eroa niin pistän jonnekkin tänne suomifoorumille jotain infoa testin tuloksista. Periaatteessa jälkien pitäisi kulkea puolen metrin etäisyydellä toisistaan koska gepsien etäisyys oli sen verran, mutta kattoo nyt kun kerkiän aamusella analysoimaan jäljet.

Latukartta on edelleen elossa ja kerää nykyään myös OSMn ulkopuolisia kävijöitä (tai sitten OSM harrastajia on enemmäin kuin olen kuvitellut). Kartoitustilanne alkaa olemaan hyvä monilla paikkakunnilla, mutta Suomessa on vielä riittävästi hiihdettävää tällekin talvelle. Kävin itse viikonloppuna hiihtämässä Hyvinkäällä ( http://www.latukartta.fi/hyvinkaa/ ). Hyvinkää kaipaa vielä muutamaa lenkkiä + yhdyslatua Riihimäelle.

Hiihtokeskuksista osa on hyväss tilassa (esimerkiksi http://www.latukartta.fi/yllas/ ja http://www.latukartta.fi/tahko/ ), mutta esimerkiksi Ruka, Himos ja Saariselkä ovat vielä heikoissa kantimissa. Lähden itse maaliskuun ensimmäisellä viikolla Saariselälle kartoittamaan - katselin kohteen aivan puhtaasti puuttuvien latujen mukaan. Jos kukaan ei käy tänä talvena Rukalla niin se on varmaan sitten ensi vuonna edessä. :slight_smile:

Twiittasin ja laiton Facebookiin, toivottavasti ei aiheudu hirveää ruuhkaa :wink:

Kiitoksia. Ihmettelinkin, että mistä se kauhea ruuhka sivulla johtui. :slight_smile: Ensiksi ajattelin syynä olleen linkin Iltasanomien sivuilta…

Sivusto on itse asiassa toiminut yllättävän hyvin vaikka kävijämäärät ovat kasvaneet. Etelään tulleet hiihtokelit näkyvät selkeästi kävijämäärissä - varsinkin pk-seudun kaupunkisivut ovat saaneet runsaasti vierailijoita. Viime vuonna loppukaudella kävijät painottuvat enemmän pohjoisen hiihtokeskuksiin.

Latukartta on saanut taas uusia latuja, paljon vielä puuttuu mutta ympäri Suomea tuntuu löytyvän jatkuvasti lisää latuja. Nyt kartoitettujen latujen kokonaispituus on kasvanut 3000km luokkaan. Kävimme eilen hiihtämässä Lahteen lisää latuja - siellä on vielä runsaasti hiihdettävää. Lahdessa latuopasteet ovat niin puutteellisia, että näin monen porukan lukevan omaa paperikarttaa hiihdon lomassa.

Käyttäjä ij_ rakenteli latukartalle relaatioihin pohjautuvan sivun: http://www.latukartta.fi/reitit.html . Sivulta näkee laturelaatioille:

  • Todellinen pituus / ilmoitettu pituus. Todellinen pituus tulee relaatioon kuuluvien latujen mukaan ja ilmoitettu distance = X.Y tagistä
  • Reitin nimi. Tulee relaation name = XX tagistä
  • Paikkakunta / verkosto / ylläpitäjä. Paikkakunta tulee Maanmittauslaitoksen datasta, verkosto tagistä network = XXX ja ylläpitäjä tägistä operator = XX
  • Valaistus / Hiihtotyyli / Vaikeusaste . Tulee suoraan relaatioon kuuluvien latujen tageistä.
  • Kommentti. Tulee relaation tagista description = XXX

Relaatioihin pohjautuva sivu on mielestäni mahtava. Olen käynyt katsomassa sieltä tuttujen latujen todellisia pituuksia (esimerkiksi Hyvinkään pääsee ympäri 23.64 km hiihdolla) ja vieraammilla paikkakunnilla, että missä ladut menevät oikeasti. Latujen piirtämisen yleiset piirto-ohjeet löytyvät: http://www.latukartta.fi/ladunpiirtaminen.html

Jos olette tehneet latuja niin tarkentakaa ihmeessä vielä latujen tägit (ainakin hiihtotyyli ja valaistus) + vääntäkää laduista relaatiot. Relaatioiden pohjalta voi kehitellä todella paljon uusia tarpeellisia ominaisuuksia latukartalle.

Lisäilin kanssa relaatioita muutamalle hiihtämälleni ladulle. Nyt on hyvä syy lisäillä relaatioita :slight_smile:

Miten on linkit ylläpidosta kertovalle www-sivulle?

Se voisi liittyä operator-kenttään tai olla website-kentässä. Hankaluutena tuossa on linkkien muuttuminen ja se kannattaako niitä laittaa reitteihin/OSM:n tietokantaan. Mieluummin laittaisi johonkin helpommin päivitettävään paikkaan & olisi sieltä yhdistettävissä operator-kenttään.