Потрібно швидко додати кілька шарів з декількох папок до проекту QGIS


12

Я завантажив кілька Zip-файлів зображень (вміст кожного з них - jp2, jpg, jpw, xml, htm та .dbf, .prj, .sbn, .sbx, .shp, .shx) і хотів би швидко додати це зображення до мій робочий проект у QGIS 2.6.1. Я намагаюся уникати переходу та додавання кожного файлу окремо. Оскільки кожен файл знаходиться в іншій папці, я не зміг знайти спосіб додавання декількох файлів одночасно.


Отже, у ваших папках є zip-файли або ви вже вилучили вміст поштових файлів? Я розробляю відповідь для останнього випадку. Боюся, колишній випадок потребує трохи (Python) сценаріїв.
Герман Каррілло

Я вже видобув контент.
reevesii

Відповіді:


24

Вам потрібен плагін QGIS Load Them All . Крім завантаження файлів з декількох каталогів одночасно, ви можете:

  • Відобразить структуру каталогів у змісті QGIS (за допомогою вкладених груп шарів).
  • Застосовуйте буквено-цифрові фільтри, щоб ви просто завантажували шари, які відповідають вашому фільтру (придумайте регулярні вирази).
  • Завантажуйте лише певну геометрію чи растровий тип (наприклад, лише багатокутні вектори або багатосмугові растри).
  • Завантажуйте лише певні розширення файлів (наприклад, лише .shp файли).
  • Завантажуйте лише шари, які лежать всередині або перетинаються заданою рамкою.

і більше. Подивіться на https://github.com/gacarrillor/loadthemall для отримання більш детальної інформації.

введіть тут опис зображення


@ Germán Carrillo Це здається ідеальним плагіном для моїх потреб, але коли я намагаюся завантажити файли, я отримую помилку: "Немає файлів KML для завантаження із базового каталогу за допомогою цього фільтра. Змініть ці параметри і повторіть спробу". Я використовую QGIS 2.14.2, усі фільтри вимкнено, і вибрана я карта містить дві карти з одним kml-файлом у кожній (для перевірки у мене є більший набір даних для імпорту).
Hannes Ledegen

@HannesLedegen Ви пробували з фільтром "Interesects" замість "Містить"? Якщо це не спрацює, відкрийте нове видання на сторінці GitHub проекту, описуючи все докладно.
Герман Каррілло

2

В якості альтернативи використанню плагіна ви можете надати команді "Додати шар" список файлів з роздільною комою з комою. Ви можете створити такий список таким чином:

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

Це дає вам файл з назвою All.txt, який містить шляхи до всіх файлів із певним розширенням (ви можете використовувати іншу маску залежно від файлів у вас є), де кожен файл знаходиться в новому рядку.

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

Потім просто замініть всі нові рядки за ;допомогою текстового редактора (наприклад, Блокнот ++ ) та вставте результат у Add Vector Layer...діалогове вікно.

Для Notepad ++ потрібно змінити режим заміни на Розширений і замінити \r\nна ;. Ви отримаєте файл, який виглядає приблизно так:

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 ви можете витягнути список .shpфайлів і передати його безпосередньо в діалогове вікно "Імпортувати вектор":

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

введіть тут опис зображення

Я вважаю це корисним під час QGIS Docker , оскільки чомусь плагін "Load Them All" не показував діалог.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.