¿Muestra solo las características seleccionadas en el mapa en QGIS?

30

No estoy seguro si alguna vez existió esta opción, pero la nueva versión de QGIS oculta muchas cosas en otro lugar y esto parece tan simple que estoy un poco convencido de que era posible hacer esto antes.

Tengo un conjunto de datos bastante grande con pistas de barcos. Ahora quiero analizar las pistas de barcos individuales (hechas de capa de puntos con points2one); sin embargo, está tan lleno que es difícil ver pistas individuales. No quiero guardar cada pista individual como una nueva capa, por lo que me pregunto si es posible seleccionar una pista en la tabla de atributos y mostrar solo esa en el mapa / ocultar las otras.

Kristina
fuente

Respuestas:

33

La respuesta de Kadeem evitará que sus características sean visibles, pero aún estarán presentes, si está tratando de identificar una pista de barco individual, puede hacer clic en una característica invisible por error. Lo que parece que debes hacer es definir tu capa para que sea como si esas características no existieran. En ArcGIS, esto generalmente se haría utilizando una Consulta de definición, en QGIS el comando equivalente es el Subconjunto de capas. Vaya a las Propiedades de su capa, debajo de la pestaña General, en la parte inferior está el cuadro Subconjunto de características, haga clic en el botón debajo de él para abrir el Generador de consultas:

ingrese la descripción de la imagen aquí

Query Builder lo ayudará a crear una consulta SQL para definir qué características de su capa deberían mostrarse realmente en su proyecto. Cualquier característica que no sea devuelta por la consulta se vuelve invisible, no solo visualmente sino por completo (no se eliminan de sus datos, por supuesto, solo se definen como inexistentes hasta que elimine la consulta del Subconjunto de capas).

Dan C
fuente
Dan, muchas gracias !!! Esto es lo que estaba buscando, un poco más complicado de lo que esperaba, ¡pero funciona! Muy útil, gracias!
Kristina
Esa es la respuesta idd. Buen consejo Dan!
kadéem
Extraño. Hace algún tiempo hice esto y funcionó. ¡Ahora quiero volver a hacerlo en otra capa y el cuadro Subconjunto de funciones está atenuado, así como el botón del QueryBuilder! ¿¿¿Cualquier sugerencia???
Patrick Van Den Noortgaete
Resuelto, pero no está claro por qué. Guardé los cambios que hice y luego el botón QueryBuilder estuvo disponible ...
Patrick Van Den Noortgaete
1
@SimoA. Si los datos están en Excel, se puede filtrar allí, añadir un nuevo campo en el que convertir VALUEa 'VALUE',, a continuación, copiar y pegar a ese respecto en el cuadro de consulta mediante una consulta IN.
Dan C
15

Esto ahora es posible utilizando solo selecciones y una simbología basada en reglas.

Esto requiere el complemento Expression Plus (para QGIS 2.x. 3.0 tiene la funcionalidad incorporada).

Cree una simbología basada en reglas con el filtro de:

QGIS 3.0+ (de thequerist en los comentarios):

is_selected()

QGIS 2.12-2.18:

isselected( @layer_name )

O QGIS 2.8:

isselected( 'ACTUAL_NAME_OF_LAYER' )

Ahora solo se mostrarán las características seleccionadas que cumplan con esta regla.

También puede tener una regla ELSE para todas las características no seleccionadas.

ingrese la descripción de la imagen aquí

HeikkiVesanto
fuente
1
Esto es exactamente lo que estaba buscando - gracias por esta respuesta
geobar
HeikkiVesanto, ¿dónde inserto este filtro?
newGIS
He añadido una foto.
HeikkiVesanto
1
Usando QGIS 2.18.14 y la expresión que funcionó se selecciona ('nombre_capa'). El uso de (@layer_name) arrojó 0 resultados.
Techie_Gus
2
En QGIS 3 y superiores, esta característica está integrada. Puede encontrarla Record and Attributesen Expression String Builder. Además, ya no necesita poner el nombre de la capa y no olvide subrayar entre isy selected. Aquí es un ejemplo para QGIS 3 y por encima de: is_selected().
thequerist
12

Kristina, ¿supongo que hay un atributo en tu tabla que te permite identificar una sola pista? Por ejemplo:

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

Si abre la tabla de atributos, puede encontrar un símbolo épsilon (en la figura siguiente, el cuarto).

ingrese la descripción de la imagen aquí

Esto le permite escribir una expresión; por ejemplo:

"track_id" = 24

Cuando confirma, se seleccionan todas las filas que satisfacen su expresión (es decir: todos los puntos que pertenecen a la pista con track_idX). Si luego hace clic en el botón de lupa, QGIS se acerca a su selección en el lienzo del mapa. Las características seleccionadas (puntos en su caso) están resaltadas.


Lo que puede hacer es aplicar un estilo basado en reglas. Como tal, puede mostrar una ruta de barco individual usando un símbolo o marcador dado, y 'no mostrar' todos los demás puntos dándoles un marcador 'invisible'. La captura de pantalla (parte de Propiedades de capa) a continuación explica cómo funciona:

  • Regla 1: aplique el marcador dado a todos los puntos que tengan un valor de 24 para track_id
  • Regla 2: aplique el marcador dado (un círculo con relleno blanco y borde blanco ...) a todos los puntos que no cumplan un track_idvalor de 24

ingrese la descripción de la imagen aquí

De hecho, todos los puntos siguen ahí (hacerlos blancos no hará que el renderizado tarde menos tiempo), ¡pero al menos tus ojos pueden relajarse!

kadéem
fuente
Muchas gracias por tu respuesta Kadeem! Soy consciente de la función de selección y esto funciona bien, sin embargo, literalmente tengo 500,000 puntos en un área pequeña y solo resaltar las pistas que estoy buscando no es suficiente, el mapa todavía está demasiado lleno y confuso. ¿Sabes si existe la posibilidad de bloquear todos los puntos no seleccionados o algo así?
Kristina
2
Edité mi respuesta con otra opción debajo de la línea. Supongo que esto te ayudará.
kadéem
Kadeem, esto es muy simple pero efectivo. ¡Gran idea, muchas gracias!
Kristina