Friday, 24 May 2013

Generalisasi (Generalization)

Saya sebenarnya baru cuba-cuba tool generalisasi ni dalam ArcGIS dan ingin share sikit. OK..kita start dengan maksud generalisasi dulu. Apabila butiran (feature) di atas peta dari sumber skala besar ke arah skala yang lebih kecil ingin dipersembahkan, proses generalisasi kebiasaannya dilakukan. Contohnya katakan butiran data anda dicapture dari sumber skala 1:5,000, bila maklumat tu nak dipaparkan ke skala 1:25,000, proses generalisasi akan berlaku.  Tujuannya hanyalah supaya maklumat yang ingin ditunjukkan di atas peta tu dapat dipapar dengan jelas sehingga mudah dibaca. Pada skala 5,000, data sungai anda mungkin dalam bentuk poligon tapi bila ditunjuk pada skala 25,000, poligon tu dah di generalize jadi line sahaja. Kalau nak mudah faham, lihat kat gambar bawah ni lah :-

Perbezaan geometri sungai dari polygon kepada polyline
pada skala yang berbeza


Pada skala kecil, perincian butiran dikurangkan

Proses generalisasi sebenarnya adalah satu proses yang kompleks dan agak mencabar kerana pada skala tertentu kita perlu tentukan butiran manakah yang perlu dikekalkan, yang manakah perlu dibuang, yang manakah perlu digabungkan dan yang manakah perlu dipermudahkan dari segi bentuk geometri dan lain-lain. Hubungkaitan antara butiran (spatial relationship) juga perlu dikekalkan untuk mengelakkan kekeliruan semasa mengintrepitasi maklumat di atas peta tu.

Proses generalisasi ni kebiasaannya melibatkan dua fasa iaitu :-
  • Generalisasi Model
  • Generalisasi Kartografi

Generalisasi Model adalah proses untuk menghasilkan data  kepada skala yang spesifik dimana perincian butiran akan dipermudahkan atau dikurangkan mengikut kesesuaian skala yang nak dihasilkan. Dalam kata lain proses ni akan menghasilkan output data yang baru dan disimpan di dalam pangkalan data skala tertentu.

Generalisasi Karto pula dilakukan semasa kita nak design peta untuk cetakan dimana pengubahsuaian simbologi dilakukan sekiranya berlaku konflik pada simbol, contohnya simbol yang terlalu rapat, bertindih, orientasi yang tak betul, perlukan simbol offset dan lain-lain. Pengubahsuaian ini tidak melibatkan pengubahsuaian pada data asal, hanya manipulasi pada simbol sahaja yang dilakukan.

Workflow generalisasi : sumber ArcGIS Desktop Help


Dalam ArcGIS Desktop, tools untuk Generalisasi Model kita boleh access melalui ArcToolbox dalam Cartographic Tools > Generalization



Semasa proses Generalisasi Model, beberapa set arahan (rules) perlu kita tetapkan pada butiran data untuk penghasilan butiran pada skala yang dikehendaki. Contohnya katakan untuk penghasilan data dari skala 1:25,000 kepada 1:50,000, kemungkinan set arahan yang anda telah tetapkan ialah sekiranya jarak antara dua polygon kurang dari 30m dan keluasan polygon tu melebihi 500m² maka polygon tu perlu digabungkan.



Untuk melaksanakan jenis generalisasi seperti ni, saya boleh gunakan tool Aggregate Polygons di dalam toolbox Generalization. Contoh seperti gambar di bawah :-



Penerangan gambar :-
  1. Buka Arctoolbox dan klik Generalization > Aggregate Polygons
  2. Untuk Input Features, pilih data polygon yang nak digabungkan.
  3. Masukkan nama Output Feature Class yang nak dihasilkan.
  4. Letakkan jarak minima antara dua polygon yang nak digabung.
  5. Letakkan keluasan minima polygon yang perlu digabung.
  6. Klik OK. (Setting lain tu semua optional, gunakan ikut kesesuaian)

Hasilnya seperti di bawah ni.



Setelah selesai kesemua data tu digeneralisasikan ke dalam pangkalan data generalisasi, proses merekabentuk peta untuk cetakan akan dilakukan daripada data tersebut. Di peringkat ni, proses Generalisasi Karto perlu anda buat kalau simbol yang dipaparkan dari data ni tidak bersesuaian atau berlaku konflik atapun kalau butiran simbol nampak terlalu kompleks/padat dan perlu dikurangkan.



Terdapat banyak tool yang anda boleh gunakan untuk proses Generalisasi Karto ni, seperti Graphic Conflicts, Annotation, Cartographic Refinement, Grid and Graticules dan Masking Tools. Kesemuanya di dalam toolbox Cartography Tools.



OK, sebelum pergi lebih lanjut tentang Generalisasi Karto ni, cuba perhatikan contoh gambar di bawah. Dari segi realiti keadaan sebenar, selalunya orang buat tapak rumah mesti sejajar sudut menghadap ke jalanraya, betul tak? Macam dalam gambar A tu. Jarang orang bina kedudukan rumah macam dalam gambar B.



Macam tu lah juga bila kita buat peta untuk simbol rumah atau seumpamanya. Perhatikan contoh data point Residential Building saya seperti di bawah ni. Kedudukan orientasi point simbol kotak building tu tidak sejajar dengan jalanraya. Jadi dari sudut kartografi, peta ni tak nampak berapa menarik dan mungkin mengelirukan.



So, sekarang ni saya akan buat proses Generalisasi Karto untuk mengubah orientasi rumah tu supaya sejajar dengan jalanraya. Ini saya boleh lakukan dengan menggunakan tool Resolve Building Conflicts di dalam ArcToolbox. Follow steps seperti di bawah :-



Tapi ada beberapa step kat situ yang saya agak kurang faham, seperti step (6) dan (7). So apa yang saya buat, saya try and error je masukkan nilai yang sesuai sehingga saya dapat result yang saya rasa memuaskan. OK... penerangan sikit tentang steps tu :-

  1. Buka Arctoolbox dan klik Cartography Tools > Graphic Conflicts > Resolve Building Conflicts.
  2. Pilih Input Building Layers
  3. Pilih Field yang menentukan building apa yang hendak dipapar dan building apa yang hendak dihilangkan. Nilai 1 dalam field tu menunjukkan building akan dipapar dan nilai 0 menunjukkan building tak akan dipapar.
  4. Pilih Input Barrier Layers. Dalam contoh ni saya nak supaya simbol building sejajar dengan jalan, jadi Input Barrier Layers saya ialah jalanraya.
  5. Tukar setting Orient kepada TRUE.
  6. Masukkan nilai Building Gap.
  7. Masukkan nilai Minimum Allowable Building Size. (kalau nak penjelasan maksud parameter ni, tekan button Show Help >>).
  8. Klik OK.


Hasilnya jadilah seperti gambar di bawah ni. Cuba perhatikan orientasi simbol building rumah tu, semuanya berubah sejajar mengikut kedudukan jalanraya.


Klik gambar untuk mendapat gambaran maksud lebih jelas



Saturday, 18 May 2013

Analisis Buffer


Kali ini kita akan bincangkan analisis yang agak popular di dalam GIS iaitu analisis Buffer.  Apa fungsi analisis Buffer ni. OK... katakan saya ingin menjana zon kawasan seperti  kes-kes berikut :-

  1. Katakan di dalam garis panduan perancangan pembangunan kawasan bukit, telah disyaratkan projek pembangunan tidak boleh dilaksanakan di dalam zon sekitar 200m dari kaki cerun.
  2. Sebagai pegawai kesihatan, saya ingin mendapatkan senarai rumah di sekitar zon 100m dari lokasi kes wabak denggi.
  3. Di dalam projek penglebaran jalan, lot tanah manakah yang akan terlibat apabila pengambilan tanah sekitar 20m di kiri kanan bahu jalan dilaksanakan.




Jika dilihat dari contoh-contoh tadi, data utama yang ingin dihasilkan ialah polygon zon kawasan mengikut jarak tertentu. Disinilah analisis Buffer boleh digunakan. Buffer akan menghasilkan output data polygon mengikut jarak yang kita tentukan. Data input untuk Buffer pula boleh terdiri samada point, line atau polygon. Seperti contoh di atas, sekiranya lokasi kes denggi di dalam data saya dalam bentuk point, output yang akan dihasilkan ialah polygon sekitar 100m dari point kes tersebut. Untuk kes penglebaran jalan pula, sekiranya data jalan saya dalam polyline, output yang dihasilkan ialah polygon zon 20m di kiri kanan jalan.

Input Buffer boleh terdiri dari point, line atau polygon.
Output yang dihasilkan sentiasa polygon.


Pada kebiasaannya, output dari analisis Buffer ini akan digunakan sebagai input untuk analisis berikutnya. Sebagai contoh, output dari zon buffer 20m dikiri kanan jalan akan digunakan sebagai input untuk analisis Clip bagi mendapatkan lot tanah di dalam zon terlibat.

Output zon Buffer digunakan sebagai input untuk analisis berikutnya.


OK... sekarang macamana nak buat analisis Buffer ni? Dalam ArcGIS, anda boleh run analisis Buffer ni samada melalui menu Geoprocessing dalam ArcMap ataupun di dalam ArcToolbox.



Sekarang katakan saya nak bina zon 20m di kiri kanan jalan bersimbol warna merah seperti di bawah ni ..



Bila anda klik je Buffer, window di bawah akan dipaparkan. Follow step berikut :-



Penerangan gambar :-
  1. Untuk Input Features, masukkan input layer yang ingin anda buffer. Dalam contoh ni saya nak buffer jalan.
  2. Bina output featureclass. Anda boleh pilih samada nak bina zon sebagai layer geodatabase atau shapefile.
  3. Masukkan jarak zon yang anda kehendaki.
  4. Pastikan unit jarak bersesuaian dengan jarak yang telah anda masukkan.
  5. Klik OK.

Hasilnya adalah seperti di bawah :-



Seterusnya anda bolehlah gunakan tool CLIP untuk mendapatkan lot terlibat di dalam zon 20m tu. Sekiranya anda ingin mendapatkan keluasan yang terlibat untuk setiap lot di dalam zon, cara yang paling mudah ialah savekan hasil output analisis CLIP anda sebagai layer geodatabase. Hasilnya seperti di bawah :-

Senarai lot bersama keluasan terlibat di dalam zon.

Untuk Kak Bunga...Selamat mencuba ye... :)