Friday, 4 January 2013

Analisis DISSOLVE


Topik kali ni agak ringkas. Saya akan menerangkan satu analisis yang agak kerap digunakan dalam GIS iaitu DISSOLVE.  Arahan DISSOLVE ni selalu digunakan untuk menghasilkan data baru dengan cara menggabungkan feature bersebelahan sekiranya mengandungi set attribut yang sama. Ermm faham tak apa yg saya cuba nak huraikan tu? Simple sahaja konsepnya. Cuba lihat pada gambar kat bawah ni.



Itulah konsep dissolve. Kalau kita lihat dalam gambar tu, asalnya ada 4 polygon : 2 polygon attribut kod A dan 2 lagi polygon attribut kod B. Selepas saya run arahan DISSOLVE, hasilnya saya dapat layer yang baru mengandungi 2 polygon, masing-masing atribut kod A dan B. Asal 2 polygon atribut kod A tu digabungkan menjadi 1 polygon kod A kerana ia polygon bersebelahan dan kodnya pula sama (A). Ermmm dalam kes macamana sesuai nak guna dissolve ni? OK cuba lihat pula gambar bawah ni. (kalau tak clear, klik pada gambar untuk enlarge).



Contoh dalam gambar tu menunjukkan data sempadan mukim Negeri Sembilan. Bila saya open table mukim tu, saya dapati ada field MUKIM dan field DISTRICT. Bila saya labelkan mukim tu menggunakan field MUKIM, peta yang dipaparkan adalah seperti gambar (A). Kalau saya labelkan mukim tu guna field DISTRICT pula, dapat peta macam gambar (B). OK cuba perhatikan betul-betul peta (B) tu. Sama tak gambarannya macam konsep dissolve yang saya terangkan dalam gambar sebelum ni.  Agak-agak kalau saya run command DISSOLVE menggunakan atribut DISTRICT, data apa yang saya akan dapat?



Tentulah saya akan dapat layer sempadan daerah, betul tak? Sebabnya? Sebab polygon atribut sama akan digabungkan. Dalam kes ni, mukim dalam daerah yang sama akan digabungkan menjadi satu polygon daerah. So macamana nak run DISSOLVE ni? Ada dua cara. Kalau guna ArcGIS 10.x, boleh klik menu Geoprocessing > Dissolve dalam ArcMap. Satu lagi boleh access melalui ArcToolbox melalui tool Data Management Tools > Generalization > Dissolve.


Kemudian dialog Dissolve akan dipaparkan seperti gambar bawah ni.



Penerangan nombor :
  1. Pilih layer yang nak dissolve tu. Dalam kes ni Mukim
  2. Letak nama output layer.
  3. Pilih Dissolve Field. Dalam kes ni field DISTRICT yang mewakili nama daerah.
  4. Klik OK.


Hasilnya adalah layer sempadan daerah. Sekiranya anda mempunyai atribut nama negeri, layer sempadan negeri juga boleh dihasilkan menggunakan konsep yang sama seperti di atas.



Selamat mencuba...

Tuesday, 1 January 2013

Selamat Tahun Baru 2013



Salam semua...

SukaGIS ingin mengucapkan Selamat Tahun Baru 2013. Pejam celik pejam celik dah 8 bulan usia blog SukaGIS ni. Baru 8 bulan je.. muda lagi tu, org pregnant pun 9 bulan..hehe. Tapi walaupun baru usia 8 bulan, jumlah pelawat dah mencapai 10,539 setakat ni. TQ semua yang sudi melawat blog ni. Semoga blog ni terus dapat membantu dan dijadikan sumber rujukan disamping perkongsian ilmu.

Terima kasih.

Geodatabase Domain


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 :
  1. Right click geodatabase mana yang anda nak letakkan domain tu. (data/layer anda pun mesti berada dalam geodatabase tu)
  2. Pilih Properties.
  3. Klik tab Domain, kemudian isikan nama Domain.
  4. Pilih Field Type sebagai Text dan Domain Type sebagai Coded Values.
  5. 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 :
  1. Klik pada field yang nak di linkkan domain tu. Dalam contoh saya ni field ACTIVITIES.
  2. Klik kat ruangan domain. Domain-domain yang telah anda bina tadi akan disenaraikan. Klik pada domain yang berkaitan.
  3. 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.

Wednesday, 19 December 2012

Kursus GIS UiTM - ArcGIS 3D/Spatial Analyst


Baru-baru ni saya mengendalikan satu lagi kursus ArcGIS 3D/Spatial Analyst. Peserta kali ni dari Fakulti Kejuruteraan Awam UiTM Shah Alam. Kali ni kelas saya unik sikit sebab dijalankan hari Jumaat dan juga hari cuti Sabtu dan Ahad. Waahhh terlebih rajin diaorang ni.. tapi tu je masa yang diaorang ada.. tahniah. Peserta pun tak ramai, 3 orang je..2 student PhD dan sorang student Master. Student PhD sorang tu dari Iraq. Mulanya saya ngajar mengikut silibus, tapi kemudiannya saya decide better saya fokus pada apa research yang peserta sedang lakukan dan bagaimana untuk membantu mereka mendapatkan result research tersebut. So kadangkala topik-topik yang dibincang agak terkeluar dari silibus.. tapi tu semua tak penting, bak kata boss mereka.. "Banyak mana yang kita belajar itu tidak penting, tetapi banyak mana yg kita fahami dari apa di pelajari  itulah yg penting"..  :) :)



Lokasi kejadian






Dapat assignment..


Menung sat fikir camne nak solve..




Posing bersama bos - Dr Akram dan peserta2..


Thursday, 6 December 2012

Kursus GIS - Designing Geodatabase Data Model

Lama dah rasa tak update blog ni. Bz skit sekarang ni. Last week outstation ke Sabah, minggu ni pula saya conduct kursus ArcGIS Data Model di Pusat Infrastruktur Data Geospatial (MaCGDI). Untuk anda yang tak tahu apa MaCGDI ni, bolehlah lawat link di sini atau Like page FB di sini. Apa kebende ArcGIS Data Model ni? Secara umumnya fungsi data model ni ialah sebagai satu template database untuk memudahkan kita melaksanakan projek GIS samada untuk tujuan analisis ataupun pembangunan sistem aplikasi. Berlainan agensi mungkin akan menggunakan data yang sama tapi untuk tujuan yang berbeza mengikut keperluan agensi masing-masing. So data model sepatutnya direkabentuk mengikut keperluan spesifik pengguna yang akan menggunapakai data-data tu.

Untuk MaCGDI pula yang bertanggungjawab menyelaras perkongsian maklumat geospatial antara agensi kerajaan, swasta dan awam, agak mustahil untuk design satu data model yang boleh fit keperluan spesifik utk setiap agensi kerana keperluan yang berbeza antara setiap agensi. Contohnya JPS mungkin menggunakan layer sungai untuk tujuan pengurusan sungai manakala Jab Alam Sekitar pula kemungkinan menggunakan layer sungai untuk memantau kualiti sungai dan aktiviti persekitaran yang menyumbang tahap pencemaran kualiti sungai.

Oleh itu dalam kursus ni pendekatan yang digunakan ialah lebih pada data driven design model, maksudnya kita cuba design satu template data model yang mengandungi layer-layer dan  atribut-atribut asas yang memenuhi standard MS1759. Dalam kursus ni peserta diterangkan bagaimana hendak membina conceptual diagram UML yang menerangkan struktur data model yang dibangunkan. 



Peserta juga diterangkan bagaimana konsep subtype dan domain di dalam geodatabase boleh dikaitkan dengan feature code dan attribute code di dalam MS1759. Hopefully kursus ni memberi manfaat kepada peserta yang hadir.











Saturday, 17 November 2012

Editing Locks - Personal, File dan ArcSDE Geodatabase


Jika topik sebelum ni saya sentuh tentang perbandingan kapasiti data dalam Personal, File dan ArcSDE Geodatabase, topik kali ni saya akan sentuh tentang perbezaan editing pula untuk ketiga-tiga geodatabase tu. Sekiranya tugasan anda melibatkan penyuntingan data-data di dalam geodatabase, anda perlu tahu serba sedikit asas dan perbezaan editing sekiranya data anda disimpan samada dalam personal, file atau sde geodatabase. Fokus perbincangan saya lebih tertumpu kepada konsep editing locks di dalam ketiga-tiga geodatabase tadi.

Apakah maksud editing locks ni? Maksudnya bila anda tengah edit data dalam geodatabase, database tu telah dikunci oleh anda, pengguna lain tak boleh edit dah dalam masa yang sama sehinggalah anda selesai proses edit. Bila selesai sahaja anda buat proses edit pada data tu, barulah pengguna lain boleh edit pula data yang dia kehendaki di dalam geodatabase tu. Begitulah maksudnya lebih kurang.  So... ada sedikit perbezaan dari segi editing locks ni..bergantung pada jenis geodatabase yang anda pakai, samada personal, file atau arcsde geodatabase.

Editing Locks - Personal Geodatabase

Editing di dalam personal geodatabase menggunakan konsep single user editing dan multiple readers, bermaksud, dalam satu masa, hanya sorang saja dibenarkan edit data-data di dalam geodatabase tu.. walaubagaimanapun pada masa yang sama, pengguna lain still boleh access data di dalam geodatabase tu, dengan syarat pengguna-pengguna lain tu tak buat proses edit, hanya untuk view sahaja. Dalam kata lain, bila anda dalam proses edit, acces anda pada geodatabase tu sebagai Read, Write, pengguna lain hanya Read Only sahaja. Perhatikan senario edit seperti gambar di bawah :-

Edit locks berlaku pada keseluruhan data di dalam
personal geodatabase

Apabila user1 mulakan proses edit data sungai, keseluruhan geodatabase tu akan di kunci. Sekiranya user2 nak edit data-data yang lain, operasi tu tak akan dibenarkan kerana editing locks telah berlaku pada keseluruhan data di dalam geodatabase tadi.

Editing Locks - File Geodatabase

Untuk file geodatabase pula, ada beza sikit. Proses editing locks tidak berlaku pada keseluruhan geodatabase, sebaliknya hanya berlaku pada dataset yang terlibat dalam proses edit sahaja. Sebagai contoh, macam kes tadi, user1 buat proses edit untuk data sungai.. jadi hanya data sungai saja yang dikunci kepada pengguna lain. Pengguna user2 still boleh edit data-data lain seperti daerah, gunatanah, kampung dan kontur di dalam geodatabase tu.

Editing locks hanya berlaku diperingkat dataset level
di dalam File Geodatabase

Editing Locks - ArcSDE Geodatabase

Untuk ArcSDE Geodatabase special sikit.. takde editing locks. Sebabnya arcsde geodatabase support kaedah multi-user editing. Kelebihan multi-user editing ni lah yang membezakan ArcSDE geodatabase dari geodatabase yang lain. Maksud multi-user editing ni ialah lebih dari seorang pengguna boleh edit geodatabase yang sama, dataset yang sama bahkan feature yang sama (point, line, polygon) secara serentak. Wahhh.. camne tu?? tak jadi kacau bilau huru hara ke data nanti kalau semua orang boleh edit serentak? Edit feature yang sama pulak tu?

Multi-user editing : lebih dari sorang pengguna boleh
edit serentak di dalam ArcSDE Geodatabase

Cuba perhatikan contoh senario edit di bawah. Dalam contoh tu, user1 dan user2 edit polygon lot yang sama. user1 reshape lot manakala user2 cut polygon lot. Kedua-dua user ni edit di dalam operasi edit session yang sama.

Cth multi-user editing : Edit feature yang sama

Dalam senario editing ni, apabila percanggahan edit berlaku pada feature yang sama, ia dinamakan conflict. Apabila salah seorang pengguna save edit, ArcSDE akan mengesan percanggahan edit ini dan dialog Conflict akan dipaparkan.

Dialog conflict dipapar sekiranya ada
percanggahan edit


Bila berlaku kes seperti ni, anda perlu tentukan samada ingin mengambil edit dari user1, user2 atau kembali kepada feature yang asal sebelum di edit. OK, begitulah serba sedikit berkenaan editing locks di dalam geodatabase. 

Secara ringkasnya :-
- Editing locks berlaku pada keseluruhan data di dalam Personal Geodatabase
- Editing locks hanya berlaku di peringkat dataset level sahaja di dalam File Geodatabase
- Tiada istilah editing locks di dalam ArcSDE Geodatabase

Wednesday, 31 October 2012

Perbandingan Kapasiti Data Dalam Personal, File dan ArcSDE Geodatabase


Topik kali ni ringkas sahaja. Sekiranya anda ditugaskan untuk membangunkan GIS data di dalam geodatabase, topik kali ini mungkin dapat membantu anda untuk membuat keputusan jenis geodatabase manakah yang sesuai anda gunakan. Jika anda masih baru dalam konsep geodatabase dan ingin sedikit maklumat asas tentang geodatabase ni, bolehlah rujuk kat post saya sebelum ini topik Pengenalan geodatabase di link sini.

Untuk yang dah tahu konsep asas geodatabase tu, anda tentu tahu kan geodatabase ni ada 3 jenis : Personal Geodatabase, File Geodatabase dan ArcSDE Geodatabase. Rujuk pada gambar di bawah ni.



Di dalam post saya sebelum ini topik Pengenalan Geodatabase, saya ada ceritakan secara ringkas tentang Storage Capacity di dalam gambar tu. Dalam topik kali ni, saya akan ceritakan lebih terperinci lagi tentang Storage Capacity tu.

Jika anda lihat gambar atas tu, Storage Capacity untuk Personal geodatabase ialah 2Gb, File GDB 1 TB per table dan ArcSDE GDB tu depend pada ArcSDE GDB Edition. OK.. maybe ada yang tak clear maksudnya tu..  saya akan explain satu persatu.

Storage Capacity : Personal GDB : 2GB

Untuk Personal GDB, saiz keseluruhan data dalam satu geodatabase tu maksimum sampai 2GB sahaja.

Personal GDB, maksimum saiz sata database = 2Gb

So, kalau data anda tu saiz besar sangat camne? Terpaksalah pecah-pecahkan data tu ke banyak GDB.. kalau korang still decide nak guna Personal GDB ler. Tapi cara ni macam tak berapa praktikal.

Create lebih dari 1 personal GDB kalau data anda lebih dari 2Gb

Storage Capacity : File GDB : 1 TB per table

Kalau data anda lebih dari 2GB, cara yang lebih praktikal ialah upgrade saja ke File Geodatabase. So..apakah maksud 1 TB per table?? Maknanya setiap dataset dalam geodatabase boleh pergi maksimum sampai 1 Terabyte setiap satu. Wowww... besar tu!!

File GDB : setiap satu dataset boleh capai 1TB

Storage Capacity : ArcSDE GDB : ArcSDE GDB Edition

Untuk ArcSDE GDB, saiz kapasiti data bergantung pada jenis ArcSDE GDB Edition yang digunakan. Terdapat tiga jenis edition iaitu :-
  1. ArcSDE for ArcGIS Desktop
  2. ArcSDE for ArcGIS Server Workgroup
  3. ArcSDE for ArcGIS Server Enterprise

Rujuk ruangan Database limits kat gambar bawah ni untuk saiz kapasiti data setiap edition.



Kalau anda lihat kat ruangan Database limits tu, kalau anda gunakan Enterprise Edition, memang takda had dari segi saiz data dan RAM. Had saiz data anda bergantung pada berapa banyak saiz harddisk yang ada kat server anda. Untuk Desktop dan Workgroup Edition.. had maksimum saiz data anda 4Gb saja.. dan ada had RAM untuk single cpu. Maknanya kalau server anda ada sampai berbelas Gb RAM pun, ArcSDE hanya utilize 1Gb RAM je kat server tu.