GIS-LAB

Географические информационные системы и дистанционное зондирование

Фигурная обрезка растра по заданной форме

Как обрезать растр и сделать его не прямоугольным, с помощью ArcGIS и Arcview GIS Image Analysis

Обсудить в форуме Комментариев — 15

Растровые данные в принципе не могут быть непрямоугольными, так как всегда представляют собой прямоугольную матрицу размером X на Y. Однако, переведя лишнее в класс NODATA можно добится того, чтобы визуально и статистически растр принял визуально любую форму (при этом физически он останется прямоугольным).

Для начала работы необходимо иметь привязанный многоканальный RGB или CMYK растр (лучше в формате GeoTIFF) и маску обрезки в виде векторного полигонального shape-файла. Системы координат обоих наборов данных должны совпадать.

В статье приведено решение задачи в ArcGIS, с помощью Spatial Analyst и Arcview GIS с помощью Image Analysis.

1. Решение задачи с помощью ArcGIS

Этот вариант иллюстрирует пошаговое решение задачи с помощью ArcGIS. Необходимо отметить, что описываемое здесь решение является, возможно, излишне подробным (обсуждение). Операции 1 - 7 из данного описания могут быть заменены инструментом Extract by Mask (ArcToolbox\Spatial Analyst Tools\Extraction).

  1. Добавить растровый слой, если растр - многоканальный, то необходимо загрузить каждый слой отдельно.


  2. Влючить расширение Spatial Analyst Tools\Extensions\Spatial Analyst и добавить его панель в ArcGIS - View\Toolbars\Spatial Analyst
  3. Добавить векторный слой, которым будет обрезаться растровый, векторный слой должен содержать полигональный объект - маску.


  4. Вызвать меню настройки Spatial Analyst - Панель Spatial Analyst\Options и установить маску анализа (Analysis mask) и географических охват (Extent) равные названию темы, которой осуществляется обрезка.
  5. Для каждого канала выполнить операцию Spatial Analyst\Raster Calculator, в окне формулы должно стоять название канала, его можно получить дважды щелкнув в списке каналов. Суть операции - простое копирование растрового слоя в самого себя, но уже с учетом обрезающего векторного слоя.


  6. Результатом операции должно стать добавление в вид новой темы с названием - Calculate, после N операций (где N - количество каналов исходного растра) появится N тем Calculate.
  7. Включить ArcToolbox и выбрать инструмент Data Management Tools\Raster\Composite bands и по очереди добавить темы Calculate в том же порядке, в каком они создавались.


  8. После создания нового растра нужно его пересохранить, для этого необходимо правой кнопкой щелкнуть на новой теме (по умолчанию - Compos) и выбрать Data\Export Data... и выбрать папку, название и тип нового файла.

Имейте в виду, что ArcGIS по умолчанию применяет растяжку гистрограммы, поэтому исходный растр и его фрагмент будут выглядеть по разному из-за разной статистики, но по сути останутся одним и тем же.

Пример:

Исходный растр

Результирующий (обрезанный) растр

Для того, чтобы увидеть исходный, не модифицированный растяжкой гистограммы растр. В окне Свойств слоя (Layer properties) на закладке Легенда (Symbology) в пункте Растяжка (Stretch) выберите - None.

Из папки указанной в пункте Рабочая директория (Working directory) окна свойств Spatial Analyst, после выполнения операций необходимо удалить временные файлы.

2. Решение задачи с помощью Arcview GIS Image Analysis

Для того, чтобы обрезать по заданному контуру растр с помощью Arcview GIS, понадобится модуль Image Analysis. В этом случае операцию обрезки можно выполнить быстрее и удобнее, чем в ArcGIS.

  1. Создать Вид (View) в Arcview GIS
  2. Добавить тему обрезаемого растра (View\Add theme..., тип данных должен быть равен Image Analysis data source)
  3. Добавить полигональную тему по которой будет производиться обрезка (маску) (View\Add theme..., тип данных должен быть равен Feature data source)
  4. Задать географический охват и маску обрезки, Image Analysis\Properties, Analysis extent: Same as название растровой темы, Analysis mask: название векторной маски.

  5. Выполнить операцию subset, оставив все каналы, как есть (Image Analysis\Subset...).
  6. Сохранить полученный новый растр под новым именем (Theme\Save image as...)

Обсудить в форуме Комментариев — 15

Последнее обновление: September 09 2021

Дата создания: 27.07.2005
Автор(ы): Максим Дубинин