[OSM-dev] Dealing with segements referencing deleted nodes in the planet dump

Jon Burgess jburgess777 at googlemail.com
Tue Dec 19 18:26:30 GMT 2006


According to planet-061213.osm the following segement exists buts its
nodes are missing:

  <segment id="530081" from="580612" to="580613" timestamp="2006-02-24T18:14:14+00:00">
    <tag k="name" v="A3 - A9 -  K_ln - FFT - Nuernberg - Muc" />
  </segment>

According to the API it has gone:

$ wget "http://www.openstreetmap.org/api/0.3/segment/530081"
...
16:41:29 ERROR 410: Gone.

but in the history it is still visible:

$ wget -q -O - "http://www.openstreetmap.org/api/0.3/segment/530081/history"
<?xml version="1.0" encoding="UTF-8"?>
<osm version="0.3" generator="OpenStreetMap server">
  <segment id="530081" from="580612" to="580613" visible="true" timestamp="2006-02-24 18:14:14">
    <tag k="name" v="A3 - A9 -  Köln - FFT - Nuernberg - Muc"/>
  </segment>
</osm>

I think the API is declaring the segment gone because the nodes have
been deleted and the nodes are missing from the planet dump file.

$ wget -O - "http://www.openstreetmap.org/api/0.3/node/580613"
...
16:34:33 ERROR 410: Gone.

The node history confirms the node was deleted months ago, so why is the
segment in the planet dump? 

<?xml version="1.0" encoding="UTF-8"?>
<osm version="0.3" generator="OpenStreetMap server">
  <node id="580613" lat="50.907919" lon="7.117317" visible="true" timestamp="2006-02-24 18:14:08"/>
  <node id="580613" lat="50.907919" lon="7.117317" visible="false" timestamp="2006-02-25 17:55:36"/>
</osm>

What I infer from this is that when the planet dump emits a segment it
does not check to see if the nodes have been deleted. 

This segment is a problem because the name tag contains invalid UTF-8
and i'm not sure what to do with it. I'm guessing that either the planet
dump should be surpressing these segments or we need a script to find
and delete them via the API.

        Jon







More information about the dev mailing list