fnwilwatikta_esriid

Tutorial Pembuatan R Toolbox pada ArcGIS Pro

Blog Post created by fnwilwatikta_esriid on Jul 2, 2020

Halo ArcNesian!

 

Pada kesempatan kali ini ArcMin akan kembali membahas tentang penggunaan Statistical Analysis di dalam pengolahan data menggunakan bahasa pemrograman R.

 

Sebelumnya sudah ada blog post tentang pemahaman, peng-installan dan penggunaan sederhana dari fungsi R di dalam ekosistem ArcGIS di dalam artikel di link ini.

 

Untuk ArcNesian yang sudah cukup familiar dengan pengolahan data secara statistik, pengolahan data besar dan juga visualisasi dari hasil statistik, mungkin kaidah bahasa pemrograman R sudah tidak terlalu asing.

 

R memang dikembangkan dengan misi untuk mempermudah usernya untuk melakukan operasi statistik. Dengan banyaknya komunitas pengembang R dan repository yang terus berkembang, library R sangat powerful dalam membantu analysis statistik. Hal inilah yang membuat R-ArcGIS Bridge sangat essensial bagi pengguna ArcGIS yang akan menggunakan analisis statisktik.

 

A. Geoprocessing Toolbox

Di dalam ArcGIS sendiri, operasi terhadap dataset yang berada di dalam content pane seringkali dilakukan melalui Geoprocessing Toolbox. Geoprocessing Toolbox adalah sebuah framework dan set dari tools yang dibuat untuk memproses data geografis.

 

Tools-tools yang berada di dalam Geoprocessing Tools juga biasa digunakan untuk melakukan analisis spasial atau me-manage GIS data. Tools yang paling umum biasanya berfungsi untuk melakukan operasi dan analisa terhadap dataset seperti feature class, raster, table dan berfungsi memberikan output dataset.

 

Tools dengan simbol seperti ini () berarti adalah tools yang didasari oleh script dalam operasionalnya. Script ini bisa berdasarkan berbagai macam program, Python file (.py), AML file (.aml), executable (.exe or .bat) atau bahkan R (.R). Untuk mempelajari lebih lanjut, ArcNesian bisa mengunjungi link ini ya.

 

Selain untuk melakukan analisa di dalam environment R (RStudio), R-ArcGIS Bridge juga memungkinkan user untuk melakukan analisa langsung di dalam ArcGIS Desktop melalui pembuatan R toolbox. R script yang akan kita buat akan menjadi referensi dari operasi toolsnya ketika di “Run” di dalam ArcGIS Desktop.

 

Pada kesempatan kali ini, ArcMin akan mencoba membuat geoprocessing toolbox yang terbuat dari script R.

 

B. Instalasi R-ArcGIS Bridge

Untuk mengikuti langkah langkah dalam pembuatan R toolbox, ArcNesian perlu untuk menginstal R-ArcGIS Bridge terlebih dahulu. Secara umum program program yang akan digunakan oleh ArcNesian kali ini adalah:

1. ArcGIS Pro 2.5 (Basic, Standard, Advanced)

2. R 3.5.3

3. RStudio

4. Rtools (optional)

 

Untuk informasi lebih lanjut tentang instalasi R-ArcGIS Bridge hingga proses testing jika R-ArcGIS Bridge sudah berjalan bisa ArcNesian lihat di dalam blog post di link ini.

 

C. Package untuk Geoprocessing Toolbox

Di dalam operasinya, semua operasi yang di lakukan di dalam R menggunakan tools tersendiri yang dinamakan sebagai package. Package adalah set tools yang memungkinkan R untuk melakukan berbagai macam operasi.

 

Di dalam blog post sebelumnya, ArcMin sudah memberikan salah satu contoh package yang paling essensial dalam penggunaan R-ArcGIS Bridge.

1

 

Package arcgisbinding yang digunakan untuk memulai koneksi antara R dan ArcGIS bridge yang berada di dalam ArcGIS. Selain package arcgisbinding, ada beberapa package lain yang umum untuk melakukan operasi sederhana. Salah satunya adalah sp yang digunakan untuk mengkonversii data R dan ArcGIS.

 

Package package diatas bisa dipanggil kedalam R workspace kita melalui syntax library(...) sehingga kadang orang memanggilnya sebagai library.

 

Kali ini ArcMin akan mencoba menyelesaikan suatu masalah yang melibatkan salah satu package dari R dan akan mengimplementasikannya ke dalam toolbox sehingga tools yang kita gunakan dapat digunakan oleh organisasi, atau perorangan yang memerlukan.

 

D. Package Raster untuk Perhitungan Semak Belukar Berbahaya

Bayangkan jika ArcNesian adalah seorang GIS specialist di Gunung Merbabu. ArcNesian telah diminta untuk melihat data semak belukar yang tersebar disekitaran ngarai Gunung Merbabu yang sudah ditandai tingkat kebahayaannya berdasarkan tingkat kekeringannya.

 

ArcNesian ditugaskan untuk membuat cluster yang menunjukan dimana saja konsentrasi dari semak belukar yang berhaya, karena akan dilakukan proses preventif terhadapap semak yang dinilai berbahaya.

 

Untuk melakukan tugas ini, ArcNesian akan menggunakan kapabilitas R-ArcGIS Bridge untuk membuat data raster yang menunjukan konsentrasi semak berbahaya dan membuatnya sebagai toolbox.

 

Untuk melakukan tugas ini, ArcNesian dapat mendownload data yang sudah ArcMin siapkan di link ini ya.

 

E. Persiapan RScript sebagai Geoprocessing Toolbox

Di dalam .zip file yang sudah di download dan extract, akan terdapat salah satu file bernama ScanStatistic.R. Untuk membukanya, ArcNesian bisa membuka program RStudio, kemudian mengklik open yang berada di bawah tanda ini:

2

 

Lalu, ArcNesian akan melihat banyak bagian dari code yang dibagi kedalam beberapa proses operasi.

 

Salah satu hal yang harus ArcNesian tahu, dalam script R yang akan digunakan sebagai tools, ada satu syntax khusus yang harus digunakan:

 

tool_exec <- function(in_params, out_params) {................}

 

Syntax ini memberitahu ArcGIS bahwa script ini memiliki function yang akan di proses dengan parameter input (in_params) dan output (out_params).

 

Jika ArcNesian perhatikan juga, di row 30 kebawah terdapat beberapa argumen yang dimasukkan kedalam paramater masuk:

 

occurence_dataset <- in_params[[1]]

level <- in_params[[2]]

out_raster <- out_params[[1]]

out_feature <- out_params[[2]]

dsb.

 

Ini adalah parameter yang akan digunakan ketika ArcNesian menggunakan toolboxnya di dalam ArcGIS Pro. Jadi ketika memasukkan parameter parameter, R script akan dapat membaca datanya dan melakukan prosesnya di dalam R.

 

Selain input parameter 1 dan 2, masih ada parameter 3 sampai 7 yang perlu diisi, ArcNesian bisa mencoba mengisi syntax-nya dengan mengikuti panduan dari tabel berikut:

Variable name

Parameter value

occurrence_dataset

in_params[[1]]

level

in_params[[2]]

model_type

in_params[[3]]

dist_bands

in_params[[4]]

radius_min

in_params[[5]]

radius_max

in_params[[6]]

num_sims

in_params[[7]]

 

*ArcNesian juga bisa membuka ScanStatisticComplete.R untuk melihat code yang sudah terpenuhi sebagai referensi jika mengalami kesulitan.

 

Untuk bagian lain yang ada di dalam script, ArcNesian bisa membiarkannya dan save dokumen scriptnya. Selanjutnya kita akan membuat toolbox di dalam ArcGIS Pro.

 

F. Membuat Script Tool Baru dalam ArcGIS Pro

Untuk menambahkan toolbox baru dalam ArcGIS Pro, ArcNesian dapat mengikuti langkah berikut ini:

 

1. Buka ArcGIS Pro, kemudian pilih tab Map dan namai project sesuai dengan yang diinginkan.

 

2. Di dalam tab Insert, klik Toolbox dengan tanda panah kebawah, lalu pilih New Toolbox.

3

 

3. Di dalam New Toolbox dialog, masukan path yang sama di kedalam folder zip extractnya agar memudahkan untuk di temukan (contoh D:\Downloads\ScanStats)

 

4. Lalu simpan data toolbox dengan menggunakan nama Scan Statistic Tool.

 

5. Pada jendela Catalog, expand bagian toolbox dan lihat tool Scan Statistic Tools yang baru saja di buat. Lalu klik kanan pada Scan Statistic Tools, arahkan kepada New dan pilih Script untuk membuat Script di dalam toolboxnya.

4

 

6. Di dalam dialog box, masukkan data sesuai dengan data yang ada di bawah.

Pathnya harus mengarah ke dalam R script yang sudah di extract dan di save melalui RStudio tadi. (Contoh: D:\Downloads\ScanStats\ScanStatistic.R)

5

 

7. Di dalam dialog box, klik Parameters, dan masukan data sesuai dengan tabel berikut ini secara teliti, karena perbedaan sedikit saja akan membuat scriptnya tidak mengenali variable yang dimasukkan.

Label

Name

Data Type

Type

Direction

Default

Occurrence Dataset

Occurrence_Dataset

Feature Layer

Required

Input

Level

Level

String

Required

Input

Model Type

Model_Type

String

Required

Input

Number of Distance Bands

Number_of_Distance_Bands

Double

Required

Input

10

Beginning Distance

Beginning_Distance

Double

Required

Input

Maximum Distance

Maximum_Distance

Double

Required

Input

Simulations

Simulations

Double

Required

Input

100

Output Raster

Output_Raster

Raster Layer

Required

Output

Output Feature Class

Output_Feature_Class

Feature Class

Required

Output

 

8. Jangan klik OK dahulu, fungsi Filter memungkinkan value yang sudah ditentukan sebelumnya agar bisa terpilih dan membatasi user untuk memasukkan jawaban mereka.

 

9. Di bagian Level tool parameter, klik bagian di bawah filter untuk mengaktifkannya. Setelahnya klik drop-down listnya kemudian pilih Value List. Masukkan kode berikut:

6

 

10. Untuk Model Type Parameter, masukkan value list berikut:

7

 

11. Untuk Beginning Distance, pilih Range dan masukkan nilai berikut:

8

 

12. Terakhir, masukkan nilai berikut sebagai filter di dalam Simulations filter:

9

 

Jika ArcNesian sudah menkonfigurasi semua parameter ArcNesian seharusnya melihat 9 parameter yang sudah terkonfigurasi (0-8). Klik OK untuk menyimpan perubahannya.

 

G. Run Geoprocessing Toolbox

Kemudian, untuk test jika geoprocessingnya sudah bekerja kita akan mulai menganalisa data yang ada. Di file .zip yang sudah ArcNesian download sudah terdapat data yang dapat digunakan.

1. Buka geodatabase yang terdapat di dalam .zip file bernama gdb. Klik Map, lalu klik Add Data, lalu pergi ke folder ekstraksi dari yang sudah di download lalu ke folder Merbabu.gdb.

 

2. Add dataset point bernama “Semak”. Data semak yang berada di sekitar Gunung Merbabu kemudian akan muncul di dalam mapnya.

 

3. Di dalam jendela Catalog, expand Toolboxes lalu expand kembali Scan Statistics Tools.tbx.

10

 

4. Double-Click Scan Statistic, dalam interface Scan Statistic, masukkan data sesuai dengan contoh berikut:

11

 

5. Klik Run tool untuk mulai progress Scan Statistic toolnya. Di dalam Content, akan ada feature baru yang berisi hanya titik titik semak belukar yang memiliki attribute level = Berbahaya.

 

6. Untuk menambahkan Rasternya, pastikan bahwa path pada kolom output Raster di Scan Statistic memiliki folder yang sama sehingga ArcNesian dapat memasukkannya. (Contoh D:\Downloads\ScanStats)

File raster yang dihasilkan harusnya memiliki ekstensi .tiff.

 

7. Jika dataset Rasternya sudah masuk ke dalam Catalog, untuk memudahkan pengguna membedakan konsentrasinya, ArcNesian bisa mengubah simbologi dari rasternya. Untuk menggantinya double klik pada Value dan ubah warna yang hitam putihnya menjadi hijau dan merah.

12

13

 

Sekarang, data raster yang ArcNesian butuhkan untuk proses prevensi kebakaran lahan di gunung merbabu sudah selesai. Dan data raster ini bisa digunakan oleh pemangku kebijakan terkait.

 

H. Cara Pembagian Geoprocessing Toolbox

Untuk membagikan toolbox yang sudah dibuat, ArcNesian hanya perlu mengirimkan file ekstensi .tbx (dalam case ini Scan Statistic.tbx) dan juga R script yang digunakannya (dalam hal ini file ScanStatistic.R)

 

ArcNesian cukup menggabungkan kedua filenya ke dalam .zip dan mengirimkannya kepada kolega yang akan menggunakan toolboxnya. Perlu diperhatikan juga bahwa untuk menggunakan toolbox ini, kolega ArcNesian harus menginstal R-ArcGIS terlebih dahulu sebelum menggunakan toolboxnya.

 

Kemudian, setelah ArcNesian sudah mendapatkan .zip filenya dan mengekstraknya. ArcNesian hanya perlu pergi ke Insert, kemudian pilih toolbox dan pilih pilihan add toolbox.

14

 

Begitulah cara agar ArcNesian dapat memanfaatkan kapabilitas dari R ke dalam ArcGIS, serta membungkusnya ke dalam sebuah Geoprocessing Toolbox. Sekarang ArcNesian semua sudah berhasil membuat Geoprocessing Toolboxnya dan dapat menggunakannya untuk dataset lainnya dan bahkan membagikannya kepada rekan rekan dan kolega ArcNesian semua!

 

Stay tuned untuk tips dan trik lain terkait penggunaan produk ArcGIS maupun Esri di ArcNesia ya!

See you!

 

Jika ArcNesian memiliki pertanyaan, silahkan menghubungi Tim Support Esri Indonesia melalui e-mail support@esriindonesia.co.id

 

 

 

(Artikel ini dibuat oleh Arga Rana Ruseno dari Esri Indonesia Future Leaders Program)

Outcomes