Topik kali ini akan membincangkan
berkenaan Geodatabase Domain. Sebelum kita proceed lebih detail, saya nak tanya
sikit.. ermm pernah tak anda menghadapi masalah data-data atribut yang caca
marba, attribut tak standard, ada atribut yang duplicate dan kadang-kadang ada
kod yang tak valid. Contohnya bila anda buka table data anda, ada maklumat nama-nama
mukim seperti berikut :-
- PEKAN
SUNGAI PENCHALA
- PEKAN
SUNGAI PENCALA
- PEKAN SG
PENCHALA
- Pekan
Sungai Penchala
Kalau lihat contoh nama mukim di atas, ada pelbagai versi nama yang
pengguna masukkan semasa proses data entry walhal semuanya merujuk pada mukim yang
sama. Kalau kita terjemahkan maksud data tu mungkin tiada masalah kerana kita
faham semuanya merujuk pada maksud yang sama, tetapi komputer akan
menterjemahkan setiap satu nama mukim tu pada maksud yang berbeza. Oleh itu,
problem ler nanti kalau anda nak buat proses query pada data anda sebab data
anda tu tak seragam.
Atribut yang tidak konsisten akan menimbulkan masalah bila proses query nak dilakukan |
So macamana nak selesaikan masalah ni. Salah satu penyelesaian mudah
ialah gunakan Geodatabase Domain. Fungsi Geodatabase Domain adalah untuk
memastikan supaya data anda hanya mempunyai set atribut dan kod yang sah semasa
proses data entry dilakukan melalui ArcGIS Desktop. Secara tak langsung ianya
dapat mengelakkan kesalahan kemasukan data dan memastikan data anda tu
standard, seragam dan konsisten.
Geodatabase domain membolehkan kod dan atribut diseragamkan |
Syarat pertama nak buat Geodatabase Domain ni ialah data anda mesti
dalam format geodatabase dulu. Kalau data anda tu dalam shapefile, tak boleh
lah nak buat Geodatabase Domain ni. Kemudian anda kena tentukan apakah kod
untuk setiap atribut yang anda akan letakkan di dalam table anda tu. Nak mudah
faham, lihat pada gambar di bawah ni dulu.
Senarai tu menunjukkan jenis aktiviti untuk kelas gunatanah. Jika
dilihat dari senarai tu, terdapat maklumat keterangan untuk setiap aktiviti dan
juga kod bagi mewakili setiap aktiviti tu. Katakan user buat proses editing
layer gunatanah dan ingin memasukkan maklumat aktiviti gunatanah di dalam
setiap polygon gunatanah. Saya pula ingin mengawal dan seragamkan agar user tu
tak masukkan aktiviti-aktiviti yang tidak berkaitan dan ejaan yang tidak
seragam. Caranya ialah saya akan jadikan senarai aktiviti tadi sebagai
attribute domain di dalam geodatabase. Bagaimana caranya? Mudah saja... rujuk
gambar bawah :-
Penerangan nombor :
- Right click geodatabase mana yang anda nak letakkan domain tu. (data/layer anda pun mesti berada dalam geodatabase tu)
- Pilih Properties.
- Klik tab Domain, kemudian isikan nama Domain.
- Pilih Field Type sebagai Text dan Domain Type sebagai Coded Values.
- Masukkan senarai kod-kod tadi beserta penerangan aktiviti.
OK siap dah attribute domain anda.. tapi macamana nak linkkan domain
tu ke field di dalam table anda. Selagi anda tak linkkan domain tu, kod-kod dan
senarai aktiviti tu tak akan keluar di dalam table anda bila anda nak buat data
entry nanti. Katakan dalam table layer gunatanah saya ada field ACTIVITIES dan
saya ingin linkkan domain tadi kt field tu. Caranya seperti gambar di bawah :-
Penerangan nombor :
- Klik pada field yang nak di linkkan domain tu. Dalam contoh saya ni field ACTIVITIES.
- Klik kat ruangan domain. Domain-domain yang telah anda bina tadi akan disenaraikan. Klik pada domain yang berkaitan.
- Klik OK.
Selesai sudah. So apa berlaku bila anda edit field yang ada link
domain tu nanti dalam ArcMap? Haaa disinilah kelebihan domain. Bila anda nak masukkan
data pada field ACTIVITIES tu nanti, anda tak perlu taip pun attribut. Contoh
katalah saya digitize satu polygon gunatanah mewakili aktiviti Perumahan
Terancang. Saya tak perlupun taip perkataan 'Perumahan Terancang' tu di dalam
table sebab dalam ArcMap nanti senarai atribut tu akan automatik keluar sebagai
senarai pilihan (combo box). Saya hanya perlu klik saja atribut dari senarai
yang dipapar. So kalau tak perlu taip, maknanya takde la kesalahan menaip
atribut... betul tak?
Field yg mengandungi domain membolehkan pengguna klik pada senarai pilihan atribut semasa proses data entry |
Selamat mencuba.
TQ so much.....semoga usaha anda dalam menyebarkan ilmu mendapat manfaat kepada semua..
ReplyDeleteZulkifli
mudah-mudahan...
DeleteBetul....saya baru faham ape fungsi geodatabase domain ni....aritu masa kursus arcGIS...saya x faham sebab terlampau banyak input yg masuk dalam kepala...hehehee..tqqq
ReplyDeletedulu attend kursus katne?
DeleteSalam.
ReplyDeleteEncik, saya nak tanya..
Saya mempunyai masalah di mana luas kawasan yang berbeza.
Maksud saya, saya ada satu layer iaitu layer catchment dan layer kedua saya adalah land use untuk catchment tersebut.
Daripada attribute table utk layer catchment (layer 1), jumlah luas saya berbeza dengan jumlah luas yang didapati daripada layer land use punya attribute table (layer 2). Bezanya sangat banyak.
Adakah ini disebabkan masalah seperti dalam post ini?
Terima kasih.
wsalam..
Deletepost ni cuma menerangkan cara2 utk mengawal dan validate attribute.. keluasan berbeza antara dua layer maybe ada beberapa faktor.. antaranya :-
i) adakah coordinate system kedua2 data tu sama?
ii) Field apa yg digunakan utk pengiraan luas? Adakah unit ukuran sama (meter, hectare etc)
iii) Polygon kedua2 layer adakah betul2 share boundary atau terdapat gap or overlap di sempadan catchment?
Terima kasih di atas cadangan faktor-faktor tersebut.
DeleteI really appreciate your help.
Saya masih baru2 belajar berkenaan gis & arcgis software dan website ini banyak membantu. Terima kasih.
Semoga Allah membalas jasa anda dengan sesuatu yang lebih baik.
Assalam.. harap dapat membantu.. dimana dan bagaimana sy boleh dapatkan peta DEM? utk kajian tesis tentang kegagalan cerun.. terima kasih..
ReplyDeletewsalam.. berapa resolution DEM yang diperlukan??
Deletesy x pasti resolution.. di kawasan cameron highland.
ReplyDeletekalau ada contour bule generate TIN surface
Deletesalam.
ReplyDeletekenapa saya buat 'field type': short integer, dekat field attribute table x keluar domain ye?