Zo, das een mooi stukje huisvlijt. Complimenten!

Wat je kunt doen is een lijst bouwen waarin alle straatsegmenten op volgorde zijn opgenomen. Daarmee bedoel ik: je maakt lijstjes van stukken straat die samen een node delen en die dezelfde naam hebben. Deze lijstjes kun je dan weer exporteren door er osm.xml van te maken waarbij je alle nodes uit een lijstje (die dus voor dezelfde straat gebruikt zijn) in een enkele way definitie plaatst.

Een voorbeeldje. Stop het volgende in een .osm bestand en laad het in JOSM:

<?xml version='1.0' encoding='UTF-8'?>
<osm version='0.6' upload='false' generator='JOSM'>
  <bounds minlat='52.186464099999995' minlon='5.9782898' maxlat='52.1890557' maxlon='5.9808433' origin='CGImap 0.0.2' />
  <node id='45612068' timestamp='2009-12-25T18:03:21Z' uid='211771' user='AND_fixbot' visible='true' version='3' changeset='3449669' lat='52.1866533' lon='5.9800853' />
  <node id='45615104' timestamp='2009-12-26T09:43:10Z' uid='211771' user='AND_fixbot' visible='true' version='3' changeset='3453045' lat='52.1873684' lon='5.9796978' />
  <node id='45615544' timestamp='2009-12-26T10:19:41Z' uid='211771' user='AND_fixbot' visible='true' version='3' changeset='3453235' lat='52.1874805' lon='5.9802351' />
  <node id='45618038' timestamp='2009-12-25T17:26:55Z' uid='211771' user='AND_fixbot' visible='true' version='4' changeset='3449423' lat='52.1880655' lon='5.9793484' />
  <node id='45618481' timestamp='2009-12-25T18:03:25Z' uid='211771' user='AND_fixbot' visible='true' version='3' changeset='3449669' lat='52.188201' lon='5.9800616' />
  <node id='45620084' timestamp='2009-12-26T09:43:16Z' uid='211771' user='AND_fixbot' visible='true' version='4' changeset='3453045' lat='52.1886125' lon='5.978076' />
  <node id='45620830' timestamp='2009-12-26T09:43:17Z' uid='211771' user='AND_fixbot' visible='true' version='4' changeset='3453045' lat='52.1887854' lon='5.9789537' />
  <node id='45624330' timestamp='2009-12-23T17:52:57Z' uid='12946' user='AND' visible='true' version='2' changeset='3436376' lat='52.18953' lon='5.97857' />
  <node id='82487149' timestamp='2008-04-01T18:52:29Z' uid='6424' user='Lambertus' visible='true' version='3' changeset='7295' lat='52.1890372' lon='5.9801799' />
  <node id='82487151' timestamp='2009-11-08T15:20:43Z' uid='6424' user='Lambertus' visible='true' version='4' changeset='3064719' lat='52.1869012' lon='5.9813117' />
  <node id='100301030' timestamp='2007-11-06T20:07:47Z' uid='6424' user='Lambertus' visible='true' version='1' changeset='423411' lat='52.1872596' lon='5.9790917' />
  <node id='100301036' timestamp='2009-11-08T15:20:43Z' uid='6424' user='Lambertus' visible='true' version='3' changeset='3064719' lat='52.186579' lon='5.9797177' />
  <way id='-695' visible='true'>
    <nd ref='45618038' />
    <nd ref='45620830' />
    <tag k='AND_nosr_r' v='15648439' />
    <tag k='highway' v='unclassified' />
    <tag k='maxspeed' v='30' />
    <tag k='name' v='Lekstraat' />
  </way>
  <way id='-694' visible='true'>
    <nd ref='45615104' />
    <nd ref='45618038' />
    <tag k='AND_nosr_r' v='15648439' />
    <tag k='highway' v='unclassified' />
    <tag k='maxspeed' v='30' />
    <tag k='name' v='Lekstraat' />
  </way>
  <way id='6831360'  timestamp='2008-04-16T19:28:30Z' uid='6424' user='Lambertus' visible='true' version='3' changeset='162644'>
    <nd ref='45618481' />
    <nd ref='45618038' />
    <tag k='AND_nosr_r' v='15648617' />
    <tag k='highway' v='unclassified' />
    <tag k='maxspeed' v='30' />
    <tag k='name' v='Giessen' />
  </way>
  <way id='6831379'  timestamp='2009-12-08T23:12:48Z' uid='26230' user='BugBlue' visible='true' version='4' changeset='3329984'>
    <nd ref='45612068' />
    <nd ref='45615104' />
    <tag k='AND_nosr_r' v='15648439' />
    <tag k='highway' v='unclassified' />
    <tag k='maxspeed' v='30' />
    <tag k='name' v='Lekstraat' />
  </way>
  <way id='6831511'  timestamp='2008-04-16T19:28:32Z' uid='6424' user='Lambertus' visible='true' version='3' changeset='162644'>
    <nd ref='45615544' />
    <nd ref='45615104' />
    <tag k='AND_nosr_r' v='15648498' />
    <tag k='highway' v='unclassified' />
    <tag k='maxspeed' v='30' />
    <tag k='name' v='Noord' />
  </way>
  <way id='6831570'  timestamp='2008-04-16T19:28:11Z' uid='6424' user='Lambertus' visible='true' version='4' changeset='162644'>
    <nd ref='100301030' />
    <nd ref='45615104' />
    <tag k='AND_nosr_r' v='15648441' />
    <tag k='highway' v='unclassified' />
    <tag k='maxspeed' v='30' />
    <tag k='name' v='Merwedestraat' />
  </way>
  <way id='6831574'  timestamp='2009-12-08T23:12:48Z' uid='26230' user='BugBlue' visible='true' version='6' changeset='3329984'>
    <nd ref='82487149' />
    <nd ref='45620830' />
    <tag k='AND:importance_level' v='4' />
    <tag k='AND_nosr_r' v='15648443' />
    <tag k='highway' v='unclassified' />
    <tag k='maxspeed' v='30' />
    <tag k='name' v='Rijnstraat' />
  </way>
  <way id='6831628'  timestamp='2008-10-18T15:10:32Z' uid='6424' user='Lambertus' visible='true' version='5' changeset='417696'>
    <nd ref='100301036' />
    <nd ref='45612068' />
    <nd ref='82487151' />
    <tag k='AND_nosr_r' v='15648338' />
    <tag k='highway' v='unclassified' />
    <tag k='maxspeed' v='30' />
    <tag k='name' v='Haringvliet' />
  </way>
  <way id='45839058'  timestamp='2009-12-08T23:12:30Z' uid='26230' user='BugBlue' visible='true' version='1' changeset='3329984'>
    <nd ref='45620830' />
    <nd ref='45620084' />
    <tag k='AND:importance_level' v='4' />
    <tag k='AND_nosr_r' v='15648443' />
    <tag k='highway' v='unclassified' />
    <tag k='maxspeed' v='30' />
    <tag k='name' v='Rijnstraat' />
  </way>
  <way id='45839069'  timestamp='2009-12-08T23:12:33Z' uid='26230' user='BugBlue' visible='true' version='1' changeset='3329984'>
    <nd ref='45620830' />
    <nd ref='45624330' />
    <tag k='AND_nosr_r' v='15648439' />
    <tag k='highway' v='unclassified' />
    <tag k='maxspeed' v='30' />
    <tag k='name' v='Lekstraat' />
  </way>
</osm>

Je ziet dat de weg die van boven naar beneden loopt uit 4 losse stukken bestaat. Door deze losse stukken te combineren en op te slaan ontstaat de volgende osm xml:


<?xml version='1.0' encoding='UTF-8'?>
<osm version='0.6' upload='false' generator='JOSM'>
  <bounds minlat='52.186464099999995' minlon='5.9782898' maxlat='52.1890557' maxlon='5.9808433' origin='CGImap 0.0.2' />
  <node id='45612068' timestamp='2009-12-25T18:03:21Z' uid='211771' user='AND_fixbot' visible='true' version='3' changeset='3449669' lat='52.1866533' lon='5.9800853' />
  <node id='45615104' timestamp='2009-12-26T09:43:10Z' uid='211771' user='AND_fixbot' visible='true' version='3' changeset='3453045' lat='52.1873684' lon='5.9796978' />
  <node id='45615544' timestamp='2009-12-26T10:19:41Z' uid='211771' user='AND_fixbot' visible='true' version='3' changeset='3453235' lat='52.1874805' lon='5.9802351' />
  <node id='45618038' timestamp='2009-12-25T17:26:55Z' uid='211771' user='AND_fixbot' visible='true' version='4' changeset='3449423' lat='52.1880655' lon='5.9793484' />
  <node id='45618481' timestamp='2009-12-25T18:03:25Z' uid='211771' user='AND_fixbot' visible='true' version='3' changeset='3449669' lat='52.188201' lon='5.9800616' />
  <node id='45620084' timestamp='2009-12-26T09:43:16Z' uid='211771' user='AND_fixbot' visible='true' version='4' changeset='3453045' lat='52.1886125' lon='5.978076' />
  <node id='45620830' timestamp='2009-12-26T09:43:17Z' uid='211771' user='AND_fixbot' visible='true' version='4' changeset='3453045' lat='52.1887854' lon='5.9789537' />
  <node id='45624330' timestamp='2009-12-23T17:52:57Z' uid='12946' user='AND' visible='true' version='2' changeset='3436376' lat='52.18953' lon='5.97857' />
  <node id='82487149' timestamp='2008-04-01T18:52:29Z' uid='6424' user='Lambertus' visible='true' version='3' changeset='7295' lat='52.1890372' lon='5.9801799' />
  <node id='82487151' timestamp='2009-11-08T15:20:43Z' uid='6424' user='Lambertus' visible='true' version='4' changeset='3064719' lat='52.1869012' lon='5.9813117' />
  <node id='100301030' timestamp='2007-11-06T20:07:47Z' uid='6424' user='Lambertus' visible='true' version='1' changeset='423411' lat='52.1872596' lon='5.9790917' />
  <node id='100301036' timestamp='2009-11-08T15:20:43Z' uid='6424' user='Lambertus' visible='true' version='3' changeset='3064719' lat='52.186579' lon='5.9797177' />
  <way id='6831360' timestamp='2008-04-16T19:28:30Z' uid='6424' user='Lambertus' visible='true' version='3' changeset='162644'>
    <nd ref='45618481' />
    <nd ref='45618038' />
    <tag k='AND_nosr_r' v='15648617' />
    <tag k='highway' v='unclassified' />
    <tag k='maxspeed' v='30' />
    <tag k='name' v='Giessen' />
  </way>
  <way id='6831379' action='delete' timestamp='2009-12-08T23:12:48Z' uid='26230' user='BugBlue' visible='true' version='4' changeset='3329984'>
    <tag k='AND_nosr_r' v='15648439' />
    <tag k='highway' v='unclassified' />
    <tag k='maxspeed' v='30' />
    <tag k='name' v='Lekstraat' />
  </way>
  <way id='6831511' timestamp='2008-04-16T19:28:32Z' uid='6424' user='Lambertus' visible='true' version='3' changeset='162644'>
    <nd ref='45615544' />
    <nd ref='45615104' />
    <tag k='AND_nosr_r' v='15648498' />
    <tag k='highway' v='unclassified' />
    <tag k='maxspeed' v='30' />
    <tag k='name' v='Noord' />
  </way>
  <way id='6831570' timestamp='2008-04-16T19:28:11Z' uid='6424' user='Lambertus' visible='true' version='4' changeset='162644'>
    <nd ref='100301030' />
    <nd ref='45615104' />
    <tag k='AND_nosr_r' v='15648441' />
    <tag k='highway' v='unclassified' />
    <tag k='maxspeed' v='30' />
    <tag k='name' v='Merwedestraat' />
  </way>
  <way id='6831574' timestamp='2009-12-08T23:12:48Z' uid='26230' user='BugBlue' visible='true' version='6' changeset='3329984'>
    <nd ref='82487149' />
    <nd ref='45620830' />
    <tag k='AND:importance_level' v='4' />
    <tag k='AND_nosr_r' v='15648443' />
    <tag k='highway' v='unclassified' />
    <tag k='maxspeed' v='30' />
    <tag k='name' v='Rijnstraat' />
  </way>
  <way id='6831628' timestamp='2008-10-18T15:10:32Z' uid='6424' user='Lambertus' visible='true' version='5' changeset='417696'>
    <nd ref='100301036' />
    <nd ref='45612068' />
    <nd ref='82487151' />
    <tag k='AND_nosr_r' v='15648338' />
    <tag k='highway' v='unclassified' />
    <tag k='maxspeed' v='30' />
    <tag k='name' v='Haringvliet' />
  </way>
  <way id='45839058' timestamp='2009-12-08T23:12:30Z' uid='26230' user='BugBlue' visible='true' version='1' changeset='3329984'>
    <nd ref='45620830' />
    <nd ref='45620084' />
    <tag k='AND:importance_level' v='4' />
    <tag k='AND_nosr_r' v='15648443' />
    <tag k='highway' v='unclassified' />
    <tag k='maxspeed' v='30' />
    <tag k='name' v='Rijnstraat' />
  </way>
  <way id='45839069' action='modify' timestamp='2009-12-08T23:12:33Z' uid='26230' user='BugBlue' visible='true' version='1' changeset='3329984'>
    <nd ref='45612068' />
    <nd ref='45615104' />
    <nd ref='45618038' />
    <nd ref='45620830' />
    <nd ref='45624330' />
    <tag k='AND_nosr_r' v='15648439' />
    <tag k='highway' v='unclassified' />
    <tag k='maxspeed' v='30' />
    <tag k='name' v='Lekstraat' />
  </way>
</osm>

Het verschil tussen losse stukken en een gecombineerde weg is:


  <way id='-695' visible='true'>
    <nd ref='45618038' />
    <nd ref='45620830' />
    <tag k='AND_nosr_r' v='15648439' />
    <tag k='highway' v='unclassified' />
    <tag k='maxspeed' v='30' />
    <tag k='name' v='Lekstraat' />
  </way>
  <way id='-694' visible='true'>
    <nd ref='45615104' />
    <nd ref='45618038' />
    <tag k='AND_nosr_r' v='15648439' />
    <tag k='highway' v='unclassified' />
    <tag k='maxspeed' v='30' />
    <tag k='name' v='Lekstraat' />
  </way>
  <way id='6831379'  timestamp='2009-12-08T23:12:48Z' uid='26230' user='BugBlue' visible='true' version='4' changeset='3329984'>
    <nd ref='45612068' />
    <nd ref='45615104' />
    <tag k='AND_nosr_r' v='15648439' />
    <tag k='highway' v='unclassified' />
    <tag k='maxspeed' v='30' />
    <tag k='name' v='Lekstraat' />
  </way>
  <way id='45839069'  timestamp='2009-12-08T23:12:33Z' uid='26230' user='BugBlue' visible='true' version='1' changeset='3329984'>
    <nd ref='45620830' />
    <nd ref='45624330' />
    <tag k='AND_nosr_r' v='15648439' />
    <tag k='highway' v='unclassified' />
    <tag k='maxspeed' v='30' />
    <tag k='name' v='Lekstraat' />
  </way>

Versus

<way id='45839069' action='modify' timestamp='2009-12-08T23:12:33Z' uid='26230' user='BugBlue' visible='true' version='1' changeset='3329984'>
    <nd ref='45612068' />
    <nd ref='45615104' />
    <nd ref='45618038' />
    <nd ref='45620830' />
    <nd ref='45624330' />
    <tag k='AND_nosr_r' v='15648439' />
    <tag k='highway' v='unclassified' />
    <tag k='maxspeed' v='30' />
    <tag k='name' v='Lekstraat' />
  </way>

In het eerste geval zijn er 4 wegen gedefinieerd met elk 2 nodes, in het laatste geval is er 1 weg gedefinieerd met alle 5 nodes. Ik hoop dat het zo duidelijk is wat je moet doen om de losse stukken te combineren to 1 weg.

Edit: Waarschuwing: Zorg ervoor dat je geen van bovenstaande zaken naar de OSM servers upload! Upload ook geen van je straat-samenvoeg resultaten naar de servers van OSM! Straten zijn meestal met opzet opgesplitst (bijvoorbeeld omdat ze een andere maximum snelheid hebben of omdat ze wel/niet bij een relatie horen etc.).