вопрос по формуле подписей слоя QGIS 2.0

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
Ответить
alexkmp3
Интересующийся
Сообщения: 29
Зарегистрирован: 17 июл 2013, 13:36
Репутация: 1

вопрос по формуле подписей слоя QGIS 2.0

Сообщение alexkmp3 » 27 дек 2013, 11:21

Имеется слой, содержащий информацию о сельскохозяйственных угодиях.
формулы вывода подписей объектов следующая
"ugod" || '\n' || "cad num" || '\n' || ' поле '||
CASE WHEN "pole" IS NULL THEN ' ' ELSE "pole"
END || ' /' || "pl" || ' га' || '\n' || "pravo" || '\n' || "sobst" || '\n' ||
CASE WHEN "memo" IS NULL THEN ' ' ELSE "memo" END

Собственно "pole" - это номер поля севооборота на пашне. При этом данная строка подписи имеет вид:
поле 122 / 43 .22 га

Проблема в том, что данная строка выводится и для других видов угодий (пастбища, сенокосы) и имеет вид:
поле /55.09 га

Информация о виде угодий содержится в отдельном столбце таблицы атрибутов, названном ugod, записи в котором имеют вид:
пашня
сенокос
пастбище

Помогите сконструировать формулу, при которой проблеммная строка для пашни осталась бы такойже, а при других видах угодий выводилась бы только площадь:
55.09 га

Помогите сконструировать формулу, при которой вывод информации о поле происхол бы только по пашне.

Аватара пользователя
gimran
Гуру
Сообщения: 1902
Зарегистрирован: 07 июл 2010, 15:43
Репутация: 242
Откуда: Уфа

Re: вопрос по формуле подписей слоя QGIS 2.0

Сообщение gimran » 27 дек 2013, 11:42

а как можно отличий поле это или угодье?

Например, если значения в "ugod", то:
CASE WHEN "ugod"='поле' THEN "ugod" || '\n' || "cad num" || '\n' || "pole" || ' поле '|| ' /' || "pl" || ' га' || '\n' || "pravo" || '\n' || "sobst" || '\n' ||
else "ugod" || '\n' || "cad num"
END

То есть логика вида:
ЕСЛИ "параметр1"='значние' ТО вывести|| '\n' ||всё|| '\n' ||название
ИНАЧЕ другое
КОНЕЦ

alexkmp3
Интересующийся
Сообщения: 29
Зарегистрирован: 17 июл 2013, 13:36
Репутация: 1

Re: вопрос по формуле подписей слоя QGIS 2.0

Сообщение alexkmp3 » 27 дек 2013, 11:57

Извиняюсь, что забыл указать столь существенный момент - столбец таблицы атрибутов pole содержит номер поля севооборота в том случае, если столбец ugod содержит запись "пашня", если в ugod содержится любое другое значение, то в pole будет NULL.

Ответить

Вернуться в «QGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 22 гостя