Tengo algunos proyectos QGIS que he estado usando durante mucho tiempo, agregando y eliminando capas, actualizando referencias a archivos eliminados o movidos, etc.
Al abrir el archivo qgs con un editor de texto, veo que contiene numerosas referencias a diferentes archivos, y estas referencias no se muestran en el panel del árbol de capas.
Tengo tres casos diferentes: referencias a archivos existentes, referencias a archivos faltantes, referencias a conexiones de bases de datos. Me di cuenta de esto cuando abrí mi proyecto en otra máquina, y QGIS informó que faltaba una conexión de base de datos a tablas de vectores que no estaban presentes en la vista de árbol de capas.
La eliminación manual de referencias del archivo qgs resolvió el problema, pero estoy administrando grandes proyectos y es casi imposible verificar manualmente la consistencia del proyecto. He probado el complemento "Eliminar capas vacías", pero las que intento eliminar no son capas vacías.
¿Hay alguna forma de 'purgar' el archivo qgis?
fuente
Setting--> Project Properties-->save paths-->relative
Cheers NRespuestas:
Las capas en cuestión están en el registro de capas pero no en la leyenda .
El siguiente script de Python elimina todas las capas que están cargadas, pero que no se muestran en la leyenda.
Eliminar las capas:
Debe ejecutarse desde la consola de Python dentro de QGIS. Después de aplicarlo, puede verificar la operación comprobando que las capas hayan desaparecido de Archivo (Proyecto en 2.0) => Propiedades del proyecto => Capas identificables . Los cambios no se guardan automáticamente
Al agregar la siguiente línea al final, los cambios también se guardarán automáticamente.
Haga una copia de seguridad de su archivo de proyecto (.qgs) antes de sobrescribir su archivo de proyecto después de aplicar este script.
Para QGIS 1.8, la siguiente línea debe ejecutarse inicialmente:
fuente
Además de muchas otras funciones útiles, el complemento llamado " Layer Board " (disponible en el instalador del complemento) tiene un botón incorporado para "Eliminar capas fantasmas" que resuelve este problema.
Además del botón de 1 clic para eliminar capas fantasmas, también le permite ver y eliminar capas individuales en una interfaz gráfica de usuario agradable que enumera cada capa y sus propiedades. Puede seleccionar cualquiera de estas capas individuales de la tabla y hacer clic en el botón "Eliminar capa" para resolver cada problema individualmente, si lo desea.
En mi caso, la capacidad de eliminar referencias de capas individuales era muy importante, porque tenía algunas "capas fantasmas" que tenían el mismo nombre pero que se mencionaban 2-3 veces en el registro. Utilicé el tablero de capas para eliminar las entradas correctas individualmente y volver a la referencia de capa única correcta.
fuente