Конвертация OSM в Navitel

В следущий проход должно начать искаться.

имеется в виду проход который сейчас идет? чего то подкрутили?

http://www.openstreetmap.org/relation/1963052

интересно получилось с проездами: в поиске есть только один проезд на котором есть строение с заполненым хауснамбер (азс, в номер дома я поставил номер этой азс, ради эксперимента, сейчас затер). Получается пока хаус намбер пустой то и улицу не покажет.

semyon
Я выяснял причины этой проблемы тут и ниже.

Судя по обсуждению адресация улиц пролезала в роутинговый слой, и вместо того чтобы подкрутить роутинговые конфиги решили удалить адресацию улиц вообще. Но это не решение проблемы.

chnav Никто ничего не подкручивал. Ошибка в osm2mp.
PS: Много дискуссий и никаких практических рекомендаций и указаний на конкретные решения проблем я пока не увидел.

Поместите пожалуйста описание проблемы и ссылку в шапку, уже второй или третий раз всплывает эта тема. Мне в прошлый раз никто по сути не ответил.

chnav Здесь нет шапки. Из проблем я лично озвучивал что адреска лезет в роутинговый слой, причём страна там на латинице (в 7дорог видно это раздвоение, Навител как то склеивает). Все остальные проблемы толком не озвучены людьми о них писавшими.

Вот последнее описание http://forum.openstreetmap.org/viewtopic.php?pid=402569#p402569

Впрочем я уже понял что без liosha эту проблему не решить.

Там граница в виде мультиполигона с отдельными outer, а точка центра стоит только в одном из них. В этом ли дело я не знаю. Так то улицы без домов ищутся нормально.
Поправил мультиполигон, стало искаться:
http://sendfile.su/946857

а можете в нм2 переделать?

Если эта бага и правда не только мне мешает, вот решение:
Актуально для osm2mp rev.777
Строка 1618:
было

 if ( $info->{name} ) {

стало

  if ( $flags->{addressing} && $info->{name} ) {

Строка 1637:
было

 # load road

стало

 # load road
if( !$flags->{routing}){#by hkm
  output_road( \%params);
  return;
}#by hkm

Строка 2083:
было

 return action_write_line(@_)  if !$flags->{routing};

стало

 return action_write_line(@_)  if !($flags->{routing} || $flags->{addressing});

Оформил-бы как патч, но не осилил где это в TortoriseSVN, а отдельную утилку искать лень.

Какая конкретно бага имеется ввиду и что конкретно дают эти изменения. У меня просто нет времени заниматься экспериментами.
PS: Может проще было бы выложить готовый файл? Сравнить я могу и в Beyond Compare.

http://navitel.osm.rambler.ru/countries/Russia-osm-nm2/Russia-YAN-osm-nm2.zip

hkm
Спасибо, работает как надо.

Kostik
Баг с поиском улиц проявляется при разнесении роутинга и видимой части карты в разные файлы, из которых потом компилируются nm2.
Адресация улиц отсутствует в нормальных, видимых файлах (которые с адреской и без роутинга) и наоборот - наличествует в роутинговых файлах где её быть не должно, причем в ущербном виде, без указания города, региона и страны. Всё это видно если открыть mp-файлы любого региона с рамблера.

Если файл один (полный и с адреской, и с роутингом) то баг не проявляется

Я поначалу тоже был введён в заблуждение т.к. всегда компилировал единый файл. Как только вынес роутинг в отдельный файл - баг проявился. Т.е. действительно проблема оказалась в osm2mp, а не настройках конвертации.

Тогда осталось донести эту информацию до liosha.

PS: И ещё бы этот патч к новой версии прикрутить.
И выложите кто нибудь готовый пропатченый файл, а то у меня с этими изменениями постоянно сыпется ошибка:


Use of uninitialized value in join or string at osm2mp.pl line 1615.

Пожалуйста, chnav.

Kostik, файл полностью http://yadi.sk/d/jgdA7kH1JmPBu

Спасибо, попробовал похоже ошибка так и должна вылазить, конвертируется нормально, хотя скорость конвертирования по субъективным ощущениям стала медленей.

dimuzz
Заметил что никак не конвертируются place=allotments, предлагаю их конвертировать как подписи на карте, я так понимаю что это в nodes-common.yml по аналогии с place=locality


- condition:
    - place = allotments
    - only_node
  action:
    - action: write_poi
      type: 0x2800
      level_h: 1

Только насчёт type: 0x2800 не уверен.

А как бы это решение прикрутить в osm2mp64.exe ?

а что, только liosha может провести данную операцию?