Tuesday 19 June 2012

Geodatabase Topology Rules

Kabare semua? Topik kali ini adalah lanjutan dari topik saya sebelum ini : Pengenalan Topology. Jika korang semua ada baca post saya sebelum ini topik : Evolusi Data Spatial : Pengenalan Geodatabase, tentu korang semua tahu geodatabase bukan sahaja menyimpan data-data geospatial dan table, tapi juga boleh simpan macam-macam, seperti topology rules, relationship class, data raster dan lain-lain, bak kata iklan Astro... Macam-macam adaaaa. OK, apa yang nak saya ceritakan di sini adalah berkenaan dengan topology rules.

Apakah Topology Rules
Topology Rules adalah set aturan yang kita tetapkan pada data kita untuk memastikan data kita tu konsisten dan bebas dari ralat-ralat topology yang tidak sepatutnya ada pada data tersebut. Contohnya katalah anda dapat data sungai dari sesuatu agensi pembekal data, kemudian anda nak semak adakah setiap line sungai bercantum dengan betul, tiada line sungai yang terputus supaya analisis flow boleh dibina dengan tepat. Kalau nak zoom setiap line, check satu-satu payah juga tu. Tapi kalau guna topology rules ni, dia boleh bagitau kita dimana terdapat error line yang terputus tu on the spot terus, tak payah kita terkial-kial nak cari satu persatu. 

Untuk membina topology rules ini, data-data kita mestilah diletakkan dalam format geodatabase dulu. Kemudian tentukan nama rules apa yang kita nak pakai. Yang ni pun macam-macam adaaa gak, contoh kalau kita nak semak line terputus, gunakan rules "Must not have dangles".

Contoh nama-nama topology rules

Macamana kita nak tau apa senarai-sanarai nama rules yang ada, dan apa maksud setiap satu rules tu? Jawapan mudah dia rujuk kepada poster Topology Rules.

Cara Membaca Poster Topology Rules
Kat mana kita nak dapat poster ni? Bila kita dah install ArcGIS dalam laptop komputer kita, rujuk pada folder installation ArcGIS dan di bawah folder Documentation. Contohnya pada laptop saya yang run Windows 7, folder dia adalah C:\Program Files(x86)\ArcGIS\Desktop10.0\Documentation. Di dalam folder tu nanti kita akan nampak ada satu fail nama topology_rules_poster.pdf. Rupa poster tu seperti kat bawah ni :

Poster topology rules
Nak mudah plot besar-besar poster tu pastu tampal kat dinding, senang nak baca. Saya tengok ada gak beberapa client saya yang buat macam tu. Ok, macamana kita nak baca poster tu? Kalau kita tengok gambar poster kat atas tu, yang kotak-kotak tu adalah rules yang boleh kita gunakan, so kalau kita kira kat atas tu ada 32 kotak, maknanya ada 32 topology rules ler.

Kita ambil contoh satu rules seperti di bawah. Nama rules ni Must not overlap. Penerangan bagaimana untuk membaca rules ni dinyatakan dalam gambar di bawah ni (teks warna merah). Kalau tak nampak, klik kat gambar tu untuk besarkan gambar.

nota ringkas komponen dalam diagram topology rules 

Dari penerangan di atas, maknanya mula-mula kita tengok dulu rules tu digunakan untuk data feature apa... dalam contoh tu, rules Must not overlap hanya boleh digunakan untuk menyemak data feature polygon, sebagai contoh melihat lot bertindih, zon gunatanah bertindih dan lain-lain. Sekarang kita lihat contoh yang di bawah ini pula :




Kali ini dinyatakan dua simbol feature di dalam rules tu iaitu point dan line. Ini bermaksud rules Point must be covered by line memerlukan input dua layer data iaitu data point dan juga data line. Contohnya katakan anda mendapat data point stesen kualiti air sungai dan anda ingin menyemak adakah point tu jatuh betul-betul di atas line sungai anda. Rules ini boleh digunakan untuk memberitahu kita point stesen mana yang jatuh di atas garisan sungai dan point stesen mana yang tidak menyentuh line sungai. OK sekarang dah faham kan macamana nak baca poster tu. Kalau dah faham baru lah kita boleh proceed membina geodatabase topology rules.


Membina Geodatabase Topology Rules
Untuk membina topology rules ni, anda perlu pastikan data-data yang ingin disemak tu diletak di dalam Feature Dataset di dalam geodatabase. Perhatikan rajah di bawah ini. 


Untuk geodatabase 1, layer Stesen dan Sungai diletakkan di dalam feature dataset Langat manakala geodatabase 2 layer Stesen dan Sungai tidak diletakkan di dalam feature dataset. Sekiranya anda ingin membina topology rules untuk kedua-dua layer ini, anda perlu strukturkan layer Stesen dan Sungai anda mengikut struktur geodatabase 1 iaitu ia perlu diletakkan di dalam feature dataset. Kemudian right click sahaja kat feature dataset tu dan pilih New > Topology... Proses ni anda perlu buat di dalam ArcCatalog sekiranya anda guna version 9.x. Kalau version 10, anda buat dalam ArcMap pun boleh, melalui Catalog Window.



Kemudian taipkan nama untuk topology yang anda nak bina tu. Lepas tu anda akan nampak ruangan untuk masukkan Cluster tolerance. Apa dia cluster tolerance tu? Maksud cluster tolerance tu ialah jarak minimum yang anda andaikan agar point, vertex dan boundary dikira coincident. Kalau tak faham maksud coincident tu, rujuk pada post saya sebelum ini tajuk Pengenalan Topology. Cuba kita lihat gambar kat bawah ni :

Cluster tolerance


Lihat gambar point stesen dalam bulatan tu. Kalau jarak antara stesen dan line sungai tu adalah di dalam lingkungan jarak cluster tolerance, point stesen dan line sungai tu akan snap secara automatik kerana dikira sebagai coincident antara satu sama lain. Selepas tu tekan butang Next, anda perlu pilih pula layer apa dalam feature dataset tadi yang nak anda gunakan untuk semak topology.



Dalam contoh ni, saya nak menyemak samada kedudukan point stesen saya menyentuh line sungai, jadi saya perlu pilih kedua-dua layer tu. Seterusnya anda perlu setkan ranking untuk setiap layer yang anda pilih tadi. Apa pula maksud ranking tu?

feature low rank akan snap ke feature low rank
Nilai ranking tu membolehkan kita set pada setiap layer tu, layer mana yang kita rasa data yang lebih tepat (rangking tinggi) dan layer mana yang kurang tepat (ranking rendah). Semasa proses Validate Topology nanti, layer yang ranking rendah akan di snap kepada layer yang ranking lebih tinggi. Contohnya katalah point stesen tu saya bina melalui proses data capture menggunakan GPS yang berketepatan sehingga sub-meter, jadi saya andaikan kedudukan point stesen saya lebih tepat berbanding dengan data sungai saya daripada sumber peta topo skala 1:50,000. Oleh itu saya bolehlah setkan ranking data stesen saya lebih tinggi berbanding data sungai tadi. Nilai ranking yang tertinggi adalah 1, semakin besar nombor yang kita set, semakin rendahlah ranking sesuatu data tu. Tapi dalam contoh ni, saya andaikan kedua-dua data tadi mempunyai ranking yang sama.

Seterusnya barulah anda masukkan rules yang hendak anda gunakan untuk layer tadi. Rules yang akan saya gunakan adalah Point must be covered by line. Rujuk pada gambar bawah ni, untuk step 1 saya pilih saja layer point Stesen, step 2 saya pilih nama rules yang saya nak pakai dan step 3 saya pilih pula layer line Sungai. So ringkasan dari maksud rules tadi adalah : Point Stesen must be covered by line Sungai. Sekiranya line sungai tu tak covered point stesen, point yang terlibat akan ditunjukkan semasa proses Validate Topology.


Setelah selesai, dialog macam kat bawah ni akan dipaparkan. Maksud dialog tu ialah dia tanya samada kita nak mulakan proses Validate Topology tu sekarang ke atau kita manually validate kat dalam ArcMap.


Saya lebih suka memilih butang No, supaya saya boleh nampak proses validasi tu di dalam ArcMap. Lagipun, dalam ArcMap kita ada pelbagai pilihan samada nak buat proses validate tu mengikut Extent Area atau pada keseluruhan data (Full Extent). Setelah selesai bina topology tu, anda sepatutnya akan nampak objek topology dibina dalam feature dataset tadi.

Mulakan proses Validate Topology
Next, masukkan sahaja objek topology tu dalam ArcMap. Nanti anda akan lihat dialog di bawah dipaparkan. Klik sahaja butang Yes.


Kemudian pastikan anda masukkan Topology Toolbar dalam ArcMap tu. Rupa toolbar tu macam dalam gambar kat bawah ni.

ArcMap Topology Toolbar
Untuk validate anda ada dua pilihan tool.
  1. Validate topology in specified area
  2. Validate topology in current extent

Mulakan proses Start Editing. Kemudian anda pilihlah samada nak validate guna tool no 1 atau tool no 2 tu. Kalau nak guna tool no 2 tu, anda kena zoom dulu ke extent mana yang anda nak, kemudian klik tool tu untuk validate. Hasil proses Validate Topology saya adalah seperti di bawah :

Hasil proses Validate Topology


Lokasi topology error akan ditunjukkan pada simbol warna merah. Alamak... semua point stesen saya tak sentuh line sungai.. hihi.. 

Harap anda dah dapat gambaran macamana nak create topology rules ni. Selamat mencuba.



15 comments:

  1. This comment has been removed by the author.

    ReplyDelete
  2. jarang guna proses ni..kalu buat, nahas la..byk kena edit ..setahun lg la baru siap satu negeri..huhuu..

    ReplyDelete
  3. waahh kalau la mdm tunjuk dalam lab spatial macam ni,mesti dapat paham lebih..siap dengan gambaran skali..rupenye semua ada dalam ArcGIS..
    tq ye..sy baru jumpa entry ni..sangat berguna..

    ReplyDelete
  4. This comment has been removed by the author.

    ReplyDelete
  5. hehehe..salah lagi ke??hee aha..madam or puan...maafkn sy skali lagi...:D

    ReplyDelete
    Replies
    1. ooo madam...mesti awk ni dari uitm ek... utara ke??

      Delete
    2. nanti promote le kat madam blog ni.. boleh guna utk alat bantuan ngajar..hihi

      Delete
  6. yup...hehe..
    eh mana tahu dari uitm utara nih?..insyaAllah..sy nak promote kat junior sy dulu..penting ni..mesti dieorang still blur macam sy juga..:D

    ReplyDelete
    Replies
    1. wife sy lecturer uitm... dia ckp uitm blah2 sana mmg diaorg panggil lecturer madam...

      Delete
  7. owh lecturer uitm juga..krim salam dkat madam ye..hehehe
    mungkin la..kalau x panggil madam pnggil puan..hee tu je la..klu yg laki slalu nye panggil sir or prof.panggil encik jarang pla..huhu..

    saudara,
    kalau nk mntak tolong terang pembelajaran dlm sylbus yg tak faham boleh tak?
    & one more thing, untuk projek saya tu..madam ada minta sruh buat model builder. tu method ke?? untuk apa sebenarnye? sy ada baca,tp xberapa clear. nak apply pun tak tahu,padahal tool model builder dah show dekat toolbar..tadi baru buat keputusan utk tak guna model builder tu..sbb nmpak susah..tp kalau senang & mudah nk buat..sy nk try apply dlm projek sy tu..mana tahu boleh tmbah markah..heee

    ReplyDelete
    Replies
    1. ok je kalau ada kelapangan. Sy skrg bz skit ngan projek..blog pun lama x update. Model builder tu salah satu cara nak wat geoprocessig dlm arcgis. So dari model builder diagram tu kita boleh run tool geoprocessing dari arctoolbox..tapi kena design dlu le model tu..just drag drop dari tool dlm arctoolbox masuk dlm modelbuilder window.

      Delete