Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Python_GDAL.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

Зразки коду

Детальні інструкції по використанню бінаріїв GDAL можна отримати безпосередньо на офіційному інтернет ресурсі http://www.gdal.org/

Основні команди, які Вам доведеться використовувати приведені нижче.

Розархівування каналів зображення. Ви вільні вибирати зручний для Вас архіватор. Якщо ви користуєтесь архіватором “7z”, тоді розархівувати всі архіви, що містяться в заданій папці можна, викликавши з неї наступний сценарій (bat файл):

for /f "tokens=1 delims=." %%d in ('dir /b /d *tar.gz') do (

md %%d

@echo Directory %%~nd Created

7z x %%d.tar.gz

7z x -o%%~nd %%d.tar

del /S %%d.tar

@echo Archive %%~nd %%d.tar.gz uncompressed

break)

Де в якості параметра %%d виступатимуть імена всіх файлів з формату tar.gz.

Конкатинація каналів зображення. Як Ви напевно замітили, в архіві tar.gz. містяться канали супутникового зображення в окремих GEOTIFF файлах. Для того, щоб сконкатинувати їх, потрібно викликати наступну команду:

gdal_merge.py –o <output.tif> -separate <input_1.tif> <input_2.tif> … <input_N.tif>

Де <output.tif> – результат конкатинації, <input.tif> – канали зображення, взяті з відповідного архіву.

Перепроектування зображення. Для зміни географічної проекції зображення портібно скористатися командою gdalwarp, наприклад:

gdalwarp –tr xSize ySize –t_srs “[projection parameters]” <input.tif> <output.tif>

Де xSize,ySize – розміри пікселя результуючого зображення; [projection parameters] – параметри проекції, в яку буде здійснюватись перепроектування, наприклад “+proj=utm +zone=36” – параметри проекції UTM Zone 36N. Для подальшого обрізання зображення по векторному контуру, потрібно буде звести растр з векторним контуром до єдиної проекції.

Конкатинація зображень з різними Path Row. Для конкатинації зображень, що не співпадають територіально (повністю або частково), варто використовувати команду gdalwarp наступного синтаксису:

gdalwarp –of GTIFF –ot Uint16 –srcnodata <value> –dstnodata <value> <input_1.tif> <input_2.tif> … <input_N.tif> <output.tif>

Де значення параметрів srcnodata та dstnodata відповідають значенням пікселів вхідних та результуючого зображень з відсутніми даними відповідно. Значення параметру -of відповідає формату вихідного файлу, а значення параметру -ot – його типу.

Відмінність в конкатинації зображень командами gdal_merge та gdalwarp полягає в наступному:

  • за допомогою gdal_merge Ви можете сконкатинувати тільки зображення однакових розмірів (Size) і результат конкатинації буде тих же розмірів, а к-ть каналів результуючого зображення стане рівна сумі кількостей каналів вхідних зображень;

  • за допомогою gdalwarp можна об’єднати зображення що територіально не перекриваються і мають різні розміри, однак клькість каналів в них обов’язково повинна бути однаковою.

Обрізання растрових зображень по векторному контуру. Оскільки супутникові зображення займають чимало дискового простору, часто виникає потреба оброблення тільки певної ділянки відзнятої території (кількох полів, району, області, тощо). Обрізання растрових зображень по векторному контуру часто здійснюється для підготування постерів та проектів. Приклад команди для здійснення обрізання растру по векторному контуру наведений нижче:

gdalwarp -dstnodata <value> -q -cutline <ShapeFile.shp> -crop_to_cutline -of GTiff <input.tif> <output.tif>

Де в файлі ShapeFile.shp міститься необхідний векторний контур. Значення <value> параметру –dstnodata відповідає значенню пікселів з відсутніми даними вхідного растру. <input.tif> та <output.tif> відповідно вхідне та обрізане растрові зображення.

Примітка. Якщо ви хочете вирізати деяку прямокутну ділянку з растрового зображення, то не обов’язково будувати її векторний контур, можна скористатися командою:

gdalwarp -tr xSize ySize -te XLowerLeft YLowerLeft XUpperRight YUpperright <input.tif> <output.tif>

Де XLowerLeft YLowerLeft XUpperRight YUpperright – координати (x,y) крайнього лівого нижнього та правого верхнього пікселів прямокутного контуру, по якому буде здійснюватись обрізка.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]