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

У него прописано motor_junction, такого тега нет. А есть motorway_junction…

То то я смотрю нет, а вроде как и есть. А точно тег проверить на экране смартфона, старых глаз не хватает. Куриная слепота. :slight_smile:

да, я старею :wink:

Нет, это я старею :smiley:

- condition:
    - highway = motorway_junction
  action:
    - action: write_poi
      type: 0x2000
дополнить
      Label: %label
или
      name: %label

Точно не помню…

Спасибо за подсказку, я также думал в этом направлении.
В типе дороги я нашел это в файле mp:


; WayID = 143093137:0
; highway = secondary
; surface = asphalt
[POLYLINE]
Data0=(50.0322366,8.7141182),(50.0318187,8.7148991),(50.0316461,8.7152035),(50.0315243,8.7154188),(50.0313322,8.7157385),(50.031038,8.7161886),(50.0306658,8.7167382)
RoadID=1119
DirIndicator=1
RouteParams=3,2,1,0,0,0,0,0,0,0,0,0
EndLevel=2
Type=0x02
Label=~[0x06]L3313-L3317
TrafficLanes=1,0,0,1,0,0
Nod0=0,635106,0
Nod1=6,1055156,0
[END]

Label=~[0x06]L3313-L3317

Я думаю, что Label исходит из файла ways-roads-common.yml:


road_ref:
        selector: tag
        tag: highway
        motorway: '~[0x04]'
        _default:
          selector: if
          condition: ~inside_city
          then:
            selector: tag
            tag: highway
            trunk: '~[0x04]'
            primary: '~[0x05]'
            secondary: '~[0x06]'
            tertiary: '~[0x06]'

И ему не хватает ссылки.
Могу попробовать:


- condition:
    - highway = motorway_junction
  action:
    - action: write_poi
      type: 0x2000
      Label: ~[0x04]%label

Я компилирую небольшую карту. Теперь я думаю, что motorway_junction не знает, в каком типе дороги есть выход и что следует за ним.
Может быть, так?


- condition:
    - highway = motorway_junction
  action:
    - action: write_poi
      type: 0x2000
      Label: ~[0x01]~[0x02]~[0x03]~[0x04]~[0x05]%label

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

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

- 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

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