Geocoding

Hallo…

I´m a newbie with OSM.
As far as I can see OSM its great with a fantastic community.

I looked at the OSM-Files (XML) to understand OSM with main principle. All the time I saw relations between country, postcode, citiy, street and housenumber. So it was possible to map adress with geocoordinates.
But I found something different, a street with housenumber to map to geocoordinates. there is no postcode or country. If i search at oenstreetmap.org the adress was found correctly.

There is an example.


 <way id="38030984" user="magicmagnet" uid="11416" visible="true" version="1" changeset="1923923" timestamp="2009-07-24T11:48:41Z">
  <nd ref="446836670"/>
  <nd ref="446836674"/>
  <nd ref="446836676"/>
  <nd ref="446836672"/>
  <nd ref="446836670"/>
  <tag k="addr:housenumber" v="19"/>
  <tag k="addr:street" v="Straßbergerstraße"/>
  <tag k="building" v="yes"/>
 </way>

There is no relation with ID to found postcode or country.

Can anybody explain to me how this works.

Thanks in advance.

I forgot…

this adress ist exactly Germany, 80809, Straßbergerstraße 19

The geocoding service on openstreetmap.org is Nominatim. You can go to this page, and try searching for an address: http://nominatim.openstreetmap.org/
If you click on the link in the results for “details”, it will show where each part of the address came from.

A lot of places (eg cities and countries) are mapped as an area for the boundary. So Nominatim can calculate whether an address is within one of these areas. Some places are just mapped as a node, so Nominatim will check which is nearest.
More details for how it works on these pages: http://wiki.openstreetmap.org/wiki/Nominatim
http://wiki.openstreetmap.org/wiki/Nominatim/Development_overview