[OSM-talk] Yet another street number scheme
Matias D'Ambrosio
angasule at gmail.com
Tue Oct 14 00:31:56 BST 2008
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.
More information about the talk
mailing list