Tuesday, August 26, 2014

Power of Phyton Scripting in ArcGIS (Example 1), Clipping Rasters in a workspace

phyton scripting di ArcGIS, mungkin tidak banyak orang yang mengeksplor ArcGIS sampai kesini, tapi berani jamin, anda akan kecanduan memakainya bila sudah memahami fungsionalitas dan manfaatnya.

Contohnya misalnya seperti ini.

"Saya mempunyai beberapa data raster dalam sebuah geodatabase, saya akan memotong raster (clip) tersebut menggunakan data raster dari geodatabase lain (bisa juga dari geodatabase yang sama). Solusinya ada 4. Pertama, proses clipping manual?? well, it is long and damn boring. kedua, proses clipping otomatis pake batch processing??? apa anda tahan membuat tabel batch untuk 250 raster yang akan anda potong??. ketiga, Bikin model builder???, ugh I want to clip rasters right here and right now, not to drawing ballons, bubbles, and arrows. dan ini yang keempat, Phyton Script. nah!.yang ini nih baru oke!, cuman ngetik beberapa baris kode and voila, all rasters clipped!!!."


Oke, jadi gini tutorial penggunaan phyton script

1.  Buka Phyton Window di sini.


2. Tampilan Phyton Windows kayak gini


3. Saya mempunyai folder yang berisi data rasters di folder C:\student\PYTH\Describing_data\Tahoe, di dalamnya ada dua folder lagi, yaitu folder All dan Folder Erner. Folder All berisi beberapa data raster tematik, dan folder erner berisi data raster tematik dari folder All untuk wilayah tertentu. Tujuan kita adalah memotong data raster dari folder All menggunakan data dari folder Erner.


4.Step 1. Memanggil modul phyton ArcGIS Arcpy, ini penting karena tanpa arcpy, kode kita hanya akan dianggap kode phyton biasa dan tidak dapat berinteraksi dengan arcGIS.


5. Step 2. Mengatur Workspace Environment. Workscape ENv adalah direktori (bisa folder, bisa geodatabase, bisa feature dataset) dimana data yang akan kita olah berada disitu.


6. Step 3. Memanggil properties dari raster pemotong (menggunakan perintah describe dari arcpy). Salah satu hasil dari describe adalah extent. Extent ini yang akan kita pakai sebagai bidang pemotong.



7. Step 4. Selanjutnya kita mengambil extent sebagai salah satu hasil describe sebagai variabel (menggunakan perintah desc.extent) dengan nama variabel rasExtent.


8. Step 5. Seluruh data dalam direktori/workspace dipanggil menggunakan perintah arcpy.listRasters. dan hasilnya kita jadikan variabel dengan nama ras_list.


9. Step 6. memotong raster sesuai extent dari pemotong. Proses dimulai dengan memanggil raster melalui perintah "for name in Ras_list". Ras_list adalah seluruh raster di direktori yang kita seting di step 8, "for name in" adalah perintah untuk memanggil nama raster dalam variabel ras_list. Pemotongan menggunakan perintah arcpy.clip_management, kemudian untuk variabel pemotongan ( ) ada tiga, pertama adalah "name" yang berarti kita memanggil nama raster dalam workspace, "str(rasExtent)" adalah variabel extent sebagai pemotong yang kita atur di step 7, dan terakhir adalah variabel output dimana disini output kita panggil variabel "name" yang kita tambahkan kata "potong" di belakangnya menggunakan kode "name + '_potong' " agar tidak ada konflik nama dengan input.


10. Done, di bawah ini contoh hasilnya



Selamat mencoba



*. Tutorial diambil dari buku Introduction to Phyton Geoprocessing di SINI