how does street address numbering work

What info do GPS devices need to properly calculate street addresses? I’ve seen one neighborhood where every house was tagged with a street name and number. Seems like there ought to be a more elegant way to accomplish this.

Presumably you’re looking for http://wiki.openstreetmap.org/wiki/Key:addr#Using_interpolation ?

I wonder if there’s any way to define a grid that covers a whole area, where every address, no matter where the road begins, is measured from the city center.

mkgmap will populate POI addresses using the addr: tag information, where that is present.

It seems that GPS devices will need addr: tags to route to a house address. One solution in the US is to combine TIGER address data with OSM street data when creating a routable map. OSM addresses would take precedence, with TIGER addresses filling in the unmapped areas. Of course there are many TIGER street and address errors, and the TIGER data only gets to the nearest block. However, it would create routable maps with street numbers.