Kunnanrajat OSM-XML -muodossa

Jep, enimmät tiedot ovat relaatioissa. Kunkin alueen rajat on jaettu viivanpätkiin niin, että samaa viivanpätkää käytetään molempien puolien relaatioissa. Jos myös kaupunginosat on merkitty kartalle (onko niitä MML:n aineistossa?), niin sitten kaupunkien välinen rajaviiva voi olla pienissäkin pätkissä. Sama viiva voi olla monessa relaatiossa eri rooleissa: kaupunginosa, kunnanraja, seutukunnan raja, maakunnan raja, valtakunnan raja. Helsingissä kaupunginosat ovat olleet iät ja ajat, mutta Vantaalla niitä ei ole. Jos ne lisättäisiin, niin kenties Helsingin rajanpätkiä voisi joutua pilkkomaan.

Koko pääkaupunkiseudun aluerajaukset ovat muuten nekin WFS:ssä, muunnettu KML-tiedostosta, joka on peräisin Helsinki Region Infoshare -sivustolta. Lisenssi on vastaava kuin MML:n aineistoissa eli vaatii lähteen ilmoittamisen.

Miten tämä homma mahtaa edistyä? Nyt olisi lisäpainetta siitä, että mkgmap osaisi tehdä täydellisen osoitehakemiston. Sitä ei vain voi Suomessa käyttää, koska kunnanrajat ovat puutteelliset. Käyttämäni --location-autofill=nearest, joka ilmeisesti arpoo tiedot lähimmistä place=*-solmuista, ei vaikuta toimivan kovin järkevästi.

Onko jossain aineistossa myös kaupunginosien rajat, vai pitääkö niitä kerjätä jokaisen kunnan virkamiehiltä erikseen? Entä onko MML:n aineistossa vielä vanhoja kunnanrajoja, sanotaan vaikka ennen Salon tai Sastamalan seudun liitoksia?

Rajoja odotellessani yritän saada mkgmapin osoitehaun toimimaan place-solmujen avulla. Tällä hetkellä pahin ongelma on, että kartalta löytyy erikseen Suomi ja Finland. Lisäilen tageja rajaseudun place-solmuihin, niin että koko Suomi olisi Suomessa. Jotkut Suomen paikat tulkittiin kokeessani venäläisiksi, koska lähdeaineistossa on muutama kylä Venäjän puolelta.

Olisiko mitenkään mahdollista muuntaa vieraita aineistoja suoraan Garmin-muotoon ja yhdistää ne OSM-aineistojen kanssa jollain julkaisuohjelmalla valmiiksi img-tiedostoksi? Toimisivatko esimerkiksi GPSMapedit, cgpsmapper, img2gps, MapSend tms., vai onko ainoa tapa viedä kaikki ensin OSM:iin? Esimerkiksi nuo kunnanrajat kun on kertakaikkisen helppo saada esimerkiksi shapefilenä valmiina alueina, mutta niiden vieminen viivoina ja relaatiohirviöinä OSM:iin ei ole ollenkaan yksinkertaista.

Onhan se varmaan jollain tavalla mahdollista. Käyttäähän mkgmap jo nytkin erillistä tiedostoa rajojen määrittämiseksi, koska rajat rikkoutuisivat muuten karttapalojen reunoilla. Eiköhän shapefile jollain tavalla taivu siihen muotoon.

Yritän ensin saada place-solmuihin perustuvan osoitehaun toimimaan. Jokin mättää, kun indeksissä on erikseen Suomi ja Finland, vaikka konfiguraation mukaan ne pitäisi ymmärtää samaksi maaksi. Tänään korjasin toivottavasti kaikki ?- ja ??-nimiset tiet Suomesta ja Finlandista.

Olisiko valmista Java-koodia rajatiedon lukemiseen? Tarvitsisin alueet java.awt.geom.Area-muodossa niin, että pisteet ovat WGS84-koordinaatteja. Lisäksi tarvitaan OSM-attribuutteja, ainakin admin_level ja name.

Lisäys: olisihan sitä, shp-to-osm.jar. Mutta olisikohan sittenkin järkevämpi homma täydentää ne jo OSM:ssä olevat rajat? Tulisiko siitä lisenssiongelmia?

Mieleeni tuli, että saattaisi olla järkevää kuvata osoitehakua varten “alueiksi” maakunnat tai entiset läänit. Osoitehaku on tällainen:

Alue
Kaupunki
Osoitenumero (ei toimi vielä, annettava vaikkapa 1)
Tiennimi

Kun alue on valittu, kaupunkivalikoima supistuu. Samaten kaupungin valitseminen supistaa tiennimihakua. Kokeilemissani kartoissa on ollut kaksi aluetta: Suomi ja Venäjä (muutama tienpätkä itärajan takana). Onko ehdotuksia aluejaoksi?