Kunnanrajat OSM-XML -muodossa

Toisessa aiheessa http://forum.openstreetmap.org/viewtopic.php?id=13997 tulikin kerrotuksi, että on helppoa, vaikkakaan ei välttämättä järkevää, hakea paikkatietoja WFS-palvelusta ja tuoda ne esimerkiksi GPX-formaatin kautta JOSM:iin ja siitä eteenpäin. Kunnanraja-aineisto pelkkinä raakoina viivoina on nyt ladattavissa myös valmiiksi OSM-XML:nä. En ole tarkistanut, menikö projektiomuunnos oikein, joten suhtautukaa aineistoon varovasti. Jos siinä on virhettä, niin se on noin 120 metriä itä-länsisuunnassa. Pienemmät virheet johtuvat itse aineistosta, sehän on yleistetty käytettäväksi noin mittakaavassa 1:1000000, ja yksittäisissä rajapisteissä voi siitä syystä olla kymmenien metrien suuruisia virheitä.
http://latuviitta.org/documents/kunnat.osm

Tekijänoikeuksiin pätee luonnollisesti MML:n alkuperäiset ehdot.

Huom! Älkää nyt vaan jokainen menkö tallentamaan koko maan kunnanrajoja JOSM:sta uusina kohteina tietokantaan! Ei ollut välttämättä hyvä ajatus laittaa tuota .osm -tiedostoa ladattavaksi, mutta en taida saada sitä pois palvelimelta ennen kuin vasta tiistaina.


(ja jos joku ei tajunnut, tuo oli "aaltoja" -hymiö)

  .

ja se on jo ladattu… eli myöhäistä…

Mutta siis, siellä oli pisteitä ja teitä (way). Tiet oli nimetty esimerkiksi

  • Onko mitenkään mahdollista arvata mikä tie (way) kuuluu kuntaan X?

Vai onko nuo tiet aina kahden vierekkäisen kunnan raja, eli kuntaan X kuuluu N määrä teitä. (jossa N on kunnan X ympäryskuntien lukumäärä), jolloin

  • Onko mitenkään mahdollista arvata mitkä tiet (way) kuuluu kuntaan X?

Osmosis kyllä kaivaa (näin kuvittelen) haluamani rajat esiin, jos vain tietäisin mitä olen hakemassa.

.

typo korjattu

GPX välittävänä tiedostomuotona on aika älytön, mutta helppo myös, koska sille löytyy tuki konstailematta. GPX voi pitää pari ominaisuustietoa, mutta niillä on jotkin kiinteät nimet. Uskoisin, että viivoihin liittyviä tietoja voisi siirtää GPX:ään tuhoamalla WFS:stä haetulta karttatasolta liiat ominaisuustiedot ja nimeämällä jäljelle jääneet oikella tavalla, ja tekemällä sitten GPX-muunnoksen ominaisuustietojen kanssa. Siitä vaan kokeilemaan. Ja QGIS:ssähän voi tutkia sitä alkuperäistä aineistoa. Siinä on myös OpenStreetMap-plugin, mutta en ole tehnyt sillä mitään oikeaa koskaan, sen verran vain kokeillut, että oudolta tuntui, mutta kyllä se tietoja OSM-palvelimelta hakee ja lupaa tallentaa muutokset.

Ja MML sivulla ilmaisaineistojen kohdalla sanotaan:
“Ainoana rajoitteena on, että käytön yhteydessä on mainittava aineiston alkuperäislähde ja aineiston vuosiversio, esim. © Maanmittauslaitos, 2010”

Eli tuota aineistoa ei saa lisätä OSM:ään, koska emme voi taata, että jokainen kartanpiirtäjä lisää sivuilleen tuon maininnan.

:frowning:

Tein kuitenkin oman kartan aiheesta paikallisesti. Pohjakarttana on OSM:n mapnik tai T@H himmennettynä.

Kuntarajat pitää valita näkyville oikealta ylhäältä checkboxista, jonka vieressä lukee “Kunnat, © MML 2011”
Otsikkopalkissa on vielä “Kuntarajat, rajadata © Maanmittauslaitos 2011”
Toivottavasti tuo riittää tuoksi vaadituksi maininnaksi.

http://opps.dyndns.org/kunnat/

zoomaustaso 14 puuttuu vielä, Maperitive sitä kovalla tohinalla (oikeasti, tuulettimet tohisee, kun cpu tekee töitä) vääntää kasaan ja lisään ne sinne tämän päivän aikana.
zoomaustasot 0-5 puuttuu, enkä näe mitään syytä miksi ne edes tekisin.

Tuolla kun surffailee, niin valtionrajoihin ja lääninrajoihin verratessa huomaa tuossa aineistossa epätarkkuksia.

.

PS: taitaa tuo palomuuri olla tiensä päässä. liikenne pätkii jo silloin tällöin aika pahasti.

Kaiketi nuo rajat voisi leipoa Garmin-karttaankin erillisenä tasona ja korvata sillä OSM-aineiston osoitehaussa. Karttatason nimeksi vain laitettaisiin jotain tyyliin ©MML ja lisättäisiin se myös Garminin-copyright-viestiin. Erillisen tason ansiosta kuntarajat saisi tavallisesti piiloon. Onko noita rajoja saatavana tarkempina? Esimerkiksi Vantaan rajat näyttävät OSM:ssa tarkemmilta. mkgmap syö vain osm- ja mp-muotoa, joten muunnosskripti olisi tarpeen. OSM:iin kopioinnin estämiseksi kuntarajatason voisi ehkä jakaa pelkästään Garminin img-muodossa.

Tuskinpa tuota nyt hirveänä tarvitsee katua. Oletan että ne jotka asiasta ovat päässeet perille ovat myös lukeneet sen laittomuudesta ja käsittääkseni Osm:än tekijöillä on melko korkea moraali lähteä rikkomaan lakia ja tietynlainen ammattiylpeys omasta työstään. Tietenkään kaikkea ei voi tietää, niin kuin en itsekään tiennyt tuota lakikysymystä.

En minä ollut huolissani lisensseistä, vaan siitä, että JOSM näkee tuossa tiedostossa hirveästi uusia viivoja ja tallentaa ne kyllä ilomielin aina uudestaan tietokantaan, jos käyttäjä ei huomaa varoa.
OSM:ssa sinänsä on ihan vastaavia lähteen mainitsemista vaativia aineistoja vaikka kuinka paljon, kuten sivulta http://wiki.openstreetmap.org/wiki/Attribution näkee. Vallitsevan CC SA-BY -lisenssin kanssa pelkällä lähteen mainitsemisen vaativalla BY:lla tuskin on mitään ristiriitaa, mutta ilmeisesti nyt lisättävät kohteet ovat myös jollain tavalla OdBL:n piirissä, ja siitä, kuinka se säilyttää tiedon aineiston lähteestä ei ole mitään varmaa tietoa.

Ei minun WFS-palvelustanikaan helposti löydä aineistoja koskevia tekijänoikeuksia ja rajoituksia. WFS-palvelun mukainen tapa on käydä lukemassa ne palvelun metatiedoista http://188.64.1.61/cgi-bin/tinyows?service=WFS&version=1.0.0&request=GetCapabilities
Aineiston saa kuitenkin irti myös ilman, että koskaan kävisi lukemassa metatietoja:
http://188.64.1.61/cgi-bin/tinyows?service=WFS&version=1.1.0&request=GetFeature&typeName=lv:mml_paikannimet20&maxFeatures=20
Tämä on kuitenkin se tapa, millä WFS on tehty toimimaan, ja palvelua käyttävän voidaan olettaa tietävän, miten metatiedot saa esille, ja tämä tyydyttää myös Maanmittauslaitosta.

OSM:lla on käytössä kolme tapaa aineiston alkuperän osoittamiseen. Tuo alussa linkitetty Attribution-sivu on yksi, lähteen mainitseminen muutoskokoelman tiedoissa toinen, ja kolmas tapa on laittaa source-tarra itse kohteeseen. Mikään niistä ei ole täydellinen.

Kyllä sitä tuntee itsensä niiin tietämättömäksi näissä asioissa. Intoa kuitenki on joten jatkanpa juttua hivenen. MML:n sivuilla: http://www.maanmittauslaitos.fi/node/6417 sanotaan seuraavaa:

Käyttöoikeudet

Tämä on maailmanlaajuisen, maksuttoman, peruuttamattoman rinnakkaisen käyttöoikeuden myöntävä lisenssi, jolla edellä mainittua aineistoa voi vapaasti:

* kopioida ja levittää
* muokata ja hyödyntää kaupallisesti jatkolisensoimalla
* yhdistellä muihin tuotteisiin 
* käyttää osana sovellusta tai palvelua

Käyttäjän velvollisuudet ja vastuut

Käyttäjän on aineistoa tai siitä tehtyjä tuotteita käyttäessään ja edelleen luovuttaessaan:

* Mainittava MML:n tekijänoikeus ko. aineistoon kohdan 'Yleistä' mukaisesti.
* Vaadittava tämän lisenssin ehtojen noudattamista myöntäessään lisenssejä tuotteeseen tai palveluun, jossa käyttää aineistoa tai sen osaa.  
* Poistettava maininta alkuperäislähteestä, mikäli Maanmittauslaitos sitä erikseen vaatii.

Minulle asia vaikuttaa sellaiselta, että esim. kuntien rajoja saa piirtää, kunhan laittaa esim. karttaeditorissa kohtaan source merkinnän: © MML, 2011. En kuitenkaan väitä että tulkintani on oikea, mutta mitään ristiriitaa en löydä. Luulo ei ole tiedon väärti ja siksi ajattelin jatkaa tätä ketjua.

Tuli vielä mieleen, että sivustolla: http://www.maanmittauslaitos.fi/lomakkeet/tiedot-lataamista-varten voi tekstikenttään laittaa suoraan viestin, että aikoo laittaa tiedot osm:ään. Mitä olette mieltä, kannattaisiko siis täyttää em. hakemus ja kokeilla tuleeko vastakommenttia MML:ltä, vai voisiko asiaa kysyä suoraan MML:ltä.

Tämä on se ongelma. Pelkästään CC-BY-SA-tyylisesti lisensoitu aineisto pitäisi mahdollisesti poistaa, kun OSM siirtyy uuteen lisenssiin. Toinen ongelma on, miten tuo tekijänoikeus mainitaan aineistosta piirretyissä kartoissa. Saattaa olla, että maininta sivulla http://www.openstreetmap.org/copyright riittäisi, sillä kaikkien karttojen pitäisi jollain tavalla osoittaa tuolle sivulle.

Jos MML:stä jotain aineistoa OSM:iin tuodaan, niin sitä varten pitäisi kaiketi perustaa erillinen käyttäjätunnus. Tavallinen käyttäjä, joka on jo lisenssimuutoksen hyväksynyt, rikkoisi MML:n lisenssiehtoja lisäämällä ne ‘omissa nimissään’ ja OSM:n kannalta vapaammilla lisenssiehdoilla tietokantaan. Saako OSM-tietokantaan enää yleensäkään tehdä CC-BY-SA-lisensoituja muutoksia?

http://www.maanmittauslaitos.fi/yhteystiedot
Tuolta kai “Digitaaliset aineistot - myynti” olisi lähinnä se paikka mistä asiaa voisi tiedustella.

Tuo skelan mainitsema copyright sivun viittaus voisi ehkä olla se joka menisi läpi - siellä on muitakin alan vastaavia toimijoita mainittu, jotka ovat samoilla ehdoilla aineistoa käyttöön luovuttaneet. Tuo meneillään oleva lisenssiehtojen muutos kyllä hankaloittaa tätä.

.

Löytyy myös http://wiki.openstreetmap.org/wiki/Contributors jossa datalähteet on lueteltu monisanaisemmin (muttei sielläkään kaikkia). Pitäisiköhän tuonne wikiin olla linkki copyright-sivulta? OSM:n pitäisi saada aikaan sivu, jossa isommat lähteet on lueteltu kattavasti ja ajantasaisesti.

Olin kaiketi katsonut jotenkin huolimattomasti tuota MML:n kunta-aineistoa. Luulin, että siellä oli vain pienimittakaavaisia aineistoja. Mutta tarkin onkin 1:10k mittakaavassa.

Rupean suunnittelemaan tuon aineiston lataamista osaksi OpenStreetMappia. Pitää hiukan ensin tutkia teknistä suoritusta. Sitten ajattelin, että laitan tag:eihin tiedot, että aineisto on MML:n tietoaineistoja ja minkä vuoden kunta-aineistoa.

Sitten tietysti tuonne yleisiin sivustoihin pitää tehdä tarvittavat viittaukset.

Kun suunnitelma on valmis, niin laitan sen sitten tänne kommentoitavaksi. Saa sitten repostella.

Ei niitä tarkempia aineistoja siellä ennen ollutkaan, ovat tainneet tulla joskus lokakuussa. Ajattalin laittaa ne Latuviitan WFS:ään, mutta huomasin, että minulla ei riitä osaaminen eikä työkalut tuon Inspire-määrittelyn mukaisen GML:n haltuunottoon. Viitsisitkö mitenkään muuntaa ne ihan tavalliseksi perus-GML:ksi tai vaikka shapefileksi siinä samalla, kun suunnittelet?

Joo, ei tarvitsekaan, muunnos shapefileksi onnistui sittenkin ogr2ogr:llä, kunhan haki skeematiedoston erikseen .xml-tiedoston pariksi. Hauskaa kyllä, että tiedostot ovat epäkelpoja :slight_smile: EPSG:3067 on “Easting-Northing” -järjestelmä, mutta MML:n ladattavassa XML:llä koordinaatit ovat väärässä järjestyksessä.

<gml:Envelope srsName=“EPSG:3067”>
gml:lowerCorner6959056.244 320404.625</gml:lowerCorner>
gml:upperCorner7006517.423 366787.880</gml:upperCorner>
</gml:Envelope>

Ei sittenkään täysi menestys ogr2ogr:llä, aluemainen versio ei muunnu vaan antaa virheen
ERROR 1: Unrecognised geometry type .
ERROR 1: Invalid surfaceMember

Laitoin kysymyksen gdal-dev -listalle, eiköhän tuokin ongelma ratkea.

Voi elämä,

Pitää varmaan motkottaa MMLn suuntaan kanssa.

Kyllä mä sain tuolla ogr2ogr:lla jotain aikaa. Tosin nuo ominaisuustiedot jotenkin jäivät laahaaman. Pitää katsoa myöhemmin tarkemmin.

Tietävät jo.

Mittakaavojen 1:250000 ja 1:10000 aineistot korjattiin eilen ja ne ovat nyt saatavilla myös Latuviitan WFS-palvelusta, tosin pelkkinä viivanpätkinä, koska alueiden muodostaminen ei vielä onnistunut. OSM:ia ajatellen viivat ovat OK, mutta olisi tietysti mukava myös tietää, mitä kuntia viivat rajaavat. Nyt viivanpätkillä ei ole muita ominaisuustietoja kuin “gml_id” ja “localid”. Näyttää siltä, kuin alkuperäisessä GML:ssä olisi OSM-tyyliset ralaatiot, eli sieltä joku innokas varmaankin voisi kaivaa esiin ne viivaelementit, jotka yhdessä muodostavat kunkin kunnat rajat alueena.
1:10000-aineistossa on 153742 viivanpätkää jotka koostuvat 933826:sta taitepisteestä. Taitepisteitä on keskimäärin 6 ja rajaviivan keskimääräinen pituus on 222 metriä, ja kuntaa kohti OSM-relaatioihin tulisi kuulumaan keskimäärin jotain 400 jäsentä. Ei tunnu kovin houkuttelevalta. Sen sijaan 1:250000 aineistossa on vain 1104 viivaa, joista suurimmassa on 983 taitepistettä.

Tästä voi halutessaan jatkaa keskustelua periaatteelliselle tasolle. 1:10000 mittakaavan aineisto on paras kuntaraja-aineisto mitä on olemassa, mutta silti se ei ole välttämättä hyvä, jos sen siirtää OSM:iin. Tavallisiin OSM-käyttötapauksiin joku yleistetty versio sopisi paremmin, mutta silti joskus joku voisi haluta sitä tarkinta mahdollista tietoa. OSM:ia ei kuitenkaan ole suunniteltu niin, että samoista asioista voisi olla tietokannassa erilaisia versioita, kuten nyt tarkat kunnanrajat vs. yleistetyt kunnanrajat. Sehän merkitsisi jonkinlaista karttatasoajattelua ja OSM:in perusteeseihin kuuluu, että sellaista ei OSM:ssa käytetä.

Rajaviivat voi hakea myös shapefile-paketteina http://latuviitta.org/documents/mml_kunta10k_2011.zip ja http://latuviitta.org/documents/mml_kunta250k_2011.zip. Ne ovat ETRS:3067 -projektiossa, koska Latuviitan perusteeseihin kuuluu, että Googlen projektio on ihan tyhmä, kuten laatoitukseen perustuvat kuvapalvelutkin, vaikka kieltämättä ovatkin yleisesti käytössä ja toimivat hienosti.

Näyttääkö kumpikaan kuntanumerolta, esimerkiksi 092=Vantaa (Helsingin maalaiskunta)? Joskus latasin muistaakseni kunnat.netistä kuntanumeroluettelon. Näytti siltä, että ne on annettu joskus kauan sitten aakkosjärjestyksessä. Yhdistymisten ja nimenmuutosten myötä aakkosjärjestys on rikkoutunut.

Esimerkiksi Vantaalla on Tuusulaa, Keravaa ja Sipoota vasten rajoja, joissa on rakennettu asuinalueita ihan rajaan saakka. Toisella puolella on sitten pelkkää metsää tai peltoa. Tarkoista rajoista saattaisi joskus olla hyötyä maastossa liikkumisessa silloin, kun polut puuttuvat kartalta. Mutta eiköhän kohtuullisen vähän yleistettykin raja tuohon riittäisi. En tiedä, mistä Vantaan raja on OSMiin tupsahtanut, mutta ainakin koilliskulma näyttää melko tarkalta.

Tärkein tarkkojen rajojen sovellus lienee osoitehaku. Kun rajat ovat tarkat, kaikille teille ja paikoille voidaan päätellä tarkka sijaintikylä tai -kunta. (Kunpa postinumerotkin olisivat käytettävissä.)

Mitä varsinaista haittaa noista tarkoista rajoista voisi olla? Bittikarttojen piirtely hidastuu hieman. Vektorikartoissa rajat voi poimia omaksi, tavallisesti piilotetuksi tasokseen. Esimerkiksi Garmin-kartoissa voi olla paitsi karttapaloja myös karttatasoja.

Hienoa, että jaksat paneutua tähän.

Rajaviivoilla itsellään ei näyttäisi olevan muita ominaisuuksia kuin tunnukset gml_id ja localid. Kuntien ja muiden aluejakojen ominaisuudet on annettu alueille. Sama ajatus taitaa nykyisin olla OSM:ssakin, eli ominaisuudet ovat relaatioilla? Eikä enää left/right -juttuja viivalle kertomaan mitä sen kulkusuunnassa vasemmalla/oikealla puolella on? Minä en ole paljon noita relaatioita tutkinut.
Luulisin, että näiden kunnanrajojen käsittely sujuisi parhaiten jollain skriptillä, joka tutkii alkuperäistä GML-tiedostoa ja etsii relaatiohin kuuluvat jäsenet sieltä ja siirtää ne siitä jotenkin OSM-maailman puolelle. Ei ole sellaista, jota minä osaisin.

Muuten MML:n XML-muotoisten aluejakoaineistojen haltuunotto onnistuu nyt suoraan ogr2ogr:llä. Tarvitaan .xml ja sen skeema, jolle annetaan pääte .xsd, laitetaan tiedostot samaan hakemistoon ja tehdään muunnos mieluiten PostGIS- tai Spatialite-muotoon. Näin saadaan yhdellä kerralla muunnetuksi sekä alueet että viivat, ja pitkät ominaisuustietojen nimet säilyvät. Esimerkiksi näin:

C:\Testi>ogr2ogr -f SQLite -dsco spatialite=yes -dsco init_with_epsg=yes inspire.sqlite inspire_au.xml

Tähän tarvitaan trunk-versio gdal:ista, koska mukana täytyy olla tämän tiketin aiheuttamat muutokset
http://trac.osgeo.org/gdal/ticket/4328