Exibindo apenas os recursos selecionados no mapa no QGIS?

30

Não tenho certeza se essa opção já existiu, mas a nova versão do QGIS esconde muitas coisas em outro lugar e isso parece tão simples que estou convencido de que era possível fazer isso antes.

Eu tenho um conjunto de dados bastante grande com trilhas de navios. Agora eu quero analisar trilhas individuais de navios (feitas a partir da camada de pontos com points2one) - no entanto, é tão lotado que é difícil olhar para trilhas individuais. Eu não quero salvar cada faixa como uma nova camada, então me pergunto se é possível selecionar uma faixa na tabela de atributos e exibir apenas uma no mapa / ocultar as outras?

Cristina
fonte

Respostas:

33

A resposta do Kadeem impedirá que seus recursos sejam visíveis, mas eles ainda estarão presentes. Se você estiver tentando identificar uma trilha de navio individual, poderá clicar em um recurso invisível por engano. Parece que você precisa fazer é definir sua camada para que seja como se esses recursos não existissem. No ArcGIS, isso geralmente seria feito usando uma Consulta de Definição, no QGIS o comando equivalente é o Subconjunto da Camada. Vá para Propriedades da sua camada, na guia Geral, na parte inferior é a caixa Subconjunto de recursos, clique no botão abaixo para abrir o Query Builder:

insira a descrição da imagem aqui

O Query Builder ajudará você a criar uma consulta SQL para definir quais recursos na sua camada realmente devem ser exibidos no seu projeto. Quaisquer recursos não retornados pela consulta ficam invisíveis, não apenas visualmente, mas totalmente (eles não são excluídos dos seus dados, é claro, eles são definidos como inexistentes até que você remova a consulta Layer Subset).

Dan C
fonte
Dan, muito obrigado !!! Era isso que eu estava procurando, um pouco mais complicado do que eu esperava, mas faz o truque! Muito útil, obrigado!
27914 Kristina
Essa é a resposta. Boa dica Dan!
kadéem 28/08
Esquisito. Algum tempo atrás eu fiz isso e funcionou. Agora, quero fazer isso novamente em outra camada e a caixa Subconjunto de recursos fica acinzentada, assim como o botão do QueryBuilder! Alguma sugestão???
Patrick Van Den Noortgaete
Resolvido, mas não está claro o porquê. Salvei as alterações que fiz e depois o botão QueryBuilder tornou-se disponível ...
Patrick Van Den Noortgaete
11
@SimoA. Se os dados estiverem em Excel, você pode filtrá-la lá, adicionar um novo campo, onde você converter VALUEpara 'VALUE',, em seguida, copiar e colar esse campo na caixa de consulta usando uma consulta IN.
Dan C
15

Agora isso é possível usando apenas seleções e uma simbologia baseada em regras.

Isso requer o plug-in Expression Plus (para o QGIS 2.x. 3.0 a funcionalidade é incorporada).

Crie uma simbologia baseada em regras com o filtro de:

QGIS 3.0+ (do thequerist nos comentários):

is_selected()

QGIS 2.12-2.18:

isselected( @layer_name )

Ou QGIS 2.8:

isselected( 'ACTUAL_NAME_OF_LAYER' )

Agora, apenas os recursos selecionados que atendem a essa regra serão mostrados.

Você também pode ter uma regra ELSE para todos os recursos não selecionados.

insira a descrição da imagem aqui

HeikkiVesanto
fonte
11
Este é exatamente o que eu estava procurando - obrigado por esta resposta
geobar
HeikkiVesanto, onde insiro este filtro?
newGIS
Eu adicionei uma imagem.
precisa saber é o seguinte
11
Usando o QGIS 2.18.14 e a expressão que funcionou é selecionada ('layer_name'). Usar (@layer_name) retornou 0 resultados.
TechTudo_Gus
2
No QGIS 3 e acima, esse recurso está embutido. Você pode encontrá-lo Record and Attributesem Expression String Builder. Além disso, você não precisa mais colocar o nome da camada e não se esqueça de sublinhar entre ise selected. Aqui está um exemplo para QGIS 3 e acima: is_selected().
thequerist
12

Kristina, presumo que exista um atributo em sua tabela que permita identificar uma única faixa? Por exemplo:

  point_id  |  track_id
------------+------------
     1      |     15
     2      |     15
     5      |     24
     6      |     24
     7      |     24

Se você abrir a tabela de atributos, poderá encontrar um símbolo epsilon (na figura abaixo, o quarto).

insira a descrição da imagem aqui

Isso permite que você digite uma expressão; por exemplo:

"track_id" = 24

Quando você confirma, todas as linhas que satisfazem sua expressão (ou seja: todos os pontos que pertencem à trilha com track_idX) são selecionadas. Se você clicar no botão da lupa, o QGIS aumentará o zoom para sua seleção na tela do mapa. Os recursos selecionados (pontos no seu caso) são destacados.


O que você pode fazer é aplicar um estilo baseado em regras. Como tal, você pode mostrar uma trilha de navio individual usando um determinado símbolo ou marcador e 'não mostrar' todos os outros pontos, dando a eles um marcador 'invisível'. A captura de tela (parte das propriedades da camada) abaixo explica como funciona:

  • Regra 1: aplique o marcador fornecido a todos os pontos com um valor de 24 para track_id
  • Regra 2: aplique o marcador fornecido (um círculo com preenchimento branco e borda branca ...) a todos os pontos que não satisfaçam um track_idvalor de 24

insira a descrição da imagem aqui

De fato, todos os pontos ainda estão lá (torná-los brancos não fará com que a renderização leve menos tempo), mas pelo menos seus olhos podem relaxar!

kadéem
fonte
Muito obrigado pela sua resposta Kadeem! Estou ciente da função de seleção e isso funciona bem, no entanto, tenho literalmente 500.000 pontos em uma pequena área e apenas destacar as trilhas que estou procurando não é suficiente, o mapa ainda está muito cheio e confuso. Você sabe se existe a possibilidade de bloquear todos os pontos não selecionados ou algo parecido?
27514 Kristina
2
Editei minha resposta com outra opção abaixo da linha. Eu acho que isso irá ajudá-lo.
kadéem 27/08/14
Kadeem, isso é tão simples, mas eficaz - ótima idéia, muito obrigado!
Kristina