Friday, 1 December 2017

Tips : Memapar Simbol Garis Kontur Mengikut Kategori Sela

Untuk baca topik ni, anda kena familiar dengan konsep attribute query dahulu. Kalau tak familiar, saya cadangkan anda baca dulu post saya berkenaan attribute selection atau attribute query di link sini. Untuk yang dah faham berkenaan attribute selection, boleh baca cerita tak berapa seram seterusnya ni..

Cuba perhatikan gambar layer kontur di bawah. Layer kontur ni dipaparkan menggunakan simbol warna yang sama untuk setiap garis kontur. Anda boleh lihat di dalam table kontur tu mengandungi maklumat ketinggian kontur yang disimpan dalam field CLV.


Cuba perhatikan pula gambar layer kontur di bawah ni. Terdapat perbezaan warna simbol mengikut sela kontur. Kontur sela gandaan 100m (100, 200, 300, 400 dll) dipapar guna simbol warna coklat gelap dan lebih tebal berbanding kontur sela 20m yang dipapar guna simbol warna coklat muda.


Perbezaan simbol garis kontur mengikut sela

OK.. kalau anda nak buat simbol kontur mengikut perbezaan sela macam map kat atas ni, macamana caranya? Kalau anda dah baca e-book percuma topik teknik paparan simbol yang ada saya kongsikan sebelum ni, dalam e-book tu saya dah explain beberapa teknik nak simbolkan layer kita. Contoh ada teknik Categories, Quantities, Chart dan lain-lain. Kalau melihat dari contoh atribut dalam table kontur yang saya tunjuk dalam gambar tu, rasanya teknik apa yang sesuai kalau nak simbolkan kontur mengikut perbezaan sela 100m tu?

Sebenarnya takde teknik yang sesuai, sebab atribut dalam table tu tak cukup syarat lagi. Tapi kalau dalam table tu ada satu field yang mewakili satu atribut menunjukkan sela 100m dan satu lagi atribut menunjukkan sela selain 100m, kita boleh gunakan teknik simbol Categories untuk paparkan atribut kategori sela 100m sebagai satu simbol dan atribute kategori sela selain 100m sebagai satu simbol yang lain. Contohnya, kita boleh bina satu field CLASS dalam table tu, kemudian kita setkan semua kontur yang sela 100 sebagai CLASS = MAJOR dan sela selain 100 sebagai CLASS = MINOR seperti gambar di bawah ni.

Kelas kontur mengikut
kategori sela
OK jadi mula-mula kita kena bina field dulu lah dalam table kontur tu. Cara nak bina field senang je, buka je layer tu punya properties dalam Catalog, kemudian taip je nama field baru di ruangan kosong, seperti gambar di bawah ni.

Step terperinci berkenaan dengan membina field dalam table ni ada saya ceritakan dalam buku SukaGIS Jilid2. OK selesai sudah bina field CLASS, sekarang kita nak masukkan pula nilai MAJOR dan MINOR dalam field CLASS tadi.

Tapikan layer kontur ni selalunya kalau kita buka table dia, ada banyak sangat rekod, sebab terlalu banyak garis kontur. Kecualilah kalau project area anda tu keluasan yang kecik, mungkin tak banyak garis kontur. Tapi kalau ada beribu-ribu rekod dalam table kontur, macamana kita nak setkan atribut MAJOR dan MINOR tu? Takkan nak keyin satu-satu kot? Sampai malam tak habis..hehe. Satu cara yang anda boleh buat ialah gunakan teknik Field Calculator untuk calculate nilai sela kontur 100m sebagai MAJOR dan selebihnya sebagai MINOR. Maknanya kena buat attribute query dulu le dalam table tu.

Tapi kan, macamana ye cara nak buat attribute query untuk nilai kontur 100, 200, 300, 400, 500, 600, 700 dan seterusnya tu? Ada ke cara yang mudah? Kalau guna operator OR (CLV = 100 OR CLV = 200 OR CLV = 300 ….. ) jadi berjela-jela le panjang query saya.
              Macamana nak query sela gandaan 100??                   
Lepas saya google2, ada satu forum discussion yang bagi tips macamana nak buat query untuk kes atribut macam ni. Caranya gunakan function MOD semasa query atribut tu. OK saya kongsikan kat sini syntax query tu. Dalam contoh ni, field dalam table saya yang simpan atribut ketinggian kontur tu  field CLV. Jadi untuk query kontur sela 100m, saya taip je syntax ni kat dialog Select by Attributes..

Mod("CLV", 100)=0




Hasil selection query tadi ditunjukkan macam gambar di bawah ni. Nampak tak semua atribut sela kontur gandaan 100m di highlight.

                                      

Next, kita akan setkan semua rekod yang dah select tadi sebagai CLASS = MAJOR. Caranya gunakan kaedah Field Calculator. Follow step berikut :-



Penerangan gambar :-
  1. Right click field CLASS dan pilih Field Calculator
  2. Taip “MAJOR” kat ruangan yang ditunjukkan
  3. Klik OK.

Hasilnya dapatlah seperti gambar di bawah ni.

                             

Selesai untuk part kontur sela 100m. Next macamana pulak nak setkan CLASS = MINOR untuk semua kontur selain sela 100m tu? Cara yang paling mudah, terbalikkan result selection tadi menggunakan butang Switch Selection kat table, seperti step di bawah.


Penerangan gambar :-
  1. Klik butang Switch Selection kat table. Anda kena pastikan masih dalam mod selection CLASS=MAJOR.
  2. Rekod sela kontur selain dari 100m akan di select.

Seterusnya, ulang saja step Field Calculator tadi, tapi kali ni setkan CLASS sebagai MINOR.
Bila complete semua rekod dah ada atribut MAJOR dan MINOR kontur, barulah kita boleh gunakan teknik simbol Categories untuk paparkan setiap kategori sela kontur tu pada simbol yang berbeza.


Kalau nak tahu macamana step nak buat simbol Categories ni, downloadlah e-book yang kongsikan tu ye kat link ni.


Sekian…selamat mencuba.