Processing math: 100%

11 votos

Ocultación de puntos específicos en la capa del shapefile

Estoy utilizando QGIS 2.18.2 en un Macbook Pro con OS X 10.10.5.

He creado una capa de sólo 8 puntos de una encuesta sobre la fauna. Algunos puntos se han vuelto menos relevantes, por lo que quiero ocultarlos de la visualización. Pero prefiero no borrarlos del shapefile.

¿Hay alguna forma de hacerlo? ¿O tengo que crear una nueva capa separada de los puntos relevantes?

7voto

Makumba Puntos 35

Yo haría esto por:

  • añadir una columna a la tabla de atributos, llamarla "visible"
  • marque los puntos que no quiere que sean visibles como "no".
  • en las propiedades del shapefile (doble clic en el shapefile) seleccione propiedades>estilo>categorizado>
  • seleccione la columna "visible" y haga clic en "clasificar".
  • O bien eliminar los registros "no" de la ventana de diálogo de estilo
  • O desmarcar su casilla de visibilidad
  • O hacerlos completamente transparentes

5voto

ghotan Puntos 29

Si está bien añadir un campo para determinar el show / no show de sus puntos, por ejemplo:

enter image description here

El estilo "basado en reglas" se puede configurar como "Mostrar" = 'mostrar' y "Mostrar" = 'no mostrar'.

En Propiedades de las reglas (haciendo doble clic en la regla "no mostrar"), puede marcar la pequeña casilla situada junto a Símbolo . Esto desactiva la apariencia de los símbolos.

Cuando necesites recuperar los puntos ocultos, enciende la caja.

5voto

mathieu Puntos 53

Siempre que haya pocos puntos que ocultar, podría filtrarlos fácilmente incluso enumerando sus ID (si es necesario, cuando los respectivos puntos no comparten un atributo común):

  • hacer clic con el botón derecho del ratón sobre la capa en la ventana de capas

  • seleccione "Filtro...

  • tipo " 'ID' NOT IN ('id1','id2',...) " siendo 'id' los puntos-ID a ocultar e 'ID' el (nombre del) campo ID único

Puede aplicar la misma regla a cualquier combinación de nombre/valor de campo para identificar sus puntos a ocultar, en caso de que falte un campo ID (poco probable).

4voto

Mue Puntos 2469

Otro método es establecer el Filtro de características del proveedor al que se puede acceder haciendo clic con el botón derecho del ratón en la capa y yendo a Properties > General > Provider feature filter . Esto permite filtrar las características en función de sus atributos. Podemos usar esto para ocultar ciertas características. Lo que solía hacer era (basado en esto Correo electrónico: ):


  1. Cree un nuevo campo en su capa y utilice la expresión

    $id

    Esto devuelve el id de la característica. A continuación, guarde las modificaciones.


  1. Ejecute el siguiente código en el Consola Python Esto establecerá el filtro de forma programada. Así que básicamente seleccionas los puntos que quieres ocultar y el código creará el filtro basado en esos puntos seleccionados:

    def hide(field):
        layer = iface.activeLayer()
        expr = str(field) + " NOT IN ("
        for feat in layer.selectedFeatures():
            expr = expr + "'" + str(feat.id()) + "',"   
        expr = expr[:-1] + ")"  
        layer.setSubsetString(expr)

  1. Seleccione los puntos que desea ocultar y (suponiendo que el nombre del campo que contiene el id de la característica se llama "ID" ) y luego escriba lo siguiente en la consola de python:

    hide('ID')

    Fíjate en las comillas simples. Los puntos seleccionados deberían estar ahora ocultos.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X