Tilemill

Hoi allemaal,

Recentelijk ben ik als postbezorger begonnen bij PostNL.
Omdat de kaarten die daar beschikbaar zijn nogal ver uitgezoomd zijn dacht ik, laat ik mijn eigen kaarten maken.
Hier ben ik best ver mee gekomen, zie onder

Dit gebied komt overeen met http://www.openstreetmap.org/?lat=51.46451&lon=5.4674&zoom=17&layers=M
Omdat lange straten in de database zijn opgeknipt in vele kleine stukjes komt er geen naam tevoorschijn tenzij ik heel ver inzoom.
Nu vroeg ik me af of er een makkelijkere oplossing was dan de data lokaal te veranderen en deze dan in mijn postgis database te importeren…

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.).

Hoi Lambertus
Dank voor je antwoord
Het is duidelijk wat ik moet doen, maar ik denk dat ik het visueel in JOSM ga doen op mijn lokale .osm file omdat ik niet zo goed ben met tekstfiles en scripts :slight_smile:

Prima natuurlijk. Maar zorg dat je de veranderingen niet klakkeloos upload naar de OSM servers :wink:

Naar mijn (Eindhovense) ervaring is er in veel gevallen geen goede reden aanwezig om bepaalde straten in stukken te hakken. Het lijkt mij meer een eigenaardigheid die vanuit AND mee is gekomen.

Lambertus heeft natuurlijk wel gelijk dat je voorzichtig moet zijn met relaties en beducht moet zijn dat een stuk net andere tags kan hebben dan de volgende, maar als je je een beetje bekwaamt met relaties zie ik geen probleem om bepaalde straten samen te voegen in JOSM of Merkaartor en ook daadwerkelijk up te loaden naar de OSM servers. Begin dan met name met straten waar geen bussen doorheen rijden.

@OliverH: Je benadrukt straten waar geen bussen doorheen rijden.

Volgens mij geldt het echter ook voor straten waar geen fietsroutes aan gekoppeld zijn.

Donald

Of wandelroutes. :slight_smile:

Ja uiteraard, voor alle relaties moet je oppassen, maar fiets- en wandelroutes zal je niet snel tegenkomen in die hoek.
Ik zie nu ook dat Pensacola al aardig bekwaam is met relaties. Hij heeft er zelf een aantal aangelegd van het type ‘associatedStreet’

Ook voor polygonen is het schadelijk.