Necesita agregar rápidamente múltiples capas de múltiples carpetas al proyecto QGIS

12

He descargado varios archivos Zip de imágenes (el contenido de cada uno es jp2, jpg, jpw, xml, htm y .dbf, .prj, .sbn, .sbx, .shp, .shx) y me gustaría agregar rápidamente estas imágenes a mi proyecto de trabajo en QGIS 2.6.1. Estoy tratando de evitar tener que navegar y agregar cada archivo por separado. Debido a que cada archivo está en una carpeta diferente, no he podido encontrar una manera de agregar varios archivos a la vez.

reevesii
fuente
¿Entonces tiene archivos zip en sus carpetas o ya ha extraído el contenido de los archivos zip? Estoy elaborando una respuesta para el último caso. Me temo que el primer caso requeriría un poco de secuencias de comandos (Python).
Germán Carrillo
Ya he extraído contenido.
reevesii

Respuestas:

23

Lo que necesita es el complemento QGIS Cargarlos todos . Además de cargar archivos de varios directorios a la vez, puede:

  • Refleje la estructura del directorio en la Tabla de contenido de QGIS (por medio de grupos de capas anidadas).
  • Aplique filtros alfanuméricos para que simplemente cargue capas que coincidan con su filtro (piense en expresiones regulares).
  • Cargue solo cierta geometría o tipo de ráster (por ejemplo, solo vectores de polígono o rásteres multibanda).
  • Cargue solo ciertas extensiones de archivo (por ejemplo, solo archivos .shp).
  • Cargue solo las capas que se encuentran dentro o que se cruzan con un cuadro delimitador dado.

y más. Eche un vistazo a https://github.com/gacarrillor/loadthemall para obtener más detalles.

ingrese la descripción de la imagen aquí

Germán Carrillo
fuente
@ Germán Carrillo Parece el complemento perfecto para mis necesidades, pero cuando trato de cargar los archivos aparece el error: "No hay archivos KML para cargar desde el directorio base con este filtro. Cambie esos parámetros e intente nuevamente". Estoy usando QGIS 2.14.2, todos los filtros están desactivados y el mapa que seleccioné contiene dos mapas con un archivo kml cada uno (solo para probar, tengo un conjunto de datos más grande para importar).
Hannes Ledegen
@HannesLedegen ¿Intentó con el filtro 'Interesectos' en lugar de 'Contiene'? Si eso no funciona, abra un nuevo problema en la página de GitHub del proyecto, describiendo todo en detalle.
Germán Carrillo
2

Como alternativa al uso de un complemento, puede darle al comando Agregar capa una lista de archivos delimitados por punto y coma. Puede crear dicha lista de la siguiente manera:

cd /d <Path_to_the_directory_where_your_files_are>
dir *.shp /s /b >All.txt

Esto le proporciona un archivo llamado All.txt, que contiene las rutas a todos los archivos con una extensión específica (puede usar una máscara diferente según los archivos que tenga), donde cada archivo está en una nueva línea.

D:\Data\01\data01_1.shp
D:\Data\01\data01_2.shp
D:\Data\02\data02_1.shp
D:\Data\02\data02_2.shp

Luego, simplemente reemplace todas las líneas nuevas con ;un editor de texto (como Notepad ++ ) y pegue el resultado en el Add Vector Layer...cuadro de diálogo.

Para Notepad ++, debe cambiar el modo de reemplazo a Extendido y reemplazar \r\ncon ;. Obtendría un archivo que se ve así:

D:\Data\01\data01_1.shp;D:\Data\01\data01_2.shp;D:\Data\02\data02_1.shp;D:\Data\02\data02_2.shp
Alex
fuente
0

En Linux, puede extraer una lista de .shparchivos y alimentarla directamente en el cuadro de diálogo "Importar vector":

#on the command line
ls /home/yourpath/*/*shp|tr "\n" '@'|sed 's/@/" "/g'|sed 's/^/"/g'

ingrese la descripción de la imagen aquí

Encontré esto útil en QGIS Docker , porque por alguna razón el complemento "Cargarlos a todos" no mostraba su diálogo.

RafDouglas
fuente