ชำระเงินส่วน ขยาย EODAG Jupyterlab : eodag-labextension! สิ่งนี้จะนำ UI ที่เป็นมิตรมาสู่โน้ตบุ๊กของคุณ และช่วยคุณค้นหาและเรียกดูผลิตภัณฑ์ EO โดยใช้ eodag
EODAG (เกตเวย์การเข้าถึงข้อมูล Earth Observation) เป็นเครื่องมือบรรทัดคำสั่งและเฟรมเวิร์ก Python ที่เน้นปลั๊กอินสำหรับการค้นหา การรวบรวมผลลัพธ์ และการดาวน์โหลดรูปภาพที่รับรู้จากระยะไกล ในขณะเดียวกันก็เสนอ API แบบรวมสำหรับการเข้าถึงข้อมูลโดยไม่คำนึงถึงผู้ให้บริการข้อมูล EODAG SDK มีโครงสร้างเป็นสามฟังก์ชัน:
แสดงรายการประเภทผลิตภัณฑ์: รายการผลิตภัณฑ์ที่รองรับและคำอธิบาย
ค้นหาสินค้า (ตามประเภทสินค้าหรือ uid) : ค้นหาสินค้าตามเกณฑ์การค้นหาที่ให้ไว้
ดาวน์โหลดผลิตภัณฑ์ : ดาวน์โหลดผลิตภัณฑ์ “ตามสภาพ”
EODAG ได้รับการพัฒนาด้วยภาษา Python มีโครงสร้างตามสถาปัตยกรรมปลั๊กอินแบบโมดูลาร์ ขยายได้ง่ายและสามารถรวมผู้ให้บริการข้อมูลรายใหม่ได้ ปลั๊กอินสามประเภทประกอบเครื่องมือ:
ปลั๊กอินค้นหาแคตตาล็อก รับผิดชอบในการค้นหาข้อมูล (OpenSearch, CSW, ...), การสร้างเส้นทาง, การดึงข้อมูล Quicklook, รวมผลลัพธ์
ดาวน์โหลดปลั๊กอิน อนุญาตให้ดาวน์โหลดและดึงข้อมูลในเครื่อง (ผ่าน FTP, HTTP, ..) โดยอยู่ในองค์กรไดเร็กทอรีเดียวกันเสมอ
ปลั๊กอินการตรวจสอบสิทธิ์ซึ่งใช้เพื่อตรวจสอบสิทธิ์ผู้ใช้ในบริการภายนอกที่ใช้ (JSON Token, Basic Auth, OAUTH, ...)
เนื่องจาก EODAG เวอร์ชัน 2.0 สามารถเรียกใช้เป็นไคลเอ็นต์หรือเซิร์ฟเวอร์ STAC ได้
อ่านเอกสารประกอบเพื่อดูข้อมูลเชิงลึกเพิ่มเติม
EODAG พร้อมใช้งานบน PyPI:
python -m pip ติดตั้ง eodag
และด้วย conda
จากช่อง conda-forge:
conda ติดตั้ง -c conda-forge eodag
สำคัญ
การเปลี่ยนแปลงครั้งใหญ่ ใน v3.0.0 : โปรดทราบว่า EODAG มาพร้อมกับชุดการพึ่งพาขั้นต่ำ หากคุณต้องการคุณสมบัติเพิ่มเติม โปรดติดตั้งโดยใช้คุณสมบัติพิเศษที่มีอยู่อย่างใดอย่างหนึ่ง
สำหรับการดาวน์โหลด คุณจะต้องกรอกข้อมูลประจำตัวของคุณสำหรับผู้ให้บริการที่ต้องการในไฟล์การกำหนดค่าผู้ใช้ eodag ของคุณ ไฟล์จะถูกสร้างขึ้นโดยอัตโนมัติด้วยค่าว่างในการรันครั้งแรก
ตัวอย่างการใช้งานสำหรับการโต้ตอบกับ API ในโค้ด Python ของคุณ:
จาก eodag นำเข้า EODataAccessGatewaydag = EODataAccessGateway()search_results = dag.search(productType='S2_MSI_L1C',geom={'lonmin': 1, 'latmin': 43.5, 'lonmax': 2, 'latmax': 44}, # ยอมรับ รูปหลายเหลี่ยม WKT รูปร่างดี เรขาคณิต ...start='2021-01-01',end='2021-01-15')product_paths = dag.download_all(search_results)
การดำเนินการนี้จะค้นหาผลิตภัณฑ์ Sentinel 2 ระดับ 1C จากผู้ให้บริการเริ่มต้น และส่งคืนหน้าแรกของผลิตภัณฑ์ที่พบและจำนวนผลิตภัณฑ์ทั้งหมดโดยประมาณที่ตรงกับเกณฑ์การค้นหา จากนั้นมันจะดาวน์โหลดผลิตภัณฑ์เหล่านี้ โปรดตรวจสอบคู่มือผู้ใช้ Python API สำหรับรายละเอียดเพิ่มเติม
สำคัญ
การเปลี่ยนแปลงที่แตกหัก ใน v3.0.0 : search() วิธีการตอนนี้ส่งคืน SearchResult
เดียวเท่านั้นแทนที่จะเป็น tuple 2 ค่า
อินสแตนซ์ eodag สามารถเปิดเผยผ่าน REST API ที่สอดคล้องกับ STAC จากบรรทัดคำสั่ง ( จำเป็นต้องมี eodag[server]
):
$ eodag ให้บริการส่วนที่เหลือ --help การใช้งาน: eodag เสิร์ฟส่วนที่เหลือ [ตัวเลือก] เริ่มเซิร์ฟเวอร์ eodag HTTP ตั้งค่าตัวแปรสภาพแวดล้อม EODAG_CORS_ALLOWED_ORIGINS เพื่อกำหนดค่า Cross- การแบ่งปันทรัพยากรต้นทางอนุญาตให้ต้นทางเป็น URL ที่คั่นด้วยเครื่องหมายจุลภาค (เช่น 'http://somewhere,htttp://somewhere.else') ตัวเลือก: -f, --config PATH พาธไฟล์ไปยังไฟล์คอนฟิกูเรชันผู้ใช้ด้วย ข้อมูลรับรอง ค่าเริ่มต้นคือ ~/.config/eodag/eodag.yml -l, --locs PATH พาธของไฟล์ไปยังตำแหน่งไฟล์คอนฟิกูเรชันของเชปไฟล์ -d, --daemon ทำงานในโหมด daemon -w, --world รัน uvicorn โดยใช้ IPv4 0.0.0.0 (อินเทอร์เฟซเครือข่ายทั้งหมด) มิฉะนั้นจะผูกกับ 127.0.0.1 (localhost) -p, --port INTEGER พอร์ตที่จะฟัง [ค่าเริ่มต้น: 5000] --debug ทำงานในโหมดแก้ไขข้อบกพร่อง (เพื่อวัตถุประสงค์ในการพัฒนา) --help แสดงข้อความนี้และออก# run server$ eodag server-rest# รายการประเภทผลิตภัณฑ์ที่มีอยู่สำหรับผู้ให้บริการ ``peps``:$ curl "http://127.0.0.1:5000/collections?provider=peps" | jq ".collections[].id""S1_SAR_GRD""S1_SAR_OCN""S1_SAR_SLC""S2_MSI_L1C""S2_MSI_L2A"# ค้นหารายการ$ curl "http://127.0.0.1:5000/search?collections=S2_MSI_L1C&bbox=0,43,1,44&datetime=2018-01-20/2018-01-25" | jq ".numberMatched"6# รับลิงค์ดาวน์โหลด$ curl "http://127.0.0.1:5000/collections/S2_MSI_L1C/items" | jq ".features[0].assets.downloadLink.href""http://127.0.0.1:5002/collections/S2_MSI_L1C/items/S2B_MSIL1C_20240917T115259_N0511_R137_T21CWS_20240917T145134/download"# ดาวน์โหลด $ wget "http://127.0.0.1:5002/collections/S2_MSI_L1C/items/S2B_MSIL1C_20240917T115259_N0511_R137_T21CWS_20240917T145134/ดาวน์โหลด"
eodag-server
มีอยู่ใน https://hub.docker.com/r/csspace/eodag-server:
นักเทียบท่าทำงาน -p 5,000:5000 --rm csspace/eodag-server:3.0.1
คุณยังสามารถเรียกดูเซิร์ฟเวอร์ STAC API ของคุณโดยใช้เบราว์เซอร์ STAC เพียงเรียกใช้:
โคลนคอมไพล์ https://github.com/CS-SI/eodag.gitcd eodag docker-compose up# หรือสำหรับการบันทึกแบบละเอียดมากขึ้น: EODAG_LOGGING=3 docker-compose up
และเรียกดู http://127.0.0.1:5001:
สำหรับข้อมูลเพิ่มเติม โปรดดูการใช้งาน STAC REST API
เริ่มเล่นกับ CLI:
หากต้องการค้นหาผลิตภัณฑ์บางอย่าง:
ค้นหา eodag --productType S2_MSI_L1C --box 1 43 2 44 --start 2021-03-01 --end 2021-03-31
คำขอด้านบนค้นหาประเภทผลิตภัณฑ์ S2_MSI_L1C
ในกล่องขอบเขตที่กำหนดในเดือนมีนาคม 2021 โดยจะบันทึกผลลัพธ์ไว้ในไฟล์ GeoJSON ( search_results.geojson
ตามค่าเริ่มต้น)
ผลลัพธ์มีการแบ่งหน้า คุณอาจต้องการรับทุกหน้าพร้อมกันด้วย --all
หรือค้นหาผลิตภัณฑ์ที่มีการครอบคลุม coud สูงสุด 20% ด้วย --cloudCover 20
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกที่มีให้:
ค้นหา eodag --help
หากต้องการดาวน์โหลดผลลัพธ์ของการโทรครั้งก่อนเพื่อค้นหา:
ดาวน์โหลด eodag --search-results search_results.geojson
หากต้องการดาวน์โหลดเฉพาะผลลัพธ์แบบด่วนของการโทรครั้งก่อนเพื่อค้นหา:
ดาวน์โหลด eodag --quicklooks --search-results search_results.geojson
หากต้องการแสดงรายการประเภทผลิตภัณฑ์ที่มีอยู่ทั้งหมดและผู้ให้บริการที่รองรับ:
รายการอีแด็ก
หากต้องการแสดงรายการประเภทผลิตภัณฑ์ที่มีอยู่ในผู้ให้บริการที่รองรับตามที่ระบุ:
รายการ eodag -p creodias
หากต้องการดูตัวเลือกและคำสั่งทั้งหมดที่มี:
อีแด็ก --ช่วยด้วย
หากต้องการพิมพ์ข้อความบันทึก ให้เพิ่ม -v
ลงในคำสั่งหลัก eodag เช่น eodag -v list
ยิ่งให้ v
มาก (มากถึง 3) เครื่องมือก็จะละเอียดมากขึ้น สำหรับเอาต์พุตแบบละเอียดแบบเต็ม ให้ทำเช่น: eodag -vvv list
คุณพบการพิมพ์ผิดในเอกสารของเราหรือไม่? คุณสังเกตเห็นข้อผิดพลาดขณะใช้งาน EODAG หรือไม่? คุณมีข้อเสนอแนะสำหรับคุณสมบัติใหม่หรือไม่?
อย่าลังเลที่จะเปิดประเด็นหรือส่งคำขอดึง เรายินดีเป็นอย่างยิ่งที่จะมีส่วนร่วม!
สำหรับคำแนะนำในการตั้งค่าสภาพแวดล้อมการพัฒนาและวิธีการสนับสนุน eodag โปรดดูหลักเกณฑ์ในการสนับสนุน
EODAG ได้รับอนุญาตภายใต้ Apache License v2.0 ดูไฟล์ใบอนุญาตสำหรับรายละเอียด
EODAG ได้รับการสร้างสรรค์โดย CS GROUP - ประเทศฝรั่งเศส
EODAG สร้างขึ้นจากโครงการโอเพ่นซอร์สที่มีประโยชน์อย่างน่าอัศจรรย์ ดูไฟล์ประกาศสำหรับรายละเอียดเกี่ยวกับโครงการเหล่านั้นและใบอนุญาต ขอขอบคุณผู้เขียนโครงการเหล่านี้ทุกคน!