Fi:Talonumerot

From OpenStreetMap Wiki
Jump to: navigation, search
Saatavilla kielillä — Karlsruhe Schema
· Afrikaans · Alemannisch · aragonés · asturianu · azərbaycanca · Bahasa Indonesia · Bahasa Melayu · Bân-lâm-gú · Basa Jawa · Baso Minangkabau · bosanski · brezhoneg · català · čeština · dansk · Deutsch · eesti · English · español · Esperanto · estremeñu · euskara · français · Frysk · Gaeilge · Gàidhlig · galego · Hausa · hrvatski · Igbo · interlingua · Interlingue · isiXhosa · isiZulu · íslenska · italiano · Kiswahili · Kreyòl ayisyen · kréyòl gwadloupéyen · Kurdî · latviešu · Lëtzebuergesch · lietuvių · magyar · Malagasy · Malti · Nederlands · Nedersaksies · norsk bokmål · norsk nynorsk · occitan · Oromoo · oʻzbekcha/ўзбекча · Plattdüütsch · polski · português · português do Brasil · română · shqip · slovenčina · slovenščina · Soomaaliga · suomi · svenska · Tiếng Việt · Türkçe · Vahcuengh · vèneto · Wolof · Yorùbá · Zazaki · српски / srpski · беларуская · български · қазақша · македонски · монгол · русский · тоҷикӣ · українська · Ελληνικά · Հայերեն · ქართული · नेपाली · मराठी · हिन्दी · অসমীয়া · বাংলা · ਪੰਜਾਬੀ · ગુજરાતી · ଓଡ଼ିଆ · தமிழ் · తెలుగు · ಕನ್ನಡ · മലയാളം · සිංහල · ไทย · မြန်မာဘာသာ · ລາວ · ភាសាខ្មែរ · ⵜⴰⵎⴰⵣⵉⵖⵜ · አማርኛ · 한국어 · 日本語 · 中文(简体)‎ · 吴语 · 粵語 · 中文(繁體)‎ · ייִדיש · עברית · اردو · العربية · پښتو · سنڌي · فارسی · ދިވެހިބަސް

Talonumerointitiedot kannattaa lisätä alla suomennetun Karlsruhe Scheman mukaisesti. Karlsruhe Scheman mukaisesti merkityt talonumerot näkyvät kartalla käytettäessä suurimpia zoom-tasoja.

Tässä kuvatuilla tavoilla merkittyjä osoitteita on syötetty vuoden päivät eikä merkittäviä puutteita ole havaittu. On todennäköistä, että talonumeroiden merkitsemistapa ei tästä muutu. Vaikka jotain muutettaisiin, tämän mukaan syötetyt tiedot voidaan muuttaa ohjelmallisesti.

Aiemmat ehdotukset (engl.) numerointien merkkaustavoista eivät ole johtaneet ohjelmistotukeen eikä merkittävään tietojen syöttöön, mutta keskustelu niistä paljasti niiden ongelmakohdat.


Perusteet

Koska talot sijaitsevat teiden sivuilla, tulee kunkin talonumeron olla tiestä sivussa. Talo ei ole osa tietä, vaan talo esitetään OSM:ssa solmuna tai alueena (= rakennuksena) talon todellisella sijaintikohdalla.

  • Jos talolla on vain yksi osoite, annetaan taloa kuvaavalle alueelle sopivat addr=* tagit.
  • Jos talolla on useampi osoite, merkataan kukin osoite omaksi pisteekseen, vaikka talo olisi piirretty alueena. Pisteet tulisi sijoittaa talon "sisälle" mutta lähelle osoitenumeroon kuuluvaa tietä lähintä seinää.
  • Jos useammalla irrallisella talolla on sama numero, on usein laitettu näiden keskelle yksi solmu jolle osoitetta kuvaavat tagit. Rakennusten yhdistämiseksi ei ole vielä merkkaustapoja, mutta rappujen kirjaimia voi merkata kullekin talolle.

Koska jokaisen talon merkkaaminen ei aina ole kohtuullisen vaivan takana, voidaan talonumeroiden välejä interpoloida; esim. kahden risteyksen välillä tietyllä puolella tietä on kaikki parittomat numerot annetulla välillä. Lopullinen tavoite on kuitenkin merkata jokainen osoite erikseen.

Tavanomaisten tapausten syötön tulisi olla mutkatonta.

Käytettävät tagit

Seuraavat tagit ovat tarpeen tai mahdollisia:

Tag Vaadittu tieto Elementti Arvot Kuvaus Esimerkki
addr:housenumber kyllä Node Area teksti talon numero 1
addr:street ei Node Area teksti kadun, johon tämä talo kuuluu, nimi Mannerheimintie
addr:postcode ei Node Area teksti postinumero, jonka alueelle tämän talon osoite kuuluu 00100
addr:city ei Node Area teksti kaupunki, jota käytetään tämän talon postiosoitteessa Helsinki
addr:country ei Node Area teksti Kaksikirjaiminen ISO 3166-1 alpha-2 mukainen suuraakkonen maakoodi (lisätietoa wikipediasta). Suomessa "FI" . Huomiota: ISO 3166-1 alpha-2 kaksikirjaiminen koodi Isossa-Britanniassa on "GB" eikä "UK". FI
addr:full ei Node Area teksti talon täydellinen postiosoite.
addr:interpolation ei Way even/odd/all interpolointitapa: parilliset luvut (even) / parittomat (odd) / kaikki (all)

Käyttötapaukset

Yksi talo yksinäisenä solmuna tien sivussa

NodeNextToRoad.png

<node id="1">
  <tag k="addr:housenumber" v="10" />
</node>

Talonumeron sijainti lasketaan etsimällä linnuntietä lähin piste solmua tai aluetta lähimpää kulkevalta tieltä.

Yksi talo taloksi merkattuna alueena

HousePolygonNextToRoad.png

<way id="1">
  <tag k="addr:housenumber" v="10" />
  <tag k="building" v="(yes|apartments|...)" /> 
</way>

Aivan kuten edellisessä kohdassa, mutta talon keskipistettä tullaan käyttämään talon sijaintina laskettaessa lähintä pistettä lähimmältä tieltä.

Useita taloja tien varrella

HouseNumbersInterpolation.png

Piirretyn tien suuntaisesti lisätään tien sivuun solmuja, jotka yhdistetään uudella way:lla. Tätä uutta way:ta käytetään vain merkkaamaan solmuissa annettujen numeroiden välistä interpolointia ja interpoloinnin laatua.

<node id="01" lat=... lon=...>
  <tag k="addr:housenumber" v="10" /> 
</node>
<node id="02" lat=... lon=...>
  <tag k="addr:housenumber" v="20" /> 
</node>
<node id="03" lat=... lon=...>
  <tag k="addr:housenumber" v="100" /> 
</node>
<way id="??">
  <node ref="01"/>
  <node ref="02"/>
  <node ref="03"/>
  <tag k="addr:interpolation" v="even" />
</node>

Solmuissa annetuista osoitenumeroista vain kokonaislukuarvot huomioidaan interpoloinnissa ja interpolointia tehdään vain niiden solmujen välillä, joissa kummassakin on kokonaisluku. Näin esimerkiksi talonumeron "12b" kummallekin puolelle täytyisi merkitä omana solmunaan talot 10 ja 14 (oikeille kohdilleen), jotta interpolointi voi jatkua näistä numeroista.

Jos tieltä puuttuu osoitenumeroista joku numero, tulisi numerot piirtää kahtena erillisenä way:na; toinen kuvaa numerot esimerkiksi numerot 1-11 ja toinen numerot 15-25, jos 13 puuttuu parittomien numeroiden sarjasta.

Erittäin kaukaisessa tulevaisuudessa OSMista voidaan olettaa löytyvän (maailmanlaajuisesti) kaikki talot muotoisinaan alueina, joilla jokaisella on yksilöity osoitteensa. Tällöin interpolointikäytäntö menettää merkityksensä, mutta siihen asti sitä tarvitaan. Väitetysti joissain muista lähteistä luvallisesti massatuotavissa tiedoissa on myös käytetty interpolointia osoitenumeroiden merkkaamiseen, joten näiden tuominen osaksi OSMin tietokantaa ei onnistuisi ilman interpolointi-viivoja.

Valinnainen osa: talon yhdistäminen oikeaan tiehen

Yhdistäminen nimellä

HousePolygonNextToRoadWName.png

<node id="1" lat=... lon=...>
  <tag k="addr:housenumber" v="10" /> 
  <tag k="addr:street" v="Astreet" /> 
</node>

Ihmiskäyttäjälle lienee, ainakin nykyisillä karttaeditoreilla, helpointa syöttää taloja kuvaaville solmuille tarvittaessa tagi addr:street jonka arvoksi annetaan tien name-tagissa annettu arvo. Tietä ohjelmallisesti etsittäessä tutkitaan vain way:t, joilla on tagi highway=*.

Vaikka tässä on mahdollisuus kirjoitusvirheisiin ja päivitysvirheisiin tien nimen mahdollisesti muuttuessa, oletetaan tämän olevan useimmissa tapauksissa riittävä käytäntö.

Yhdistäminen relaatiolla

Tiedon yhtenäisyyden ja koska karttakohteiden yhteyksien kuvaamisen rakenteeksi on OSMissa luotu relaatio-rakenne, on relaatioiden käyttö "oikeampi" tapa.

Relaatioiden lisääminen oletetaan onnistuvan helposti kun kartta-aineistoa esikäsitellään kullekin etsintäsovellukselle sopivampaan muotoon. Näitä relaatioita voi kuitenkin lisätä editoreilla manuaalisestikin.

Relaation tagit

Tagi Arvo Kommentti
type associatedStreet
name streetname On suositeltavaa käyttää kadunnimeä tai muuta relaation selkeästi yksilöivää nimeä

Relaation jäsenet

Tie tai solmu Rooli Lukumäärä Kommentti
Way street yksi Tie jota pitkin interpoloidaan
Node Way house yksi tai useampi Yksi tai useampi määritelty talonumeron paikka
<node id="1" lat=... lon=...>
  <tag k="addr:housenumber" v="10" /> 
</node>
<relation id="??">
  <tag k="type" v="associatedStreet" /> 
  <member type="node" ref="11" role="house" />
  <member type="way" ref="???" role="street" />
</relation>

Solmuna esitetty yksittäinen talo

HousePolygonNextToRoadWRel.png

<node id="11" lat=... lon=...> 
  <tag k="addr:housenumber" v="10" />
  <tag k="addr:street" v="AStreet" /> 
</node>

 ja

<relation id="??">
  <tag k="type" v="associatedStreet" /> 
  <member type="node" ref="11" role="house" />
  <member type="way" ref="???" role="street" />
</relation>

Interpoloitavan sarjan yhdistäminen tiehen

<node id="1" lat=...lon=...>
  <tag k="addr:housenumber" v="10" /> 
  <tag k="addr:street" v="AStreet" /> 
</node>
<node id="2" lat=... lon=...>
  <tag k="addr:housenumber" v="20" /> 
</node>
<node id="3" lat=... lon=...>
  <tag k="addr:housenumber" v="100" /> 
</node>
<way id="11">
  <nref id="1"/>
  <nref id="2"/>
  <nref id="3"/>
  <tag k="addr:interpolation" v="even" />
</way>

 ja

<relation id="??">
  <tag k="type" v="associatedStreet" /> 
  <member type="way" ref="11" role="house" />
  <member type="way" ref="???" role="street" />
</relation>

Osmarender eli Tiles@Home piirtää solmut, joilla on tagi addr:housenumber=*, harmaina pallukoina, joissa valkoisella annettu numero. Vastaavasti tagilla building=* merkattujen alueiden keskipisteeseen piirretään vastaava pallukka osoitenumerolla. Lisäksi wayn, jolla on tagi addr:interpolation=*, solmut yhdistetään harmaalla katkoviivalla, ellei tuo way ole osa relaatiota jolla on tagi type=associatedStreet. Interpoloimalla saatavia osoitenumeroita ei (vielä?) piirrettäessä lasketa tai piirretä lainkaan.

Käytännössä tämä tarkoittaa, että useamman korttelin mittaiset interpolaatiot piirretään risteävät tiet ylittävänä katkoviivana (jos osoitenumerot sisältävät solmut on yhdistetty omalla way:llaan interpolaatiota varten) tai että tie addr:interpolation-tagilla ilman relaatiota saa toistaiseksi päälleen harmaan katkoviivan. Käsin syötetyn relaation kanssa interpolointi on yksiselitteinen ja kartalle ei piirretä ylimääräistä.

Valinnainen osa: aputieto täydellisestä osoitteesta

<node id="01" lat=... lon=...>
  <tag k="addr:housenumber" v="10" />
  '''<tag k="addr:postcode" v="832989" />'''
  '''<tag k="addr:full" v="AStreet 10
                           832989 My Town
                           France" />'''
</node>

Valinnainen osa: Tarkentava tieto kulkuyhteydestä tieltä talolle

<relation id="??">
  <tag k="type" v="roadAccess">
  <member type="way" ref="11" role="accessto" />    (mihin taloon)
  <member type="node" ref="11" role="accessvia" />  (minkä solmun kautta, valinnaisesti useampia:)
                (Jokainen sisäänkäynti voidaan merkata, esimerkiksi ostoskeskukset tai vastaavat.)
  <member type="way" ref="???" role="accessfrom" /> (miltä tieltä)
</relation>

Accessvia -roolissa oleva solmu ("kulku tämän kautta") voi olla solmu tiellä tai solmu taloon päästävällä portilla. Tällöin kulkuyhteyttä etsittäessä osoite löydetään tätä solmua lähimpänä olevana kohtana accessfrom roolissa olevalta tieltä.

Käyttö

  • JOSM-editorin Esivalinnat-valikosta löytyy helpottava syöttöruutu addr:* -tageille
  • Useita kadunvarsia sekä Suomessa että muissa maissa on täytetty osoitteilla.
  • Ohjelmaan Traveling Salesman on lisäosa org.openstreetmap.osm.data.searching.HouseNumberFinderTest talonumerollisten osoitteiden etsimiseen.
  • Mapnik- ja Osmarender-kartoille on tehty muutokset numeroiden piirtämiseksi kartalle. Pyöräilykartalla numeroita ei vielä näytetä.