Надо зачищать XML перед переработкой,
я вот ужо поправляю 455 ошибок прямо в ОСМ. И это без пересклейки ways в граф
$./scr-dupl < SPB-22052008.osm | grep DUPLBUG | wc -l
455
Вот кусок скрипта (найден в wiki для конвертации в mapinfo)
awk -F\' 'BEGIN{prev=-1}
{
if ($1 == " <way id=")
{
prev=-1;
way_id=$2;
}
if ($1 == " </way>")
{
prev=-1;
}
if ($1 == " <nd ref=")
{
if ($2 == prev) print "DUPLBUG: in line=",NR,"way_id=",way_id,"node1=",$2,"node2=",prev;
if (prev != -1) print prev,$2
prev=$2;
}
}'