In the Argentina talk list we've been discussing a street numbering scheme appropriate for our country, and I would like input from people who know the DB better. So far this is *my* proposal, we're still discussing certain points in talk-ar, but knowing if this is workable or not means a lot. Something to keep in mind while reading this: http://wiki.openstreetmap.org/index.php/OSM_Protocol_Version_0.5#Relations
One key point is the use of 'role' for holding the numbers, I believe this is ok with the DB itself and the protocol? The relation would have a type="street_number" and a scheme="sequential" in this case, other schemes may be specified (for example "random" for places using cadastral numbers or truly random numbers). The following assumes scheme="sequential" (which is what is used in Argentina). There is a single relation per way (I haven't yet considered if it makes sense to have more than one way, but it's not critical, I believe). This relation would have one way and two or more nodes. The role of each node would hold the street number, which would be interpolated to the other nodes (so not every node in a way has to be tagged). The lowest number is the start node (need not be 0), and the observer is standing in the start node looking at the higher numbered nodes, so left and right are easily defined and can't be turned around by mistake. A tag k=sequence with v="odd_left|odd_right|left_first|right_first|random" would tell whether: odd numbers are on the left and even on the right (odd_left); odd numbers are on the right and even on the left (odd_right); numbers go sequentially on the left, then the sequence is continued on the right (left_first); same as above, but starts on the right (right_first); numbers are sequential but even and odd can be on either side (random), which is probably a sane default. left_first, right_first and random are not used in Argentina AFAIk, but they might be of use in other countries, I think? An example: <relation id="77" visible="true" timestamp="2006-03-14T10:07:23+00:00" user="fred"> <member type="way" ref="343" /> <member type="node" ref="911" role="0" /> <member type="node" ref="227" role="100" /> <member type="node" ref="941" role="150" /> <member type="node" ref="217" role="400" /> <tag k="type" v="street_number" /> <tag k="scheme" v="sequential" /> <tag k="sequence" v="odd_left" /> </relation> Is there anything inherently wrong with this system? I would prefer something other than 'role' for the numbers but the DTD only allows for it, I think. I wrote it thinking about ease of editing and efficiency both in storage and for use by software, most schemes I have seen are bad in two or more of those. _______________________________________________ talk mailing list talk@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk