การปรับแก้เชิงคลื่นภาพถ่ายดาวเทียมไทยโชต (THEOS)


การปรับแก้เชิงคลื่นภาพถ่ายดาวเทียมไทยโชต (THEOS)




1.1   การปรับแก้เชิงคลื่นภาพถ่ายดาวเทียมไทยโชต (THEOS)

การปรับแก้เชิงคลื่นภาพถ่ายดาวเทียมไทยโชต  ในครั้งนี้จะใช้โปรแกรม Mat lab ซึ่ง ภาพถ่ายดาวเทียมที่นำมาใช้ในครั้งนี้จะเป็นภาพถ่ายดาวเทียมบริเวณ  อำเภอถลาง จังหวัดภูเก็ต  ถ่ายเมื่อวันที่ 28 เดือนกุมภาพันธ์  พ.ศ. 2554   วิธีการปรับแก้เชิงคลื่นสามารถปรับแก้ได้ตามขั้นตอนต่อไปนี้
1.2 การเตรียมข้อมูลก่อนการปรับแก้เชิงคลื่น
1. ข้อมูล THEOS-1 DIMAP product data-sheet เป็นไฟล์ข้อมูลรายละเอียดของข้อมูลต่างๆของภาพถ่ายดาวเทียม
2. ค่า Esun ของดาวเทียมไทยโชต โดยแต่ละ Band มีค่าดังนี้ band1 มีค่าเท่ากับ 2005.8253, band2 มีค่าเท่ากับ 1848.6538, band3  มีค่าเท่ากับ 1566.4886  และ band4  มีค่าเท่ากับ 1064.7254
3. โปรแกรม Mat lab สำหรับการปรับแก้เชิงคลื่นของภาพถ่ายดาวเทียม
4. โปรแกรม ENVI สำหรับ การรวมภาพถ่ายดาวเทียมแต่ละ Band เข้าด้วยกัน

1.3 สูตรที่ใช้สำหรับการปรับแก้ภาพถ่ายดาวเทียมไทยโชต
การปรับแก้ภาพถ่ายดาวเทียมไทยโชต ใช้ 2 สมการในการปรับแก้ดังนี้
การเปลี่ยนจากค่า DN เป็นค่า Radian

Lλ = DN/Gain + Bias (0)…………………………… (1)

Lλ = ค่าพลังงานแสงที่ตกกระทบบนอุปกรณ์รับรู้ (Radiance) ในแต่ละช่วงคลื่น
DN = ข้อมูลเชิงเลขบนภาพ (Digital Number)
Gain = ค่าตัวคูณพลังงานแสง (Physical Gain) จาก DIMAP
Bias = เป็นค่าความคลาดเคลื่อนของอุปกรณ์รับรู้ (THEOS=0)



การเปลี่ยนจากค่า Radian เป็นค่า  reflectance


                       



pλ = ค่าพลังงานแสงที่ Top of Atmosphere (TOA) ในแต่ละช่วงคลื่น
Lλ = ค่าพลังงานแสงที่ตกกระทบบนอุปกรณ์รับรู้ (Radiance) ในแต่ละช่วงคลื่น
D = ระยะห่างระหว่างดวงอาทิตย์กับโลก
Ө = Sun Zenith angle หรือ (90° - Sun Elevation) จาก DIMAP
ESUNλ = Mean Solar Exo-atmospheric Irradiance ในแต่ละช่วงคลื่น

1.4 การปรับแก้เชิงคลื่น
เปิดโปรแกรม Mat lab และให้รันโค๊ดข้อมูลสำการปรับแก้ดังนี้
Theos_input='C:\Users\ANED-LAB\Desktop\TH_PKT\phuket.TIF'; // การเรียกข้อมูลภาพถ่ายดาวเทียมให้พิมพ์ที่อยู่ของข้อมูลตามโค้ดข้างต้น
[Theos, R]= geotiffread(Theos_input); // การกำหนดค่าเบื้องต้นสำหรับการปรับแก้เชิงคลื่นข้อมูลภาพถ่ายดาวเทียม
band{1}=double(Theos(:,:,1)); // เป็นคำสั่งให้โปรแกรมอ่านค่าของข้อมูล band1
gain{1}=1.4685; // การกำหนดค่า gain ให้กับ band1 ค่า gain ดูได้จากไฟล์ THEOS-1 DIMAP product data-sheet
bias{1}=0;  // การกำหนดค่า bias ให้กับ band1 ค่า bias ดูได้จากไฟล์ THEOS-1 DIMAP product data-sheet
Rad{1}=(band{1}/gain{1})+bias{1};  // สูตรที่ใช้ในการเปลี่ยนค่า DN เป็นค่า Radian
Ldeep{1}=Rad{1}-Lmin{1};  // Ldeep คือ ค่าพลังงานแสงที่ตกกระทบบนอุปกรณ์รับรู้ (Radiance) ในแต่ละช่วงคลื่น ซึ่งคำสั่งนี้จะเป็นคำสั่งที่ใช้สำหรับการหาค่า Ldeep
d=1-(0.01672*cos(0.9856*(59-4)));  // เป็นคำสั่งที่ใช้ในการคำนวณระยะห่างระหว่างดวงอาทิตย์กับโลก  ซึ่งวันที่ถ่ายภาพถ่ายดาวเทียมจะนับต่อไปเรื่อยๆ เช่น เดือนมกราคมมี 31 วันเมื่อวันที่1 ของเดือนกุมภาพันธ์จะนับเป็น 32  (ในที่นี้ 59 คือค่าวันที่นำมาใช้)
Esun{1}=2005.8253;  // เป็นการกำหนดค่าให้ Esun ให้กับข้อมูล band1ดูได้จากค่า Esun ในข้อ การเตรียมข้อมูลก่อนการปรับแก้เชิงคลื่น
sun_elev=53.509262; // เป็นการกำหนดค่า Sun elevation ให้กับข้อมูล Band1 สามารถดูค่าได้จาก ดูได้จากไฟล์ THEOS-1 DIMAP product data-sheet
ref{1}=(pi*Ldeep{1}*d^2)/(Esun{1}*sind(sun_elev));  // สูตรที่ใช้ในการเปลี่ยนจากค่า Radian เป็นค่า  reflectance
max(ref{1}(:)) // การทดสอบค่าสูงสุดของข้อมูลที่ผ่านการปรับแก้เชิงคลื่นแล้ว
min(ref{1}(:))  // การทดสอบค่าสูงสุดของข้อมูลที่ผ่านการปรับแก้เชิงคลื่นแล้ว โดยข้อมูลของค่าสูงสุดและต่ำสุดของข้อมูลที่ผ่านการปรับแก้แล้วควรอยู่ระหว่าง 0 ถึง 1
info = geotiffinfo(Theos_input);  // เป็นคำสั่งที่ใช้ให้โปรแกรมอ่านค่าข้อมูล
filename = 'Phuket_b1.tif';  // ตั้งชื่อไฟล์สำหรับการจัดเก็บข้อมูล
geotiffwrite(filename, ref{1}, R,  ...
'GeoKeyDirectoryTag', info.GeoTIFFTags.GeoKeyDirectoryTag); // เป็นคำสั่งที่ใช้ในการจัดเก็บข้อมูลไปตามชื่อไฟล์ที่กำหนดไว้ โดยจะจัดเก็บค่าข้อมูล reflectance ของภาพถ่ายดาวเทียมไทยโชต band1

หมายเหตุ : ให้ทำการปรับแก้ให้ครบทุก band โดยเปลี่ยน {1} ให้เป็น {2} {3} และ {4}  ตาม Band ที่ต้องการปรับแก้

ดาวน์โหลด  เอกสารฉบับเต็ม

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

การนำเข้าไฟล์ KML ใน google Earth และ Google Maps

การนำเข้าไฟล์ KML และการ Export ข้อมูลKMLเป็น Shape file

การคำนวณพื้นที่และระยะทางโดยใช้โปรแกรม QGIS