Растровые операции в QGIS с помощью GdalTools
по адресу http://gis-lab.info/qa/gdaltools.html
Обзор расширения и его возможностей.
Gdal Tools (или Raster tools) это расширение для свободной ГИС QGIS. Основная цель расширения — упростить работу с утилитами командной строки GDAL, путем предоставления пользователю графического интерфейса для наиболее востребованных операций.
Изначально расширение разрабатывалось силами Faunalia, чуть позже к работе присоединился ГИС-Лаб. Иконки инструментов создал Robert Szczepanek, некоторые этапы разработки спонсировались Silvio Grosso.
На момент первого анонса (сентябрь 2009 г.) расширение состояло всего из двух инструментов: gdalbuildvrt и gdal_contour. Сейчас количество интегрированных инструментов приближается к 20.
Получение и установка
Расширение существует в двух версиях:
- стабильная (v 1.2.0, на момент написания статьи)
- экспериментальная (потенциально нестабильная, но с новыми возможностями)
Обе версии доступны из репозитория Faunalia. Для установки экспериментальной версии необходимо включить отображение экспериментальных расширений в Установщике расширений, если этого не сделать будет установлена стабильная версия GdalTools. Так как стабильная версия GDAL Tools включена в состав QGIS 1.5.0, пользователи этой версии могут не утруждать себя установкой, но при желании или необходимости могут заменить ее на экспериментальную версию из репозитория.
Для установки расширения из репозитория необходимо выполнить следующие действия:
- открыть установщик расширений («Модули → Загрузить модули»)
- перейти на вкладку «Репозитории» и добавить сторонние репозитории нажатием на кнопку «Добавить сторонние репозитории»
- перейти на вкладку «Параметры» и включить экспериментальные расширения («Показывать все модули, включая помеченные как экспериментальные»)
- вернуться на вкладку «Модули», найти в списке Gdal Tools
- выделить строку с модулем и нажать «Установить модуль»
- подождать, пока расширение скачается и установится
- по заросу перезапустить QGIS
Для работы расширения необходимо наличие GDAL/OGR и соответствующих Python-байндингов. В случае использования установщика OSGeo4W, нужные пакеты называются gdal16 и gdal16-python. При работе в среде Windows Vista/Seven возможно появление сообщений об ошибках, способы решения проблем можно посмотреть на форуме ГИС-Лаб и в багтрекере OSGeo4W.
Пользователям MacOS X после установки расширения необходимо открыть настройки модуля и указать каталог с утилитами GDAL
Принцип работы
При вызове любого инструмента пользователю предоставляется возможность указать исходные данные (это может быть как загруженный в QGIS слой, так и файл на диске) и настроить некоторые параметры инструмента.
В нижней части окна отображается команда, выполняющая заданное действие. При желании ее можно скопировать и выполнить непосредственно из командной строки. Это может быть полезно если надо использовать дополнительные опции, отсутствующие в настройках инструмента.
Доступные инструменты
Сейчас в GdalTools присутствуют следующие инструменты:
- Создать виртуальный растр (каталог) — построение «виртуального» растра (на базе gdalbuildvrt)
- Изолинии — построение изолиний. Генерация изолиний по цифровой модели рельефа (DEM) (на базе gdal_contour).
- Растеризация — используется для переноса векторных данных (точки, линии, полигоны) в растровый файл. Векторные даные берутся из OGR-совместимого источника данных, и должны быть в той же системе координат, что и растр. Перепроецирование «на лету» не предусмотрено (на базе gdal_rasterize).
- Векторизация — создание векторных полигонов для всех соседних пикселей растра, имеющих один и тот же цвет (значение). Для каждого полигона в атрибутивную таблицу записывается соответствующее значение растра. Используя растровую маску можно задать область для обработки (на базе gdal_polygonize).
- Мозаика — создает мозаику из исходных растров. Все изображения должны быть в одной системе координат и иметь одинаковое число каналов, но разрешение может быть разным, и растры могут перекрываться. В местах перекрытия часть, соответсвующая последнему изображению, будет записана поверх ранних (на базе gdal_merge).
- Отсеивание — находит растровые полигоны с размером меньше заданного порога (в пикселях) и заменяет их на значение, соответсвующее наибольшему соседнему растровому полигону. Результат отсеивания может быть записан как в существующий, так и в новый файл (использует gdal_sieve).
- Близость — строит карту близости растра, в которой указаны расстояния от центра каждого пикселя к центру ближайшего целевого пикселя. Целевыми пикселями будут все пиксели исходного растра, значения которых попадают в набор указанных величин (использует gdal_proximity).
- Сбросить в черный — сканирование изображение и замена почти черных (или почти белых) пикселей возле рамки на пиксели с точным значением цвета. Часто используется для «коррекции» аэрофотоснимков, сжатых с потерями, чтобы можно было задать прозрачный цвет при создании мозаики (использует nearblack).
- Перепроецирование — перевод растровых данных из одной проекции в другую, работает пофайлово и в пакетном режиме (на базе gdalwarp).
- Интерполяция — создает регулярную сетку (растр) на основе рассеяных данных, полученных из OGR-совместимого источника. Исходные даные будут интерполированы одним из доступных методов для получения значений узлов (на базе gdal_grid).
- Конвертация — преобразование растровых данных в разные форматы, работает пофайлово и в пакетном режиме (на базе gdal_translate)
- Информация — выводит информацию об указанном файле (формат, размер, система координат и др.). В работе использует gdalinfo.
- Добавить проекцию — добавляет или заменяет информацию о проекции растровых данных. Работает пофайлово и в пакетном режиме, есть возможность рекурсивного обхода каталогов. Работает на базе gdalwarp.
- Построить пирамиды — используется для создания или восстановления уменьшенных копий изображения (пирамид). Наличие пирамид несколько увеличивает скорость отрисовки растра. Может работать пофайлово и в пакетном режиме, использует gdaladdo.
- Обрезка — позволяет вырезать прямоугольный фрагмент растра или нескольких соседних растров и сохранить этот фрагмент в отдельный файл (на базе gdal_merge).
- RGB в PCT — конвертация RGB растра в индексированный, работает пофайлово и в пакетном режиме (использует rgb2pct).
- PCT в RGB — конвертация индексированного растра в RGB-растр любого поддерживаемого формата, работает пофайлово и в пакетном режиме (использует pct2rgb).
Сообщать об ошибках и оставлять пожелания по улучшению можно в багтрекере QGIS.