Відсікання растра з векторними межами за допомогою QGIS?


58

Я використовую QGIS. Я хотів би відрізати шар растрових опадів за допомогою адміністративного граничного шару, який є векторними даними. Однак інструменти геообробки здаються корисними лише для векторних даних.

Як я можу вирізати цей шар опадів?


Ви справді мали на увазі, що "вектор" два рази з’являється в цьому запитанні?
whuber

@whuber - не зокрема ... це має значення на цьому форумі?
Кірк

Я не міг зрозуміти питання, не змінивши одного з "векторів" на "растровий". Я думаю, що я зрозумів це зараз: ти кажеш, що ти вважаєш, що інструменти геообробки застосовні лише тоді, коли всі елементи є векторними даними. Плутанина полягала в тому, що ви прямо говорите, що граничний шар знаходиться у векторному форматі, і оскільки це безпосередній прецедент, це робить питання неоднозначним.
whuber

4
У мене така ж проблема, як і в оригінальному запитанні - інструмент відсікання за допомогою плагіна gdal працює, але він затискає лише прямокутники ..... що робити, якщо вам потрібно зафіксувати його на щось на зразок кордону країни?
Метт

Відповіді:


36

Встановіть плагін GDAL, а потім скористайтеся інструментом Clipper.
введіть тут опис зображення


10
Плагін "gdal tools", також "растрові інструменти", встановлений за замовчуванням з qgis 1.5, якщо я не помиляюся. Не потрібно встановлювати його вручну.
Джованні Мангі

Я виявив, що цей інструмент додає до растру смугу. Він використовує команду dstalpha.
BWill

2
Як писав Пабло, відповідь Clipper Tool. У qgis 1.7.0 назва плагіна - "GdalTools". Інструменти (разом із "Clipper", яку ми шукаємо) додаються в меню Raster після ввімкнення його за допомогою менеджера плагінів qgis.
amp

1
Будь ласка, не враховуйте, що растрові та векторні дані повинні бути збережені на диску в одній CRS. Прості файли png та розділені текстові шари з CRS, встановленими в QGIS, не працюватимуть.
AndreJ

12

Якщо ви зацікавлені в застосуванні Python, хороша документація доступна на GeospatialPython.com тут .

та джерело clipraster.py тут .

відсікання

Процес:

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

  1. Перетворіть векторний файл форми в матрицю, яку можна використовувати як маску
  2. Завантажте геопросторове зображення в матрицю
  3. Викиньте будь-які клітинки зображення поза межами форми
  4. Встановіть усі значення за межами межі файлу форми на значення NODATA (null)
  5. ОПЦІЙНО: Виконайте розтяжку гістограми на зображенні для кращої візуалізації
  6. Збережіть отримане зображення як новий растр.

clipraster.pyПосилання зламана. Подумайте про її оновлення. Ткс.
Андре Сільва


8

Я рекомендую використовувати, gdalwarpоскільки ви можете підвищити ефективність процесу.

Наприклад, якщо ви хочете вирізати растр inraster.tifіз файлом форми extent.shp:

gdalwarp -cutline extent.shp -crop_to_cutline -of GTiff  -dstnodata 255 inraster.tif inraster_cropped.tif -co COMPRESS=LZW -co TILED=YES --config GDAL_CACHEMAX 2048 -multi

Останні два параметри дозволяють активізувати процес, використовуючи:

  1. Багатоядерна реалізація.
  2. Встановлення доступного кешу для функції.

1

Я не знаю, як це зробити в QGIS, однак ви можете використовувати інше програмне забезпечення з відкритим кодом, наприклад, GRASS або GDALWarp, щоб відрізати растр. Нижче див. Відповіді про ключові дзеркала та географічні дані.

Для рішення на основі ArcGIS Desktop ви можете ознайомитись із відсіканням растра за допомогою полілінії чи полігона

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