Size: a a a

2019 May 19

АФ

Андрей Федчук in OpenStreetMap RU
BANO notIT
окей, мапить то как
А что, если никак?
источник

Bn

BANO notIT in OpenStreetMap RU
окей, значит теготворчество :D
источник

ВТ

Валерий Трубин in OpenStreetMap RU
Типа того. Поищите, может кто-нибудь уже мапил это.
источник

Bn

BANO notIT in OpenStreetMap RU
почему геонймс не умеет в нормальные сокращения?
источник

f

fr1 in OpenStreetMap RU
Alexander Istomin
Вот как это работает? В какой момент класс объявляется и как потом присваивается и вообще что происходит? 🙂
а что не работает то, сначала где-то делаешь set className а потом фильтруешь им way.className, но я не вижу тут большого профита
источник

f

fr1 in OpenStreetMap RU
т.е это удобно когда у тебя сложный фильтр, типа это здание, с адресом, но без крышы и материала стен
источник

f

fr1 in OpenStreetMap RU
но тебе что-то мешало описать правила в одном месте
источник

f

fr1 in OpenStreetMap RU
просто там закос, под то, что этот set class можно установить извне, например из жосма
источник

Bn

BANO notIT in OpenStreetMap RU
куда там картинки то загружать?
источник

AI

Alexander Istomin in OpenStreetMap RU
fr1
а что не работает то, сначала где-то делаешь set className а потом фильтруешь им way.className, но я не вижу тут большого профита
Давай на примерах. Вот изначальный кусок:

area[building][roof:levels]::t {
 text: eval(concat("roof:levels = ", tag("roof:levels")));
 text-color: #357c23;
 font-size: 10;
 text-offset-y: 45;
 text-position: center;
 text-halo-radius: 1.5;
 text-halo-color: white;
}

area[building][building:levels]::tt {
 text: eval(concat("building:levels = ", tag("building:levels")));
 text-color: #357c23;
 font-size: 10;
 text-offset-y: 34;
 text-position: center;
 text-halo-radius: 1.5;
 text-halo-color: white;
}

А вот такой должен быть? (но такой код не работает)

area[building][roof:levels]::t {
 text: eval(concat("roof:levels = ", tag("roof:levels")));
 text-color: #357c23;
 font-size: 10;
 text-offset-y: 45;
 text-position: center;
 text-halo-radius: 1.5;
 text-halo-color: white;
 set class;
}

area[building][building:levels].class::tt {
 text: eval(concat("building:levels = ", tag("building:levels")));
 text-offset-y: 34;
}
источник

f

fr1 in OpenStreetMap RU
не работает, всмысле второе правило не применяется?
источник

AI

Alexander Istomin in OpenStreetMap RU
ага
источник

AI

Alexander Istomin in OpenStreetMap RU
Просто пропадает строка building:levels =
То есть он класс применяет, но как будто этот класс пустой. Или хз что происходит вообще.
источник

Bn

BANO notIT in OpenStreetMap RU
https://www.openstreetmap.org/changeset/70408917 - в общем посмотрите, нормально или нет
источник

f

fr1 in OpenStreetMap RU
Alexander Istomin
Просто пропадает строка building:levels =
То есть он класс применяет, но как будто этот класс пустой. Или хз что происходит вообще.
если убрать :: то работает, зачем они там?
источник

f

fr1 in OpenStreetMap RU
потому что эти :: по сути означают дополнительный проход всего стиля с новым именим
источник

f

fr1 in OpenStreetMap RU
т.е. твой флаг в этом случает никогда и не ставился
источник

AI

Alexander Istomin in OpenStreetMap RU
fr1
если убрать :: то работает, зачем они там?
Прикольно, спасибо.

Без :: надо как-то иначе шаманить вывод значений из нескольких тегов.
Когда ты для одного и того же объекта пишешь несколько правил, но не разделяешь по слоям, то применяются не все написанные правила, а только последнее.

Но если я что-то не так делаю, а у тебя есть советы, то с радостью приму в дар )
источник

f

fr1 in OpenStreetMap RU
давай к вечеру ближе я подумаю
источник

AI

Alexander Istomin in OpenStreetMap RU
Мне бы перенос строки в text: eval(concat()) засунуть и тогда я бы переписал без слоев. Но я не нашел, как это сделать.
источник