วันพฤหัสบดีที่ 13 มิถุนายน พ.ศ. 2556
FWTools การลดรายละเอียดภาพ (Reduce resolution)
gdalwarp -tr 1 10 -r cubic D:\TH_CAT_090204101807501_1\IMAGERY.tif D:\Theos3\ IMAGERY4_Red.tif
FWTools การเพิ่มความคมชัดให้ข้อมูลภาพถ่ายดาวเทียม (Image Enhancement)
gdalenhance –ot byte –equalize D:\TH_CAT_090204101807501_1\IMAGERY.TIF D:\theos2\IMAGERY2_Enh.tif
FWTools การบีบอัดข้อมูลภาพ
- แบบไม่มีการสูญเสียรายละเอียด
gdal_translate -of GTiff -co COMPRESS=LZW D:\TH_CAT_090204101807501_1\ IMAGERY.tif D:\theos3\IMAGERY14_ LZW.tif
- แบบมีการสูญเสียรายละเอียด
gdal_translate –of GTiff -co COMPRESS =JPEG D:\TH_CAT_090204101807501_1\ IMAGERY.tif D:\theos3\IMAGERY15_ JPEG.tif
gdal_translate -of GTiff -co COMPRESS=LZW D:\TH_CAT_090204101807501_1\ IMAGERY.tif D:\theos3\IMAGERY14_ LZW.tif
- แบบมีการสูญเสียรายละเอียด
gdal_translate –of GTiff -co COMPRESS =JPEG D:\TH_CAT_090204101807501_1\ IMAGERY.tif D:\theos3\IMAGERY15_ JPEG.tif
FWTools การ merge ภาพหลายๆ ไฟล์ด้วย gdal_merge
ที่มา:http://sawarino.blogspot.com/2009/07/gdalmerge.html
การใช้งาน gdal_merge อย่างง่าย โดยจะขอทดลองกับข้อมูล GDEM โดยการใช้งาน gdal_merge นั้นจะแตกกต่างกับคำสั่ง gdal อื่นๆ คือ ต้องระบุผลลัพธ์ (Output file) ก่อนแล้วจึงระบุไฟล์ต้นฉบับ การใช้งานเบื้องต้นเป็นไปตาม syntax ดังนี้ครับ
#gdal_merge [option] [output file] [input files] ซึ่งตัวอย่างการใช้งานดังนี้ครับ
#gdal_merge -of GTiff -o output.tif abc1.tif abc2.tif abc3.tif abc4.tif
จากตัวอย่างดังกล่าว จะเห็นว่าการระบุไฟล์ต้นฉบับที่มากกว่า 1 ไฟล์นั้นค่อนข้างยุ่งยาก เราสามารถใช้เครื่องหมาย * เข้ามาช่วยในคำสั่งได้ดังนี้ครับ
#gdal_merge -of GTiff -o sample.tif *.tif
การใช้งาน gdal_merge อย่างง่าย โดยจะขอทดลองกับข้อมูล GDEM โดยการใช้งาน gdal_merge นั้นจะแตกกต่างกับคำสั่ง gdal อื่นๆ คือ ต้องระบุผลลัพธ์ (Output file) ก่อนแล้วจึงระบุไฟล์ต้นฉบับ การใช้งานเบื้องต้นเป็นไปตาม syntax ดังนี้ครับ
#gdal_merge [option] [output file] [input files] ซึ่งตัวอย่างการใช้งานดังนี้ครับ
#gdal_merge -of GTiff -o output.tif abc1.tif abc2.tif abc3.tif abc4.tif
จากตัวอย่างดังกล่าว จะเห็นว่าการระบุไฟล์ต้นฉบับที่มากกว่า 1 ไฟล์นั้นค่อนข้างยุ่งยาก เราสามารถใช้เครื่องหมาย * เข้ามาช่วยในคำสั่งได้ดังนี้ครับ
#gdal_merge -of GTiff -o sample.tif *.tif
Resampling ภาพด้วย gdalwarp
ที่มา:http://sawarino.blogspot.com/2011/08/resampling-gdalwarp.html
การ resampling ข้อมูลภาพเพื่อให้มีขนาดหรือจำนวนจุดภาพเท่าที่ต้องการ ตัวอย่างเช่น ภาพเดิมมีขนาด 300x300 จุดภาพ แต่ต้องการเพิ่มให้เป็น 1200x1200 จุดภาพ เรามาดูวิธีการกันเลยนะครับ
คำสั่งหรือโปรแกรมประยุกต์ที่ใช้คือ gdalwarp ส่วน option หรือ ทางเลือกที่จะใช้คือ -ts width height ดังนี้ครับ
>>>gdalwarp -ts width height inputfile outputfile
ตัวอย่างการใช้งานมีดังนี้ครับ
>>>gdalwarp -ts 1200 1200 abc300.tif abc1200.tif
ปล. หากต้องการระบุวิธี resampling ให้เพิ่มทางเลือก -r xxxx นะครับ เช่น -r bilinear, cubic, cubicspline หรือ lanczos. แต่ถ้าไม่ระบุโปรแกรมจะใช้วิธี nearest เป็นค่าเริ่มต้นครับ
คำสั่งหรือโปรแกรมประยุกต์ที่ใช้คือ gdalwarp ส่วน option หรือ ทางเลือกที่จะใช้คือ -ts width height ดังนี้ครับ
>>>gdalwarp -ts width height inputfile outputfile
ตัวอย่างการใช้งานมีดังนี้ครับ
>>>gdalwarp -ts 1200 1200 abc300.tif abc1200.tif
ปล. หากต้องการระบุวิธี resampling ให้เพิ่มทางเลือก -r xxxx นะครับ เช่น -r bilinear, cubic, cubicspline หรือ lanczos. แต่ถ้าไม่ระบุโปรแกรมจะใช้วิธี nearest เป็นค่าเริ่มต้นครับ
การแปลงไฟล์แผนที่ GIS จาก MapInfo เป็น Shapefile
Download จาก http://www.ajarnveerapong.com/download/ogr2gui.zip
วันอังคารที่ 11 มิถุนายน พ.ศ. 2556
การแปลงค่าพิกัดจากองศา ลิปดา ฟิลิปดา เป็น แบบองศาทศนิยม
การแปลงค่าพิกัดจาก องศา ลิปดา ฟิลิปดา (hddd?ddd’ddd.ddd’’) และ องศา ลิปดา ฟิลิปดา (hddd?ddd.ddd’)
เป็น แบบองศาทศนิยม (hddd.ddd?)
ตัวอย่างที่ 1 องศา ลิปดา ฟิลิปดา (hddd?ddd’ddd.ddd’’)
Lat 13? 45’ 53.7’’ N
Long 100? 32' 17.9’’ E
ขั้นตอนที่ 1 หาค่าลิปดา นำค่าลิปดาหารด้วย 60 จะได้
Lat 13? 45’ 53.7’’ N
ลิปดา = 45/60
ลิปดา = 0.75
Long 100? 32' 17.9’’ E
ลิปดา = 32/60
ลิปดา = 0.533
ขั้นตอนที่ 2 หาค่าฟิลิปดา นำค่าฟิลิปดาหารด้วย 3600 จะได้
Lat 13? 45’ 53.7’’ N
ฟิลิปดา = 53.7/3600
ฟิลิปดา = 0.014916
Long 100? 32' 17.9’’ E
ฟิลิปดา = 17.9/3600
ฟิลิปดา = 0.004972
ขั้นตอนที่ 3 นำค่าลิปดาจากขั้นตอนที่ 1 + ค่าฟิลิปดาจากขั้นตอนที่ 2
Lat 13? 45’ 53.7’’ N
ลิปดา = 45/60
ลิปดา = 0.75
Lat 13? 45’ 53.7’’ N
ฟิลิปดา = 53.7/3600
ฟิลิปดา = 0.014916
Lat 13? 45’ 53.7’’ N
= 13? + (0.75+0.014916)
= 13? + 0.764916
ดังนั้น Lat = 13.764916? N
Long 100? 32' 17.9’’ E
ลิปดา = 32/60
ลิปดา = 0.533
Long 100? 32' 17.9’’ E
ฟิลิปดา = 17.9/3600
ฟิลิปดา = 0.004972
Long 100? 32' 17.9’’ E
= 100? + (0.533+0.004972)
= 100? + 0.537972
ดังนั้น Long = 100.537972? E
สรุป
Lat 13? 45’ 53.7’’ N = Lat 13.764916? N
Long 100? 32' 17.9’’ E = Long 100.537972? E
สมัครสมาชิก:
บทความ (Atom)