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

Коллеги, а прояснит ли кто доступным языком, что означает эта запись в ways-roads-common.yml:

      oneway: &2
        selector: if
        condition: oneway = no|false|0
        then: 0
        else:
          selector: if
          condition:
            or:
                - oneway = yes|true|1|-1
                - junction = roundabout
                - highway = motorway|motorway_link
          then: 1
          else: 0

В частности, интересует &2
Заранее спасибо.

Дальше увидишь такое:
oneway: *2
toll: *3
reverted: *4
То есть для них брать также, как было в &2, &3, &4.

Т.е. это переменная, которой присваивается значение.
А куда это значение потом вставляется?

Вставляется туда, где эта цифра со звездочкой. Как выше написал. Например, вся информация по oneway: &2 (все, что написано у тебя в посте) переносится туда, где стоит oneway: *2. Один раз описал, потом в нужных местах будет только одна строчка.

Понял, спасибо.

И еще один вопрос: кто в коде osm2mp.pl разбирается, мне показалось или скрипт в зависимости от maxspeed ставит соответствующую цифру в routeparams?

Насколько помню, ставит.

ОК. Спасибо, а то я уж хотел конфигами такое делать…

Не стану настаивать, но мне помнится не меняет. Надо повторить эксперимент.

Надо чтобы автор наверное выступил :slight_smile:

Проверил на скорую руку. - меняет.
P.S. Ну да, меняет. Конечно меняет. Иначе какой смысл в учете maxspeed и maxspeed:practical.

То есть, он и maxspeed:practical учитывает наравне с maxspeed?

Да. Только там стоят коэффициенты. У кого то по умолчанию. Другие изменили.

Коллеги, возник вопрос от пользователя.
Есть здание https://www.openstreetmap.org/relation/6191693
При конвертации геометрия искажается

Что можно сделать, чтобы контур здания не корёжился?

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

Отключить Snap to grid в мапедите

Проблема в том, что и в результирующей карте для ситигида здание получается с такими же искажениями.
Процесс конвертации из .osm в .cgnet не имеет пункта загрузки в мапэдит…
oasm2mp > geoconstructor

Обычно подобное происходит из-за потери битности координат. Где-то происходит округление.

Да, причем в результате опытов похоже это конструктор ситигида гадит.
Вопрос закрыт - osm2mp нипричем.
liosha Сорри.

Вручную меняли в полише Level0=24 → Level0=26 ???

Вручную ничего не менялось.
в output-polish yml сделано так:

  [% # default zoomlevels
    levels = [ 26, 22, 20, 18, 16, 14, 12 ]; -%]
  Levels=[% levels.size %]
  [% FOREACH zoom IN [ 0 .. levels.max ];
    key = "Level$zoom" -%]
  [% key %]=[% opts.exists(key) ? opts.$key : levels.$zoom %]
  [% opts.delete(key); END %]

В osm2mp Level0=26. А что выставлено в конечном конвертере? Наверное 24 или того меньше.