Kali ni saya akan share dengan u all satu topik yang agak
menarik dan mungkin amat berguna untuk digunakan dalam kerja seharian anda.
Senario
"Siapa yang digit lot ni ye? Jalan ni bila masa dikemaskini ye?" Hmmmm... Sekiranya anda menguruskan
transaksi data yang besar, contohnya lot gunatanah atau road network kawasan
bandar, pernahkah timbul persoalan time bilakah sesuatu lot atau jalanraya tu
diupdate, dan sekiranya ramai editor
yang terlibat dalam proses pengemaskinian, siapakah yang update sesuatu lot
atau jalanraya tersebut??
Bagaimana anda nak track atau log proses editing yang berlaku di dalam data anda tu? Jawapannya ialah dengan
menggunakan editor tracking di dalam geodatabase. Bila anda enable saja editor
tracking pada data anda di dalam geodatabase ni, setiap perubahan edit yang
berlaku pada data tu akan di log dan direkodkan di dalam field yang anda
tentukan. Maklumat yang direkodkan melibatkan siapa yang edit dan bilakah
tarikh dan masa proses edit itu berlaku. Contoh seperti gambar di bawah ni,
setiap lot tu saya boleh tahu siapa yang edit dan bilakah tarikh dan masa
diedit.
So macamana nak enable editor
tracking ni dalam data anda? Mudah je, sesimple right click atau boleh guna
juga tool di dalam Arctoolbox.
Enable Editor Tracking - Cara 1
Ni cara yang paling simple.
Lakukan seperti step di bawah :-
Penerangan gambar :-
- Dalam ArcCatalog atau Catalog window, right click pada data dan pilih Manage
- Pilih Enable Editor Tracking...
- Dialog akan dipaparkan menyatakan 4 field akan dibina di dalam data anda iaitu created_user, created_date, last_edited_user dan last_edited_date. Klik Yes.
- Dialog pengesahan akan dipaparkan menyatakan editor tracking telah berjaya diset di dalam data anda. Klik OK.
Apabila anda buka properties pada
data anda tadi, anda akan melihat ruangan tab Editor Tracking seperti di bawah:-
Step ni ada limitation sikit,
seperti yang anda lihat, 4 field default yang dibina akan dinamakan sebagai created_user,
created_date, last_edited_user dan last_edited_date.
created_user : siapa user yang
mula-mula create feature
created_date : bila tarikh dan
masa feature tu mula dicreate
last_edited_user : siapa user
yang terakhir kemaskini feature
last_edited_date : bila tarikh
dan masa terakhir feature tu dikemaskini
Kalau anda gunakan step ni, anda
tak boleh ubah nama-nama field tu... dan step ni juga akan rekod tarikh dan
masa dalam format UTC (Coordinated Universal Time). Sekiranya lokasi
kerja-kerja editing anda hanya melibatkan time zone yang sama, contohnya anda
kerja kat Malaysia je, takde nak replicate data ke oversea, ataupun data anda
tidak dipublish sebagai feature service di dalam ArcGIS for Server, better anda
guna Database Time Zone saja sebab format UTC ni kadang-kadang agak
mengelirukan.
Enable Editor Tracking - Cara 2
Cara ni agak lebih fleksible.
Anda boleh tentukan nama field anda sendiri dan boleh pilih samada nak guna
format tarikh/masa dalam UTC atau Database Time. Caranya seperti di bawah :-
Penerangan gambar :-
- Dalam Arctoolbox, klik Data Management Tools > Fields > Enable Editor Tracking
- Pilih data yang anda nak set editor tracking.. mesti data geodatabase tau... shapefile cannot.
- Taip nama field untuk simpan user yang mula-mula create feature.
- Taip nama field untuk simpan tarikh/masa
- Taip nama field untuk simpan user yang terakhir kemaskini
- Taip nama field untuk simpan tarikh/masa terakhir kemaskini
- Klik checkbox Add fields if they don't exist (optional)
- Pilih DATABASE_TIME
- Klik OK
Di dalam contoh di atas, saya
telah create 4 custom field untuk editor tracking iaitu Pengguna_Bina (macam lawak la plak nama field ni bila translate),
Tarikh_Bina, Pengguna_Kemaskini dan Tarikh_Kemaskini manakala format
tarikh/masa pula saya gunakan database_time.
Penggunaan Editor Tracking
Cuba lihat contoh data lot di
bawah. Setiap lot yang saya klik menggunakan tool Identify akan memaparkan
maklumat pengguna dan tarikh dikemaskini.
Sekiranya anda menggunakan
personal atau file geodatabase, nama pengguna tu akan direkod mengikut Windows
Login Name. Untuk ArcSDE Geodatabase pula, anda boleh pilih samada menggunakan
Windows Login ataupun database login.
Sekarang lihat pula perubahan
yang berlaku pada attribut apabila saya kemaskini lot terbabit. Contohnya saya
pecah lot kepada dua bahagian. Perhatikan perbezaan attribut diruangan field
Tarikh_Bina dan Tarikh_Kemaskini seperti di bawah ni :-
Maklumat di atas menunjukkan lot
terlibat didigit bertarikh 16/9/2014 dan proses edit pecah lot berlaku pada
tarikh 22/10/2014. Menarik kan? Maknanya saya boleh tahu bila tarikh dan masa
proses edit berlaku dalam setiap lot dan siapa yang edit lot tu. Tapi perlu
diingat, tracking editor hanya boleh track tarikh/masa TERAKHIR edit setiap
feature dan bukannya track setiap tarikh berlaku perubahan edit dalam feature
yang sama. Contohnya jika saya cantum kembali lot tu pada tarikh 23/10/2014,
maklumat yang direkod pada Tarikh_Kemaskini hanya maklumat tarikh cantum, jadi
saya tidak tahu history lot tu sebenarnya pernah berlaku proses pecah lot pada
22/10/2014. Sekiranya keperluan anda untuk track every changes yang berlaku
dalam proses edit, mungkin kena guna teknologi Versioning dalam ArcSDE
Geodatabase sebab Versioning boleh handle historical data.
Satu lagi yang menarik bila data
anda ada maklumat tarikh/masa dalam setiap feature ni, of coz anda boleh buat
query based on tarikh/masa. Contohnya saya nak kenalpasti lot yang dikemaskini
selepas bulan September 2014.. jadi saya buat je query seperti di bawah :-
Try ler....
Thanks sharing
ReplyDeleteno problem...
Deletetak menjadi pulak..sy guna 10.1..field ada tapi semua kosong
ReplyDeletepelik juga tu... patut 10.1 mmg support editor tracking. tuan dah try start edit, digit feature baru dan tgk hasil dlm field?
Deleteada..tapi tarikh baru..
Deletelagi satu step 1 tu macam kena buat step 2 dulu.
data sebelum ni selalu simpan dlm shapefile..nampaknya kena mula simpan dlm gdb la..
Deleteoowhh.. mmg bila kita enable editor tracking dia hanya ambil kira date & time masa kita enable tu.. maksudnya data sedia ada yg dah masuk sebelum ni tak diambil kira date. Dia hanya effect utk feature baru yg kita digit atau masukkan selepas tu.
Delete