Monday, 10 April 2017

Menggabung Raster (Mosaic)

Dalam post saya sebelum ni, ada saya bincangkan tentang kaedah menggabungkan feature class menggunakan kaedah Merge. Tapi feature class ni melibatkan data vector, macam shapefile ke, geodatabase feature ke. Tapi kalau anda ada beberapa data raster, macamana anda nak gabungkan menjadi satu raster sahaja? Contoh cuba lihat gambar di bawah ni. Gambar ni menunjukkan dua data raster yang berasingan tetapi duduk bersebelahan.



Istilah menggabungkan data raster ni dipanggil Mosaic. Dalam ArcGIS ni, ada dua kaedah yang kita boleh gunakan untuk menggabungkan raster :-

  • Menggabung secara virtual menggunakan Mosaic Dataset. Mosaic Dataset ni sendiri sebenarnya adalah satu data model di dalam geodatabase. Maksudnya nak guna kaedah Mosaic Dataset, raster mosaic anda mesti disimpan di dalam geodatabase.
  • Menggabung secara kekal dimana data-data raster anda digabung menjadi satu layer raster (single raster dataset). Maksudnya macam dalam gambar di atas tadi, dua raster tu digabungkan menjadi satu raster.

Tak kira lah anda guna teknik mana-mana pun, hasil output raster tu boleh dikembangkan lagi sekiranya terdapat data raster baru yang nak dimasukkan. Contohnya dari dua data raster yang saya dah gabungkan jadi satu tu, kalau ada pulak raster yang baru bersebelahan dalam negeri Pahang yang saya nak gabungkan, boleh je.

Dalam contoh ni, saya akan tunjukkan cara gabungkan data-data raster secara kekal menjadi satu single raster dataset. Dalam ArcGIS, ada beberapa geoprocessing tool yang anda boleh guna kalau nak buat kaedah ni, bergantung pada  samada target output raster dah wujud atau tak. Antara tool tu adalah :-

  • Mosaic_To_New_Raster : gunakan tool ni kalau anda nak gabungkan data-data raster kepada output raster yang baru.


  • Mosaic : Tool ni anda guna kalau anda dah ada output raster tapi nak gabung atau nak tambah input raster baru ke dalam output raster tu.


  • Workspace_To_Raster_Dataset : Teknik ni sesuai kalau anda ada berpuluh atau beratus data raster dalam satu folder dan nak gabungkan serentak ke dalam output raster dataset.


Persediaan Sebelum Mosaic
Sebelum buat mosaic ni, pastikan dulu apakah Pixel Type/Depth yang anda nak setkan pada output raster nanti. Pixel Type/Depth yang anda pilih tu mesti match dengan Pixel Type/Depth pada data input raster yang anda masukkan, kalau tak nanti result output anda jadi tak tepat. Apa dia Pixel Type/Depth ni? Senang cite, Pixel Type/Depth ni akan tentukan nilai data yang anda boleh simpan dalam setiap cell raster anda tu. Rujuk rajah bawah ni untuk penerangan setiap Pixel Type/Depth dalam ArcGIS.



Macamana anda nak tahu input raster data anda tu guna Pixel Type/Depth yang mana satu? Senang je, anda boleh check dalam Properties, seperti cara di bawah ni.


Penerangan gambar :-

  1. Dalam Catalog, right-click input raster anda dan pilih Properties…
  2. Semak kat ruangan Pixel Type dan Pixel Depth
Dalam dialog Properties tu anda boleh tahu juga input raster data tu guna berapa jumlah Bands. Semua info-info ni berguna untuk anda setkan dalam output raster nanti.

Proses Mosaic
OK, oleh kerana saya decide nak gabungkan kesemua raster saya ni ke dalam target output raster yang baru, saya akan gunakan kaedah Mosaic_To_New_Raster. Caranya, follow step berikut :-


Penerangan gambar :-
  1. Dalam ArcToolbox, run tool Mosaic_To_New_Raster dalam toolbox Raster Management Tools > Raster > Raster Dataset
  2. Pilih input raster yang nak digabungkan.
  3. Pilih lokasi di mana anda nak simpan output raster tu. Kalau anda nak bina output raster geodatabase, pilih geodatabase. Kalau nak bina output sebagai fail raster, pilih folder.
  4. Namakan output raster dataset anda tu. Kalau anda nak bina format raster Grid atau raster geodatabase, tak perlu taip apa-apa extension. Kalau nak bina sebagai fail raster, ada beberapa format yang ArcGIS support seperti Erdas Imagine (.img), BIL (.bil), bitmap (.bmp), JPEG (.jpg) dan lain-lain.
  5. Tentukan Pixel Type/Depth
  6. Masukkan jumlah bilangan Bands.
  7. Yang lain-lain tu optional. Klik OK.

Hasilnya jadilah seperti gambar di bawah ni. Dua raster tadi digabungkan menjadi satu raster dataset.





Saturday, 1 April 2017

Clip Raster Mengikut Bentuk Polygon

Cuba perhatikan gambar data raster di bawah ni. Raster ni menunjukkan data DEM merangkumi area Sabah, Sarawak dan Kalimantan yang saya perolehi dari sample World Data ESRI.



Katakan, daripada data DEM ni, saya cuma nak extract layer raster DEM area Sabah saja, contoh macam gambar berikut ni.



Macamana caranya? Kalau anda perhatikan dalam senarai toolbox, ada satu tool dipanggil Clip. Sebenarnya ada dua tool Clip ni dalam toolbox, satu dalam Analysis Tools > Extract. Yang ni untuk anda potong data vektor mengikut bentuk Clip Layer. Satu lagi tool terletak dalam Data Management Tools > Raster > Raster Processing. Tool ni anda boleh gunakan untuk potong data raster anda mengikut area tertentu, samada mengikut bentuk kotak rectangle atau mengikut bentuk sempadan polygon data anda.

Tool Clip data vektor dan data raster

Contoh macam data DEM raster saya tadi, kalau saya nak potong data DEM tu mengikut bentuk sempadan negeri Sabah, pertama sekali saya kena ada dulu layer boundary Sabah dalam bentuk polygon. Ataupun kalau anda ada layer kombinasi semua sempadan negeri Malaysia, select dulu state Sabah. Contoh macam gambar berikut ni, saya select dulu area Sabah dan ArcMap akan hightlight selection symbol biru.

Select dulu boundary yang nak digunakan untuk Clip

Bila dah ready layer boundary polygon, buat step berikut ni :-



Penerangan gambar :-
  1. Dalam ArcToolbox, ‘double click’ tool Clip dalam Data Management Tools > Raster > Raster Processing.
  2. Pilih layer raster yang anda nak potong.
  3. Pilih layer boundary polygon.
  4. Jangan lupa check kotak Use Input Features for Clipping Geometry. Kalau tak nanti output raster anda akan jadi bentuk kotak rectangle.
  5. Namakan output layer raster. Format raster boleh dalam tiff, img, geodatabase raster dan macam-macam lagi. Dalam contoh ni, saya setkan output sebagai format img.
  6. Klik OK.


Result akan jadi seperti di bawah ni. Senang je kan? 



Ada satu lagi tool yang anda boleh cuba untuk buat fungsi yang serupa. Tool ni dipanggil Extract by Mask, terletak dalam toolbox Spatial Analyst Tools > Extraction. Tapi nak run tool ni kena ada extension Spatial Analyst dulu.

OK… selamat mencuba.. jumpa lagi... :)
p/s : Buku SukaGIS jilid 1 telah berada dipasaran. Kalau berminat boleh le buat tempahan ye.


Buku SukaGIS Jilid 1 .. Dapatkannya Sekarang

Salam semua,..

Buku SukaGIS : Seronoknya Belajar ArcGIS (Jilid 1) telahpun berada di pasaran. Dapatkanya sekarang.

Harga RM50 (termasuk pos) Semenanjung, RM52 (termasuk pos) Sabah Sarawak. Beli 3 dan ke atas dapat diskaun RM3 setiap buku. Beli lebih dari 10 unit dapat harga spesel lagi. Tempahan boleh dibuat melalui 019-3513770 atau email saya .. azlansr@gmail.com.




Monday, 20 March 2017

Analisis Raster dan Penetapan Sistem Koordinat

Ingat tak sebelum ni saya ada post topik untuk download data percuma DEM? Jika anda ingat lagi, dalam post tu saya ada tunjukkan data raster SRTM yang kita download tu adalah dalam sistem koordinat geographic WGS84 kan? OK, kita ulangkaji sikit bab sistem koordinat dan struktur data raster.  Tentu anda tahu kan, koordinat WGS84 ni menggunakan angular unit samada decimal degree (DD), degree minute second (DMS) atau degree decimal minutes (DM). Data raster pulak struktur dia terdiri dari pixel atau kita panggil sebagai cell yang disusun dalam bentuk baris (row) dan lajur (column) . Setiap cell tu plak ada saiz yang menentukan resolution raster tu, cthnya 20m x 20m cell size. Oleh itu, setiap satu cell kita boleh tahu keluasannya.. kalau cell size 20m x 20m, maknanya keluasan 1 cell = 400 meter persegi lah.


Jadi, kalau data raster kita dalam sistem koordinat WGS84, macamana pulak nak tentukan cell size dan keluasan cell raster tu, sebab WGS84 menggunakan unit DD, DMS, DM? Rasa macam pelik je kalau kita kata keluasan cell saiz saya 0.00025 decimal degree persegi, sebab selalunya bila melibatkan pengukuran jarak, keluasan, mesti akan guna planar (projected) unit kan? Contohnya meter ke, feet ke.

Sebab tu kita kena awas, bila kita dapat satu data raster, check dulu sistem koordinat yang dia pakai sebelum buat analisis. Sesetengah analisis perlukan cell unit dalam projected unit untuk menghasilkan output yang tepat. Contohnya katalah anda nak buat analisis slope. Kalau data raster yang kita gunakan sebagai input untuk analisis slope tu dalam WGS84 dan outputnya pun kita set sebagai default WGS84 jugak, result output slope yang terhasil jadi tak betul. Sepatutnya cell size raster tu kita kena setkan dulu kepada projected unit, contohnya RSO meter ke. Cuba lihat gambar di bawah ni. Gambar A hasil analisis slope dalam WGS84, gambar B pulak hasil analisis slope dalam RSO. Jauh beza kan result dia.


Dalam gambar A, hampir keseluruhan area jadi high slope, merah belaka. Tak logik nampaknya tu. So macamana caranya nak setkan cell tu kepada projected unit sebelum buat analisis? Ada dua cara :-

  1. Guna tool Project dalam ArcToolbox untuk tukar sistem koordinat input raster dari WGS84 kepada projected coordinate system, contohnya RSO. Kalau guna cara ni, anda akan ada 2 layer raster, satu dalam WGS84, satu lagi hasil Project dalam RSO.
  2. Set output sistem koordinat analisis kepada projected coordinate system, contohnya RSO. Kalau guna cara ni, anda hanya perlu maintain satu layer raster sahaja (yang WGS84 tu) tapi output analisis akan dihasilkan dalam projected RSO. Cara ni juga boleh jimat space hardisc sebab anda tak perlu maintain 2 layer raster.


Sekarang saya akan tunjuk cara paling mudah, iaitu cara kedua. Untuk set output sistem koordinat analisis, follow step berikut :-




Penerangan gambar :-
  1. Kat menu ArcMap, klik Geoprocessing > Environments…
  2. Klik Output Coordinates
  3. Kat ruangan Output Coordinate System, set kepada As Specified Below
  4. Klik butang Spatial Reference
  5. Kat dialog Spatial Reference Properties, setkan koordinat kepada RSO
  6. Klik OK kat untuk tutup dialog Spatial Reference Properties.
  7. Sekarang disebabkan WGS84 dan RSO guna datum berbeza, anda kena buat Geographic Transformation dulu. Dalam list tu, pilih Kertau_to_WGS_1984.
  8. Klik OK.



Selesai sudah step untuk set output sistem koordinat analisis kepada sistem projected unit. Lepas tu bolehlah anda proceed pada analisis yang anda nak buat.

Buku SukaGIS

Buku "SukaGIS - Seronoknya Belajar ArcGIS Jilid 1" akan keluar sedikit masa lagi. Nantikan kemunculannya. Boleh pre-order sekarang.

Harga :-
RM50 (termasuk poslaju) Semenanjung
RM52 (termasuk poslaju) Sabah/Sarawak
Bayaran boleh dibuat melalui :

Akaun Maybank : 1-14329-077183 (Azlan Shah Ramli)
Bank Islam : 12168010002224 (Spatial Infotech)

Sila wasap ke 019-3513770 atau email ke azlansr@gmail.com untuk tempahan dengan sertakan maklumat berikut :-
1) Nama
2) Alamat penghantaran
3) Jabatan/agensi (sekiranya tidak keberatan)
4) Kuantiti
5) Resit transfer

p/s : BELI 1 BELI 2 HARGA BIASA, BELI 3 DAN KE ATAS DISKAUN RM3.00 UNTUK SETIAP BUKU





Thursday, 16 March 2017

Sumber Data DEM Percuma - SRTM

Di sini saya ingin kongsikan satu website yang anda boleh download data Digital Elevation Model (DEM) secara percuma. Kalau anda google free data DEM ni, ada beberapa website yang pakcik google listkan. Sebenarnya data-data DEM ni ada macam-macam format, contohnya IFSAR, LIDAR dan macam-macam lagi lah. Data LIDAR contohnya, resolutionnya memang tinggi, tapi kebiasaannya memang susah le nak dapat yang free kat area Malaysia ni. Ada satu format data DEM yang dipanggil SRTM yang anda boleh download secara percuma. SRTM ni singkatan dari Shuttle Radar Topography Mission, tapi resolutionnya 1 arc second, lebih kurang 30m. Kalau anda rasakan 30m ni sesuai untuk analisis anda, bolehlah cuba download.

Nak download, taip saja URL https://earthexplorer.usgs.gov  kat browser anda. Anda akan terus dapat page seperti di bawah ni.



Default page dia akan tunjuk peta area US. Sabar dulu, sebelum download, navigate dulu peta tu ke area Malaysia. Kemudian buat step berikut ni :-






Penerangan gambar-gambar di atas :-
  1. Klik tab Search Criteria
  2. Klik Use Map untuk set koordinat download pada area yang anda zoom.
  3. Anda akan dapati empat penjuru koordinat area yang anda zoom disenaraikan.
  4. Kalau anda nak ubahsuai bentuk penjuru tu, anda boleh klik pada penjuru dan drag pada posisi yang anda nak. Macam dalam contoh gambar tu, saya posisikan untuk cover state Perak.
  5. Kemudian klik tab Data Sets.
  6. Pada senarai data set, klik SRTM dan pilih SRTM 1-Arc Second Global
  7. Klik tab Results.
  8. Anda akan dapati senarai data SRTM mengikut area yang anda define untuk download tadi akan dipaparkan.

Seterusnya, untuk download, klik saja butang Download Options seperti ditunjukkan gambar di bawah ni. Anda akan diberikan beberapa option format raster. Dalam contoh ni, saya pilih format BIL 1 Arc-Second. Lagipun ArcGIS tiada masalah nak baca format BIL.



Data yang anda download tu dalam sistem koordinat WGS84. Kalau anda nak overlay pada data yang dalam sistem koordinat projected pun takde masalah, sebab ArcGIS kan support on-the-fly projection. Macam dalam contoh gambar di bawah ni, saya overlay data SRTM tu dengan boundary daerah koordinat RSO. 



So bila dah ada data DEM ni, boleh la anda buat macam-macam analisis, contohnya nak generate slope ke, nak view sebagai 3D ke dan macam-macam lagi lah. Contoh peta di bawah ni, dari data DEM tu saya generate layer hillshade dan juga slope.

Analisis Hillshade

Analisis Slope


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… :)