You are not logged in.
- Topics: Active | Unanswered
Announcement
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***
#2401 2011-07-13 12:57:22
- Fast-Forward
- Member

- From: Минск
- Registered: 2011-06-18
- Posts: 9
Re: Конвертер OSM -> MP
А чего ето новый конвертор выдает мне на московской области от гислаба выдает:
Use of uninitialized value $px in numeric lt (<) at C:/Perl/site/lib/Math/Polygo
n/Tree.pm line 205, <$_[...]> line 23800036.
Use of uninitialized value $node in split at osm2mp.pl line 2012, <$_[...]> line
24071223.
АктивПерл 5.12.3.1204 пользую, MathPolygonTree установлен...
Offline
#2402 2011-07-14 16:04:15
- liosha
- Member

- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Конвертер OSM -> MP
Где-то вырожденный полигон вылез
Offline
#2403 2011-07-18 10:49:01
- Serguei Dukachev
- Member
- Registered: 2010-06-02
- Posts: 81
Re: Конвертер OSM -> MP
Не пойму, то ли у меня руки кривые были при создании мультиполигонов, то ли косяк какой в преобразовании osm->mp, но в мультиполигонах "с дырками" после конвертации "дырок" не наблюдается. Например, здесь: http://www.openstreetmap.org/?lat=53.53 … 4&layers=M. В Ситигиде они есть, из чего могу сделать вывод, что, всё же, что-то не то с правилами для конвертера.
П.С. Дырок нет в Руссе.
Last edited by Serguei Dukachev (2011-07-18 10:49:46)
Offline
#2404 2011-07-18 11:04:10
- liosha
- Member

- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Конвертер OSM -> MP
Serguei Dukachev, ситигидовские карты собираются тем же osm->mp, так что если там дырки есть, то всё должно быть в порядке.
Offline
#2405 2011-07-18 12:47:56
- Serguei Dukachev
- Member
- Registered: 2010-06-02
- Posts: 81
Re: Конвертер OSM -> MP
Тогда вот и получается, что не в порядке. Если .rus открывать MapEdit'ом, то видно, что "дырки" в файле есть, но они имеют те же атрибуты, что и окружающий мультиполигон и "наложены" на этот самый мультиполигон. Получается, что в Руссе нельзя сделать вырезку?
Offline
#2406 2011-07-20 06:17:46
- Zkir
- Member

- From: Хрустальная Москва
- Registered: 2009-02-21
- Posts: 6,110
Re: Конвертер OSM -> MP
liosha,
скажи пожалуйста, а зачем рутинговые ноды ставятся даже там где нет пересечений с другими дорогами?
Например, вот эта дорога (http://www.openstreetmap.org/browse/way/117983065) получает по рутинговой ноде c обоих концов, хотя она висячая (не имеет пересечений с другими дорогами)
; WayID = 117983065:0
[POLYLINE]
....
Data0=(56.2627348,38.2118282),(56.2621257,38.2128656)
RoadID=99
RouteParam=1,0,0,0,0,0,0,0,0,0,0,0
Nod0=0,47,0
Nod1=1,171,0
[END]
Ноды №47 и №171 не в какие другие дороги не входят.
Так нужно для конвертации в гармин, это вызвано технологией, ... ? Можно это отключить?
Я хочу сбацать валидатор связности графа в mp, и если бы ноды-сироты не ставились, это было бы совсем легко. Во всяком случае искать подвисшие ребра)
Last edited by Zkir (2011-07-20 06:25:14)
Истинные слова не не приятны, приятные слова не истинны.
True words are unpleasant; pleasant words are untrue.
Offline
#2407 2011-07-20 06:31:24
- chnav
- Member

- From: Russia, mapping Kazakhstan
- Registered: 2010-03-18
- Posts: 3,303
Re: Конвертер OSM -> MP
В Навителе конечные роутинговые нужны для разворота в тупиках.
Offline
#2408 2011-07-20 06:32:01
- liosha
- Member

- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Конвертер OSM -> MP
Zkir, такие правила в MP: на концах всех дорог должны стоять ноды.
Сейчас (теоретически) несложно сделать, чтобы такие висячие одиночные куски не считались дорогами, с неодиночными всё сложнее.
Offline
#2409 2011-07-20 08:38:45
- Zkir
- Member

- From: Хрустальная Москва
- Registered: 2009-02-21
- Posts: 6,110
Re: Конвертер OSM -> MP
//Zkir, такие правила в MP: на концах всех дорог должны стоять ноды.
Ну раз должны, пущай стоят.
//Сейчас (теоретически) несложно сделать, чтобы такие висячие одиночные куски не считались дорогами
Хотелось бы, скорее, не чтобы они не считались дорогами, а чтобы они показывались (где-то) как ошибки.
//с неодиночными всё сложнее.
По-моему, сложность может быть только в том, чтобы сделать быструю реализацию, сам же алгоритм прост как колобок.
1. Начать с пустого списка подграфов.
2. Взять следующую дорогу из списка
3. Проверить, есть ли подграф (подграфы), в который уже входят рутинговые ноды данного графа.
* Если нет, добавить в список новый подграф, дорогу и ее ноды пометить как относящиеся к данному подграфу.
* Если есть ровно один такой подграф, дорогу и ее ноды пометить как относящиеся к данному подграфу.
* Если таких подграфов несколько (данная дорога входит в несколько из уже найденных подграфов, являсь, таким образом, перемычкой ними)
- оставить только первый подграф, остальные исключить из списка, относящиеся к ним ноды и дороги пометить как относящиеся к первому подграфу
4. Продолжать с пункта 2, пока есть необработанные ребра.
5. Отобразить список найденных подграфов, в порядке убывания(или возрастания) числа ребер.
В идеале должен быть один подграф. Практически может быть несколько (какие-нибудь карты островов). В любом случае подграфы с несколькими (до десятка) ребрами суть ошибки.
Истинные слова не не приятны, приятные слова не истинны.
True words are unpleasant; pleasant words are untrue.
Offline
#2410 2011-07-20 08:46:13
- liosha
- Member

- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Конвертер OSM -> MP
Да это-то всё понятно. Сложность только в том, что это надо _делать_ ![]()
Кроме того, при обрезке по границам оторванный граф - это не всегда ошибка (к сожалению).
Offline
#2411 2011-07-20 08:58:35
- Zkir
- Member

- From: Хрустальная Москва
- Registered: 2009-02-21
- Posts: 6,110
Re: Конвертер OSM -> MP
Дойдут руки, сделаю.
Тем более что для меня контроль качества - вроде как актуальная задача.
//Кроме того, при обрезке по границам оторванный граф - это не всегда ошибка (к сожалению).
Мне кажется, это значит что граница обрезки неправильная.
Истинные слова не не приятны, приятные слова не истинны.
True words are unpleasant; pleasant words are untrue.
Offline
#2412 2011-07-20 09:00:32
- liosha
- Member

- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Конвертер OSM -> MP
Граница не неправильная, а произвольная ![]()
Offline
#2413 2011-07-22 10:19:18
- Marych73
- Member

- From: Ташкент
- Registered: 2011-01-18
- Posts: 283
Re: Конвертер OSM -> MP
Конвертирую Узбекистан в MP используя
OSM -> MP converter 0.91_3
команда
osm2mp.pl --config=navitel.yml --navitel --disableuturns --namelist label=name:ru,name --shorelines --poiregion --defaultcountry=UZ --countrylist=iso-3166-1-a2-ru.txt uzbekistan.osm > uzbekistan.mp
Открываю полученный MP в MapEdit, Инструменты - Поиск по адресу, и ни одна улица не привязанак к соотвествующему городу.
Сам список улиц присутствует.
Проблему вижу в том что, конвертер, для объектов, берет наименование из тега name:ru, а addr:city и addr:street ссылается на тег name (так как официальный язык не русский, то name<>name:ru)
Подскажите пожалуйста:
Что делать чтобы появился адресный поиск на русском языке?
Или у меня где-то ошибка в ключах?
Offline
#2414 2011-07-22 10:22:06
- liosha
- Member

- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Конвертер OSM -> MP
Открываю полученный MP в MapEdit, Инструменты - Поиск по адресу, и ни одна улица не привязанак к соотвествующему городу
Границы городов в ОСМ обозначены?
Offline
#2415 2011-07-22 10:43:40
- Marych73
- Member

- From: Ташкент
- Registered: 2011-01-18
- Posts: 283
Re: Конвертер OSM -> MP
Границы городов в ОСМ обозначены?
Похоже что нет, прогнал конвертер с ключем --namelist label=name,name:ru ситуация похожая
точка города
<node id="27524773" version="25" timestamp="2011-07-21T05:58:07Z" uid="349645" user="Marych73" changeset="8785187" lat="41.3120778" lon="69.2787079">
<tag k="addr:country" v="UZ"/>
<tag k="addr:postcode" v="100000"/>
<tag k="addr:region" v="Toshkent Viloyati"/>
<tag k="capital" v="yes"/>
<tag k="int_name" v="Tashkent"/>
<tag k="is_in:country" v="O'zbekiston"/>
<tag k="name" v="Tashkent"/>
<tag k="name:ru" v="Ташкент"/>
<tag k="old_name" v="Chach"/>
<tag k="place" v="city"/>
<tag k="population" v="3000000"/>
</node>
полигон
<way id='85104648' timestamp='2011-07-21T06:24:48Z' uid='349645' user='Marych73' visible='true' version='18' changeset='8785337'>
<nd ref='987258923' />
<nd ref='987258953' />
<nd ref='1202916615' />
<nd ref='987258929' />
<nd ref='987258924' />
<nd ref='987258938' />
<nd ref='987258932' />
<nd ref='987258946' />
<nd ref='987258940' />
<nd ref='987258917' />
<nd ref='987258921' />
<nd ref='987258943' />
<nd ref='987258937' />
<nd ref='987258952' />
<nd ref='987258945' />
<nd ref='987258922' />
<nd ref='987258941' />
<nd ref='987258934' />
<nd ref='988468308' />
<nd ref='987258919' />
<nd ref='988482106' />
<nd ref='988468307' />
<nd ref='987258927' />
<nd ref='987258942' />
<nd ref='1188930771' />
<nd ref='987258935' />
<nd ref='1193798142' />
<nd ref='1193798134' />
<nd ref='987258926' />
<nd ref='1195122044' />
<nd ref='987258948' />
<nd ref='1195141608' />
<nd ref='1195149025' />
<nd ref='1235799742' />
<nd ref='987258923' />
<tag k='addr:country' v='UZ' />
<tag k='addr:postcode' v='100000' />
<tag k='addr:region' v='Toshkent Viloyati' />
<tag k='boundary' v='administrative' />
<tag k='name' v='Tashkent' />
<tag k='name:en' v='Tashkent' />
<tag k='name:ru' v='Ташкент' />
<tag k='name:uz' v='Toshkent' />
<tag k='place' v='city' />
<tag k='place_name' v='Tashkent' />
</way>
Есть еще отношение
<relation id='1385352' timestamp='2011-07-22T08:19:18Z' uid='349645' user='Marych73' visible='true' version='5' changeset='8795411'>
<member type='node' ref='27524773' role='admin_centre' />
<member type='way' ref='85104648' role='outer' />
<tag k='admin_level' v='5' />
<tag k='boundary' v='administrative' />
<tag k='int_name' v='Tashkent' />
<tag k='is_in:country' v='O'zbekiston' />
<tag k='name' v='Tashkent' />
...............................................................
<tag k='name:ru' v='Ташкент' />
<tag k='name:uz' v='Тошкент' />
<tag k='old_name' v='Chach' />
<tag k='place' v='city' />
<tag k='population' v='3000000' />
<tag k='type' v='boundary' />
</relation>Last edited by Marych73 (2011-07-22 11:45:16)
Offline
#2416 2011-07-22 11:35:04
- Ilis
- Member

- From: Екатеринбург
- Registered: 2009-05-24
- Posts: 5,970
Re: Конвертер OSM -> MP
Просьба портянки заворачивать в тег code
Offline
#2417 2011-07-25 09:27:11
- Zkir
- Member

- From: Хрустальная Москва
- Registered: 2009-02-21
- Posts: 6,110
Re: Конвертер OSM -> MP
Сложность только в том, что это надо _делать_
Сделал "на-посмотреть": http://peirce.gis-lab.info/routing-map.php. Пока только питер. В IE8 почему-то не работает.
Last edited by Zkir (2011-07-25 17:44:34)
Истинные слова не не приятны, приятные слова не истинны.
True words are unpleasant; pleasant words are untrue.
Offline
#2418 2011-07-27 08:02:49
- Marych73
- Member

- From: Ташкент
- Registered: 2011-01-18
- Posts: 283
Re: Конвертер OSM -> MP
Marych73 wrote:Открываю полученный MP в MapEdit, Инструменты - Поиск по адресу, и ни одна улица не привязанак к соотвествующему городу
Границы городов в ОСМ обозначены?
Нашел ошибку, город был обнесен полигоном без тега area=yes, поправил, адресный поиск появился.
Встает вопрос, адресный поиск сторится только по тегу name, name:ru не учавствует. Название объектов на карте отображает по тегу name:ru (используется опция --namelist label=name:ru,name)
для будущих "первопроходцев" - Если не работает адресный поиск, читать http://wiki.openstreetmap.org/wiki/RU:% … 0%B8%D1%86
Last edited by Marych73 (2011-07-27 08:12:07)
Offline
#2419 2011-07-27 08:05:20
- liosha
- Member

- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Конвертер OSM -> MP
Встает вопрос, адресный поиск сторится только по тегу name, name:ru не учавствует. Название объектов на карте отображает по тегу name:ru (используется опция --namelist label=name:ru,name)
Точно так же можно поменять --namelist place=...
Offline
#2420 2011-07-30 07:14:53
- Monitor
- Member
- From: Нижний Новгород
- Registered: 2010-03-01
- Posts: 206
Re: Конвертер OSM -> MP
Попробовал сконвертировать osm2mp так, чтобы place при разных масштабах показывался либо полигоном, либо линией
- condition:
- place = city
action:
- action: write_polygon
type: 0x01
level_l: 2
level_h: 4
- action: write_line
type: 0x45
level_h: 1В результате правильно работает только если place задан замкнутым веем. Если place задан мультиполигоном, тогда показывается только полигон, линия нет. Это можно как-то починить?
Offline
#2421 2011-07-30 08:14:49
- liosha
- Member

- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Конвертер OSM -> MP
Да, мультиполигоны линиями не рисуются. Я уже не помню, почему так было сделано
Offline
#2422 2011-08-02 09:45:50
- dedNikifor
- Member

- From: Белгород
- Registered: 2009-09-11
- Posts: 3,419
Re: Конвертер OSM -> MP
liosha
можно сделать так, чтобы ref=* у amenity=post_office и amenity=post_box
добавлялся также, как opening_hours=* у магазинов?
т.е. чтобы зайдя в свойства объекта, можно было посмотреть почтовый код у пои (ящика или почтового отделения)
Offline
#2423 2011-08-02 20:11:11
- Варяг
- Member
- From: РФ, Липецкая область, Грязи
- Registered: 2010-08-31
- Posts: 27
Re: Конвертер OSM -> MP
Я правильно понял, что кольцо не собирается из отношения? Если это так, то нельзя ли добавить поддержку этого отношения?
http://wiki.openstreetmap.org/wiki/Prop … s/Junction или описанного здесь
Last edited by Варяг (2011-08-02 20:20:23)
Offline
#2424 2011-08-02 20:23:16
- liosha
- Member

- From: Moscow
- Registered: 2008-03-04
- Posts: 8,447
- Website
Re: Конвертер OSM -> MP
dedNikifor, можно, в конфигах.
Варяг, а зачем для кольца нужно отношение? Достаточно тега на всех сегментах
Offline
#2425 2011-08-02 20:36:05
- Варяг
- Member
- From: РФ, Липецкая область, Грязи
- Registered: 2010-08-31
- Posts: 27
Re: Конвертер OSM -> MP
liosha, спасибо, а то я по совести, после создания отношения, снёс этот тег во избежания дублирования)
Offline