Thursday, 19 September 2013

Kelebihan Model Builder

Di dalam post saya sebelum ni, saya ada terangkan beberapa analisis di dalam GIS, antaranya proximity analysis iaitu Buffer. Anda boleh rujuk topik tu di link sini. Secara ringkasnya, dalam topik tu saya ada tunjukkan satu rajah workflow melibatkan analysis buffer dan clip seperti gambar di bawah ni :-



Dalam contoh yang lepas, saya tunjukkan kaedah menggunakan tool di dalam ArcToolbox untuk melaksanakan analisis Buffer tu. Sebenarnya di dalam persekitaran ArcGIS, untuk menjalankan tool geoprocessing, ada beberapa kaedah yang boleh kita pilih. Selain dari menggunakan ArcToolbox, kita boleh gunakan pengaturcaraan Phyton dan juga kaedah rajah Model Builder. Untuk topik kali ni, saya akan sentuh berkenaan Model Builder. Apa sebenarnya Model Builder ni.

Cuba anda rujuk semula gambarajah workflow Buffer dan Clip seperti saya tunjukkan kat atas tu. Sekarang cuba bayangkan pula kalau kita boleh terus run analisis dari rajah workflow yang kita dah lukis tu.. tentu lagi menarik dan lagi mudah kan? Tak perlu kita tercari-cari tool dalam ArcToolbox dan tak perlu buat step-by-step Buffer, lepas tu nak buat Clip pulak. Buka je gambar workflow, terus je run proses dari gambar workflow tu.. kan menarik tu. Menjimatkan masa pulak tu. Itulah sebenarnya konsep Model Builder dalam ArcGIS iaitu workflow kepada proses kerja GIS anda.

Tapi nak buat Model Builder ni, anda kena design dulu dan kena tahu tool apa nak pakai dari dalam ArcToolbox. Bila dah tahu tool apa nak pakai, drag je tool tu dari dalam ArcToolbox dan drop masuk dalam window Model Builder. OK sekarang saya akan tunjukkan cara nak buat Model Builder daripada kes workflow Buffer dan Clip seperti di atas.
Mula-mula buka ArcMap, kemudian bina toolbox sebab anda akan simpan Model anda di dalam toolbox ni. Caranya seperti di bawah :-



Penerangan gambar :-
  1. Dalam Catalog Window, klik Toolboxes > My Toolboxes
  2. Klik New
  3. Pilih Toolbox, kemudian namakan toolbox anda.


Dalam contoh di bawah, saya namakan toolbox saya sebagai MyModel. ArcGIS akan letakkan extension setiap toolbox anda sebagai .tbx.



Kemudian bina model pertama anda seperti step di bawah :-



Penerangan gambar :-
  1. Right click toolbox anda baru bina tu dan pilih New
  2. Klik Model...


Window Model seperti di bawah akan dipaparkan.



Perhatikan di dalam window Model tu kosong, bermakna anda belum design apa-apa workflow lagi di dalam model tu. Kita akan start workflow kita dengan laksanakan analisis Buffer (rujuk rajah workflow kat atas sekali dalam topik ni). Di dalam ArcToolbox, tool Buffer terletak di dalam System Toolboxes > Analysis Tools > Proximity > Buffer. Drag tool Buffer tu ke dalam window Model anda seperti di bawah. Anda akan dapati window Model anda sekarang mengandungi kotak flow Buffer dan result Output Feature Class.



Anda akan melaksanakan analisis Buffer dalam jarak zon 20m di kiri kanan jalan. Oleh itu, double click kotak Buffer untuk memasukkan Input layer jalan dan zon jarak 20m.



Penerangan lanjut tentang step dalam dialog Buffer tu anda boleh rujuk dalam topik Analisis Buffer saya post sebelum ini. Setelah anda masukkan parameter dikehendaki dalam dialog Buffer tu, model anda akan bertukar warna seperti di bawah.



Model yang mempunyai warna bermaksud ianya telah bersedia untuk anda Run. Tapi model anda tu belum lengkap lagi. Kalau ikut workflow asal, result dari Buffer tu anda akan Clip kepada layer lot tanah untuk mendapatkan lot yang di dalam zon 20m. Oleh itu anda akan tambah tool Clip di dalam model anda tadi. Tool Clip terletak di dalam System Toolboxes > Analysis Tools > Extract > Clip. Drag saja tool Clip tu ke dalam window Model macam anda buat pada tool Buffer sebelum tadi. Model anda akan kelihatan seperti di bawah.



Kemudian double click kotak Clip tu. Dalam dialog Clip, pastikan Input Features anda ialah layer lot tanah dan Clip Features ialah output layer hasil dari analisis Buffer, dalam contoh saya kat bawah ni Clip Features ialah layer jalanraya_Buffer1.



Klik OK dan model anda akan kelihatan seperti kat bawah ni.



Sekarang saya akan susun semula posisi elemen di dalam model saya tadi supaya menyamai rajah workflow saya. Hasilnya seperti kat bawah ni. Cuba bandingkan rajah 1 dalam ModelBuilder tu. Sama kan dengan workflow asal saya dalam rajah 2?



Sekiranya anda nak masukkan output layer yang dihasilkan oleh model tu secara automatik ke dalam Table of Content ArcMap, right click pada output layer tu dan pilih Add To Display.



OK sekarang macamana saya nak run model saya tadi? Senang je. Klik je butang Run atau klik menu Model > Run.




Hasilnya anda akan dapat lot yang terletak di dalam zon 20m di bahu kiri kanan jalanraya. So..anda dah nampak kan.. dengan menggunakan ModelBuilder, boleh menjimatkan masa anda dan pada masa sama ia boleh menjadi dokumentasi kepada proses workflow anda. Anda boleh design Model Builder anda dari seringkas workflow seperti model di atas atau model yang agak complex seperti yang saya buat dalam contoh di bawah ni..


Selamat mencuba..

8 comments:

  1. uiiissshhh sy faham sy faham..sy fham dah apa itu model builder..terima kasih cikgu..hee terima ksih sngat2..
    so kalau untuk analisis lain pun caranya sama la ye?? & kalau kite msok kan banyak2..kalau dah run, dia akn run semua ke?or apa yang kite click je??

    ReplyDelete
    Replies
    1. analisis lain pun cara yg sama. Dia akan run keseluruhan dalam model. Kalau nak asing, kena pecah2kan pada byk model..

      Delete
  2. done follow sini no. 78
    sudilah kiranya follow me back yea..
    he2.. salam kenal.. keep in touch yea..=)

    http://tengkubutang.blogspot.com/

    dan my 2nd blog
    http://kucenkucenbelog.blogspot.com/

    ReplyDelete
  3. Boleh ke jika saya hendak membuat pembetulan topologi bagi lot2 yang banyak dan kemudian di klip pada negeri, menggunakan kaedah ini.

    ReplyDelete
    Replies
    1. boleh tapi bergantung juga pada jenis pembetulan topologi. Sekiranya tool2 untuk betulkan topologi tu ada dalam arctoolbox, boleh je gunakan cara ni. Sekiranya tool tu tiada, maybe kena customize guna script python dan integrate sekali bersama model..

      Delete
  4. boleh ke jika saya menggunakan 'feature data set' yang mengandungi byk layer untuk membuat 'command' ini.

    ReplyDelete