Integrasi Python dan ArcGIS Pro untuk Geoprocessing Workflows

3423
0
06-04-2020 10:15 PM
FeliaNiwanWilwatikta
New Contributor III
0 0 3,423

Hi ArcNesian!

Dalam postingan kali ini, ArcMin akan membahas mengenai integrasi Python dan ArcGIS Pro untuk otomasi alur kerja Tools Geoprocessing. ArcNesian bisa meningkatkan produktivitas dengan membuat skrip Python untuk mengotomatiskan tugas Geoprosesing ArcGIS. Di sini, ArcNesian akan belajar cara bekerja dengan ArcPy, site package yang dikembangkan Esri yang mengintegrasikan skrip Python ke dalam ArcGIS Desktop dan Pro.

Python sendiri merupakan salah satu bahasa pemrograman yang paling banyak digunakan dalam Data Science dengan komunitas pengguna yang sangat aktif terus melakukan pengembangan kemampuan bahasa ini dengan membuat Libraries, Modules, dan Application Programming Interface (API) baru hampir setiap hari. Dengan ekosistem sebesar itu, merupakan tantangan bagi analis untuk mengetahui Libraries mana yang harus dipelajari, diandalkan, dan tetap mengikuti perkembangan terbaru.

Banyak dari ArcNesian yang sudah tahu ArcGIS Pro, kan? ArcGIS Pro sendiri bisa dikatakan sebagai “workstation” untuk Spatial Data Science, loh. Dengan menggabungkan Exploratory Data Analysis, Visualisasi, ArcPy, ArcGIS API for Python, Machine Learning, Deep Learning, serta Notebooks, ArcGIS Pro adalah sistem holistik untuk menyelesaikan permasalahan dalam Data Science. Hal ini tentunya menarik karena Tools tersebut sangat banyak diperbincangkan saat ini dan tentunya diaplikasikan untuk menyelesaikan permasalahan kompleks berkaitan informasi spasial.                                                                                                                       1

Lalu, bagaimana cara memanfaatkan integrasi Python dengan ArcGIS Pro?

Dalam tutorial ini, ArcNesian akan membuat otomasi beberapa proses seperti Join, Buffer, Union menggunakan Tutorial Data yang dikompilasi dan dimodifikasi dari OpenStreetMap Indonesia. Pertama, dibuat skrip untuk Buffer Feature Class “Jalan” berdasar nilai jarak dari tabel “TabelBuffer” sehingga juga butuh proses join. Kedua, kita akan melakukan Select Layer titik-titik “MenaraListrik” yang berada di area Buffer yang sudah dibuat untuk memodifikasi nilai kolomnya sebagai area prioritas. Terakhir, ArcNesian akan mempelajari bagaimana cara membuat skrip tool berdasar skrip yang sudah dibuat.

2

3

Ikuti langkah-langkah di bawah setelah mempelajari datanya ya!

Menjalankan Analisis di PyCharm

Banyak tugas yang melibatkan analisis atau manajemen data GIS dalam ArcGIS Pro membutuhkan penggunaan beberapa alat Geoprocessing. Membuat skrip yang menjalankan alat ini menawarkan banyak manfaat. Skrip ArcNesian dapat dikembangkan dan dijalankan di jendela Python di ArcGIS Pro atau dengan editor Python eksternal seperti PyCharm.

1. Konfigurasi Project Baru di PyCharm

Buat project baru di PyCharm lalu beralih ke File > Settings > Project: Scripts > Project Interpreter. Pada dialog box, klik tombol   untuk memilih Add, lalu klik System Interpreter.

4

Pilih folder C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\python.exe untuk menentukan interpreter yang terinstall Bersama ArcGIS Pro sehingga kita dapat menggunakan ArcPy.

Kalau ArcNesian tidak melihat folder ArcGIS di folder Program Files, ArcGIS mungkin telah diinstal di folder Users. Jelajahi path berikut sebagai gantinya:

C:\Users\<Your_Username>\AppData\Local\Programs\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\python.exe.

(Pada beberapa sistem, folder AppData disembunyikan; untuk membuka folder, pada toolbar, klik tombol Show Or Hide Hidden Files And Folders).

2. Mengatur Geoprocessing Environment pada Skrip Python

Buka skrip BufferJalan.py untuk mempelajarinya. Setiap ArcNesian akan menjalankan skrip apapun untuk analisis dengan ArcPy, dibutuhkan pengaturan geoprocessing environment sebagai berikut (perhatikan baris 2-4).

5

Dengan pertama lakukan Import Modul ArcPy terlebih dahulu, kita dapat mendefinisikan apakah skrip dapat melakukan Overwrite Output dengan arcpy.env.overwriteOutput. Kemudian, ArcNesian juga perlu definisikan workspace dengan menuliskan Geodatabase yang digunakan dengan arcpy.env.workspace.

3. Menjalankan Skrip Python

Dari menu Run, pilih Run  lalu BufferJalan.py pada Dialog Box.

6

Buka ArcGIS Pro untuk cek apakah Buffer sudah berhasil dibuat di geodatabase.

7

Menggunakan Geoprocessing Tool dengan Python di ArcGIS Pro

Setelah ArcNesian sudah bisa mengembangkan alur kerja Python, langkah selanjutnya adalah mengakses data GIS yang dimiliki ArcNesian. ArcNesian akan memodifikasi nilai data di kolom “Priority” untuk Feature Class MenaraListrik yang berada di area BufferJalan.

1. Membuka Python Window

Dari tab Analysis, pada grup Geoprocessing, klik tombol Python . Setelah itu, definisikan workspace seperti pada langkah di atas yaitu dengan arcpy.env.workspace.

2. Melakukan Select Layer by Location

Pada Geoprocessing Pane, cari “Select Layer by Location”. Klik icon   pada Tool select Layer tersebut dan drag menuju Python window.

8

Kemudian, isi parameternya sehingga kode menjadi seperti berikut: arcpy.management.SelectLayerByLocation(‘MenaraListrik’, ‘INTERSECT’, ‘BufferJalan’) lalu tekan Enter untuk menjalankannya.

3. Memodifikasi Nilai pada Kolom Tabel Feature Class

Modifikasi dilakukan dengan menggunakan Cursor Object. Cursor object memungkinkan kita untuk mengakses baris dalam sebuah tabel. Cursor dapat digunakan untuk membaca dan menulis atribut serta nilai geometri. Ketik kode berikut dan jalankan:

with arcpy.da.UpdateCursor("MenaraListrik", "priority") as cursor:

    for row in cursor:

        row[0] = "YES"

        cursor.updateRow(row)

9

Pastikan bahwa untuk feature class MenaraListrik, titik yang berada di area Buffer kini memiliki tulisan YES pada kolom priority.

10

Membuat Script Tool di ArcGIS Pro dari skrip Python

ArcNesian telah membuat skrip Python dan kemudian ingin membuatnya mudah dalam penggunaan parameter input berbeda sambil menciptakan user experience untuk individu yang tidak mengetahui Python. ArcNesian juga ingin memiliki cara untuk membaginya dengan orang lain, baik di workplace masing-masing atau melalui ArcGIS Online. Cara yang baik untuk membuat antarmuka pengguna dan membuatnya mudah untuk dibagikan adalah dengan Script Tool.

1. Membuat Skrip Python

Buka skrip BufferTool.py untuk mempelajarinya. Jika sebelumnya input dan output ditulis secara eksplisit, kali ini diganti dengan arcpy.GetParameterAsText() dengan index diisi di dalam kurung. Index ini berguna ketika membuat script tool untuk membedakan variabel.

11

2. Membuat Script Tool dalam Toolbox di ArcGIS Pro

Script Tool dibuat di dalam Toolbox dan dapat dijalankan dengan cara yang sama seperti alat Geoprocessing. Buka Catalog pane, klik kanan pada Toolboxes dan pilih New Toolbox. Pilih nama “BufferMenaraListrik” untuk toolbox baru dan klik Save.

Setelah itu, klik kanan Toolbox BufferMenaraListrik pada Catalog pane, arahkan pada tulisan New, dan pilih Script. Ketik nama Script Tool “BufferMenaraListrik”.

12

13

Klik Parameters di bawah General pada dialog box New Script tersebut. Kali ini ArcNesian definisikan variabel, baik input maupun output serta tipe datanya, yang bersesuaian dengan index yang ditentukan dalam skrip Python lalu klik OK. Script Tool berhasil dibuat!

14

Dengan menggunakan Python dan diintegrasikan dengan ArcGIS Pro, pekerjaan ArcNesian bisa menjadi jauh lebih efektif, bukan? Semoga semakin tertarik untuk mengeksplor kapabilitas ArcGIS Pro yang keren ini ya, ArcNesian!

Sekian penjelasan yang bisa ArcMin sampaikan melalui posting kali ini.

Jika ada pertanyaan lebih lanjut mengenai artikel ini atau produk Esri, silahkan menghubungi Tim Support Esri Indonesia melalui e-mail support@esriindonesia.co.id.

(Artikel ini dibuat oleh Dzulfiqar Naufal Fawwaz dari Esri Indonesia Future Leaders Program)