Мне нужно создать контуры многоугольника для нескольких однослойных растровых изображений, а не экстент / ограничивающий прямоугольник, а область без значений узлов, как показано здесь: Создание шейп- файла, показывающего следы растров? ,
В ответе на вопрос выше был упомянут плагин Image Boundary , однако я не нахожу его в Lisboa QGIS 1.8.0, работающей на Ubuntu.
Инструмент все еще доступен?
Если нет, то есть ли способ сделать это, используя инструменты с открытым исходным кодом, gdal, R, QGIS, GRASS или аналогичные, не с ArcMap?
Ответы:
Вы можете добавить старый репозиторий, где есть плагины в Официальном репозитории.
http://pyqgis.org/repo/contributed
Плагин границы изображения имеет опцию для вычисления действительного пикселя, но изображение должно быть полной сценой, как CBERS или Landsat, где этот процесс вычисляет первые 4 угла. Изображение должно иметь узлы с нулевым значением для области без изображения (сканируется спутниковым датчиком).
Автор изображения Граница
источник
Я наконец нашел способ сделать это:
шаг 1:
gdalwarp -dstnodata 0 -dstalpha -of GTiff foo1 foo2
Это делает две важные вещи: он устанавливает целевые значения No Data (вне границы) в 0 и создает альфа-полосу.
шаг 2:
gdal_polygonize.py foo2 -b 2 -f "ESRI Shapefile" foo3
На втором шаге используется альфа-полоса (полоса 2), созданная на шаге 1, и создается шейп-файл из этой полосы.
Затем это можно легко написать в bash-скрипте, если у вас много изображений, для создания точных контуров.
источник
Я использовал
gdal_translate
в соответствии с предложением проекта GDAL.источник
Плагин Image Boundary также не работал для меня, поэтому я использовал тот же подход с GDAL. Тем не менее, это сработало только для меня после изменения первого шага на:
шаг 1 :
gdalwarp -srcnodata 0 -dstalpha -of GTiff foo1 foo2
Я работаю с группой Landsat8 (где нет данных = 0) и при использовании
-dstnodata
функции я получаю:Band1 с не данных = «Нет данных»
Band2 (альфа - диапазон) = «255» для всей сцены / степени
тогда как с
-srcnodata
функцией я получаю:Band1 с не данными = «Нет данных»
Band2 (альфа - группа) без каких - либо данных = «нет данных» и действительных данных = «255» , который затем позволяет извлекать только полигон для действительных данных.
Я не мог полностью понять причину этого поведения (как вычисляется альфа?), Но я надеюсь, что это может помочь другим, сталкивающимся с той же проблемой.
источник
Граница изображения осталась устаревшей. Вы можете использовать плагин Footprint. http://pt.slideshare.net/LuizMotta3/qgis-ibama-imagefootprint
источник