Ок, уточнил текст вверху ^^^
Нумеровать RoadID - разумеется, подряд
Тяжело отслеживать изменения
и вносить поправки не зная way_id → RoadID соответствия.
Ну а секция [NODES] в .mp
вообще не присутствует, что позорно для формата включающего
дорожный граф.
usm78-gis:osm2navit четырехпроходный.
ну так он же компилятор всё-таки, там совсем другие задачи
Будем надеяться на скорый osm2img
usm78-gis,
у меня сейчас в mp родные NodeID и WayID прописаны в комментариях
про два прохода - это я слишком оптимистично сказанул…
в osm у линий сначала задаётся список узлов, а тольго потом теги
поэтому проходов минимум три:
- среди всех линий выделить дороги
- на дорогах выделить узловые точки
- выдать данные в mp
пытаюсь выделить узловые точки для роутинга
столкнулся с такой штукой: см. WayID=17331468
интересно, как умудрились провести дорогу 20 раз (!) через одну и ту же точку??
2 liosha.
Нда. И в самом деле удивительная улица… Она рисовалась в потлахе 0.5 версии. А не в этой ли версии был глюк, когда создавались дубликаты объектов? Вполне возможно, что эта улица получилась объединением из двух версий одной улицы. А может и просто неудачно нарисовали…
P.S. Кстати, а ведь Red_rebel делал конвертер и у него уже была автогенерация роутингового графа. Может стоит выйти на него ради обмена опытом?
в общем, вот что пока получается… вечером выложу результат
до компиляции с роутингом ещё далеко - только в москве маппер выдал 500 самопересечений
может быть, потом сделаю фильтр
вопрос: а нужно ли узлы ставить на крайних точках дорог?
и кстати, если кому-то другие области нужно в MP, кроме Москвы, скажите нужный bbox
; WayID = 4871028
; highway=secondary
[POLYLINE]
Type=0x04
Data0=(55.7240971,37.3995234), (55.7237002,37.3999852), (55.7229563,37.4008194),
(55.7190745,37.4014631), (55.7184605,37.4015833), (55.7162607,37.4020382),
(55.7161122,37.4021405), (55.7160059,37.4022006)
EndLevel=2
Label=ул.Толбухина
RoadID=5
RouteParams=1,4,0,0,0,0,0,0,0,0,0,0
Nod1=0,8482
Nod2=2,710
Nod3=4,86
Nod4=7,11829
[END]
и кстати, если кому-то другие области нужно в MP, кроме Москвы, скажите нужный bbox
Тольятти-Самарская Лука-Самара.
52.99073889885542,52.99073889885542,53.7130505181914,50.669608742885536
52.99073889885542,52.99073889885542,53.7130505181914,50.669608742885536
а где здесь что?
надо бы как в osmxapi - minlon,minlat,maxlon,maxlat
а где здесь что?
надо бы как в osmxapi - minlon,minlat,maxlon,maxlat
Блин, и вправду что то я не то намутил. Еще раз.
48.80791241225375,52.91980721216367,50.66704512942237,53.71334191715539
48.80791241225375,52.91980721216367,50.66704512942237,53.71334191715539
добавил в список
текущий вариант всё там же: http://garminmapsearch.com/osm/mp/
пытаюсь выделить узловые точки для роутинга
столкнулся с такой штукой: см. WayID=17331468
интересно, как умудрились провести дорогу 20 раз (!) через одну и ту же точку??
Надо зачищать 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;
}
}'
текущий вариант всё там же: http://garminmapsearch.com/osm/mp/
.csv файл хотелось бы поиметь для
только в москве маппер выдал 500 самопересечений
Есть еще сдвоенные сегменты и другие топологические ошибки.
вопрос: а нужно ли узлы ставить на крайних точках дорог?
Да, я бы ставил, так как это более логично.
RoadID=5 RouteParams=1,4,0,0,0,0,0,0,0,0,0,0 Nod1=0,8482 Nod2=2,710 Nod3=4,86 Nod4=7,11829 [END]
ИМХО, надо создавать только двухнодовые сегменты нарезая (в этом примере) на
три части (порядковый номер внутри полилинии не поправлен для простоты)
RoadID=51
RouteParams=1,4,0,0,0,0,0,0,0,0,0,0
Nod1=0,8482
Nod2=2,710
[END]
RoadID=52
RouteParams=1,4,0,0,0,0,0,0,0,0,0,0
Nod1=2,710
Nod2=4,86
[END]
RoadID=53
RouteParams=1,4,0,0,0,0,0,0,0,0,0,0
Nod1=4,86
Nod2=7,11829
[END]
Такую структуру гораздо проще отладить, самопересечения тут в принципе исключены (после DUPLBUG)
Надо зачищать XML перед переработкой
так только последовательные дупы убрать можно, а они там и чередуются
.csv файл хотелось бы поиметь
какой именно csv?
usm78-gis:Надо зачищать XML перед переработкой
так только последовательные дупы убрать можно, а они там и чередуются
Это только для начала, вот
$ ./scr-dupl < NOV-22052008.osm | awk '{if ($1 != "DUPLBUG:") print }' | wc -l
221032
$ ./scr-dupl < NOV-22052008.osm | awk '{if ($1 != "DUPLBUG:") print }' | sort | uniq | wc -l
220533
есть еще 499 дублированных сегментов (но это не только дороги, так что часть из них может быть
приемлема)
usm78-gis:.csv файл хотелось бы поиметь
какой именно csv?
Который для mkgmap.
Который для mkgmap.
а я свой не делал, стандартным пользовался.
usm78-gis:Который для mkgmap.
а я свой не делал, стандартным пользовался.
ok
Написал маленький скрипт для автозачистки rmdupl.
Кто-то похоже очень упорно по 5-6 раз кликал
--- XXX1.osm 2008-05-23 00:53:35.000000000 +0400
+++ XXX2.osm 2008-05-23 00:56:30.000000000 +0400
- <nd ref="253426719"/>
- <nd ref="253426719"/>
- <nd ref="253426356"/>
- <nd ref="253426356"/>
- <nd ref="253426356"/>
<nd ref="253426356"/>
<nd ref="253427443"/>
- <nd ref="253427443"/>
- <nd ref="253427051"/>
- <nd ref="253427051"/>
- <nd ref="253427051"/>
- <nd ref="253427051"/>
Еще можно много что автоматически править: слишком близко расположенные ноды и т.п.
Какие будут предложения, как назначать RouteParams?
и из каких тегов брать информацию о запретах?
RouteParams=2,0,0,0,0,0,0,0,0,0,0,0
описывает класс дороги (0-7), ее скоростной тип (0-4; информации о том, как правильно интерпретировать эти цифры, у меня нет) и 10 бинарных признаков: односторонняя, платная, запрет для движения спасательных служб (?), служб доставки, автомобилей, автобусов, такси, пешеходов, велосипедов, грузовиков
Road class - Approximate number of roads
4 0.5% - 1.5%
3 1% - 3%
2 4% - 7%
1 10%-20%
0 60%-80%
Speed class - Speed attribute - Comment
7 128 km/h
6 108 km/h Can be adjusted in MapSource
5 93 km/h Can be adjusted in MapSource
4 72 km/h Can be adjusted in MapSource
3 56 km/h Can be adjusted in MapSource
2 40 km/h
1 20 km/h
0 8 km/h Ferry