Hızlıca Birden Çok Klasörden QGIS Projesine Birden Çok Katman Ekleme Gerekliliği


12

Birkaç görüntü Zip dosyası indirdim (her birinin içeriği jp2, jpg, jpw, xml, htm ve .dbf, .prj, .sbn, .sbx, .shp, .shx) ve bu görüntüleri hızla eklemek istiyorum QGIS'deki çalışma projem 2.6.1. Her dosyaya ayrı ayrı gitmek ve eklemek zorunda kalmamaya çalışıyorum. Her dosya farklı bir klasörde olduğundan, aynı anda birden fazla dosya eklemenin bir yolunu bulamadım.


Klasörlerinizde zip dosyalarınız mı var veya zip dosyalarının içeriğini zaten çıkardınız mı? İkinci dava için bir cevap hazırlıyorum. Korkarım eski dava biraz (Python) betik gerektiriyor.
Germán Carrillo

İçeriği zaten çıkardım.
reevesii

Yanıtlar:


24

İhtiyacınız olan şey QGIS eklentisi Tümünü Yükle . Aynı anda birden fazla dizinden dosya yüklemek dışında şunları yapabilirsiniz:

  • QGIS İçindekiler'deki dizin yapısını yansıtın (iç içe katman grupları aracılığıyla).
  • Yalnızca filtrenizle eşleşen katmanları yüklemek için alfasayısal filtreler uygulayın (normal ifadeleri düşünün).
  • Yalnızca belirli geometri veya raster türlerini yükleyin (örn. Yalnızca çokgen vektörleri veya Çok Bantlı rasterler).
  • Yalnızca belirli dosya uzantılarını yükleyin (örn. Yalnızca .shp dosyaları).
  • Yalnızca içinde bulunan veya belirli bir sınırlama kutusuyla kesişen katmanları yükleyin.

ve dahası. Göz at https://github.com/gacarrillor/loadthemall fazla ayrıntı için.

resim açıklamasını buraya girin


@ Germán Carrillo Benim ihtiyaçları için mükemmel bir eklenti gibi görünüyor, ama ben dosyaları yüklemeye çalıştığınızda hata alıyorum: "Bu filtre ile temel dizinden yüklemek için KML dosyaları yok. Bu parametreleri değiştirin ve tekrar deneyin". QGIS 2.14.2 kullanıyorum, tüm filtreler kapalı ve seçtiğim harita her biri bir kml dosyası ile iki harita içeriyor (sadece test etmek için, daha büyük bir veri kümesi var).
Hannes Ledegen

@HannesLedegen 'İçerir' yerine 'Interesects' filtresini denediniz mi? Bu işe yaramazsa, lütfen projenin GitHub sayfasında her şeyi ayrıntılı olarak açıklayan yeni bir sorun açın .
Germán Carrillo

2

Eklenti kullanmaya alternatif olarak, Katman Ekle komutuna noktalı virgülle ayrılmış dosya listesi verebilirsiniz. Böyle bir listeyi aşağıdaki şekilde oluşturabilirsiniz:

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

Bu, her bir dosyanın All.txtyeni bir satırda olduğu, belirli bir uzantıya sahip tüm dosyaların yollarını (sahip olduğunuz dosyalara bağlı olarak farklı bir maske kullanabilirsiniz) içeren bir dosya verir .

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

Ardından, tüm yeni satırları ;bir metin düzenleyicisi ( Notepad ++ gibi ) kullanarak değiştirin ve sonucu Add Vector Layer...iletişim kutusuna yapıştırın .

Notepad ++ için, değiştirme modunu Genişletilmiş olarak değiştirmeniz ve \r\nbununla değiştirmeniz gerekir ;. Şöyle bir dosya alırsınız:

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

Linux'ta, bir .shpdosya listesini ayıklayabilir ve doğrudan "Vektörü İçe Aktar" iletişim kutusuna besleyebilirsiniz:

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

resim açıklamasını buraya girin

Ben QGIS Docker altında bu yararlı buldum , çünkü "Hepsini Hepsini Yükle" eklentisi iletişim kutusunu göstermedi çünkü.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.