Existe uma maneira de excluir todas as linhas no QGIS nas quais a célula de uma coluna específica na tabela de atributos está vazia? por exemplo, linha três na tabela abaixo. Eu preciso fazer isso para um grande conjunto de dados com cerca de 180.000 linhas.
| ID | 2LE | CHECK |
|-----|------|-------|
| 1 | PT | FALSE |
| 2 | PT | TRUE |
| 3 | NULL | TRUE |
| 4 | AT | FALSE |
qgis
attribute-table
Stücke
fonte
fonte
Respostas:
Você também pode filtrar sua camada.
Clique com o botão direito na camada, escolha
Filter
e use"2LE" IS NOT NULL
. Depois, você pode clicar com o botão direito e emSave As
outra camada vetorial.fonte
Você pode usar o seguinte no console Python . Selecione sua camada e use algo como:
fonte
Você pode usar uma camada virtual, para manter o conjunto de dados original e criar um novo.
Se não houver geometria, marque "Sem geometria" na janela "Criar uma camada virtual".
Existem diferentes maneiras de verificar
NULL
ou ``. Veja também SQLite selecione onde está vazio? - no estouro de pilhaConsultas de exemplo. Fiquei curioso e testei todos eles com sucesso (sem erros):
>
>
>
>
Você pode
Save As
(clicar com o botão direito) a consulta (camada virtual) para um novo arquivo vetorial.fonte
Na tabela de atributos, use "Selecionar por expressão" (não Filtro) e insira a expressão para corresponder aos recursos que você deseja excluir -
"2LE" IS NULL
parece fazê-lo. Em seguida, você deve selecionar todos esses recursos e eles devem aparecer em amarelo.Em seguida, com a edição ativada (alternada pelo ícone de lápis na barra de ferramentas ou em outro local), pressione Ctrl-X ou use "Recursos de corte" no menu "Editar". Os recursos selecionados devem desaparecer.
Em seguida, você pode desativar a edição (ícone de lápis) e será solicitado a salvar as alterações, se desejar, que substituirão os dados originais no disco ou no banco de dados.
fonte