Tuesday, 14 March 2017

ArcGIS dan Unjuran RSO

Anda tentu maklum kan kat Malaysia ni, banyak agensi-agensi maintain data mereka dalam unjuran RSO terutama data topo  skala 25,000 - 50,000. RSO ni singkatan dari Rectified Skew Orthomorphic  atau Unjuran Serong Ditepati. Di bawah ni contoh parameter unjuran RSO untuk Semenanjung yang diberi oleh JUPEM, dipanggil juga sebagai Kertau RSO, sebab menggunakan rujukan Datum Kertau.



Tapi anda perasan tak, bila anda buka list Projected Coordinate System dalam ArcGIS, ada banyak list unjuran RSO yang dipaparkan. Senarai unjuran RSO ni anda boleh lihat melalui Feature Class Properties dalam ArcCatalog atau ArcMap Catalog Window  (kalau anda nak define sistem koordinat untuk sesuatu layer) dan juga melalui Data Frame Properties (untuk set sistem koordinat pada Data Frame ArcMap). Lihat seperti contoh di bawah :-




Penerangan gambar :-
  1. Kalau anda nak define sistem koordinat untuk layer, right click layer yang nak define dan pilih Properties. Kalau nak set sistem koordinat untuk Data Frame ArcMap plak, right click dalam map dan pilih Data Frame Properties…
  2. Klik tab XY Coordinat dan pilih folder Projected Coordinate Systems
  3. Pilih folder National Grids
  4. Pilih folder Malaysia and Singapore
  5. Lihat senarai unjuran RSO yang dipaparkan.

Tapi anda perasan tak, dalam list tu ada banyak benor senarai Kertau RSO yang dipaparkan. So, katakan kalau anda nak define RSO untuk data Semenanjung, yang mana satu idaman kalbu yang anda kena pilih?



Pertama sekali, yang anda perlu tahu, unjuran RSO menggunakan sistem koordinat dalam unit Meter. So dari senarai kat atas tu, unit Chains anda dah boleh lupakan, dah terkeluar dari senarai. So tinggal dua, Kertau (RSO) RSO Malaya (Meters) dan Kertau RSO Malaya (Meters). Yang mana satu yang betul antara dua ni? Masa saya mengajar baru-baru ni, student saya ada buat lawak, dia kata Kertau (RSO) RSO Malaya (Meters) tu untuk orang sebut gagap kot? Haha.. ke sebab programmer software ni melatah tertaip dua kali RSO. Entahlah… tapi based pada parameter RSO yang saya tunjukkan di awal-awal post tadi, parameter yang betul adalah pada nama Kertau RSO Malaya (Meters).  Yang gagap dua kali RSO tu parameter dia tak sama dengan parameter yang JUPEM berikan. Kalau tak silap, Kertau (RSO) RSO Malaya (Meters) tu berasaskan projection Hotine Oblique Mercator.

Parameter kertau RSO Malaya (Meters) dalam ArcGIS


Jadi lepas ni, kalau anda nak define unjuran RSO untuk data area Semenanjung, pilih Kertau RSO Malaya (Meters) dalam senarai. Jangan pilih RSO gagap tu ye… :)


Saturday, 4 March 2017

Geoprocessing Overlay Analysis

Kali ni kita citer bab analisis sikit. Antara analisis yang popular dalam GIS ni ialah analisis geoprocessing Overlay. Rasanya semua orang faham maksud overlay kan? Bila layer-layer GIS kita tindihkan macam kuih lapis tu, tu ler maksud umum GIS overlay. Tapi dalam analisis overlay, kita bukan hanya takat tindihkan or lapiskan layer dalam satu paparan peta, tapi maklumat kesemua layer yang kita tindihkan tu akan digabungkan masuk ke dalam satu layer yang baru.

Contohnya, kalau saya overlay layer sungai yang ada nama sungai dan layer mukim yang ada nama mukim, resultnya saya akan dapat layer sungai yang ada nama sungai dan nama mukim. Lihat gambaran data di bawah. Saya ada 1 layer soil yang ada maklumat siri tanah (soil series) dan 1 layer gunatanah yang ada maklumat gunatanah pertanian.

Dua layer berasingan dan dua maklumat berasingan


Bila saya buat analisis Overlay untuk kedua-dua layer ni, saya akan dapat satu layer baru yang akan mengandungi maklumat gunatanah pertanian di dalam setiap siri tanah.

Analisis Overlay akan menggabungkan maklumat


Apa kelebihannya kalau kita ada gabungan beberapa maklumat ni? Haaa… kelebihannya banyak, antaranya kalau kita buat analisis Query, kita boleh query pelbagai gabungan maklumat. Contohnya saya boleh buat beberapa query berikut :-

  • Tunjukkan di mana lokasi Soil Series = “Serdang-Kedah” tetapi gunatanah pertanian adalah “Getah”.
  • Berapakah keluasan gunatanah pertanian “Kelapa Sawit” yang terletak di dalam Soil Series “Steepland”.


OK nampak tak kelebihan analisis geoprocessing Overlay tu? Sekarang kita citer plak apa kaedah yang kita boleh guna untuk buat overlay ni. Kebiasaanya bila nak buat analisis Overlay ni, kita akan guna dua kaedah; Intersect dan Union. Dua-dua kaedah ni akan gabungkan maklumat semua layer yang kita overlay, tapi perbezaannya ialah extent output yang akan dihasilkan. Nak senang faham, lihat gambaran berikut untuk hasil Intersect.

Hasil extent Intersect


Intersect akan hasilkan extent output kesemua layer yang overlap sahaja. Area yang tidak overlap akan dibuang. Input layer yang boleh ditindihkan ialah layer point, line dan polygon.

Gambar bawah ni pula hasil extent data untuk kaedah Union. Cuba lihat extent data yang dihasilkan.

Hasil extent Union


Union akan mengambilkira kesemua extent input layer yang anda tindihkan. Layer yang anda boleh overlay pula cuma polygon sahaja.

Jadi, nak decide samada nak guna Intersect atau Union bergantung pada macamana output extent yang anda nak create dan jugak apa geometri layer yang anda overlay, point, line or polygon. OK, dah clear sekarang kaedah Intersect dan Union??

Sekarang saya akan buat buat geoprocessing Overlay untuk dua data saya tadi, Soil dan Landuse. Oleh sebab kedua-dua data ni extent dia sama, jadi tak kisah lah saya nak guna Intersect atau Union. Dalam contoh ni, saya akan tunjukkan guna Union. Anda boleh pilih samada nak guna style menu atau toolbox untuk run Union ni. Kalau nak guna style menu, klik je kat menu ArcMap Geoprocessing > Union. Kalau nak guna toolbox plak, klik kat Arctoolbox Analysis Tools > Overlay > Union.



Bila dah kluar dialog Union tu, buat step seperti di bawah ni..



Penerangan gambar :
  1. Masukkan layer-layer yang anda nak overlay dalam Input Features.
  2. Namakan output layer.
  3. Parameter-parameter lain tu optional, boleh abaikan. Klik OK.


Setelah selesai proses Union, bila saya buka table output layer yang dihasilkan, maklumat seperti gambar di bawah dipaparkan dalam table. Perhatikan, maklumat soil series dari layer Soil dan maklumat gunatanah pertanian dari layer Landuse telah digabungkan dalam satu table.

Output layer yang dihasilkan akan menggabungkan maklumat
dari layer yang ditindih.


Bila dah dapat gabungan maklumat dalam table ni, macam-macam analisis lagi boleh saya buat. Selain boleh query pelbagai option atribut, saya boleh juga run analisis Frequency untuk dapatkan jumlah keluasan setiap jenis tanaman di dalam setiap siri tanah, seperti table yang ditunjukkan di bawah ni.



Analisis Frequency ni ada saya sentuh dalam topik sebelum ni, kalau anda terlupa, boleh klik link sini untuk belajar macamana nak buat analisis Frequency.


Harap-harap dah nampak le kelebihan analisis overlay ni ye. Selamat mencuba.

Thursday, 2 March 2017

Merge : Menggabungkan Feature Class

Antara soalan yang pernah ditanya kepada saya ialah macamana nak gabungkan banyak-banyak layer menjadi satu layer. Contohnya mungkin agensi negeri bina data GIS mengikut negeri masing-masing, kemudian di peringkat Ibu Pejabat nak gabungkan pulak kesemua data-data negeri tu menjadi satu layer yang merangkumi semua state. Contoh yang lain, mungkin anda dapat data jalanraya mengikut pecahan daerah, kemudian anda nak gabungkan kesemua layer jalan daerah tu menjadi satu layer jalan negeri.  

Cuba lihat contoh gambar di bawah. Saya ada dua layer sempadan negeri, Negeri Sembilan dan Melaka. Saya nak gabungkan kedua-dua layer sempadan ni menjadi satu layer sahaja yang mengandungi polygon Negeri Sembilan dan Melaka.



Ada banyak kaedah yang boleh digunakan, bergantung kepada macamana struktur table kesemua input layer yang nak digabungkan dan macamana pulak hasil gabungan struktur table yang anda inginkan. Dalam contoh ni, saya akan tunjukkan kaedah yang paling simple, dengan andaian kesemua input layer mempunyai struktur field yang sama di dalam table.
Caranya, gunakan tool Merge dalam ArcToolBox. Buat step berikut :-



Penerangan gambar :-
  1. Dalam ArcToolBox, klik Data Management Tools > General > Merge
  2. Masukkan layer-layer yang nak digabungkan di dalam ruangan Input Datasets
  3. Namakan Output Dataset yang akan mengandungi gabungan layer-layer
  4. Dalam ruangan Field Map, anda ada option kalau nak buang field-field yang tak perlu dimasukkan dalam Output Dataset.
  5. Klik OK.



Kesemua layer yang anda pilih tadi akan digabungkan ke dalam Output Dataset. Selamat mencuba.

Sunday, 26 February 2017

Find/Replace Atribut Teks Menggunakan Field Calculator

Apa khabar pembaca SukaGIS semua? Kali ni admin akan kongsikan satu lagi tips yang mungkin berguna untuk anda. Kalau anda biasa guna Microsot Office, mesti anda familiar dengan tool Find/Replace dalam Microsoft Word kan, fungsinya untuk cari perkataan yang anda nak gantikan dengan perkataan lain secara auto. Tapi pernah tak anda ada kes yang sama, cuma kali ni teks yang anda nak gantikan tu melibatkan atribut yang disimpan dalam table. Contoh mcm kes atribut seperti di bawah ni.



Dalam contoh tu, katakan anda nak gantikan format atribut ID dari 111-222-333 kepada 111/222/333, maksudnya anda nak gantikan character “-“ kepada “/”. Contoh satu lagi, anda nak gantikan word “Sungai” kepada “S.”. Kalau data yang nak betulkan tu sikit, takde masalah. Tapi bayangkan kalau ada berpuluh or beratus rekod nak tukar. Takkan kena taip satu-satu kot.. jenuh tu. So macamana nak buat?

Di sini saya kongsikan satu tips. Gunakan kaedah Field Calculator bersama function Replace. Format function Replace ni adalah :-

Replace ([nama field], “teks yang anda nak cari”, “teks yang anda nak ganti”)

Contohnya, kalau saya nak cari teks “-“ dan gantikan kepada teks “/” yang disimpan dalam field ID, formatnya adalah :-

Replace ([ID], “-“, “/”)

Contoh lain, kalau saya nak cari teks “Sungai” dan gantikan kepada teks “S.” yang disimpan dalam field NAMA, formatnya adalah :-

Replace ([NAMA], “Sungai”, “S.”)

OK, dah faham format function Replace tu? Sekarang dekat celah mana pulak nak taip function Replace tu? Mula-mula paparkan dulu table anda dalam ArcMap. Contoh macam table saya paparkan di bawah ni. Table ni menunjukkan maklumat point industri serta nombor ID untuk setiap point. Sekarang ni saya nak tukarkan format ID tu dari “-“ kepada “/”.



Lepas paparkan table, kalau nak selamat, mulakan Start Editing dulu.. manalah tau kot-kot tersilap nanti, boleh Undo. Lepas Start Editing, buat proses berikut :-




Penerangan gambar :-
  1. ‘Right-click’ field yang mengandungi atribut teks yang anda nak tukarkan. Dalam contoh ni saya ‘right-click’ field ID, kemudian pilih Field Calculator…
  2. Dalam dialog Field Calculator, taip Replace ([ID], “-“, “/”)
  3. Klik OK.


Hasilnya seperti di bawah. Cuba perhatikan atribut dalam field ID tu, dah bertukar kan?



Senang je kan. Selamat mencuba.


Sunday, 19 February 2017

Batch Geoprocessing

Bertemu kembali. Kali ni saya akan kongsikan topik berkenaan Batch Geoprocessing. Dalam ArcGIS, jika kita nak buat geoprocessing task, selalunya kita gunakan tool-tool dalam ArcToolBox. Contohnya, nak convert sistem koordinat kita guna tool Project, nak buat analisis zon penampan, kita guna tool Buffer, nak potong data ikut project area, kita guna tool Clip. Tapi anda perasan tak, kebanyakan tool geoprocessing ni, dia hanya accept 1 parameter input data saja. Kalau kita nak run gunakan lebih dari 1 input data, kita kena run berulang-ulang tool ni. Contohnya, cuba lihat dialog tool Clip di bawah ni.


Kalau anda perhatikan dalam dialog Clip tu, anda hanya boleh masukkan 1 layer saja kat ruangan Input Features. Kalau saya nak clip 4 layer contohnya, saya kena run tool Clip ni berulang-ulang sebanyak 4 kali. Contohnya kalau saya ada kes macam data di bawah ni.


Perhatikan saya ada 4 layer, Penempatan, Jalan, Sungai dan Mukim. Sekarang ni saya nak potong keempat-empat layer tu mengikut sempadan Project Area (sempadan kotak merah). Kalau saya nak run guna kaedah clip yang biasa, saya kena run tool Clip tu 4 kali, barulah saya akan dapat hasil seperti di bawah. Run Clip yg pertama, saya specify Input Features sebagai Penempatan, run Clip yg kedua saya specify Input Features sebagai Jalan dan begitulah seterusnya sampai complete keempat-empat layer.



Tapi di sini saya akan kongsikan 1 tips macamana nak dapatkan hasil tu dengan sekali run Clip sahaja. Caranya, gunakan kaedah batch. Follow steps berikut :-




Penerangan gambar :-
  1. Dalam ArcToolbox, klik Analysis Tools > Extract dan right click Clip, pilih Batch… (Anda boleh pilih Batch ni utk semua tool dalam ArcToolbox, tak semestinya tool Clip sahaja)
  2. Dalam dialog Clip, masukkan layer yang pertama nak clip kat Input Features
  3. Setkan clip layer di ruangan Clip Features. Dalam contoh saya ni layer Project Area.
  4. Setkan nama output layer yang nak dihasilkan dalam ruangan Output Feature Class.
  5. Nak masukkan layer kedua, klik butang +
  6. Ulang semula proses dengan masukkan layer seterusnya.
  7. Klik OK.

Mungkin anda akan cakap… “aaah… sama je, takde beza pun… kena gak buat satu-satu, masuk ulang-ulang.. “. Tapi cuba anda bayangkan kalau setiap satu layer yang anda nak clip tu datanya besar, untuk satu proses clip setiap layer mungkin ambil masa lama. Bayangkan kalau dekat 10 layer nak buat clip. Kalau nak buat kaedah Clip biasa, anda kena tunggu dulu sampai selesai 1 proses, baru boleh proceed nak clip layer yang kedua. Tapi kalau cara batch ni, anda tak payah tunggu pun. Klik je OK, lepas tu boleh terus tinggal komputer, pergi la bancuh kopi ke, pi ngeteh ke. Balik dari ngeteh tengok-tengok proses pun dah selesai untuk semua layer. Kan lagi senang kalau macamtu, menjimatkan masa anda.

Selamat mencuba.

Thursday, 9 February 2017

Buku SukaGIS

SukaGIS akan berada dalam buku tidak lama lagi.. mungkin dalam 2 bulan lagi. Boleh pre-order sesape yang berminat.. hehe

Banyak tips-tips tambahan yang tiada dalam blog yang boleh didapati dalam buku ni..




Friday, 6 January 2017

Membina Group Layer

Hari ni saya akan kongsikan satu topik yang agak santai.. berkenaan Group Layer. Ni untuk level basic.. sesiapa yang dah level advance or level otai maybe dah tau mende ni. Sesiapa yang dah biasa guna ArcMap mesti familiar dengan Table Of Contents (TOC) di dalam ArcMap kan? Bila kita masukkan layer ke dalam paparan ArcMap, layer-layer tu akan disusun di dalam TOC ni. Secara defaultnya, ArcMap akan susun layer point di atas, kemudian layer line dan last sekali layer polygon mengikut turutan. Kemudian kita susun-susun layer tu nak letak mana atas dan mana bawah mengikut kesesuaian.



Kadangkala kalau terlalu banyak layer kat dalam TOC tu boleh menyemakkan pandangan gak betul tak? Dari segi presentation pun tak bagus kalau terlalu banyak susunan layer, terpaksa kita scroll atas sampai ke bawah. Nak-nak kalau layer tu ada pulak klasifikasi symbology yang berjela-jela panjang, lagi lah bertambah panjang kita kena scroll.
Satu teknik yang boleh kita gunakan untuk mudahkan paparan dalam TOC ni ialah kumpulkan layer-layer yang berkaitan dalam 1 kategori atau 1 kumpulan. Dalam contoh gambar di atas, saya ada 8 layer di dalam senarai TOC :-
  1. Pili Bomba
  2. Parit
  3. Sungai
  4. Institusi
  5. Komersil
  6. Kediaman
  7. Mukim
  8. Daerah


Daripada 8 layer ni, saya boleh letakkan layer Parit dan Sungai di dalam kumpulan Hidrografi, Institusi, Komersil dan Kediaman di dalam kumpulan Bangunan dan Mukim serta Daerah di dalam kumpulan Sempadan Pentadbiran.



Macamana saya nak represent kumpulan ni di dalam TOC ArcMap? Caranya, kita bina Group Layer. Cara nak bina Group Layer senang je, kita cuma klik layer-layer yang kita nak kumpulkan sebagai 1 kumpulan, kemudian right-click dan pilih Group… macam step di bawah ni.




Penerangan gambar :-
  1. Klik layer-layer yang nak dikumpulkan (Tekan SHIFT untuk klik lebih dari 1 layer)
  2. Right click dan pilih Group
  3. Group Layer akan dibina dengan nama default New Group Layer
  4. Rename nama tu kepada nama yang sesuai mengikut kumpulan data

Gambar di bawah menunjukkan kesemua Group Layer yang telah dibina.



Anda boleh tutup semua layer di dalam satu kumpulan Group Layer dengan klik simbol  “-“ pada Group Layer tu.



Kalau nak lihat balik senarai layer dalam Group Layer, klik je simbol “+” pada Group Layer.



Jika anda offkan (uncheck) Group Layer, kesemua layer di dalam Group Layer tu tak akan dipaparkan dalam map walaupun anda check P layer tersebut. Seperti gambar di bawah, bila saya uncheck Group Layer Bangunan, kesemua layer bangunan (Institusi, Komersil, Kediaman) tidak dipaparkan dalam map.



OK macamana nak buang semula setting Group Layer? Kacang je, right click kat Group Layer yang anda nak buang dan pilih Ungroup.




Selamat mencuba..