Kali ini kita akan mencoba mengekstraksi nilai dari data raster yang kadang – kadang kita butuhkan untuk klasifikasi citra atau membuat kurva pantulan objek di lapangan. Sebelumnya kita perlu memunculkan library terlebih dahulu, dimana dalam kasus ini kita hanya membutuhkan library(raster). Jadi munculkan saja library raster abaikan library yang lain pada code di bawah.
Selanjutnya kita munculkan data citra melalui fungsi RasterBrick (brick())dimana lebih cepat dalam mengolah data seperti yang dijelakan pada tutorial sebelumnya. Kemudian kita visualisasikan melalui ggRGB() dimana kita harus menambahkan library Rstoolbox atau plotRGB(), dimana dalam kurung kita isikan citra kita yaitu r, kemudian kita masukkan nama saluran untuk membebntuk komposit warna, jika kita ingin membuat komposit warna asli maka r (red) kita isikan 3, g(green) kita isikan 2, dan b(blue) kita isikan 1. Kita juga dapat mengaplikasikan penajaman citra misal linier, yaitu dengan menambahkan stretch = “lin”.
Berikut adalah hasilnya komposit warna inframerah yang menonjolkan objek vegetasi, dimana objek vegetasi berwarna merah dan objek bangunan berwarna kehijauan, dan objek herba atau sawah berwarna hijau tapi gelap, karena sawah pada waktu itu masih tergenang air. Kita nanti akan mengextraks kurva pantulan dari masing – masing dari objek tersebut.
Sebelum kita mengekstrak nilai piksel dari masing – masing saluran citra kita membutuhkan objek titik yang dapat berupa shapefile atau .rds. Kali ini kita akan menggunakan shapefile dimana kita hanya membutuhkan attribut kelas yang berisikan nama objek yang dalam kasus ini adalah herba, lahan terbangun, dan vegetasi. Unutk memunculkan data shapefile di R kita menggunakan fungsi shapefile() dan Untuk megetahui persebaran dari titik – titik sample kita gunakan fungsi plot()
Berikut adalah titik – titik pesebaran sample yang akan diekstrak nilainya dan dibuat kurva pantulan.
Kita menggunakan fungsi names(r) <- c(nama julat), karena nama file sebelumnya kurang bisa mencerminkan julat saluran panjang gelombang. Untuk mengekstrack nilainya kita menggunakan fungsi extract(r, sampl) dimana r adalah citra dan sampl adalah titik – titik shapefile. Gunakan fungsi head() untuk memunculkan nilainya.
Berikut adalah hasilnya, nilai setiap titik sesuai dengan saluran citra.
Kita akan membuat kurva pantulan citra melalui nilai yang telah kita sampel sebelumnya. Kita membutuhkan kurva pantulan karena kurva pantulan dapat menunjukkan karakteristik objek. Dari nilai semua yang telah kita ambil melalui sampel sebelumnya kita perlu merata – ratakannya untuk membuat kurva pantulan dengan menggunakan fungsi aggregate(df, list(sampl$kelas), mean) dan untuk memunculkan nilai kita membutuhkan fungsi head().
Berikut adalah hasilnya, dimana kita melihat untuk kolom judul masih belum terlalu bagus jadi perlu mengubahnya agar lebih mudah dibaca.
Kita menggunakan fungsi rownames()
Berikut adalah hasilnya dan dapat kita lihat lebih mudah dibaca.
Kita membuat warna dari masing – masing objek menggunakan fungsi mycolor() , kemudian kita butuh untuk mengubah dari data.frame menjadi matrix melalui fungsi as.matrix(), dan Selanjutnya sebelum mengeplot data pada tempat plot, kita membutuhkan tempat plot kosong melalui plot()
Berikut adalah hasilnya dimana muncul tempat plot data kosong, dimana sumbu Y merupakan nilai dijital dan kurva x adalah saluran citra.
Selanjutnya kita akan memunclkan kurva pantulan pada tempat plot, menggunakan code di bawah yang berisikan sampel data yang sebelumnya kita ambil (ms) dan mycolor sebelumnya yang telah kita buat.
Berikut adalah hasilnya yang mana menunjukkan pantulan objek sesuai dengan julat panjang geombannya. Kita tidak tahu warna apa mewakili panjang gelombang apa karena tidak adanya legenda.
Oleh sebab itu kita perlu menampilkan legenda agar lebih mudah dalam membaca kurva tersebut. Kita membutuhkan fungsi title() dan legend().
Berikut adalah hasil representasi pantulan objek sesuai dengan julatnya, dimana kita ketahui bahwa kerva pantulan vegetasi memiliki perbedaan yang jauh antara saluran merah dan inframerah dekat. Citra yang digunakan dalam tutorial kali ini adalah nilai dijital belum dilakukan koreksi radiometri apapun, sehingga untuk saluran 1 (biru) dan 2 (hijau) masih memiliki pantulan yang lebih tinggi dari saluran merah.
Berikut adalah pengenalan tentang kegunaan R untuk ekstraksi nilai piksel citra dan membuat kurva pantulan, jika terdapat kesalahan atau kekurangan semoga dapat ditambahkan dan dibenarkan, karena proses masih dalam proses belajar.
Sumber : Rspatial
*** SEMOGA BERMANFAAT ***