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

У меня есть идея, как избавиться в Навителе от левых подсказок на каждом перекрестке типа “возьмите левее, второй съезд”, “возьмите правее, третий съезд”.
Покритикуйте, пожалуйста, реальная ли идея или совсем нереальная?

Суть идеи:
На каждом перекрестке, на котором дорога слегка меняет свое направление, добавить вспомогательные узлы так, чтобы дорога как-бы направление не меняла. Сделать это в момент конвертации карт (не в самой исходной карте OSM), путем корректировки карты в промежуточном формате, например, в польском формате (конечно, программой, а не руками).
Графическая иллюстрация идеи:

К сожалению, в самом НН он оказался не прозрачным, а белым, что портит на корню всю идею :frowning:
В информации об объекте отображается как “Неизвестный тип”, в поиске не участвует.
Обидно, я уж было собрался его еще для нескольких тегов использовать.

В версиях НН 5.0.1 - 5.0.3 - сработает (правда, если расставлять вспомогательные узлы достаточно далеко друг от друга, иначе скажутся уже ошибки округления сетки).
В версиях 5.0.4 - 5.1.0 с их дикими подсказками “возьмите левее, второй съезд” - не сработает совсем.
Имхо, ради нескольких версий не стоит…
ЗЫ Сам спрямляю вручную, именно таким способом :slight_smile:

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

Какую версию Навитела посоветуете, которая полноценно работает с картами OSM без этой проблемы?

Невозможно, причем ЦНТ это уже официально подтвердил.
Реально на дороге можно использовать Навител версий 3.2.6, 3.5.0 и, с небольшими неудобствами, 5.0.3
Сам использую попеременно НН 3.2.6 и 7 дорог, пока счет равный :slight_smile:

UPD: “7 дорог” вполне юзабельная прога и для нее подходят конфиги Навитела, но ее авторам, имхо, необходимо решить две задачи - фильтрации POI и генерализации полигонов на средних масштабах (Задача №5 из списка Zkir), без этого жестоко тормозит на слабых девайсах.

Ну это в зависимости от того как “реализованна” работа 5 навитела (внутренняя память или внешняя и её тип, winCE5 или 6, comport 1, 7 или другой), я в основном ставлю сборки 3.2.6… и только если “тело” совсем “не принимает”, то 3.5.1089 с привязкой к карте памяти у 3.5 “появились глючки” применительно к 3.2.6. И по скольку в наших краях 51 и 10 “официальную мазню”, язык не поворачивается назвать ЭТО картами - пользовать нельзя, поэтому актуальность использования карт ОСМ - максимальна, а поскольку с версии Н5.1… даже “кривая” потдержка неофициальных карт прекращена, то и ПРИХОДИТСЯ устанавливать (в допы к предустановленой 5) 3.2.6…

Я тоже “пробовал” 7дорог, НО по отношению к 3.2.6 навителу - НИКАК.

  1. офскины на моем девайсе при обычном освещении практически не видны, в отличии от того же навитела, иго или “праобраза” ситигид.
  2. наличие на экране “неубираемых” значков (как в СГ) в отличие от навитела
  3. вес карт (клон СГ) и “качество” (блёклая “зелёнка”, типы и классы дорог, невнятные развязки, кривые пои и т.д.)

В плюсах только “быстрый” поиск (“клон” СГ) и больший “показометр” скорости (хотя и его “расцветка” не айс)

Kipovec
Для Android`а 2.3 и выше нормальных версий Навитела уже нет, так что надеемся что 7дорог разовьётся во что то удобоваримое.

Просветите пожалуйста насчет АЗС, в http://wiki.openstreetmap.org/wiki/RU:Tag:amenity%3Dfuel написано что amenity=fuel можно вешать на полигон заправки, name соотвественно тудаже, однако при конвертации все это превращается в точку POI без имени.


- condition:
    - amenity = fuel
    - fuel:lpg != yes
    - fuel:cng != yes
  action:
    - action: write_poi
      type: 0x2f01
      contacts: yes
      Text: %opening_hours
- condition:
    - amenity = fuel
    - fuel:lpg = yes
    - fuel:cng != yes
  action:
    - action: write_poi
      type: 0xf208
      contacts: yes
      Text: %opening_hours
- condition:
    - amenity = fuel
    - fuel:cng = yes
  action:
    - action: write_poi
      type: 0xf208
      contacts: yes
      Label: %label (АГНКС)
      Text: %opening_hours

Как быть?

Marych73, POI должно быть с именем.
А можно пример сбойного полигона в OSM?

http://www.openstreetmap.org/browse/way/154340550

А кто конвертирует “Другие страны”???
хотелось бы Турцию по свежее, правда нужно ближе к маю, но может надо начинать сейчась просить?
Будьте добры, конвертаните…

Целиком она уже не собирается, так что нужны номера релейшенов регионов. При беглом взгляде я их не нашел, так что, видимо, прийдется их нанести…

dimuzz
Предлагаю разделить пивнушки-пабы с едой и ночные клубы в разные POI:

  • amenity = bar|nightclub|stripclub —> type: 0x2d02 (Entertainment - Bar/Nightclub в Навителе);
  • amenity = biergarten|pub —> type: 0x4600 (Food - Bar в Навителе);

А почему целиком не собирается? памяти на компе-конвертора не хватает? или ошибки?
(просто есть комп с 24Г памяти, на линуксе, если б были скрипты и файлы которые надо конвертить, мог попробовать)

dimuzz

Насчет заправок, привел в nodes-navitel.yml обозначения заправок к такому виду (для 2-х типов не хватало Label: %label)


- condition:
    - amenity = fuel
    - fuel:lpg != yes
    - fuel:cng != yes
  action:
    - action: write_poi
      type: 0x2f01
      contacts: yes
      Text: %opening_hours
      Label: %label
- condition:
    - amenity = fuel
    - fuel:lpg = yes
    - fuel:cng != yes
  action:
    - action: write_poi
      type: 0xf208
      contacts: yes
      Text: %opening_hours
      Label: %label (АГЗC)
- condition:
    - amenity = fuel
    - fuel:cng = yes
  action:
    - action: write_poi
      type: 0xf208
      contacts: yes
      Label: %label (АГНКС)
      Text: %opening_hours

На точке POI появилось название, либо у меня старый конфиг, либо в текущих ошибка, прошу исправить, если я прав.

А навител позволяет (есть тип ?) для отображения полигона как заправки? У нас получается если заправка обозначена полигоном - он превращается в точку POI.

Скорее всего это ограничение navitel на размер файла. Так что только делить на районы.

Мне нужен “Средиземноморский регион (Akdeniz Bölgesi)”, что надо сделать, что бы его конвертануть??? или еще глубже надо уточнить регион?

Турция уже вроде поделена на провинции (илы). Но т.к. их 81 то навител (5 версии) будет орать, что слишком много роутинговых карт. Если попытаться сделать 1 общую роутинговую карту, то опять же навител может начать орать что слишком большой размер. Думаю надо объединять провинции в районы отдельными отношениями, но это уже будет редактированием под навител или я даже не знаю.

Полигоны территорий АЗС (amenity=fuel без building=*) не обозначаются никак, из них формируется только POI.
В нашем случае полигон http://www.openstreetmap.org/browse/way/154340550 конвертируется в POI типа АГЗС (0xf208, точка) с подписью “АГНКС - Метан (АГНКС)”.
При наличии тега fuel:cng=yes добавка (АГНКС) формируется автоматически в предположении, что в name записывается название, а не описание заправки. Если “АГНКС - Метан” - это именно название, будем считать издержками рендеринга.
Отдельная безымянная колонка с бензином на этой же заправке (точка http://www.openstreetmap.org/browse/node/1595104804 ) преобразуется в безымянное же POI обычной АЗС (0x2f01, точка).
Конструкция вида

Label: %label

включена по умолчанию, добавлять ее в конфигурацию не нужно.

Ошибки. Возможно будет и ограничение по формату (16Мб). Просьба поправить ошибки в осм. Ну и заодно, исправив в mp можно попробовать в nm2 экспортнуть. http://navitel.osm.rambler.ru/countries2.php?country=Turkey