Thursday, December 12, 2013

Membangun Rational Polynomial Coefficients (RPC) menggunakan ENVI

Dalam pekerjaan fotogrametri digital menggunakan foto udara digital, cita satelit, dan radar, dikenal adanya istilah RPC atau Rational Polynomial Coefficient. RPC ini diturunkan dari Rational Polynomial Model yang menggambarkan hubungan geometris sensor satelit dengan permukaan asli tiga dimensi dari bumi. Dengan adanya RPC ini pekerjaan fotogrametris seperti ekstraksi DEM dan orthorektifikasi memungkinkan untuk dilakukan oleh pengguna citra umum.

Latar belakang penciptaan RPC sebagai berikut. Pada Foto Udara konvensional (frame camera), setiap lokasi di permukaan bumi direkam dari satu posisi kamera (perekaman serentak seperti pada DSLR dan kamera poket). Dengan mekanisme perekaman dan geometri sensor -  obyek yang relatif simpel tersebut, maka transformasi koordinat dari koordinat citra yang bersifat dua dimensi ke permukaan bumi yang bersifat tiga dimensi bisa diwujudkan dalam bentuk persamaan matematis yang sederhana. Akan tetapi hal ini berbeda pada Citra satelit. Mayoritas satelit penginderaan jauh menggunakan mekanisme Push Broom recording dalam bentuk scan lines di sepanjang lintasan orbit satelit (seperti cara kerja scanner dokumen di kantor). Sebagai hasilnya, geometri setiap baris citra akan berbeda dengan baris yang lain karena direkam dari posisi sensor yang berbeda. Hal ini menyebabkan proses transformasi harus dilakukan per baris perekaman, atau dengan kata lain, menggunakan persamaan matematis yang banyak dan kompleks.

Untuk memudahkan komputasi dan transformasi koordinat bagi pengguna citra, maka diciptakanlah Rational Polynomial Model yang menghasilkan RPC. Rational Polynomial Model terdiri dari dua persamaan polinomial. Yang pertama untuk menghitung baris citra dan yang kedua untuk menghitung kolom citra. RPC dibuat oleh vendor citra satelit yang diturunkan dari informasi posisi orbit dan orientasi satelit. Karena merupakan salah satu produk yang dijual vendor, RPC ini biasanya ada beberapa versi yang tentunya akan memberikan pengaruh yang berbeda dari sisi akurasi posisi terhadap hasil orthorektifikasi atau ekstraksi DEM. Selain itu, RPC juga dapat dibuat/diemulasikan apabila kita mempunyai GCP yang cukup dan akurat. Walaupun demikian, sebagus dan seakurat apapun RPC, RPC merupakan sebuah model empiris dari hubungan geometris sensor - permukaan bumi, dan bukan model fisis, sehingga tidak akan lebih akurat dari model fisis yang hanya diketahui oleh vendor citra. RPC yang dihasilkan dapat digunakan untuk membuat citra ortho atau membuat DEM apabila citranya stereo.

Berikut ini cara membangun RPC menggunakan software ENVI 5. Untuk contoh saya akan menggunakan Citra ALOS PRISM L1B2 (radio and geometric corrected), tapi tidak memiliki informasi RPC.


1. Buka ENVI>File>Open External File>ALOS>PRISM, Buka file dengan nama mengandung LED.


2. Dari Menu Map>Build RPCs, kemudian pilih file citra ALOS PRISM sebagai input, kemudian akan muncul jendela Build RPCs parameter. Untuk ALOS PRISM isikan parameter seperti gambar di bawah. Untuk sensor lain bisa dicari tahu informasinya di internet, atau dari link ini


3. Di pilihan Build Exterior Orientation klik Select GCP in Display. Kemudian tentukan proyeksi, dan datum dari GCP yang akan dipakai nanti. Kalau menggunakan UTM tentukan juga zona yang sesuai. Masukkan GCP satu persatu. Untuk menghasilkan rational model, anda memerlukan minimal 6 GCP. Setelah GCP selesai dimasukkan, klik Export GCP to build RPCs Widget. 




4. ENVI akan menggenerate RPC result Report, perhatikan RMSE X dan Y, apabila akurasi dirasa kurang, ulangi proses dengan mengklik Select GCP in Display dari Menu Build Exterior Orientation. Kemudian setelah selesai klik recalculate Exterior Orientation. Setelah selesai klik OK. Jendela minimum dan maximum elevation akan muncul. Jika anda mengetahui elevasi minimum dan maksimum dari citra yang dipakai, masukkan ke kolom yang tersedia, kalau tidak, biarkan saja kemudian klik OK. 






5. ENVI akan memberikan pesan bahwa RPC sudah dihitung dan dimasukkan kedalam metadata citra. Anda bisa melanjutkan dengan melakukan ekstraksi DEM atau orthorektifikasi. 







Friday, December 6, 2013

Membuat Peta Surface Temperature dari Data Thermal Landsat 8 Menggunakan ENVI 5 (dengan Atmospheric Correction)

Melanjutkan postingan sebelumnya di sini ,  kali ini adalah bagaimana mengekstrak surface brightness temperature data Landsat 8 TIRS dengan melibatkan Atmospheric Correction.

Pada postingan sebelumnya, data surface brightness temperature hasil ekstraksi dianggap sebagai ToA (Top of Atmosphere) brightness temperature. Hal ini dikarenakan ekstraksi suhu didasarkan pada nilai radiansi yang diterima oleh sensor. Padahal nilai radiansi yang diterima sensor tidak hanya berasal dari interaksi energi matahari dan obyek (hubungan iradiansi, radiansi dan emisivitas), namun juga oleh pengaruh atmosfer (bisa berupa serapan maupun hamburan), sehingga nilai radiansi yang diterima sensor besar kemungkinan terdistorsi dan tidak mencerminkan nilai radiansi yang dipancarkan obyek. Oleh karena itu, untuk mendapatkan nilai estimasi brightness temperature yang akurat dan sesuai dengan radiansi yang dipancarkan obyek, koreksi atmosfer perlu dilakukan.

Tahapan kerja yang dilakukan agak sedikit berbeda dengan tahapan di postingan sebelumnya. Yang pertama, kita harus mengkonversi DN menjadi radiansi, kemudian dilanjutkan koreksi atmosfer, lalu ekstraksi temperatur dalams satuan kelvin, dan terakhir adalah konversi dari kelvin ke celcius.

Here we go

1. Tahap pertama, adalah membuka data Landsat 8 TIRS, silahkan lihat postingan sebelumnya dari langkah 1 sampai langkah 4 untuk prosedur membuka citra landsat 8 TIRS di ENVI 5.

2. Dari menu toolbox ENVI, buka modul radiometric correction>radiometric calibration, kemudian pilih band thermal sebagai input.

3. Untuk menu Calibration Type pilih Radiance, kemudian tentukan lokasi penyimpanan hasil konversi. Klik OK. Setelah selesai data akan ditampilkan di view.


4. Tahap berikutnya adalah koreksi atmosfer. Kita akan menggunakan metode koreksi atmosfer menurut Coll et al, 2010 . dengan formula seperti di bawah. 


5. Pada koreksi atmosfer menurut Coll diatas, terdapat beberapa parameter yang belum diketahui, antara lain upwelling radiance, downwelling radiance, dan transmittance. Kita dapat memperoleh informasi ini dari situs http://atmcorr.gsfc.nasa.gov/, dengan terlebih dahulu memasukan informasi jam,tanggal, bulan, tahun perekaman data, dan juga pusat koordinat lintang dan bujur dari citra yang kita gunakan. Informasi ini dapat dilihat dengan mudah di ENVI 5 dengan cara, klik kanan nama layer>view metadata . Informasi waktu perekaman dapat dilihat di Tab Time.  


6. Setelah memasukkan parameter yang dibutuhkan, kita akan mendapat informasi upwelling dan downwelling radiance sebagaimana contoh di bawah. 


7.  Implementasikan formula diatas beserta parameter yang sudah diketahui ke dalam Modul Band Math ENVI. Bentuk Expression formula nya seperti gambar di bawah. Nilai 3.9 adalah upwelling radiance, nilai 0.51 adalah transmitansi dan 5.79 adalah downwelling radiance. B1 nanti diisi band thermal. Klik Add to List, kemudian OK. Selanjutnya Klik Map Variable to Input File, Masukkan dataset radiance sebagai input B1. Klik OK. 




 8. Tahap berikutnya adalah mengkonversi radiansi terkoreksi ke brightness temperature. Untuk keperluan itu kita menggunakan formula seperti gambar di bawah.


9. Nilai K1 dan K2 dapat diperoleh dari metadata citra (file dengan extensi MTL.TXT) dibagian TIRS_THERMAL_CONSTANT, sebagaimana nampak pada gambar di bawah. 


10. Dengan demikian implementasi formula pada langkah 8 di Band Math adalah sebagai mana nampak pada gambar di bawah. Ada dua formula, masing masing untuk band 10 dan band 11 sensor TIRS. Lakukan kalkulasi secara terpisah untuk masing masing band sesuai dengan parameter K1 dan K2 nya. 



11. Tahap terakhir adalah konversi suhu dari Kelvin ke Celcius, yang dilakukan menggunakan formula C = K - 273 , dimana C adalah data suhu dalam celcius, dan K adalah data suhu dalam kelvin. 

 


12. Berikut ini hasil Brightness Temperature dalam satuan Celcius



REVIEW 

Jika dibandingkan dengan data surface brightness temperature hasil postingan sebelumnya (tanpa koreksi atmosfer), hasil kalkulasi menggunakan koreksi atmosfer memberikan hasil estimasi yang lebih tinggi (selisih berkisar 15 sampai 25 derajat). Hasil ini perlu dikritisi lebih lanjut dengan membandingkan dengan brightness temperature nyata hasil pengukuran lapangan untuk mengetahui metode mana yang memberikan hasil lebih mendekati data lapangan. Selain itu, aspek metodologisnya juga perlu dikritisi, seperti apakah metode koreksi atmosfernya sudah tepat, bagaimana pengaruh metode koreksi atmosfer yang berbeda terhadap hasil kalkulasi ? mana yang memberikan prediksi lebih tepat ?. 

---UPDATE 3/12/2014---

1. Website http://atmcorr.gsfc.nasa.gov/ telah memasukkan informasi spectral Curve Band 10 Sensor TIRS, oleh karena itu disarankan untuk menggunakan spectral curve tersebut dalam kalkulasi. Dan juga dari website tersebut diketahui adanya ketidakpastian hasil kalkulasi parameter termal dari sensor TIRS dikarenakan adanya efek stray light pada teleskop TIRS. 

2. Band 11 TIRS dianggap masih kurang layak untuk dijadikan sumber data surface temperature dan atribut termal lain dikarenakan masih besarnya RMSE dari proses kalibrasi radiometrik dari NASA/USGS. Refer : https://landsat.usgs.gov/calibration_notices.php 



---UPDATE 27/2/2016---

Tak terasa sudah dua tahun umur postingan ini, pageviewnya sudah lumayan banyak, semoga bermanfaat ya, banyak hal yang berubah dalam dua tahun ini, performa Landsat-8 sudah berbeda dengan kondisi ketika postingan ini ditulis, jadi mohon cek selalu halaman resmi Landsat untuk mengetahui perubahan-perubahan apa yang terjadi. 

Pada kesempatan ini saya hanya ingin memberitahu bagi teman-teman yang masih bingung dan ingin mencari koreksi radiometrik untuk menghasilkan data surface reflectance/brightness temperature yang mudah, ArcGIS sudah menyediakan fungsi tersebut, namanya Apparent Surface Reflectance. cek postingan saya bulan Februari 2016 to find out. 

Cheers and happy learning remote sensing. 

Wednesday, December 4, 2013

Membuat Peta Surface Temperature dari Data Thermal Landsat 8 Menggunakan ENVI 5 (tanpa Atmospheric Correction)

Sensor Landsat TM (Landsat 5), ETM+ (Landsat 7) dan TIRS (Landsat 8) mampu merekam data radiansi panas permukaan bumi pada spektrum inframerah termal. Informasi radiansi panas pada spektrum thermal sangat dipengaruhi oleh suhu permukaan dan emisivitas obyek.  Makin tinggi temperatur suatu obyek, makin tinggi intensitas radiansinya. Informasi radiansi ditangkap sensor termal dan disimpan dalam bentuk digital number (DN) dengan range 0 sampe 255 (8bit) untuk data TM/ETM+ dan 0 sampai 65536 a. (16 bit) untuk data TIRS.

Dengan demikian, maka DN diatas memungkinkan untuk dikonversi menjadi peta suhu permukaan. Tahapan yang dilakukan antara lain, mengubah DN menjadi nilai radiansi, mengaplikasikan koreksi atmosferik (later), mengkonversi radiansi ke temperatur permukaan, dan terakhir mengkonversi temperatur permukaan dari satuan kelvin ke satuan celcius.

Berikut ini contoh penerapan ekstraksi temperatur permukaan menggunakan software ENVI 5.0 service pack 3 yang sudah mendukung citra Landsat 8

1. Download data landsat 8 dari portal EarthExplorer atau Glovis.
2. Data hasil download file Tar.GZ yang harus diuncompress dua kali, uncompress pertama menghasilkan file TAR, dan yang kedua menghasilkan file - file citra Landsat 8 per band disertai metadata pendukung.



3. Dari menu ENVI 5. Klik File>Open As>Landsat>Geotiff With Metadata. Kemudian pilih file metadata dalam format TXT. 



4. Data citra akan ditampilkan secara layak (proper) beserta penamaan band, parameter koreksi, dan juga informasi proyeksi (seperti gambar di bawah). Kalau file citra di buka secara manual (tidak mengikuti langkah 3), biasanya metadata citra tidak akan terbaca dengan sempurna. 


5. Tahapan pertama dari ekstraksi temperatur permukaan adalah mengubah data citra dari DN ke brightness temperature. Dari menu toolbox ENVI di panel kanan pilih Radiometric Correction>Radiometric Calibration. Kemudian pilih Band Thermal dari Sensor TIRS (ada 2 Band). 



6. Dari menu dropdown, pilih Brightness Temperature, kemudian pilihan lain sama dengan gambar di bawah. Lanjutkan dengan menentukan lokasi penyimpanan data. Kemudian Klik OK. 



7. Hasil Surface Temperature dalam satuan Kelvin akan ditampilkan. 



8. Tahap terakhir adalah mengkonversi satuan suhu dari Kelvin menjadi celcius. Proses ini dapat dilakukan dengan mudah menggunakan Band Math. Konversi Kelvin menjadi Celcius dapat menggunakan rumus (K-273), dimana K adalah suhu dalam Kelvin. Band Math di ENVI 5 dapat diakses dari Menu Toolbox>Band Ratio>Band Math. 


9. Berikut ini Hasil Peta Surface Brightness Temperature dalam satuan Celcius.



Note : 

1. Proses diatas dilakukan tanpa koreksi atmosfer. Untuk estimasi yang lebih akurat, koreksi atmosfer mungkin perlu dilakukan ( dont worry I will repost this tutorial along with the atmospheric correction later)

2. Untuk pemahaman yang lebih baik baik tentang thermal remote sensing, radiasi benda hitam, emisivitas, dll, silahkan baca link ini