Страница 1 из 1

Отображение подписей

Добавлено: 21 окт 2013, 13:03
KartaBY
Пытаюсь настроить отображение подписей в линейном слое без служебных символов.
Служебный символов два: "{P" и "{O".
составил следующее выражение
ScreenShot025.jpg
ScreenShot025.jpg (35.14 КБ) 6669 просмотров
Но при этом часть выражения срабатывает а часть нет.
Уже голову сломал, почему так происходит.
ScreenShot026.jpg
ScreenShot026.jpg (37 КБ) 6669 просмотров

Re: Отображение подписей

Добавлено: 21 окт 2013, 13:40
trir
Не та буква? Можно код посмотреть...

Re: Отображение подписей

Добавлено: 21 окт 2013, 13:58
KartaBY
Э-эээ. Код весь на скрине. Другого нет.

Re: Отображение подписей

Добавлено: 21 окт 2013, 15:12
KartaBY
Может я невнятно объяснил суть проблемы?
Попробую по другому.
ScreenShot027.jpg
ScreenShot027.jpg (44.79 КБ) 6634 просмотра
На скрине видно, что служебный символ "{P" остался в надписи "{PP28", должно быть "Р28".
Служебный символ "{O" не отображается. Надпись высвечивается так как задумано т.е "H9287"

Текст кода в одном и другом случае одинаков, а результат разный.

п.с. Оформление фона (круг, прямоугольник) работает как положено.

Код: Выделить всё

CASE 
WHEN "NAME" ILIKE  '{Р%' THEN 'Square' 
WHEN "NAME" ILIKE  '{O%' THEN 'Circle'
END

Re: Отображение подписей

Добавлено: 21 окт 2013, 15:28
bolotoved
Вероятно, дело тут в

Код: Выделить всё

substr("NAME",3,5)
в случае с неверно отображающейся строкой, там всего 3 значащих символа (не считая служебных), а у вас код вынуждает вернуть с 3-го символа строку длиной в 5 символов.

Re: Отображение подписей

Добавлено: 21 окт 2013, 15:49
KartaBY
Меняю количество символов и 3 и 2 и 4. ничего не меняется. ((

Re: Отображение подписей

Добавлено: 21 окт 2013, 16:01
trir
я имел ввиду - там кириллица или латиница?

Re: Отображение подписей

Добавлено: 21 окт 2013, 16:03
bolotoved
У меня код работает. Шейп-файл, QGIS-2.0.1 (dthcbz 2.1.0+git20131006+4072e39~precise-ubuntugis1), ubuntu 12.04

Код: Выделить всё

CASE
WHEN "name" ILIKE '{P%' THEN substr("name",3,5)
WHEN "name" ILIKE '{O%' THEN substr("name",3,5)
ELSE "name"
END

Re: Отображение подписей

Добавлено: 21 окт 2013, 16:04
bolotoved
Проверьте, м.б. у вас вместо английской P, русская Р или наоборот.

Re: Отображение подписей

Добавлено: 21 окт 2013, 16:06
KartaBY
trir писал(а):я имел ввиду - там кириллица или латиница?
Спасибо.
Вся проблема была в кирилице-латинице. :oops:
Все заработало.

Вопрос закрыт.