¿Cómo actualizar la tabla de atributos de una capa después de editar la tabla en el DB-Manager?


14

¿Hay alguna manera de actualizar la tabla de atributos de una capa después de editar la tabla (por ejemplo, agregar una columna) en el DB-Manager?


El complemento changeDataSource es la forma más rápida y funciona muy bien con archivos .csv
scataldi

Respuestas:


13

Corto y dulce:

  1. Instale el complemento changeDataSource .
  2. Haga clic derecho en la capa en el Panel de capas y seleccione Change vector datasource.
  3. En el cuadro de diálogo que aparece, simplemente presiona OKsin cambiar ninguna de las configuraciones.

Básicamente, está "cambiando" el origen de datos del vector a lo que ya era, pero esto obliga a QGIS a volver a cargar la definición de capa.

Probado en QGIS 2.14 en Linux Mint 17.2.


Tuve que volver a seleccionar la misma fuente de datos para que eso funcione.
sladstaetter

4

Suponiendo que está trabajando con una base de datos PostGIS, puede actualizar las estadísticas de la tabla de interés utilizando la ANALYSEfunción: http://www.postgresql.org/docs/current/static/sql-analyze.html

En su caso, puede ejecutar la declaración dentro del administrador de base de datos presionando el botón marcado en la imagen adjunta y ejecutando la ANALYSEdeclaración en la ventana, que también está marcada. La consulta sería ANALYSE yourschema.yourtable. El comando de análisis debería actualizar su tabla, de modo que cuando vuelva a acceder a la información, refleje los cambios que ha realizado. Ventana del administrador de base de datos


1
Esto no actualiza la tabla de atributos (clic derecho en la capa -> Abrir tabla de atributos).
Mar Lunar

2

¿Entiendo bien si quiere actualizar la tabla en QGIS después de realizar un cambio en las columnas?

Hasta donde sé, solo cerrar y abrir el proyecto o volver a agregar la tabla hará que esto suceda. Siempre que haya guardado el estilo predeterminado en la base de datos, esa podría ser la forma más rápida.

Cuando se agrega una columna con la Calculadora de campo, los cambios son visibles al instante, pero el administrador de bases de datos ofrece más control para definir el tipo de campo, así que entiendo por qué eso puede no ser una solución.


¿Hay algún comando de Python para actualizar la tabla de atributos? También he notado que 'Mostrar recuento de características' ignora los cambios realizados en el Administrador de base de datos (agregar características / eliminar características).
Mar Lunar

3
layer.dataProvider().forceReload()debería hacer el truco
Matthias Kuhn
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.