[OSM-dev] Data source for robot
Peter Budny
peterb at gatech.edu
Tue Oct 12 14:46:17 BST 2010
Jochen Topf <jochen at remote.org> writes:
> On Tue, Oct 12, 2010 at 04:36:34AM -0400, Peter Budny wrote:
>> Frederik Ramm <frederik at remote.org> writes:
>> > Peter Budny wrote:
>> >> I'm building a robot as a school project that will use data from TIGER
>> >> imports and automatically create route relations for US state roads.
>> >
>> > My advice is not to do it; if it can be done automatically, route
>> > relations are not required
>>
>> If route relations are not required, then what are
>> http://wiki.openstreetmap.org/wiki/Relation:route#Road_Routes for?
>
> Good question. What are they for? I never understood that either. :-)
>
>> They /are/ required, because roads may be discontiguous in various ways:
>> a road may change names (e.g. Main Street North becomes Main Street
>> South, but to a driver or pedestrian, both are just one continuous Main
>> Street), or even be physically discontiguous (some state and even US
>> Highways do this).
>
> So?
>
> Is any application actually using this? And what for?
>
> I am not beeing facetious, what are these routes actually useful for that
> the tags on the roads don't already do?
Road routes are useful because it avoids the dreaded semicolon (as
someone else called it).
For instance: I would love to see the correct symbol for roads on the
map--an Interstate shield, a US Highway shield, or a State Road shield
with the shape of the state. In a road relation, a URL to this is
stored in the symbol=* key. The renderer would just find all the road
relations a way is part of, grab their symbols, and place them on the
map.
Currently no renderer supports this. They draw ovals and put the ref=*
inside, which would be okay... except that they don't support
semicolons. What they /should/ do is split the tag by semicolons, and
place all the resulting tags on the road individually.
What they /actually/ do is try to place a giant ref=* tag inside the
oval, which usually means giving up when you have "ref=US 29; US 78; US
278; GA 8" (and that's assuming you don't use the long US:US and US:GA
format).
Relations are the cleaner solution here. You /could/ accomplish the
same thing with regular tags, but who wants to see symbol=*, symbol_1=*,
symbol_2=*, etc. on every way in a city? (Or worse, a giant symbol=*
tag with semicolon-separated URLs?)
--
Peter Budny \
Georgia Tech \
CS PhD student \
More information about the dev
mailing list