LANDSAT5 - WordPress.com · 1.2 น าไฟล์นี้ไปเปิดใน MS Excel...

23
Pukapu - 020155 1 การใส่ค่าพิกัดให้กับข้อมูลภาพถ่ายจากดาวเทียม มีหลายวิธีที่จะใส่ค่าพิกัดให้กับข้อมูลภาพถ่ายจากดาวเทียมจากแหล่งข้อมูลอ้างอิงต่างๆ ไม่ว่าจะเป็น ข้อมูลถนน แผนที่สภาพภูมิประเทศ ข้อมูลภาพถ่ายทางอากาศ หรือข้อมูลภาพถ่ายจากดาวเทียมด้วยกัน ซึ่งก็ เช่นเดียวกันคือมีหลากหลายโปรแกรมที่สามารถทาได้ง่ายและรวดเร็ว ถ้ามีข้อมูล 1 หรือ 2 ภาพก็ไม่ใช่ปัญหา อะไร แต่ถ้าเป็นพันภาพล่ะ ก็ต้องมานั่งใส่ค่าพิกัดกันนานหลายเดือน ในเอกสารนี้เพียงแต่ต้องการนาเสนอ วิธีการแบบหนึ่งที่ใช้ในการใส่ค่าพิกัดภาพแบบกึ่งอัตโนมัติ ให้กับข้อมูลภาพตัวอย่าง (Quick Look) ของ ข้อมูลภาพถ่ายจากดาวเทียม LANDSAT5 เพื่อที่จะสามารถนาไปดูได้ในเบื้องต้นว่า Path/Row ที่ต้องการมี ปริมาณเมฆมากน้อยแค่ไหน ในบริเวณพื้นที่ข้างเคียงเป็นยังไงบ้าง วิธีการนี้อาจจะไม่ใช่วิธีการที่ดีที่สุด แต่ก็ เสนอไว้เป็นทางเลือก ใช้เวลาทาประมาณ 1 ชั่วโมงสาหรับการใส่ค่าพิกัดจานวน 2,500 ภาพ จริงๆ จะกี่ภาพก็ ใช้เวลาประมาณนี้ ซึ่งการทาแบบนี้ไม่ต้องการความถูกต้องมาก เพียงแค่ใช้ดูคร่าวๆเฉยๆ โดยเน้นที่ตาแหน่ง ของ Path/Row ในข้อมูลภาพเป็นหลัก ในเอกสารนี้จะทาเพื่อเป็นตัวอย่างจานวน 25 ภาพเท่านั้น ข้อมูลและโปรแกรมที่ใช้ประกอบไปด้วย 3 อย่าง คือ 1. ข้อมูลภาพตัวอย่างที่ไม่มีค่าพิกัด แต่มีชื่อเป็นเลข Path/Row กับวันที่ถ่ายภาพ 2. ดัชนี Path/Row ของข้อมูลภาพถ่ายจากดาวเทียม LANDSAT5 ทั่วโลก ซึ่งมีค่าพิกัดเป็น Latitude, Longitude (ดาวน์โหลดจากเว็บไซด์ http://landsat.usgs.gov/tools_wrs-2_shapefile.php เลือกที่เป็นแบบ wrs2_descending)

Transcript of LANDSAT5 - WordPress.com · 1.2 น าไฟล์นี้ไปเปิดใน MS Excel...

Page 1: LANDSAT5 - WordPress.com · 1.2 น าไฟล์นี้ไปเปิดใน MS Excel เพื่อเลือก Path/Row . Pukapu - 020155 5 . Pukapu - 020155 6 1.3 เช็ค

Pukapu - 020155

1

การใส่ค่าพิกัดให้กับข้อมูลภาพถ่ายจากดาวเทียม

มีหลายวิธีที่จะใส่ค่าพิกัดให้กับข้อมูลภาพถ่ายจากดาวเทียมจากแหล่งข้อมูลอ้างอิงต่างๆ ไม่ว่าจะเป็นข้อมูลถนน แผนที่สภาพภูมิประเทศ ข้อมูลภาพถ่ายทางอากาศ หรือข้อมูลภาพถ่ายจากดาวเทียมด้วยกัน ซึ่งก็เช่นเดียวกันคือมีหลากหลายโปรแกรมที่สามารถท าได้ง่ายและรวดเร็ว ถ้ามีข้อมูล 1 หรือ 2 ภาพก็ไม่ใช่ปัญหาอะไร แต่ถ้าเป็นพันภาพล่ะ ก็ต้องมานั่งใส่ค่าพิกัดกันนานหลายเดือน ในเอกสารนี้เพียงแต่ต้องการน าเสนอวิธีการแบบหนึ่งที่ใช้ในการใส่ค่าพิกัดภาพแบบกึ่งอัตโนมัติ ให้กับข้อมูลภาพตัวอย่าง (Quick Look) ของข้อมูลภาพถ่ายจากดาวเทียม LANDSAT5 เพ่ือที่จะสามารถน าไปดูได้ในเบื้องต้นว่า Path/Row ที่ต้องการมีปริมาณเมฆมากน้อยแค่ไหน ในบริเวณพ้ืนที่ข้างเคียงเป็นยังไงบ้าง วิธีการนี้อาจจะไม่ใช่วิธีการที่ดีที่สุด แต่ก็เสนอไว้เป็นทางเลือก ใช้เวลาท าประมาณ 1 ชั่วโมงส าหรับการใส่ค่าพิกัดจ านวน 2,500 ภาพ จริงๆ จะกี่ภาพก็ใช้เวลาประมาณนี้ ซึ่งการท าแบบนี้ไม่ต้องการความถูกต้องมาก เพียงแค่ใช้ดูคร่าวๆเฉยๆ โดยเน้นที่ต าแหน่งของ Path/Row ในข้อมูลภาพเป็นหลัก ในเอกสารนี้จะท าเพ่ือเป็นตัวอย่างจ านวน 25 ภาพเท่านั้น

ข้อมูลและโปรแกรมท่ีใช้ประกอบไปด้วย 3 อย่าง คือ

1. ข้อมูลภาพตัวอย่างที่ไม่มีค่าพิกัด แต่มีชื่อเป็นเลข Path/Row กับวันที่ถ่ายภาพ

2. ดัชนี Path/Row ของข้อมูลภาพถ่ายจากดาวเทียม LANDSAT5 ทั่วโลก ซึ่งมีค่าพิกัดเป็น Latitude, Longitude

(ดาวน์โหลดจากเว็บไซด์ http://landsat.usgs.gov/tools_wrs-2_shapefile.php เลือกที่เป็นแบบ wrs2_descending)

Page 2: LANDSAT5 - WordPress.com · 1.2 น าไฟล์นี้ไปเปิดใน MS Excel เพื่อเลือก Path/Row . Pukapu - 020155 5 . Pukapu - 020155 6 1.3 เช็ค

Pukapu - 020155

2

3. โปรแกรม ArcMap, ArcView, MS Excel, ACDSee และ FWTools (http://fwtools.maptools.org/)

ผลลัพธ์ที่ได้จากการค่าใส่พิกัดดังนี้

Page 3: LANDSAT5 - WordPress.com · 1.2 น าไฟล์นี้ไปเปิดใน MS Excel เพื่อเลือก Path/Row . Pukapu - 020155 5 . Pukapu - 020155 6 1.3 เช็ค

Pukapu - 020155

3

วิธีการท าในเบื้องต้นมีดังนี้

1. เลือกตัวเลข Path/Row ที่ต้องการจากข้อมูลภาพตัวอย่าง

2. เลือกดัชนี Path/Row (Shapefile) จากข้อมูลภาพตัวอย่าง

3. ค านวณค่าพิกัดท้ัง 4 มุมของกรอบภาพในแต่ละดัชนี Path/Row

4. ค านวณค่าพิกัดท้ัง 4 มุมของเนื้อภาพในแต่ละดัชนี Path/Row

5. ปรับข้อมูลภาพตัวอย่างทุกภาพให้มีขนาดเท่ากัน

6. ใส่ค่าพิกัดให้กับข้อมูลภาพตัวอย่าง

Page 4: LANDSAT5 - WordPress.com · 1.2 น าไฟล์นี้ไปเปิดใน MS Excel เพื่อเลือก Path/Row . Pukapu - 020155 5 . Pukapu - 020155 6 1.3 เช็ค

Pukapu - 020155

4

1. เลือกตัวเลข Path/Row ที่ต้องการจากข้อมูลภาพตัวอย่าง

1.1 ใช้ค าสั่ง dir /b/s > list.txt ใน DOS เพ่ือพิมพ์ที่อยู่และรายชื่อของข้อมูลภาพตัวอย่างทั้งหมด

1.2 น าไฟล์นี้ไปเปิดใน MS Excel เพ่ือเลือก Path/Row

Page 5: LANDSAT5 - WordPress.com · 1.2 น าไฟล์นี้ไปเปิดใน MS Excel เพื่อเลือก Path/Row . Pukapu - 020155 5 . Pukapu - 020155 6 1.3 เช็ค

Pukapu - 020155

5

Page 6: LANDSAT5 - WordPress.com · 1.2 น าไฟล์นี้ไปเปิดใน MS Excel เพื่อเลือก Path/Row . Pukapu - 020155 5 . Pukapu - 020155 6 1.3 เช็ค

Pukapu - 020155

6

1.3 เช็ค Path/Row ไม่ให้ซ้ ากัน

- ใช้ Advanced Filter ที่ Data --- Filter --- advanced

- ก าหนดค่าดังรูป

Page 7: LANDSAT5 - WordPress.com · 1.2 น าไฟล์นี้ไปเปิดใน MS Excel เพื่อเลือก Path/Row . Pukapu - 020155 5 . Pukapu - 020155 6 1.3 เช็ค

Pukapu - 020155

7

1.4 ก๊อปปี้ Path/Row ที่ไม่ซ้ ากันไปยังเอกสารใหม่ (Sheet) และเปลี่ยน Path/Row จาก Text ให้เป็นตัวเลข

1.5 บันทึกไฟล์ (list1.xlsx --- Sheet1)

Page 8: LANDSAT5 - WordPress.com · 1.2 น าไฟล์นี้ไปเปิดใน MS Excel เพื่อเลือก Path/Row . Pukapu - 020155 5 . Pukapu - 020155 6 1.3 เช็ค

Pukapu - 020155

8

2. เลือกดัชนี Path/Row (Shapefile) จากข้อมูลภาพตัวอย่าง

2.1 เปิดดัชนี Path/Row ของข้อมูลภาพถ่ายจากดาวเทียม LANDSAT5 ใน ArcMap

2.2 ท าการ Join ระหว่างหัวข้อ PR ของข้อมูลดัชนี Path/Row ของข้อมูลภาพถ่ายจากดาวเทียม LANDSAT5 กับหัวข้อ noRepeat ในไฟล์และเอกสารของ Excel ที่ได้บันทึกไว้ และเลือกแบบ Keep only matching records

Page 9: LANDSAT5 - WordPress.com · 1.2 น าไฟล์นี้ไปเปิดใน MS Excel เพื่อเลือก Path/Row . Pukapu - 020155 5 . Pukapu - 020155 6 1.3 เช็ค

Pukapu - 020155

9

2.3 บันทึกเป็น Shapefile ใหม ่(index_ls5_23.shp)

3. ค านวณค่าพิกัดทั้ง 4 มุมของกรอบภาพในแต่ละดัชนี Path/Row

3.1 เปิดโปรแกรม ArcView และเปิด Shapefile (index_ls5_23.shp) ที่ได้บันทึกไว้ในข้อ 2.3

3.2 สร้างคอลัมน์ใหม่ 4 คอลัมน์ เพ่ือเก็บค่าพิกัด 4 มุมของกรอบภาพในแต่ละ Path/Row

3.3 ค านวณค่าพิกัด 4 มุมของกรอบภาพ จากสมการ

Page 10: LANDSAT5 - WordPress.com · 1.2 น าไฟล์นี้ไปเปิดใน MS Excel เพื่อเลือก Path/Row . Pukapu - 020155 5 . Pukapu - 020155 6 1.3 เช็ค

Pukapu - 020155

10

minLat = [Shape].returnextent.getbottom

maxLat = [Shape].returnextent.gettop

minLong = [Shape].returnextent.getleft

maxLong = [Shape].returnextent.getright

3.4 บันทึกไฟล์เดิม (index_ls5_23.shp)

4. ค านวณค่าพิกัดทั้ง 4 มุมของเนื้อภาพในแต่ละดัชนี Path/Row

4.1 เปิดไฟล์ *.dbf ของ Shapefile (index_ls5_23.shp) จากข้อ 3.4

4.2 บันทึกเป็นชื่อไฟล์ใหม่ของ MS Excel (index_ls5_23.xlsx)

4.3 อาจจะลบคอลัมน์อ่ืนๆ ทิ้ง ที่ไม่ต้องการ ยกเว้น 5 คอลัมน์ คือ PR, minLat, maxLat, minLong, และ maxLong

Page 11: LANDSAT5 - WordPress.com · 1.2 น าไฟล์นี้ไปเปิดใน MS Excel เพื่อเลือก Path/Row . Pukapu - 020155 5 . Pukapu - 020155 6 1.3 เช็ค

Pukapu - 020155

11

4.4 ค านวณค่าพิกัด 4 มุมของเนื้อภาพ จากสมการ

Long Lat

1 minLong + x maxLat 2 maxLong maxLat - b 3 maxLong - y minLat 4 minLong minLat + a

ค่า a, b, x, และ y วัดมาจากข้อมูลภาพตัวอย่างที่เคยมีการใส่ค่าพิกัดไว้แล้ว ซึ่งก าหนดให้เป็นค่าคงที่ส าหรับการใส่ค่าพิกัดให้กับเนื้อภาพในแต่ละ Path/Row ต่างๆ ที่จะมีค่าใกล้เคียงกัน

Page 12: LANDSAT5 - WordPress.com · 1.2 น าไฟล์นี้ไปเปิดใน MS Excel เพื่อเลือก Path/Row . Pukapu - 020155 5 . Pukapu - 020155 6 1.3 เช็ค

Pukapu - 020155

12

จุดที่ 1

จุดที่ 2

Page 13: LANDSAT5 - WordPress.com · 1.2 น าไฟล์นี้ไปเปิดใน MS Excel เพื่อเลือก Path/Row . Pukapu - 020155 5 . Pukapu - 020155 6 1.3 เช็ค

Pukapu - 020155

13

จุดที่ 3

Page 14: LANDSAT5 - WordPress.com · 1.2 น าไฟล์นี้ไปเปิดใน MS Excel เพื่อเลือก Path/Row . Pukapu - 020155 5 . Pukapu - 020155 6 1.3 เช็ค

Pukapu - 020155

14

จุดที่ 4

4.5 บันทึกไฟล์ (index_ls5_23.xlsx)

4.6 น าไฟล์ MS Excel จากข้อ 1.2 (list1.xlsx --- list) มาเปิดกับโปรแกรม ArcMap ซึ่งจะมีรายการของ Path/Row ทั้งหมดอยู่ (25 รายการ) ในหัวข้อ PRn

Page 15: LANDSAT5 - WordPress.com · 1.2 น าไฟล์นี้ไปเปิดใน MS Excel เพื่อเลือก Path/Row . Pukapu - 020155 5 . Pukapu - 020155 6 1.3 เช็ค

Pukapu - 020155

15

4.7 Join PRn กับไฟล์ในข้อ 4.5 หัวข้อ PR ซึ่งมี Data Type เป็นตัวเลขเหมือนกัน การ Join นี้จะท าให้น าค่าพิกัดของเนื้อภาพและกรอบภาพเชื่อมโยงไปยัง Path/Row ที่ซ้ ากันด้วย ซึ่งใน Path/Row เดียวกัน แต่ภาพถ่ายคนละวันที่กันก็จะมีค่าพิกัดเหมือนกัน สามารถน ามาซ้อนทับกันได้

Page 16: LANDSAT5 - WordPress.com · 1.2 น าไฟล์นี้ไปเปิดใน MS Excel เพื่อเลือก Path/Row . Pukapu - 020155 5 . Pukapu - 020155 6 1.3 เช็ค

Pukapu - 020155

16

4.8 หลังจากท่ี Join เสร็จแล้ว ให้เปิดตารางที่ Join เลือก Select All และ Export ไปเป็น *.dbf (join.dbf)

4.9 เปิดไฟล์ Join.dbf กับ MS Excel และบันทึกเป็นไฟล์ใหม่ Join.xlsx หัวข้อของไฟล์จะมีการเปลี่ยนแปลงไปแต่ต าแหน่งและข้อมูลภายในยังคงเหมือนเดิม

4.10 ลบหัวข้อหรือคอลัมน์ที่ไม่ได้ใช้งานทิ้งไปและเปลี่ยนชื่อหัวข้อใหม่

4.11 บันทึกไฟล์เดิม (Join.xlsx)

Page 17: LANDSAT5 - WordPress.com · 1.2 น าไฟล์นี้ไปเปิดใน MS Excel เพื่อเลือก Path/Row . Pukapu - 020155 5 . Pukapu - 020155 6 1.3 เช็ค

Pukapu - 020155

17

5. ปรับข้อมูลภาพตัวอย่างทุกภาพให้มีขนาดเท่ากัน

5.1 ปรับขนาดของข้อมูลภาพตัวอย่างทุกภาพให้มีขนาดเท่ากับ 514 x 422 pixel ในโปรแกรม ACDSee

5.2 ก าหนดค่าดังรูป

Page 18: LANDSAT5 - WordPress.com · 1.2 น าไฟล์นี้ไปเปิดใน MS Excel เพื่อเลือก Path/Row . Pukapu - 020155 5 . Pukapu - 020155 6 1.3 เช็ค

Pukapu - 020155

18

5.3 ทุกรูปจะมีขนาด 514 x 422 pixel เท่ากัน

6. ใส่ค่าพิกัดให้กับข้อมูลภาพตัวอย่าง

6.1 เปิดไฟล์ Join.xlsx

6.2 มี 2 ค าสั่งที่จะต้องสร้างใน Join.xlsx เพ่ือที่จะน าไปประมวลผลที่โปรแกรม FWTools คือ gdal_translate และ gdalwarp ซึ่งมีโครงสร้างประโยคเบื้องต้นตามนี้

gdal_translate

-gcp pixel_X1 pixel_Y1 coordinate_Long1 coordinate_Lat1

-gcp pixel_X2 pixel_Y2 coordinate_Long2 coordinate_Lat2

-gcp pixel_X3 pixel_Y3 coordinate_Long3 coordinate_Lat3

-gcp pixel_X4 pixel_Y4 coordinate_Long4 coordinate_Lat4

ไฟล์น ำเข้ำ ไฟล์ส่งออก

gdalwarp -r cubic -t_srs epsg:4326

ไฟล์น ำเข้ำ ไฟล์ส่งออก

Page 19: LANDSAT5 - WordPress.com · 1.2 น าไฟล์นี้ไปเปิดใน MS Excel เพื่อเลือก Path/Row . Pukapu - 020155 5 . Pukapu - 020155 6 1.3 เช็ค

Pukapu - 020155

19

6.3 ท าการสร้างประโยคดังกล่าวจากข้อมูลที่มีใน Join.xlsx ซึ่งได้เตรียมไว้ก่อนหน้านี้ โดยใช้ค าสั่ง Concatenate เพ่ือท าการเชื่อมต่อตัวอักษร

6.4 ข้อมูลเพิ่มเติมการสร้างค าสั่ง

6.5 gdal_translate

=CONCATENATE("gdal_translate -gcp 36 0 ",C2," ",D2," -gcp 503 0 ",E2," ",F2," -gcp 478 421 ",G2," ",H2," -gcp 10 421 ",I2," ",J2," ",A2," D:\",RIGHT(A2,21))

Page 20: LANDSAT5 - WordPress.com · 1.2 น าไฟล์นี้ไปเปิดใน MS Excel เพื่อเลือก Path/Row . Pukapu - 020155 5 . Pukapu - 020155 6 1.3 เช็ค

Pukapu - 020155

20

6.6 gdalwarp

=CONCATENATE("gdalwarp -r cubic -t_srs epsg:4326 D:\",RIGHT(A2,21)," E:\",RIGHT(A2,21))

Page 21: LANDSAT5 - WordPress.com · 1.2 น าไฟล์นี้ไปเปิดใน MS Excel เพื่อเลือก Path/Row . Pukapu - 020155 5 . Pukapu - 020155 6 1.3 เช็ค

Pukapu - 020155

21

6.7 ก๊อปปี้ 2 ค าสั่งไปวาง (วางแบบค่า) ไว้ที่ Sheet ใหม ่

6.8 บันทึกไฟล์เดิม (Join.xlsx) และบันทึกเป็น Text (Tab delimited)(*.txt)

6.9 เปลี่ยนนามสกุล *.txt จากข้อ 6.8 ไปเป็น *.bat

6.10 เปิดโปรแกรม FWTools Shell และรนัไฟล์ *.bat จากข้อ 6.9

Page 22: LANDSAT5 - WordPress.com · 1.2 น าไฟล์นี้ไปเปิดใน MS Excel เพื่อเลือก Path/Row . Pukapu - 020155 5 . Pukapu - 020155 6 1.3 เช็ค

Pukapu - 020155

22

Page 23: LANDSAT5 - WordPress.com · 1.2 น าไฟล์นี้ไปเปิดใน MS Excel เพื่อเลือก Path/Row . Pukapu - 020155 5 . Pukapu - 020155 6 1.3 เช็ค

Pukapu - 020155

23

6.11 จะได้ข้อมูลทีต้่องการ อยู่ใน E:\ ตามทีไ่ด้สรา้งไว้