Использование правил при оформлении стилей

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
Ответить
Аватара пользователя
chet2
Активный участник
Сообщения: 104
Зарегистрирован: 08 дек 2016, 09:46
Репутация: 6

Использование правил при оформлении стилей

Сообщение chet2 » 04 июл 2018, 09:11

Здравствуйте.
Есть таблица вида:
Изображение
Столбцы column1 и column2 имеют тип данных string:
Изображение
Таблица крутится в базе данных СУБД PostgreSQL.
Если посмотреть таблицу внутри pgAdmin, то мы увидим, что пустые строки обозначаются двумя апострофами (так и должно быть):
Изображение
У меня всего две строки в таблице.
Я составил два правила. Мне кажется, что по одному правилу должен возвращаться один объект, по другому – другой.
Вот эти два правила:
"column1" = 'priznak' AND toreal("column2") < '10'
"column1" = ('') AND "column2" = ('')
Изображение
Каждое из правил проходит проверку кнопкой "Проверить" и каждое по отдельности возвращает по одному значению:
Изображение
Изображение
Но вместе эти два правила не уживаются - второй объект отображается только если правило для первого объекта выключено:
Изображение

Первое правило должно возвращать все объекты, у которых в столбце column1 прописано значение 'priznak' и вдобавок к этому в столбце column2 содержится значение, которое меньше 10. Функция toreal преобразует строковое значение в real.
Второе правило должно возвращать любые объекты, у которых в этих двух столбцах - пустые строковые значения.

Не пойму где накосячил.
Если кто видит ошибку - подскажите пожалуйста.

Dmitry Stasev
Участник
Сообщения: 67
Зарегистрирован: 13 мар 2018, 08:59
Репутация: 22
Откуда: MO

Re: Использование правил при оформлении стилей

Сообщение Dmitry Stasev » 04 июл 2018, 15:39

Похоже to_real("column2") не может пустую строку преобразовать в число.
пробуй без to_real, должно сработать

freeExec
Гуру
Сообщения: 1195
Зарегистрирован: 23 апр 2011, 10:32
Репутация: 205
Откуда: Ульяновск

Re: Использование правил при оформлении стилей

Сообщение freeExec » 04 июл 2018, 16:44

Dmitry Stasev писал(а):
04 июл 2018, 15:39
to_real, должно сработать
он и так сейчас сравнивает число с текстом (и возможно sql его конвертит), а будет вообще текст с текстом - а это полная лажа.

Dmitry Stasev
Участник
Сообщения: 67
Зарегистрирован: 13 мар 2018, 08:59
Репутация: 22
Откуда: MO

Re: Использование правил при оформлении стилей

Сообщение Dmitry Stasev » 04 июл 2018, 16:55

По поводу архитектуры, это к ТС
freeExec писал(а):
04 июл 2018, 16:44
sql его конвертит
Вроде конвертит и в этом случае. Поэтому и предложил ТС проверить
("col1" = 'priznak') and ( "col2" =11.1)
очень даже находит
'priznak' 11,1

Аватара пользователя
chet2
Активный участник
Сообщения: 104
Зарегистрирован: 08 дек 2016, 09:46
Репутация: 6

Re: Использование правил при оформлении стилей

Сообщение chet2 » 05 июл 2018, 13:51

Спасибо!

Ответить

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

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

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