Hei,
nopeusrajoituksia voi tutkiskella nettiselaimella täällä tai täällä, niiltä osin kuin ne on merkitty OpenStreetMapiin. Nopeusrajoitukset saa näkyville myös Väyläviraston Digiroad-palvelussa tai Paikkatietoikkunassa. Digiroad-aineisto on lisensoitu CC-BY 4.0 -lisenssillä eli sitä ei saa kopioida OSM:iin ilman Väyläviraston erikseen OSM:ille antamaa lupaa.
Vaikka OsmAndissa on muihin navigointisovelluksiin verrattuna melko paljon säätöjä, joutuu tuon yleisrajoituksen korjaamaan muokkaamalla erästä routing.xml-tiedostoa. Siinä näyttäisi olevan valmiiksi yhdysteille eli tertiary-luokan teille oletusnopeutena 45 km/h. Koska lähes kaikilla teillä nopeusrajoitus on todellisuudessa isompi, reititys suosii teitä, joiden nopeusrajoitus on tiedossa ja enemmän kuin 45 km/h. Reititystiedostoon oli jätetty kommentti “important urban roads” eli reititysohjelman tekijä oli selvästi ajatellut tertiary-luokan olevan käytössä taajamissa. Seuraavaksi ohje yleisrajoituksen muokkaamiseen OsmAndin Android-versiossa.
Tien oletusnopeuden säätö OsmAndissa
- Lataa routing.xml-tiedosto ja avaa tiedosto tekstinkäsittelyohjelmalla.
- Vaihda luvun 45 tilalle isompi luku riville
<select value="45" t="highway" v="tertiary"/>
. Tiedostoa päivitellään useamman kerran kuukaudessa, ainakin tänään tuo on rivi 862.
- Tallenna tiedosto.
- Siirrä tiedosto OsmAndin routing-kansioon (Android\data\net.osmand\files\routing).
- Valitse OsmAndissa autoilun reititykseksi äsken muokattu reititysohjelma: Asetukset → Auto → Navigointiasetukset → Navigation type → car routing.xml.
Tiedoston alussa on aika kattava ohje englanniksi reitityksen säätämisestä. Valitettavasti ko. tiedostossakin todetaan, että reitityksen muuttaminen ei tiettävästi onnistu iOS:issa.
Aika haastavaksi osoittautui noiden nopeusrajoitusten näyttäminen kartalla OsmAndissa. OsmAndin kartat ladataan täältä tai suoraan sovelluksesta. OpenStreetMap-kartan tiedostopääte on usein .osm, mutta OsmAndin kartat muutetaan mobiilikäyttöön sopivaan OsmAndin omaan .obf-muotoon. Tuota muutosta tehdessä vain tietyt ominaisuustiedot valitaan piirrettäviksi, eikä maxspeed=* ole yksi niistä, toisin kuin esimerkiksi lit=* on. Tässä on ohje nopeusrajoituksen näyttämiseen kartalla. Tein itse kaiken Windowsilla, eli muilla tietokoneilla homma voi olla hieman eri.
Nopeusrajoitusten piirtäminen OsmAndissa
- Lataa rendering_types.xml-tiedosto tietokoneelle ja avaa se tekstinkäsittelyohjelmalla.
- Lisää ihan mihin vain
<category>
-tunnisteen sisälle <type tag="maxspeed" value="999" minzoom="12" />
ja korvaa "999"
sillä nopeusrajoituksella, jonka haluat kartalle. Itse laitoin tuon koodin riville 7383 (<routing_type tag="oneway:horse" mode="amend"/>
jälkeen), eli siinä se ainakin toimi. Kopioi liittämäsi koodi useammalle riville ja kirjoita joka kerta value=""
-kohtaan eri luku. Itse laitoin 11 riviä ja niihin arvot 10, 20, 30, 40, 50, 60, 70, 80, 100, 120 ja variable.
- Tallenna tiedosto (työpöydälle).
- Lataa karttadataa .osm- tai .pbf-muodossa Overpass Turbosta, Geofabrikista tai jostain muualta tietokoneelle. En nyt tämän tarkemmin ohjeista tätä. Wikissä on ohjeita karttadatan lataamiseen.
- Lataa OsmAnd MapCreator -ohjelma täältä painamalla “website”-linkkiä. Pura .zip-tiedosto esimerkiksi työpöydälle.
- Käynnistä OsmAndMapCreator-main-kansiossa oleva OsmAndMapCreator.bat.
- Avaa OsmAnd Map Creatorin ikkuna-valikosta asetukset. Kirjoita polku kohdassa 3 tallentamaasi rendering_types.xml-tiedostoon kohtaan “Path to rendering types xml (rendering_types.xml)”, esimerkiksi “C:\Users\käyttäjänimi\Desktop\rendering_types.xml”. Paina OK.
- Valitse tiedosto-valikosta “Create .obf from osm file” ja etsi kohdassa 5 hankkimasi .osm- tai .pbf-karttatiedosto. Odota, että kartta tulee valmiiksi. Wikin mukaan koko Suomen kartan käsitteleminen kerralla voi kestää tietokoneesta riippuen useita tunteja ja tarvita jopa yli 10 gigatavua RAM-muistia.
- Avaa osmand-pikakuvake OsmAndMapCreator-main-kansiossa ja siirrä siellä oleva .obf-tiedosto OsmAndiin (Android\data\net.osmand\files)
- Nyt siirrytään karttatyylin luomiseen. Luo uusi nopeusrajoitus.render.xml-tiedosto esimerkiksi työpöydälle. Kirjoita sinne tekstinkäsittelyohjelmalla:
<?xml version="1.0" encoding="utf-8"?>
<renderingStyle name="nopeusrajoitus" depends="default.render.xml" defaultColor="#ffffff" version="1">
Kohdassa depends="default.render.xml"
määritellään, mihin olemassaolevaan karttatyyliin uusi karttatyyli pohjautuu. Siihen voi kirjoittaa myös jonkun muun karttatyylin, esim. "mapnik.render.xml"
. Jatka sitten:
<renderingAttribute name="tuntematonRajoitus">
<case attrColorValue="#333333"/>
</renderingAttribute>
<renderingAttribute name="10kmhRajoitus">
<case attrColorValue="#ff0000"/>
</renderingAttribute>
<renderingAttribute name="20kmhRajoitus">
<case attrColorValue="#ff8000"/>
</renderingAttribute>
<renderingAttribute name="30kmhRajoitus">
<case attrColorValue="#ffff00"/>
</renderingAttribute>
Toista tätä niin monta kertaa, että saat tarpeeksi erilaisia rajoituksia. Muista antaa jokaiselle eri nopeusrajoitukselle oma nimi ja väri. Sitten:
<order>
<switch objectType="2" area="false">
<case tag="maxspeed" value="" order="255"/>
</switch>
</order>
<line>
<switch tag="maxspeed" minzoom="12" cap="BUTT" cap_0="BUTT" color="$tuntematonRajoitus" color_0="#000000" pathEffect="8_8" pathEffect_0="8_8">
<case tag="maxspeed" value="10" color="$10kmhRajoitus"/>
<case tag="maxspeed" value="20" color="$20kmhRajoitus"/>
<case tag="maxspeed" value="30" color="$30kmhRajoitus"/>
Kopioi kolmea viimeistä riviä niin kauan, että jokainen nopeusrajoitus on mainittu. Muista vaihtaa kohtiin value=
ja color=
aina eri luku. Sen jälkeen:
<apply>
<case maxzoom="12" strokeWidth="0.75:0.75" strokeWidth_0="1:1"/>
<case maxzoom="13" strokeWidth="1.5:1.5" strokeWidth_0="2:2"/>
<case maxzoom="14" strokeWidth="2.5:2.5" strokeWidth_0="3:3"/>
<case maxzoom="15" strokeWidth="3:3" strokeWidth_0="3.5:3.5"/>
<case maxzoom="16" strokeWidth="4.25:4.25" strokeWidth_0="4.75:4.75"/>
<case maxzoom="17" strokeWidth="6.75:6.75" strokeWidth_0="7.25:7.25"/>
<case maxzoom="18" strokeWidth="9:9" strokeWidth_0="9.5:9.5"/>
<case minzoom="19" strokeWidth="10.5:10.5" strokeWidth_0="11:11"/>
</apply>
</switch>
</line>
</renderingStyle>
Tallenna tiedosto.
10. Siirrä tiedosto OsmAndin rendering-kansioon (Android\data\net.osmand\rendering).
11. Käynnistä OsmAnd ja valitse karttatyyliksi Nopeusrajoitus.