Вывод надписей
-
- Активный участник
- Сообщения: 101
- Зарегистрирован: 16 июл 2011, 09:15
- Репутация: 6
Вывод надписей
Добрый день.
Понимиаю, что дело в малом, но это малое найти не могу.
Есть точечный слой с АЗС в шейпах. Мне надо вывести надписи в зависимости от наличия (отсутствия) вида топлива.
так на АЗС на которых нет газа и электро зарядок пишу if( "Газ" = '0' and "Электро" = 'NULL', 1, 0)
при этом ничего не выводится на экран.
если пишу фразу if( "Газ" = '0' and "Электро" = 'NULL', 0, 1) то выводит надпись на всех заправках включая и на которых есть газ и электрозарядки.
Где мои ошибки? Куда копать?
Понимиаю, что дело в малом, но это малое найти не могу.
Есть точечный слой с АЗС в шейпах. Мне надо вывести надписи в зависимости от наличия (отсутствия) вида топлива.
так на АЗС на которых нет газа и электро зарядок пишу if( "Газ" = '0' and "Электро" = 'NULL', 1, 0)
при этом ничего не выводится на экран.
если пишу фразу if( "Газ" = '0' and "Электро" = 'NULL', 0, 1) то выводит надпись на всех заправках включая и на которых есть газ и электрозарядки.
Где мои ошибки? Куда копать?
Последний раз редактировалось KartaBY 09 фев 2018, 11:06, всего редактировалось 1 раз.
-
- Гуру
- Сообщения: 1195
- Зарегистрирован: 23 апр 2011, 10:32
- Репутация: 205
- Откуда: Ульяновск
Re: Вывод надписей
У вас NULL в данных как текст или как отсутствуют данные?
-
- Активный участник
- Сообщения: 101
- Зарегистрирован: 16 июл 2011, 09:15
- Репутация: 6
-
- Активный участник
- Сообщения: 107
- Зарегистрирован: 16 июл 2015, 15:21
- Репутация: 35
- Откуда: Санкт-Петербург
Re: Вывод надписей
может как-то так?
Код: Выделить всё
if ( ("Газ" = '0' and "Электро" = 'NULL'), "поле,которым_хотите_подписать","")
-
- Активный участник
- Сообщения: 101
- Зарегистрирован: 16 июл 2011, 09:15
- Репутация: 6
Re: Вывод надписей
В моем случае пишет что не верное выражение
Код: Выделить всё
if( "Газ" = '0' and "Электро" = 'NULL', "concat( 'АЗС №' , "N" )", 1)
-
- Гуру
- Сообщения: 5292
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1015
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Вывод надписей
а кавычки экранировать Пушкин будет?
-
- Активный участник
- Сообщения: 107
- Зарегистрирован: 16 июл 2015, 15:21
- Репутация: 35
- Откуда: Санкт-Петербург
Re: Вывод надписей
За скобочками следите и кавычки пустые не пропустите для отрицательного результата (вам же не единичку в надписи надо). И вместо concat можно || использовать.
(если я вообще правильно понял задачу - вывести надпись только заправок без газа и электро...)
Код: Выделить всё
if( ("Газ" = '0' and "Электро" = 'NULL'), ( "АЗС №" || " " || "N"), "" )
-
- Гуру
- Сообщения: 1195
- Зарегистрирован: 23 апр 2011, 10:32
- Репутация: 205
- Откуда: Ульяновск
Re: Вывод надписей
Так напишите
Код: Выделить всё
"Электро" IS NULL
-
- Активный участник
- Сообщения: 101
- Зарегистрирован: 16 июл 2011, 09:15
- Репутация: 6
Re: Вывод надписей
Все верно(если я вообще правильно понял задачу - вывести надпись только заправок без газа и электро...)
И код не работает.
Уже и null заменил просто на 0. (Благо заправок 80 штук)
Не помогает.
-
- Активный участник
- Сообщения: 107
- Зарегистрирован: 16 июл 2015, 15:21
- Репутация: 35
- Откуда: Санкт-Петербург
-
- Активный участник
- Сообщения: 101
- Зарегистрирован: 16 июл 2011, 09:15
- Репутация: 6
Re: Вывод надписей
Помог такой вариант.
Теперь выводит как надо. Почему не срабатывали другие варианты для меня загадка.
За помощь всем спасибо.
Код: Выделить всё
if( ("Газ" + "Электро" = '0'), 1, 0 )
За помощь всем спасибо.
Кто сейчас на конференции
Сейчас этот форум просматривают: gisstart и 13 гостей