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

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

Добавлено: 27 дек 2013, 11:21
alexkmp3
Имеется слой, содержащий информацию о сельскохозяйственных угодиях.
формулы вывода подписей объектов следующая
"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 га

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

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

Добавлено: 27 дек 2013, 11:42
gimran
а как можно отличий поле это или угодье?

Например, если значения в "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' ||название
ИНАЧЕ другое
КОНЕЦ

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

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