USGS Batch Process: NASA EOS-1 Hyper spectral Image

ทำงาน กับข้อมูล Hyperion จาก Earth Observing-1 (EO-1) เลยทำให้ได้ทดลองระบบ ดาวน์โหลดภาพถ่ายดาวเทียมอัตโนมัติ ซึ่งระบบนี้ผมใช้ USGS Lib เป็นหลังบ้าน

remotesensing-09-00412-g004

โดย USGS เป็น Lib ของทีม Mapbox API ที่ทำให้เราสามารถเข้าถึงคลังข้อมูลภาพถ่ายดาวเทียมของ USGS ได้อย่างสะดวก รองรับการค้นหา และการดาวน์โหลดข้อมูลออนไลน์ผ่าน HTTP protocol

ทั้งโหมดของ CLI และ Python ทำให้ง่ายมากในการเชื่อมระบบ กับ Image Processing Service ที่พัฒนาขึ้น

บทความนี้ผมขอสาธิตตัวอย่างการทำงานเบื้องต้น ให้ได้ชม มีขั้นตอนต่อไปนี้

  1. ติดตั้ง USGS Lib จะเอา source มา compile และใช้เองก็ได้ เพราะเป็น opensource เราสามารถดาวน์โหลดได้จาก Github เลยสะดวกมาก  ซึ่งถ้าใครใช้ Linux ผมแนะนำวิธีนี้ง่ายและสะดวก
    – กรณีถ้าใช้กับ Python ก็ทำการ ติดตั้งผ่านตัว setup.py ได้ ไม่ยากเช่นกัน
  2. ที่ต้องมีคือ user account ของ USGS สมัครไม่ยาก ถ้าใครเคยเป็นสมาชิก หรือใช้งานอยู่แล้วก็ ใช้อันเดียวกับ web application นั้นได้เลย
    โดย บริการข้อมูลภาพถ่ายดาวเทียม มีเยอะ หลากหลายมาก เช่น Landsat 1-8, ASTER, AVHRR, EOS-1 Hyperion, Earth Observing-1 ALI, MODIS, Interferometric Synthetic Aperture Radar (IFSAR) เป็นต้น ตัวอย่างผมจะเน้นไปที่โหนดของ EarthExplorer
  3. การเรียกใช้งานทำไ้ด 2 แบบผ่าน
    3.1 CLI การใช้ command line ตัวอย่างเช่นusgs search –node EE EO1_HYP_PUB –start-date 20160401 –end-date 20170501 –geojson | gist -f hyperion-20160401-20170501.geojson5-13-2017 7-15-04 PM

    ผลลัพธ์ที่ได้กลับมาเป็น geojson file เป็นรายงานภาพดาวเทียมที่ค้นพบ บวกกับ geometry ของ ระวาง ของภาพถ่ายซีนต่างๆ

    5-13-2017 7-14-27 PM

3.2  เรียกผ่าน USGS API
ทำได้ไม่ยาก ใช้ python เรียกฟังกช์่นหลักๆของ USGS เช่น
usgs.api.download(dataset, node, entityids, product)
usgs.api.metadata(dataset, node, sceneids, extended=False, api_key=None)
usgs.api.search(dataset, node, lat=None, lng=None, distance=100, ll=None, ur=None, start_date=None, end_date=None, where=None, max_results=50000, starting_number=1, sort_order=’DESC’, extended=False, api_key=None)

เบื้องต้นเรามาลอง api.search เขียนโปรแกรมเบื้องต้นดังภาพ
5-13-2017 7-24-32 PM

ผลลัพธ์ที่ได้ เป็น json file จาก USGS Server

5-13-2017 7-24-49 PM

ค้นเจอต้องการข้อมูลเพิ่ม ใช้ api.metadata เรียกดูซีนเฉพาะ ที่เราต้องการได้ ดังต่อไปนี้
5-13-2017 7-35-09 PM

ผลลัพธ์ที่ได้เป็น XML ไฟล์ ระบุข้อมูลเฉพาะ header ของภาพ ที่เราต้องการ ในตัวอย่างนี้คือ Hyperion

5-13-2017 7-37-31 PM

กรณีต่อจากนี้เมื่อเราได้ metadata และ info ของ file ภาพที่เราต้องการ ครบแล้ว เราทราบ id และ scene number ที่ต้องการจากนั้นก็เริ่มใช้ api.download มาเก็บ ในเครื่อง server ของเราได้ โดยถ้าเราสามารถเขียน batch ให้มัน check การอัพเดตภาพต้นทาง เพื่อดาวน์โหลดอัตโนมัติ จากนั้นก็มาทำ GDAL Process ต่อไปได้เลย สะดวกและมีประสิทธิภาพมาก

ตัวอย่าง Sentinel-2 ที่ใช้ python ทำการ download มา

5-13-2017 7-49-27 PM

ทดลองดาวน์โหลดมาใช้งานได้ที่
https://github.com/kapadia/usgs

Advertisements

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

บลอกที่ WordPress.com .

Up ↑

%d bloggers like this: