Отсечение растра с векторными границами с использованием QGIS?


58

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

Как я могу обрезать этот слой осадков?


Вы действительно имели в виду, что «вектор» появляется в этом вопросе дважды?
whuber

@whuber - не особенно ... это имеет значение на этом форуме?
Кирк

Я не мог разобраться в этом вопросе, не изменив один из «вектора» на «растр». Я думаю, я понял это сейчас: вы говорите, что думаете, что инструменты геообработки применимы только тогда, когда все элементы являются векторными данными. Путаница заключалась в том, что вы явно говорите, что пограничный слой имеет векторный формат, и, поскольку это является непосредственным прецедентом, это делает вопрос двусмысленным.
whuber

4
У меня та же проблема, что и в первоначальном вопросе - инструмент обрезки с использованием плагина gdal работает, но он только обрезает прямоугольники ..... что, если вам нужно обрезать его, например, на границе страны?
Мэтт

Ответы:


36

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


11
Плагин "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Ссылка сломана. Рассмотрите возможность обновления. Tks.
Андре Сильва


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, чтобы обрезать свой растр. Смотрите ответы о keymirror и geographika ниже.

Для решения на основе ArcGIS Desktop вы можете взглянуть на отсечение растра с использованием полилинии или многоугольника.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.