Работа с Навилел 5.5

Вот это да! Спасибо, Kostik!!! А техподдержка так ничего и не ответила мне… Сейчас буду пробовать:)

Что касается Навитела версии 5.5 и новее.

Всё работает, штатно, никакой обратной несовместимости нет, надо только выполнить ряд общих требований к картам навителовским:

  1. не класть слишком много карт в одну директорию, раскидать их партиями по вложенным поддиректориям
  2. вначале создавать атласы только во вложенных директориях и только потом общий атлас

Моя структура каталогов внутри NavitelContent/Maps такова (по федеральным округам):

OSM-CFO
OSM-PFO
OSM-SFO
OSM-SZFO
OSM-UFO

Где в каждой директории находятся карты nm2 формата для соответствующего округа. Вначале необходимо создать атлас для каждого округа, отдельно. После чего, когда все атласы будут созданы, выбрать атлас NavitelContent/Maps и навител создаст объединяющий атлас. В этом случае начинает работать прекрасно роутинг через полстраны и прочее, чего так и не может сделать пока Ситигид например.

Но всё равно, встречаются карты, которые не проходят через создание атласа, хотя в старых версиях проходили. Насколько я заметил - это действительно кривые карты получаются на выходе конвертора и у навитела просто ломается процесс создания индекса.

Сейчас точно известно, что карта Татарстана ломает процесс создания атласа, после удаления её все индексы создались. И какая-то из карт или несколько карт в Сибирском федеральном округе, пока точно не выяснил какая. Восточнее пока не залезал.

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

Конвертер дорабатываться не будет, формат nm2 перенесён в устаревшие.

Пока чисто из интереса, конвертер основывался на реверинжиниринге навитела или как-то еще ?

Kostik, достойно медали “КО, второй степени” :slight_smile:

По существу: дефектные на текущий момент карты:

Russia-KEM.nm2
Russia-TOM.nm2
Russia-TA.nm2

Пользователям навитела имеет смысл проанализировать состояние данных ОСМ в этих областях, на предмет логических косяков. Остальные карты по центральному, привожскому, сибирскому, северо-западному и южному федеральным округам работают нормально в Навител 5.5.1.0 под Андроид 4 и 3.5.0.1538 под каким то встроенным виндовсом.

Насколько я понимаю, конвертер в nm2 был написан самими навителовцами (часть GME).

, адресный поиск точно работает? сделай, пожалуйста, скриншот из андройда

А нет ли, случайно, в регионах KEM и TOM, городов с адресацией по территории? Типа Челнов в TA?
По имеющейся информации, в оф.картах полностью выпилена такая адресация - люди на форуме навитела жаловались на Челны в оф.картах.

Как вариант, можно попробовать выпилить Челны из ТА и проиндексировать такую карту в Навителе.

Что значит с адресацией по территории? По подробнее.

Ну у нас дома адресуются не по улицам, а по комплексам. Плюс промежуточный уровень “псевдорайона”. РТ, НЧ, Новый город, 7/08. Понятно, что псевдорайон “Новый город” не существует в виде улицы.
[POLYGON]
Data0=(55.7277699,52.3976974),(55.7281492,52.3970454),(55.7282168,52.3971695),(55.7281656,52.3972575),(55.7280726,52.3974173),(55.7279794,52.3975775),(55.7278856,52.3977388),(55.7278375,52.3978214),(55.7277699,52.3976974)
CountryName=Россия
CityName=Набережные Челны
HouseNumber=7/08
Label=7/08
RegionName=Татарстан
Type=0x6c
StreetDesc=Новый Город
EntryPoint=(55.7281656,52.3972575),4
EntryPoint=(55.7280726,52.3974173),3
EntryPoint=(55.7279794,52.3975775),2
EntryPoint=(55.7278856,52.3977388),1
[END]
Вполне возможно, что Навител падает, когда пытается привязать такой дом к улице.

Насколько я знаю, в других регионах есть города, где дома адресуются подобным образом.

Глянул - там вообще отсутствуют addr:street. ИМХО в таком случае надо добавлять addr:place

не надо использовать addr:place, это негодный тег

Сейчас понимаю, что не совсем правильно описал вероятную проблему.
НП с адресацией по территории хватает, и они вполне нормально индексируются.
Может вопрос в том, что в НЧ в StreetDesc прописаны несуществующие на карте объекты?

Не понятен сарказм. Автор GME писал что были украдены исходники конвертера в nm2 и что больше работ над ним вестись не будет. Поэтому не понятно какие файлы создателям конвертера могут быть нужны в таком случае.

Попробовал версию 5.5.1.92 на Explay PN-350, в т.ч. с созданием атласа по методу Max Vasilev.

Нет. Улицы не ищутся.

Угу, не может создать индекс. Где сбой, черт его знает.

Да, как в любой другой пятерке, “возьмите правее, четвертый съезд” в местах примыкания выездов с прилегающих территорий. На TravelGPS писали, что версия 5.5 от этого бага избавлена, но, как оказалось, в автоверсии точно нет.

По вопросу двойной адресации (применительно к НН 3.2.6, т.к. в 5.5.1 поиска по адресу добиться не удалось).
Полигон здания, равно как и POI, в НН может иметь ровно один адрес. Название улицы в этом (основном) адресе берется либо из имени отношения street, либо из addr:street на самом полигоне здания. Дополнительные адреса реализованы в виде надписей с присвоенным им альтернативным адресом, как рекомендуется здесь.
Текущая конфигурация для НН использует для альтернативной адресации схему addr2:street/addr2:housenumber, т.е., например, вот этот дом благополучно ищется по обоим адресам.

Нет, наличие дороги для привязки поиска по адресу необязательно.

попробовал, атласы создал, получилось! теперь проверю прокладку маршрута с севера на юг…

попробовал, версия 5.5.1.320 не смогла, вылетела “…слишком фрагментировано” (атласы округов OSM-CFO, -SZFO, -UFO) и общий атлас (Maps-OSM) созданы)…
скинул версию 5.5.1, залил 5.0.3, попробовал - тоже не смогла, то же самое “…слишком фрагментировано”…
не хочет, или я что не таГ понял…

Андроидный Навител 7.5 хорошо справляется с картами ОСМ. По крайней мере Беларусь индексируется. Только есть нюанс: навител не понимает препятствия на дороге типа barrier=bollard и лепит маршруты через них.

И манёвры при маршрутизации расставляет корректно (не кричит на каждом пересечении “возьмите левее\правее”)?

Судя по симуляции - да, всё нормально. В реальности ещё не дошли руки протестить :slight_smile: