È necessario aggiungere rapidamente più livelli da più cartelle al progetto QGIS


12

Ho scaricato diversi file zip di immagini (il contenuto di ciascuno è jp2, jpg, jpw, xml, htm e .dbf, .prj, .sbn, .sbx, .shp, .shx) e vorrei aggiungere rapidamente queste immagini a il mio progetto di lavoro in QGIS 2.6.1. Sto cercando di evitare di dover navigare e aggiungere ogni file separatamente. Poiché ogni file si trova in una cartella diversa, non sono stato in grado di trovare un modo per aggiungere più file contemporaneamente.


Quindi hai file zip nelle tue cartelle o hai già estratto il contenuto dei file zip? Sto elaborando una risposta per quest'ultimo caso. Temo che il primo caso richiederebbe un po 'di scripting (Python).
Germán Carrillo,

Ho già estratto il contenuto.
reevesii

Risposte:


23

Ciò di cui hai bisogno è il plugin QGIS Load Them All . Oltre a caricare file da più directory contemporaneamente, puoi:

  • Riflette la struttura delle directory nel Sommario di QGIS (per mezzo di gruppi di livelli nidificati).
  • Applica i filtri alfanumerici in modo da caricare solo i livelli corrispondenti al filtro (pensa alle espressioni regolari).
  • Carica solo determinati tipi di geometria o raster (ad es. Solo vettori poligonali o raster multibanda).
  • Carica solo determinate estensioni di file (ad es. Solo file .shp).
  • Carica solo i livelli che si trovano all'interno o che si intersecano in un determinato riquadro di delimitazione.

e altro ancora Dai un'occhiata a https://github.com/gacarrillor/loadthemall per maggiori dettagli.

inserisci qui la descrizione dell'immagine


@ Germán Carrillo Sembra il plugin perfetto per le mie esigenze, ma quando provo a caricare i file ottengo l'errore: "Non ci sono file KML da caricare dalla directory di base con questo filtro. Cambia quei parametri e riprova". Sto usando QGIS 2.14.2, tutti i filtri sono disattivati ​​e la mappa che ho selezionato contiene due mappe con un file kml ciascuna (solo per testare, ho un set di dati più grande da importare).
Hannes Ledegen,

@HannesLedegen Hai provato con il filtro "Interesects" anziché "Contains"? Se il problema persiste , ti preghiamo di aprire un nuovo numero nella pagina GitHub del progetto, descrivendo tutto in dettaglio.
Germán Carrillo,

2

In alternativa all'utilizzo di un plug-in, è possibile assegnare al comando Aggiungi livello un elenco di file delimitato da punti e virgola. È possibile creare un tale elenco nel modo seguente:

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

Questo ti dà un file chiamato All.txt, che contiene i percorsi di tutti i file con un'estensione specifica (puoi usare una maschera diversa a seconda dei file che hai), dove ogni file si trova su una nuova riga.

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

Quindi sostituisci semplicemente tutte le nuove righe con l' ;uso di un editor di testo (come Blocco note ++ ) e incolla il risultato nella Add Vector Layer...finestra di dialogo.

Per Notepad ++ devi cambiare la modalità di sostituzione in Estesa e sostituire \r\ncon ;. Otterresti un file simile al seguente:

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

0

Su Linux, puoi estrarre un elenco di .shpfile e inserirlo direttamente nella finestra di dialogo "Importa vettore":

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

inserisci qui la descrizione dell'immagine

L'ho trovato utile sotto QGIS Docker , perché per qualche motivo il plug-in "Carica tutti" non mostrava la sua finestra di dialogo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.