Contributors functionalities wishlist/Ways are just simple relations

From OpenStreetMap Wiki
Jump to: navigation, search

Proposed osm way of storing it

<?xml version='1.0' encoding='UTF-8'?>
<osm version='0.6' upload='false' generator='JOSM'>
  <node id='-23' action='modify' visible='true' lat='0.0030542719645534847' lon='-0.002335619738710756' />
  <node id='-21' action='modify' visible='true' lat='0.001796630567938254' lon='0.008893321312783262' />
  <node id='-18' action='modify' visible='true' lat='0.0017067990395682946' lon='0.02506299642693465' />
  <node id='-15' action='modify' visible='true' lat='5.389891704574028E-4' lon='0.039885198614906754' />
  <way id='-44' action='modify' visible='true'>
    <nd ref='-21' />
    <nd ref='-23' />
    <tag k='maxspeed' v='50' />
    <tag k='name' v='Haupstrasse' />
  </way>
  <way id='-40' action='modify' visible='true'>
    <nd ref='-18' />
    <nd ref='-21' />
    <tag k='maxspeed' v='30' />
    <tag k='name' v='Haupstrasse' />
  </way>
  <way id='-19' action='modify' visible='true'>
    <nd ref='-15' />
    <nd ref='-18' />
    <tag k='maxspeed' v='50' />
    <tag k='name' v='Haupstrasse' />
  </way>
  <relation id='-99' action='modify' visible='true'>
    <member type='relation' ref='-78' role= />
    <member type='relation' ref='-82' role= />
    <member type='relation' ref='-92' role= />
    <tag k='name' v='[Street] Hauptstr: master' />
    <tag k='streetname' v='Hauptstrasse' />
  </relation>
  <relation id='-96' action='modify' visible='true'>
    <member type='relation' ref='-78' role= />
    <member type='relation' ref='-92' role= />
    <tag k='maxspeed' v='50' />
    <tag k='name' v='[Street] Hauptstr: maxspeed 50' />
  </relation>
  <relation id='-92' action='modify' visible='true'>
    <member type='node' ref='-21' role= />
    <member type='node' ref='-23' role= />
    <tag k='name' v='[Street] Hauptstr: Breite Str bis Ortsende' />
  </relation>
  <relation id='-82' action='modify' visible='true'>
    <member type='node' ref='-18' role= />
    <member type='node' ref='-21' role= />
    <tag k='maxspeed' v='30' />
    <tag k='name' v='[Street] Hauptstr: Kirchgasse bis Breite Str' />
  </relation>
  <relation id='-78' action='modify' visible='true'>
    <member type='node' ref='-15' role= />
    <member type='node' ref='-18' role= />
    <tag k='name' v='[Street] Hauptstr: Ortsanfang bis Kirchgasse' />
  </relation>
</osm>

(I replaced "name" with "streetname" and something like "relname", which might be shown by an edtior in a relation-list, with "name" to make the second one visible.)
By this, a i.e. bus route may include a single piece of the way (if it leaves the way after a few meters) or the whole way (if it follows it partly). Sorry for my bad english.