gdalbuildvrt กับ Virtual Mosaic Overlaped image

Standard

ครั้งนี้เจอปัญหา ที่จะทำให้ผู้ใช้ทำการ Request data จาก WCS โดยที่ data นั้นมี pixel ที่ overlap กันอยู่ได้ (ในกรณี คือข้อมูล MOD11A1 ที่ในส่วน overlap นั้นมี scene หนึ่งมีค่าเป็น nodata และอีก scene มีค่าข้อมูลอยู่)

โดยปกติถ้าทำการใช้เทคนิค Tiling ธรรมดา ใน Mapserver เมื่อทำ request พื้นที่ overlap ก็จะอาจจะได้ค่าข้อมูลในส่วนนั้นเป็น nodata ขี้นอยู่กับ order ของชั้นข้อมูลว่าอะไรอยู่บน หรือ ล่าง

เมื่อทำการหาข้อมูลเพิ่มเติม ก็มีผู้แนะนำให้ใช้ gdalbuildvrt ทำการสร้าง VRT file ขึ้นมาให้เหมือนเป็นการ Virtual Mosaic ซึ่งในการสร้างก็จะมี option -srcnodata ทำให้สามารถข้ามค่าข้อมูลนั้น ไปได้ แต่มันรองรับหลังจาก version 1.7.0 เท่านั้น

มีข้อพึงระวัง อยู่ 3 อย่างในการทำ vrt

- ต้องมี Projection / Coordinate เดียวกัน

- Spaitial resolution เท่ากัน

- Band order เหมือนกัน

กลเม็ดต่างๆของ GDAL

Standard

หลายครั้งที่ท่านต้องการเปิดไฟล์ แปลงไฟล์ อ่านข้อมูลของไฟล์ Raster วันนี้เรามาเสนอ วิธีง่าย ๆ ที่ทำได้ด้วย command ของ gdal นะครับ

1. ดู metadata ของ Raster file

gdalinfo 20041117/20041117B1.tif

2. ทำการแปลงไฟล์จากชนิดหนึ่งไปเป็นอีกชนิดหนึ่ง ในแบบ simple โดยใช้ parameter เพิ่มเติมได้มากกว่านี้

gdal_translate -of GTiff 20030919/20030919B1 output.tif

3. ทำการแปลงไฟล์ด้วยคำสั่ง gdal_wrap (ตย. เป็นการแตกไฟล์ของ HDF4)

gdalwarp -of ENVI -ot Byte HDF4_EOS:EOS_SWATH:”prdat014.dat”:VNIR_Swath:ImageData3N /home/art/aster/2004111702/2004111702B3N

4. ทำการสร้าง composite ไฟล์ โดยการรวมหลาย ๆ Band

gdal_merge.py -o stack.tif -separate a.tif b.tif c.tif

หลายละเอียดของ option ดูได้จากที่นี่ gdal

เพิ่มเติมจาก blog ของ Markus http://gfoss.blogspot.com/2008/06/gdal-raster-data-tips-and-tricks.html