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

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
Ответить
Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

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

Сообщение Natalia Novoselova » 06 сен 2017, 02:57

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


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

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2230
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1503
Откуда: Казань

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

Сообщение Игорь Белов » 06 сен 2017, 07:38

Простое выражение для выделения:

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

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

Andrey Zhukov
Гуру
Сообщения: 838
Зарегистрирован: 10 дек 2009, 23:24
Репутация: 169
Ваше звание: старик-гисовик
Откуда: Москва
Контактная информация:

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

Сообщение Andrey Zhukov » 06 сен 2017, 07:39

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

Аватара пользователя
t[0]p
Участник
Сообщения: 93
Зарегистрирован: 15 ноя 2014, 14:35
Репутация: 7
Откуда: Томск

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

Сообщение t[0]p » 06 сен 2017, 07:56

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

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

Vedmed
Участник
Сообщения: 70
Зарегистрирован: 19 янв 2012, 14:48
Репутация: 6

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

Сообщение Vedmed » 06 сен 2017, 12:45

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%'

Ответить

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

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

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