Friday 25 January 2013

Isu Keserasian Geodatabase 9.x - 10.x (Geodatabase Compatibility)


Kali ni saya ingin menyentuh isu compatibility di dalam geodatabase. Kadangkala saya ada dengar keluhan dari user yang mengatakan geodatabase yang mereka bina tak boleh dibaca oleh ArcGIS di komputer lain sebab perbezaan version ArcGIS yang digunakan. Contohnya di pejabat anda mungkin ada PC yang guna ArcGIS version 10 dan PC yang lain pula guna ArcGIS version 9. Cuba lihat rajah compatibility kat bawah ni ..



Gambar tu menunjukkan dua geodatabase, masing-masing dibina dari version 9.3 dan 10. Dari gambar tu dapat dirumuskan :-
  • ArcGIS Desktop 9.3 boleh baca geodatabase 9.3
  • ArcGIS Desktop 10 boleh baca kedua-dua geodatabase 9.3 dan juga geodatabase 10.
  • ArcGIS Desktop 9.3 tak boleh baca geodatabase 10


Jadi, kalau anda guna ArcGIS 9.3 dan geodatabase yang anda nak access tu dibina dari ArcGIS 10, memang komputer ArcGIS anda tak boleh baca le geodatabase tu. Kalau nak baca juga, anda terpaksa install ArcGIS 10 ataupun  downgrade geodatabase 10 tu ke version 9.x.

Downgrade geodatabase

Sekarang ni katakan geodatabase anda tu dalam version 10 dan anda nak downgrade ke version 9. Camne caranya? Mudah saja. Mula-mula create dulu geodatabase kosong dalam ArcToolbox sebagai geodatabase version 9.x, kemudian copy paste semua data-data dari geodatabase 10 tadi masuk ke dalam geodatabase 9. Disebabkan anda nak downgrade geodatabase tu dari version 10 ke 9, semua steps ni anda kena buat menggunakan ArcGIS desktop 10. Kenapa tak boleh buat dalam ArcGIS Desktop 9? Sebabnya... Desktop 9 tak boleh baca geodatabase version 10 tu, so macamana nanti anda nak copy paste data dari geodatabase 10 tu? Rujuk gambar di bawah untuk steps create geodatabase version 9.x (klik gambar untuk enlarge)



Penerangan nombor :
  1. Dalam ArcToolbox, click Data Management Tools > Workspace > Create Personal GDB atau Create File GDB
  2. Pilih folder dimana anda hendak bina geodatabase anda
  3. Namakan geodatabase anda
  4. Pilih version geodatabase yang anda nak downgrade. Dlm contoh tu saya nak create geodatabase version 9.3
  5. Klik OK.


OK.. sekarang anda dah pun create satu geodatabase kosong dalam version 9.3. Next, simply pilih saja layer dalam geodatabase 10 tu, lepas tu klik copy dan paste masuk ke dalam geodatabase 9.3.



Selesai sudah. Sekarang bolehlah anda buka geodatabase tu di dalam ArcGIS Desktop 9.3. Mudah je...

Wednesday 9 January 2013

Symbol Rotation : Memapar Arah Ribut Tropika Sonamu


Dua tiga hari ni heboh orang dok cerita tentang ribut Sonamu. Kalau ikut ramalan, ribut ni bergerak ke arah barat menuju Kelantan, Terengganu dan Pahang, tapi tetiba alih arah plak ke Johor dan Sarawak. Apa kaitan ribut ni dengan topik Suka GIS kali ni? OK, katakan saya ada data arah laluan ribut ni dalam point dan saya nak tunjukkan arah tu dalam peta GIS saya. Contoh data saya seperti di bawah ni. Kalau sape yg dah gosok2 mata tu, klik kat gambar tu untuk enlarge.. :):)



Teks label tu menunjukkan bearing arah ribut tu di setiap point. Kalau saya papar data tu menggunakan simbol point dot nampak macam tak menarik plak kan? Rasanya kalau saya tukarkan simbol dot tu ke simbol anak panah tentu lebih menarik dan lebih mudah user nak baca map tu. Sebelum tu, cuba lihat kandungan data saya dalam table di bawah ni.



Dalam table tu ada field DIR mewakili direction iaitu arah ribut di setiap point. Dalam ArcMap, saya boleh papar simbol anak panah mengikut maklumat arah sudut dari field DIR tu. Macamana caranya? Follow step berikut.

Buka dulu Layer Properties untuk data point tadi. Anda akan dapat window Layer Properties macam gambar bawah ni.



Penerangan nombor :
  1. Klik tab Symbology
  2. Klik button simbol point
  3. Pilih simbol 'Cutting Plane Arrow' (Simbol ni   dalam galeri Style Reference Dimension..so kalau tak jumpa simbol ni dalam list, load dulu style Dimension)
  4. Klik OK.
  5. Paparan data akan jadi seperti bawah ni.




Hmmmmm macam ada sesuatu tak kena plak. Awat semua arrow tuju ke bawah je? Hehe sebabnya anda tak set lagi direction arrow tu mengikut arah dari field DIR tadi. OK kita modify sikit lagi setting. Buka balik Layer Properties, lepas tu buat macam step kat bawah ni.



Penerangan nombor :
  1. Klik button Advanced dan pilih Rotation...
  2. Pilih field DIR
  3. Pastikan Rotation Style sebagai Geographic.
  4. Klik OK.


Paparan data anda akan jadi seperti di bawah ni.



OOppppss...wait seminit. Perhati betul-betul peta tu. Arah ribut sepatutnya menghala ke arah barat. Apesal arrow tu menunjuk ke arah timur? Macam terbalik plak bearing tu. Haa ada sikit lagi setting anda kena buat. Buka balik window Symbol Selector sebab anda kena tukarkan setting angle simbol anak panah tu supaya menunjuk ke arah utara. Rujuk gambar bawah ni.

Ubah nilai Angle untuk mengubah arah simbol arrow


Default simbol untuk 'Cutting Plane Arrow' ialah arrow menunjuk arah bawah (Selatan). So kita kena tukarkan supaya tunjuk arah utara sebab calculation bearing kita start dari arah utara. Caranya taip aje kat ruangan Angle tu dari 0 kepada 180. Bila dah tukar angle tu sepatutnya peta anda akan jadi seperti di bawah ni.



Haaa baru la logik. Teknik ni anda boleh gunakan untuk data-data lain, contohnya arah arus laut. OK...selamat mencuba.

Saturday 5 January 2013

Tips : Download ArcGIS Online Basemap


Kali ni saya ingin berkongsi satu tip bagaimana nak jadikan ArcGIS Online Basemap sebagai ArcGIS Offline Basemap..:):). Untuk yang dah guna ArcGIS Desktop 10.x rasanya tentu anda dah tahu dalam ArcMap kita boleh gunakan button Add Basemap untuk gabungkan online basemap dengan data-data kita.

Contoh galeri online basemap

Data jalan putrajaya overlay dengan
Bing Maps Aerial basemap


Online basemap ni amat berguna sekiranya kita tak mempunyai data yang mencukupi tapi ingin membina map yang cantik dan pantas. Contohnya katalah anda hanya ada data lokasi sampel dan sempadan negeri. Kalau anda bina map hanya berdasarkan dua data tu, tentu map anda nampak kosong. So, kalau kita combine dengan data-data dari online basemap ni, nampaklah map kita tu penuh dan cantik sikit, takdelah nampak kosong je. Contohnya macam gambar kat bawah ni. Map mana yang lebih menarik?

Map mana lebih menarik??


Tetapi untuk access data online basemap ni, kita perlukan talian internet dulu. Kalau kelajuan network  kat tempat anda tu slow, hmmmm merangkak juga nak draw data dari online basemap ni. Katakan anda hadapi situasi macam ni. Mungkin anda nak present projek anda di tempat yang tiada capaian internet, tapi pada masa sama anda nak paparkan data-data dari online basemap ni. Haaa... macamana nak buat tu? Satu lagi senario, mungkin anda nak gunakan data dari online basemap ni untuk paparkan dalam view 3D menggunakan ArcScene. Kalau nak buat tu, ada line internet pun tak boleh buat sebab button Add Basemap ada kat ArcMap je.. kat ArcScene takde.

Satu cara mudah yang boleh anda buat ialah download data online basemap tu ke dalam komputer anda menggunakan command Export Map. Bila anda download, pilih option save sebagai JPG, PNG, BMP, TIFF atau GIF supaya anda boleh download sekali maklumat georeferencing bersama imej tadi.

Macam ni caranya. Lihat imej di bawah ni. Imej tu menunjukkan kawasan Genting Highland yang saya paparkan dari Bing Maps Aerial online basemap. Katakan saya ada data DEM Genting Highland dan saya nak paparkan imej tu dalam 3D ArcScene di atas data DEM saya.

Bing Maps Aerial basemap area Genting Highland


Caranya saya export saja map yang saya paparkan dalam ArcMap tu dengan cara macam di bawah ni.



Penerangan nombor :
  1. Klik menu File > Export Map...
  2. Pilih format imej samada JPG, PNG, BMP, TIFF atau GIF
  3. Namakan output imej
  4. Masukkan resolution yang sesuai.
  5. Jangan lupa check option Write World File supaya maklumat georefencing di save bersama imej tu. Kalau tak nanti imej anda tu takda sistem koordinat dan tak boleh di overlay dengan data lain.
  6. Klik Save.


Selesai sudah. Sekarang ni bolehlah anda paparkan imej tu bersama-sama data anda yang lain walaupun anda tiada talian internet. Caranya add saja macam biasa imej yang dah save tadi menggunakan button Add Data dalam ArcMap. Kalau anda nak view dalam 3d ArcScene pun, just add saja imej tu dalam ArcScene dan setkan Base Height mengikut data DEM anda. Macam contoh di bawah ni, saya view imej Genting Highland tadi dalam ArcScene bersama data DEM saya.

Bing Maps Aerial basemap area Genting Highland yang telah
di download dipapar dalam 3D ArcScene

Selamat mencuba.

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.