Конвертер OSM -> MP

Не работает, ни то, ни другое :-/

После того как добавили

- condition:
    - highway = motorway_junction
  action:
    - action: write_poi
      type: 0x2000
      Label: %label

проверьте появился ли 0x2000 в файле mp.

Да, тип 0x2000 всегда находится в файле mp с Label.


; NodeID = 27279177
; highway = motorway_junction
; layer = 1
[POI]
Data0=(53.1818129,8.5923486)
Type=0x2000
Label=~[0x01]~[0x02]~[0x03]~[0x04]~[0x05]~[0x06]Bremen-Blumenthal
[END]

Skin перепробовал уже я сам, на основе skina Baltic. И когда я просматриваю карту “UMP Poland”, я вижу названия улиц ( от motorway_ junction). Так что скин-это не проблема, я думаю. В layers.dat сейчас стоит у меня


0x2000,0,2 ;Съезд с шоссе

Я еще попробую:


- condition:
    - highway = motorway_junction
  action:
    - action: write_poi
      type: 0x2000
      Label: %label

И какую версию Navikey converter вы используете?


- condition:
    - highway = motorway_junction
  action:
    - action: write_poi
      type: 0x2000
      Label: %label (съезд)

Улицы это POLYLINE - линии.
motorway_ junction это POI - одна точка на линии.
Если на линии есть имя это улица. На точке должно быть отдельно имя - типа name=Съезд. Или - ref=М1. Их и надо вытягивать. Если на точке нет имени или ref, то и нечего тянуть.

Это не факт, это размышления делетанта.

Вы ПРАВЫ!

Я нашел ошибку. :slight_smile: Это мои ошибки мышления. motorway_junction, это ТОЧКА. motorway_link/motorway_trunk, что представляет собой дорога (polyline). На панели выше невозможно показать POI, только дороги. Поэтому этот параметр также называется %Nextroadtitle. И то, что я видел в своем СКИНЕ, это была метка motorway_link или motorway_trunk, но у них не всегда есть метка, и я думал, что имена motorway_junction не видны. Возможны 2 решения: 1.Сделать POI таким большим, чтобы вы могли разместить на нем Label. 2. motorway_juction не как POI (0x2000) только как само шоссе (0x01). Только, возможна ли дорога только с 2 координатами?

https://vk.com/@bydmapl-motorwayjunction-vs-motorwaylink

Это дорога (пример)


; WayID = 668380916:0
; highway = service
[POLYLINE]
Data0=(53.5826674,8.6067382),(53.5827493,8.6067777),(53.5832301,8.6069601)
RoadID=48
RouteParams=0,0,0,0,0,0,0,0,0,0,0,0
Type=0x07
Label=
Nod0=0,33860,0
Nod1=2,5082,0
[END]

Это motorway_junction (пример)


; NodeID = 26738079
; highway = motorway_junction
[POI]
Data0=(53.0824511,8.90961)
Type=0x2000
Label=Bremen-Vahr
[END]

И сделать такой трюк:


; WayID = 26738079:0
; highway = motorway_link
[POLYLINE]
Data0=(53.0824511,8.90961)
RouteParams=0,0,0,0,0,0,0,0,0,0,0,0
Type=0x01
Label=Bremen-Vahr
[END]

Всё есть
[POI]
Data0=(53.0824511,8.90961)
Type=0x2000
Label=Bremen-Vahr
смотрите конвертер навипрограммы и Скин

Del

Да, да, я знаю. Это работает.
POI на карте не проблема, я вижу картинки, я вижу “Labels”. Только я не хочу, чтобы они были на карте, в то время как на большом месте подключения я вижу 10 выходов, только карта не :slight_smile: Я хочу их в панели выше, там, где я сейчас. Вот в чем дело.

Так же, как и в старом Навигoне. Вы знаете?
https://vk.com/@bydmapl-old-navigon

Вам надо переходить в другую тему. Работа osm2mp исчерпана. Пошли проблемы 7 дорог.

OSM2MP версии 0.90b иногда выдает странные координаты для POI:

Input: groningen.osm (20.06.21, http://download.geofabrik.de/europe/netherlands/groningen-latest.osm.bz2))

Точки:

<node id="1125410458" lat="53.1290643" lon="6.3002692"/>
<node id="7377064448" lat="53.1290294" lon="6.3002808"/>
<node id="7377064449" lat="53.1289049" lon="6.3003223"/>
<node id="1125410464" lat="53.12887"   lon="6.3003339"/>

Путь:

<way id="97156225">
  <nd ref="1125410458"/>
  <nd ref="7377064448"/>
  <nd ref="7377064449"/>
  <nd ref="1125410464"/>
  <tag k="layer" v="1"/>
  <tag k="bridge" v="yes"/>
  <tag k="highway" v="cycleway"/>
  <tag k="surface" v="paved"/>
  <tag k="smoothness" v="intermediate"/>
  <tag k="traffic_sign" v="none"/>
</way>

Output:

; WayID = 97156225
; surface = paved
; smoothness = intermediate
; highway = cycleway
; layer = 1
; bridge = yes
[POI]
Type=0x6401
Data0=(-1504.3745661789,525.142444661335)
[END]

и еще:

Input: gelderland.osm (21.06.21, http://download.geofabrik.de/europe/netherlands/gelderland-latest.osm.bz2))

Точки:

<node id="3937863467" lat="51.9839734" lon="5.9001841"/>
<node id="4884090539" lat="51.9839777" lon="5.9001852"/>
<node id="4884090529" lat="51.9840154" lon="5.9001946"/>
<node id="3937863468" lat="51.9840213" lon="5.9001961"/>

Путь:

<way id="390621895">
  <nd ref="3937863467"/>
  <nd ref="4884090539"/>
  <nd ref="4884090529"/>
  <nd ref="3937863468"/>
  <tag k="access" v="no"/>
  <tag k="bus" v="yes"/>
  <tag k="hgv" v="yes"/>
  <tag k="highway" v="service"/>
  <tag k="layer" v="-1"/>
  <tag k="level" v="0"/>
  <tag k="maxheight" v="3.6"/>
  <tag k="maxspeed" v="50"/>
  <tag k="name" v="Stationsplein"/>
  <tag k="oneway" v="yes"/>
  <tag k="trolley_wire" v="yes"/>
  <tag k="tunnel" v="building_passage"/>
</way>

Output:

; WayID = 390621895
; highway = service
; layer = -1
; access = no
; tunnel = building_passage
[POI]
Type=0xf206
Label=Stationsplein
Data0=(-357.093395848889,-96.3691582227935)
[END]

Это глюк карты или конвертера (http://g-a-v.my-board.org/xch/OSM2MP_RUSSA.ZIP) ?

У меня конвертер = OSM → MP converter 1.03 (c) 2008-2013 liosha, xliosha@gmail.com
https://github.com/liosha/osm2mp
Он же с некоторыми доработками доброго активиста - https://github.com/cheshire-mouse/osm2mp

Карты (исходные данные) показывают верные координаты. Значит?

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

  • может есть иная площадка для перевода, каким образом к ней подключиться и какие изменения следует внести в конфиги конвертера?
  • при задействовании --lt-yatr-key формировался --lt-yatr-cache-dir, может есть пусть использовать накопленную базу тем более её с легкостью можно править и пополнять?
  • так и не понял как можно создать внутреннюю базу перевода?

Относительно последнего!

  • есть Subst.pm, функционирует и с помощью регулярных выражений, и просто парой from => to.
    Если я правильно понял файл состоит из набора трансформеров. Регулярными выражениями весь перевод не обеспечить. Общие правила и не более. Тем более в случае скажем с Грузинским языком.
    Да, можно не плохо трансформировать с кириллицы на кириллицу - Украинский.
    Языки Прибалтики уже трансформируются прикольно. Идёт простое преобразование букв - транслитерация.
    Описывать (прописывать) полные базы перевода многочисленных языковых пар в этом файле, утопия. Хотя работает!

  • есть –lt-gme ka-ru:gme/trans-ka-ru.dat --target-lang ru --default-lang ka на базе таблицы в формате gme.
    Я взял такой файл из GPSMapEdit?! По сути это тоже транслитерация? Или можно создавать полноценную таблицу перевода? Что то мне не удаётся черпать перевод по этой схеме?!

Расскажите кто как вышел из этой ситуации. Спасибо!

А под Руссу для него где конфиг взять ?

Похоже на то. Это только буквенная транслитерация. Большего от этой схемы получить не удаётся.

Классная штука. Действительно можно подставлять и буквы, и регулярные выражения, и слова целиком, и даже фразы. Но получается такая беда - если слово взято из name:ru, то это не освобождает слово от дальнейшего “перевода”?!
Получается так - сначала выбирается язык, а потом смотрится готовый переводчик и если там слово находится, оно переводится даже если оно из name:ru.

Остается запретить переводить name:ru. Но как это сделать? Вопрос.
Ещё сложнее запретить переводить name если там уже на русском. Думаю для этого не подобрать обоснование.

Ещё появился вопрос. Есть файл settings-navitel.yml. В нем прописана функция - Tags to skip.

  • очень полезная и нужная штука, как только автору пришла эта идея, на чем её необходимость построилась
  • я пытаюсь с её помощью исключить лишние наименования (ограничивая возможности по языковому переводу
--- skip_tags
---

'name:ar':              1
'name:az':              1
'old_name:fr':          1
'old_name:hu':          1

Условно говоря выглядит так. Предполагается что эти теги должны быть пропущены, но конвертер игнорирует сиё указание. Тянет по любому всё что видит вопреки запрету.

Кто нибудь использует эту функцию удачно? Какие есть тонкости? Спасибо.

Подскажите пожалуйста, что может означать эта ошибка:

  ---|   OSM -> MP converter  1.03   (c) 2008-2013 liosha, xliosha@gmail.com

Loading configuration...
YAML Error: Can't parse single quoted string
   Code: YAML_PARSE_ERR_BAD_SINGLE
   Line: 151
   Document: 2
 at C:/Strawberry/perl/site/lib/YAML/Loader.pm line 552.

Проверил все конфигурационные файлы, в строке 151 нет никаких отквоченных строк.
И Document: 2 - это два документа, или второй документ?

Заранее спасибо.

Полагаю второй документ - см. перечень документов в *.cfg. Смотреть строку 151 +,-.

Если имеется ввиду вот эти:

[Load]

#  settings
settings: settings-mp.yml
settings: settings-access.yml
settings: rename-country.yml
settings: addressing.yml

то в settings-access.yml всего 118 строк.