Saturday 9 November 2013

Membetulkan Kesalahan Undershoot Secara Automatik

Untuk anda yang selalu buat kerja-kerja editing data, kadangkala pening gak kan bila tengok data-data yang ada macam-macam error. Contohnya error overlap, duplicate, overshoot, undershoot dan lain-lain. Setiap jenis error ni ada kaedah berbeza bagaimana nak betulkan error tu.  Untuk topik kali ni, saya akan tunjukkan contoh bagaimana nak betulkan kesalahan undershoot.

Untuk anda yang tak familiar istilah undershoot, maksud error ni ialah line yang tak snap pada segmen line di hadapannya. Contoh macam gambar di bawah..

Error Undershoot


Kalau anda lihat dalam gambar tu, line yang di dalam circle merah menunjukkan kesalahan undershoot sebab tak snap, kemungkinan disebabkan kesalahan semasa mendigit. Dalam senario sebenar, kemungkinan gap ni terlalu kecil sehingga sukar untuk anda lihat dengan mata kasar, tapi untuk contoh tutorial ni, saja saya gapkan besar sikit supaya senang anda nak nampak. Kalau error macam ni setakat 2, 3 je dalam data anda, mungkin takde masalah nak betulkan satu persatu. Tapi bayangkan kalau error macam ni ada berpuluh-puluh, beratus.. jenuh tu nak klik satu-satu suruh snap (..ermm tau tak nak snap manual satu-satu?? kalau tak tau nantilah saya post dalam topik lain).

OK kali ni saya tunjukkan kaedah auto macamana nak betulkan error macam ni. Mula-mula kita kena dapatkan dulu purata anggaran jarak untuk undershoot tu. Caranya kita boleh gunakan tool Measure untuk ukur jarak gap antara line yang tak snap tu. Caranya seperti di bawah :-

Ukur dulu gap undershoot untuk mendapatkan tolerance
snapping yang sesuai


Penerangan gambar :-
  1. Klik button Measure
  2. Klik pada End Vertex line yang undershoot
  3. Double klik pada segment line dihadapannya
  4. Perhatikan jarak gap dan unit jarak.


Dalam contoh di atas, jarak yang dipaparkan lebih kurang 1.9 meter. Maksudnya sekiranya saya setkan tolerance snapping lebih dari 1.9 meter, line tu akan snap kepada segment line dihadapannya. OK sekarang macamana kita nak snapkan line tu secara automatik? Gunakan tool Extend Line di dalam ArcToolbox. Sebelum kita run tool Extend Line ni, cadangan saya kita run tool ni dalam Editing mode. Maksudnya kena buat proses Start Editing dulu ler. Tujuannya sekiranya kita tersilap extend, kita ada option untuk Undo balik edit. Kalau kita run tool Extend Line ni diluar dari Editing mode, bahaya juga, takut tersilap masuk tolerance snapping, habis data kita snap pada line yang tak sepatutnya.

OK... sekarang, assuming kita dalam Editing mode, buat step seperti di bawah :-

Tool Entend Line


Penerangan gambar :-
  1. Buka ArcToolbox dan klik pada Editing Tools > Extend Line.
  2. Pilih layer yang anda nak betulkan kesalahan undershoot. Kalau ada selected line dalam layer tu, tool ni akan fokus betulkan error pada line yang anda select sahaja.
  3. Masukkan jarak tolerance snapping. Dalam contoh sebelum ni, jarak gap line yang saya ukur ialah 1.9 meter. So saya masukkan anggaran jarak 2.5 disini, bermaksud mana-mana line undershoot yang jarak kurang dari 2.5 meter, dia akan auto snap.
  4. Pastikan unit ukuran adalah sama dengan unit jarak yang anda ukur menggunakan tool Measure sebelum ni.
  5. Klik OK.

Hasilnya seperti di bawah. Lihat semula line di dalam circle merah tu. Semuanya dah snap ke line segment di depannya secara automatik.

Error undershoot yang dah clean


Selamat mencuba.


4 comments:

  1. boleh juga pkai integration tool(data management)
    http://resources.arcgis.com/en/help/main/10.1/index.html#//00170000002s000000

    ReplyDelete
    Replies
    1. integrate kebiasaannya digunakan utk handle feature yg dianggap coincident.. selalunya melibatkan segment line yg sharing vertex coordinate dan bukan melibatkan end vertex feature snapping ke segment line. Dan perbezaan ketara ialah integrate akan ambil average coordinate antara kedua2 feature bermaksud kedua2 feature akan bergerak. Jadi utk gap undershoot yg besar kemungkinan akan timbul isu accuracy data sbb kedua2 feature bergerak

      Delete
  2. Kalau yg overshoot camna plak

    ReplyDelete