Обчислення межі зображення / сліду супутникових зображень за допомогою інструментів з відкритим кодом?


10

Мені потрібно створити контури багатокутника з декількох одношарових растрових зображень, не вікно масштабу / обмеження, а область без значень вузлів, як показано тут: Створення файлу форм, що показує сліди растра? .

У відповіді на вищезазначене питання згадувався плагін Image Boundary , однак я не знаходжу його в QGIS 1.8.0 Lisboa, що працює на Ubuntu.

Інструмент все ще доступний?

Якщо ні, чи є спосіб зробити це за допомогою інструментів open source - gdal, R, QGIS, GRASS чи подібних, а не з ArcMap?


Відповіді:


4

Ви можете додати старий сховище, у якому є плагіни в офіційному сховищі.

http://pyqgis.org/repo/contributed

Плагін зображення зображення має опцію для обчислення дійсного пікселя, але, зображення повинно бути повною сценою, як CBERS або Landsat, де цей процес обчислює перші 4 кути. На зображенні потрібно мати нодати зі значенням ZERO для області без зображення (відскановано супутниковим датчиком).

Автор Образної межі


Привіт @lmotta, дякую за посилання на сховище. Зображення, над якими я працюю на даний момент, - це всі зображення SAR із значеннями NA (або -3,4e + 38 відповідно до інструменту значень QGIS). Якби в інструменті можна було додати значення нодату вручну, замість того, щоб ZERO був єдиним варіантом, було б чудово, інакше я міг би спершу запустити сценарій в R, щоб дати своїм значенням NA нові значення нуля. Хоча це чудовий інструмент, дякую!
spib

Чи є нове сховище для Image Boundary? Посилання, яке ви надаєте, є 404. Можливо, наступне ?: github.com/lmotta/imagefootprint_plugin
Aaron

Чи є де-небудь, де ми можемо знайти документацію для Image Boundary?
Loonuh

12

Нарешті я знайшов спосіб це зробити:

крок 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, і створює файл форми з цього діапазону.

Потім це можна легко прописати в баш-скрипті, якщо у вас багато зображень, щоб створити точні контури для.  


Блискуче, це рішення не покладається ні на плагіни, ні на програмне забезпечення. Створення растрових слідів, чутливих до NoData, є однією з тих задач ГІС, яка не настільки проста, як здається, що має бути.
Чарлі Парр

Коли я використовую цей метод, я закінчую формою, наповненою багатокутниками, які, напевно, представляють різні кольори, згруповані разом. Як я можу цього уникнути, і в кінцевому підсумку всього кілька полігонів представляють так-дані ??
Loonuh

5

Я використовував, gdal_translateяк пропонував проект GDAL.

gdal_translate -b mask -of vrt -a_nodata 0 test.tif test.vrt
# Note the  -a_nodata 0 doesn't seem to work when the mask is input, so do another pass
gdal_translate -b 1 -of vrt -a_nodata 0 test.vrt test2.vrt
gdal_polygonize.py -q  -8 test2.vrt -b 1 -f "ESRI Shapefile" testdata.shp

введіть тут опис зображення


1
З версією магістралі GDAL тепер можна використовувати gdal_polygonize безпосередньо проти вихідного зображення osgeo-org.1560.x6.nabble.com/… . Однак для очищення полігонів без даних потрібна певна очистка.
користувач30184

4

Графічний плагін для мене також не працює, тому я використовував той самий підхід з GDAL. Тим не менш, це працювало для мене лише після зміни першого кроку на:

крок 1 : gdalwarp -srcnodata 0 -dstalpha -of GTiff foo1 foo2

Я працюю з діапазоном Landsat8 (де немає даних = 0) і при використанні -dstnodataфункції я отримую:

Band1 з НЕ даних = «відсутня»
Band2 (альфа - діапазон) = «255» для всієї сцени / ступеня

тоді як з -srcnodataфункцією я отримую:

Band1 з не даними = «відсутня»
Band2 (альфа - група) без будь - яких даних = «ні даних» і дійсних даних = «255» , який потім дозволяє витягувати тільки полігон для дійсних даних.

Я не міг повністю зрозуміти причину такої поведінки (як обчислюється альфа?), Але сподіваюся, що це може допомогти іншим, хто стикається з тією ж проблемою.


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