Tuesday, July 15, 2014

Clip Multiple Rasters Using Polygons (Gombal Mapper)

Ada kasus, misalnya, anda diminta memotong (clip) data raster/citra sebanyak "n" file menggunakan grid polygon. Misalnya seperti gambar dibawah, saya mau membuat mosaik peta RBI hasil scanning, tapi saya tidak perlu informasi tepi dan bawah peta yang mengganggu. Jika bagian tidak penting ini tidak diclip, tentu hasil mosaik akan "awut - awut"-an.



Melakukan clip raster untuk kasus diatas sangat mudah jika data yang akan dimosaik cuma satu dua buah, tapi bagaimana jika ratusan??  anda tentu memerlukan sebuah tool yang bisa melakukannya secara otomatis.

Secara default fungsi clip multiple raster ini tidak tersedia di ArcGIS. Fungsionalitas batch processing juga tidak dapat digunakan untuk kasus seperti ini. Ada fungsi lain yang bisa, yaitu "iterate/loop raster" melalui model builder. Disini software akan menelusuri seluruh data raster yang ada dalam direktori, me-load ke software, diclip menggunakan polygon (identifikasi polygon menggunakan field tertentu, yang apesnya harus diiterasi juga). Dikarenakan dalam sebuah model geoprocessing iterasi tidak dapat dilakukan dua kali, maka untuk pekerjaan ini mau nggak mau harus dibuat dua model, seperti gambar di bawah.


Ribet, adakah cara lain???

setelah menelusuri dengan dipandu mbah google, ternyata prosedur serupa dapat dilakukan dengan relatif lebih mudah menggunakan Gombal (global) mapper melalui script tertentu yang berfungsi sebagai batch processing dan Looping. 

Here the Script. 

GLOBAL_MAPPER_SCRIPT VERSION=1.00
UNLOAD_ALL
DIR_LOOP_START DIRECTORY="E:\Workspace2014\Supervisi_PengelolaanDataSpasial\DATA RBI\PETA RBI SKALA 1 ; 25.000\Test" FILENAME_MASKS="*.tif" RECURSE_DIR=NO
IMPORT FILENAME="%FNAME_W_DIR%" CONTRAST_SHARED=YES CONTRAST_MODE=MIN_MAX
EXPORT_RASTER FILENAME="C:\GlobalMapper12\Result\%FNAME_WO_EXT%_ Cropped.tif " BG_TRANSPARENT=YES \
OVERWRITE_EXISTING=YES TYPE=GEOTIFF GEN_WORLD_FILE=YES \
POLYGON_CROP_FILE="E:\Workspace2014\Supervisi_PengelolaanDataSpasial\DATA RBI\PETA RBI SKALA 1 ; 25.000\test_shp.shp" \
POLYGON_CROP_USE_EACH=YES \
POLYGON_CROP_BBOX_ONLY=YES \
POLYGON_CROP_NAME_ATTR="ID_unique"
UNLOAD_ALL
DIR_LOOP_END

Ganti parameter DIRECTORY dengan folder anda menyimpan data raster yang akan dipotong.
Ganti parameter POLYGON_CROP_FILE dengan lokasi polygon pemotong
isikan POLYGON_CROP_NAME_ATTR dengan nama field yang akan menjadi dasar pemotongan data raster


Simpan script diatas di Notepad dan save dengan ekstensi *GMS.

Jalankan Script dari Menu File>Run Script

And, Here are the results


memang, masih ada bagian yang cukup menyebalkan, yaitu menghapus potongan - potongan kecil dari data raster yang tidak dipakai, tapi saya pikir ini lebih baik daripada harus clipping manual.