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

Поиск и выделение в атрибутивной таблице по слову

Добавлено: 06 сен 2017, 02:57
Natalia Novoselova
Как в QGIS можно найти объект по его названию в атрибутивной таблице? Атр. таблица из сотен строк. Можно ли выделить все объекты, имеющие в графе NAME имя "Reserva"(должны выделиться все объекты, имеющие в графе Name слово "Reserva" (н-р "Reserva verde", ""Reserva vermelha, Alguma reserva"- etc).Пытаюсь сделать из атр. таблицы. Кликаю на поле NAME > Sort > Field and Values > выбираю опять NAME. Кликаю правой кнопкой, выбираю "Load all unique values", дальше в правом окне в графе "Values" пишу слово для поиска (Reserva). После чего внизу появляется окно, где видны вроде бы все эти объекты из атрибутивной таблицы.


Но как дальше - как их выделить в самой атрибутивной таблице (чтобы увидеть на карте, чтобы пересохранить выборку и т.п. )?
Или я не ту вообще операцию использую для поиска?

Re: Поиск и выделение в атрибутивной таблице по слову

Добавлено: 06 сен 2017, 07:38
Игорь Белов
Простое выражение для выделения:

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

strpos( lower( "ORIG_NAME" ) , 'reserva' ) > 0
Весьма полезно познакомиться с регулярными выражениями и использовать функции regexp.

Re: Поиск и выделение в атрибутивной таблице по слову

Добавлено: 06 сен 2017, 07:39
Andrey Zhukov
Полезно хотя бы с SQL познакомиться :)
https://www.codecademy.com/learn/learn-sql - вот, например, хороший туториал

Re: Поиск и выделение в атрибутивной таблице по слову

Добавлено: 06 сен 2017, 07:56
t[0]p
Natalia Novoselova писал(а):
06 сен 2017, 02:57
как их выделить в самой атрибутивной таблице
Необходимо писать команды в левом окошке (там где надпись "ORIG_NAME") вот такого формата:
"имя колонки" оператор 'атрибут'. тут можно посмотреть, что всё это значит.

А в данном случае строчка будет выглядеть так: "ORIG_NAME" LIKE 'Reserva%'. По идее - выделит все объекты название которых начинается на 'Reserva'. Но тут есть НО - вижу, что есть названия которые не начинаются с 'Reserva'. Поэтому нужно будет написать еще 1 запрос примерно такой же, только значок '%' поместить перед ключевым словом. Есть третий вариант ('%Reserva%'), если значение стоит в середине строки (но это не точно :)-
пробуйте ).

Re: Поиск и выделение в атрибутивной таблице по слову

Добавлено: 06 сен 2017, 12:45
Vedmed
t[0]p писал(а):
06 сен 2017, 07:56
А в данном случае строчка будет выглядеть так: "ORIG_NAME" LIKE 'Reserva%'. По идее - выделит все объекты название которых начинается на 'Reserva'. Но тут есть НО - вижу, что есть названия которые не начинаются с 'Reserva'. Поэтому нужно будет написать еще 1 запрос примерно такой же, только значок '%' поместить перед ключевым словом.
Второй запрос не нужен, достаточно:
"ORIG_NAME" LIKE '%Reserva%'
% - любое количество любых неизвестных символов. Если стоит перед и после слова, тогда выловится все, что имеет в составе фразы Reserva, независимо от положения этого слова
Стоп. А почему "ORIG_NAME", когда поиск ведется по "NAME"?
Тогда:
"NAME" LIKE '%Reserva%'