так только последовательные дупы убрать можно, а они там и чередуются
какой именно csv?
так только последовательные дупы убрать можно, а они там и чередуются
какой именно csv?
Это только для начала, вот
$ ./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
и из каких тегов брать информацию о запретах?
Из раздела Restrictions.
Односторонняя - oneway=yes.
Платная - toll=yes.
автомобилей - motorcar=no
автобусов - psv=no
пешеходов - foot=no
велосипедов - bicycle=no
грузовиков - hgv=no и goods=no.
служб доставки, возможно, goods=no.
Класс дороги.
0 - Residential/Alley/Unpaved/Track
1 - Rounabout/Collector
2 - Arterial/Other highway
3 - Principal highway
4 - Major highway/Ramp
Скоростные ограничения.
0 - 5 км/ч
1 - 20 км/ч
2 - 40 км/ч
3 - 60 км/ч
4 - 80 км/ч
5 - 90 км/ч
6 - 110 км/ч
7 - no limit
Таким образом класс дороги стоит выбирать из типа дороги. А скорость. Ну по умолчанию 60 для обычных дорог, 90 - для major highway, либо, если есть, из тэга maxspeed.
пока дефолты сделал такие:
highway bridleway r 0x16 0 1 0,1,0,0,0,1,1,1,1,0,0,1
highway bus_guideway
highway construction
highway cycleway r 0x16 0 1 0,1,0,0,0,1,1,1,1,0,0,1
highway footway r 0x16 0 0 0,0,0,0,0,1,1,1,1,0,0,1
highway living_street r 0x07 0 1 0,1,0,0,0,0,0,0,0,0,0,0
highway motorway r 0x01 0 4 4,6,1,0,0,0,0,0,0,0,0,0
highway motorway_link r 0x0B 0 2 4,3,1,0,0,0,0,0,0,0,0,0
highway pedestrian r 0x07 0 1 0,0,0,0,0,0,0,1,0,0,0,0
highway primary r 0x02 0 3 3,4,0,0,0,0,0,0,0,0,0,0
highway primary_link r 0x03 0 1 3,3,0,0,0,0,0,0,0,0,0,0
highway residential r 0x06 0 1 0,2,0,0,0,0,0,0,0,0,0,0
highway secondary r 0x04 0 2 2,3,0,0,0,0,0,0,0,0,0,0
highway service r 0x07 0 0 0,1,0,0,0,0,0,0,0,0,0,0
highway steps r 0x16 0 0 0,0,0,0,1,1,1,1,1,0,1,1
highway tertiary r 0x05 0 1 1,3,0,0,0,0,0,0,0,0,0,0
highway track r 0x16 0 0 0,1,0,0,0,0,0,1,0,0,0,0
highway trunk r 0x02 0 4 3,5,0,0,0,0,0,0,0,0,0,0
highway trunk_link r 0x03 0 2 3,3,0,0,0,0,0,0,0,0,0,0
highway unclassified r 0x06 0 1 1,2,0,0,0,0,0,0,0,0,0,0
highway unsurfaced r 0x0a 0 1 0,1,0,0,0,0,0,0,0,0,0,0
http://wiki.openstreetmap.org/index.php/Relations
запреты поворотов вроде бы как уже в списке принятых
http://wiki.openstreetmap.org/index.php/Relations
запреты поворотов вроде бы как уже в списке принятых
This is a proposal for a set of tags and members making a Relation to represent a turn restriction
Скоростные ограничения.
6 - 110 км/ч
Таких дорог настолько мало, что их можно все пометить тэгом.
7 - no limit
Вроде как в мире есть только 3-4 страны с такими дорогами ?
liosha:http://wiki.openstreetmap.org/index.php/Relations
запреты поворотов вроде бы как уже в списке принятыхThis is a proposal for a set of tags and members making a Relation to represent a turn restriction
Но это отношение, по крайней мере, находится в разделе “Established uses of Relations”. На мой взгляд, когда его вынесут на голосование, его полюбому заапрувят. Так что можно использовать отношение без боязни…
Вроде бы доделал назначение роутинговых параметров…
Попробую теперь довести до компиляции с роутингом хотя бы небольшой кусок территории вокруг дома.
Если получится - выложу конвертер
Так что можно использовать отношение без боязни…
Надо будет посмотреть, что делает вот этот скрипт:
http://trac.openstreetmap.org/browser/applications/utils/import/mp2osm/mp2osm_catmp.py
хотя не исключено, что он игнорирует запреты поворотов.
обнаружил баг: когда есть “вырожденные” дороги из одной точки, маппер вылетает по “access violation”
если их отфильтровывать, компиляция проходит, и роутинг в девайсе работает
желающим потестить: http://garminmapsearch.com/osm/osm2mp.zip
конфиги лежат в http://garminmapsearch.com/osm/mp/
запускать osm2mp.pl in.osm > out.mp
обнаружил баг: когда есть “вырожденные” дороги из одной точки, маппер вылетает по “access violation”
Дорог из одной точки в “большом” СПб не обнаружил, зато есть вот такой топологический баг-кольцо,
где первый и последний нод совпадают:
<way id='4454692' timestamp='2007-10-05T20:36:14Z'>
<nd ref='25896343'/>
<nd ref='25896344'/>
<nd ref='25896345'/>
<nd ref='25896346'/>
<nd ref='25896343'/>
<tag k='highway' v='residential'/>
</way>
Надо разбираться, как быть…
компиляция проходит, и роутинг в девайсе работает
Потестим
такие “одноточечные” дороги при кропе появляются.
а кольца часто встречаются, буду думать, как бы их порезать…
такие “одноточечные” дороги при кропе появляются.
osmxapi сливает ways целиком, при clip (по границам) надо будет ставить
флаги “внешних” нодов, иначе потом роутинг между областями не сделать.
а кольца часто встречаются, буду думать, как бы их порезать…
Нацело поделить пополам, ничего лучшее в голову не приходит.
Нашел 55 “чистых” колец (т.е. прямо в непорезанном .osm)
дык вроде как в осм круги и полагается рисовать кольцами, не разрезая.