เครื่องมือ earthengine เป็นโปรแกรมอรรถประโยชน์ที่ช่วยให้คุณจัดการชิ้นงานและงานของ Earth Engine จากบรรทัดคำสั่งได้ โดยจะติดตั้งโดยอัตโนมัติเมื่อคุณ
ติดตั้ง Python API หากต้องการตรวจสอบว่าเครื่องมือติดตั้งและทำงานอย่างถูกต้องหรือไม่ ให้พิมพ์คำสั่งต่อไปนี้ในบรรทัดคำสั่ง
earthengine
หากติดตั้งเครื่องมืออย่างถูกต้อง เครื่องมือจะพิมพ์ข้อมูลสรุปสั้นๆ เกี่ยวกับคำสั่งที่พร้อมใช้งาน หากต้องการความช่วยเหลือเกี่ยวกับคำสั่งที่เฉพาะเจาะจง ให้ใช้คำสั่งต่อไปนี้
earthengine command -h
เมื่อติดตั้ง Python API เป็นครั้งแรก คุณต้องลงชื่อเข้าใช้โดยใช้คำสั่ง authenticate ที่อธิบายไว้ด้านล่าง ส่วนต่อไปนี้จะอธิบายคำสั่งที่พร้อมใช้งานโดยละเอียด
ข้อมูลเข้าสู่ระบบบัญชีบริการ
หากต้องการใช้ CLI กับข้อมูลเข้าสู่ระบบของบัญชีบริการ ให้ใช้แฟล็ก service_account_file เพื่อชี้ไปยังไฟล์ JSON ที่มีคีย์ของบัญชีบริการ
earthengine --service_account_file=service_account_creds.json
การใช้งานใน Colab
เครื่องมือบรรทัดคำสั่งของ Earth Engine ติดตั้งไว้ล่วงหน้าและพร้อมใช้งานใน Google Colab
การตรวจสอบสิทธิ์
ตรวจสอบสิทธิ์สำหรับเซสชัน Colab ใหม่แต่ละเซสชัน หรือหากเครื่องเสมือนหมดอายุเนื่องจากไม่มีการใช้งาน (ระบบจะไม่บันทึกข้อมูลเข้าสู่ระบบในเซสชันต่างๆ)
นำเข้าไลบรารีของไคลเอ็นต์ Python แล้วเรียกใช้ ee.Authenticate() เพื่อเริ่มขั้นตอนการตรวจสอบสิทธิ์ ทำตามการแจ้งเตือนเพื่อตรวจสอบสิทธิ์ให้เสร็จสมบูรณ์ `auth_mode` เริ่มต้น
auth_modeใน Colab คือ colabโปรดดู
คู่มือการตรวจสอบสิทธิ์
สำหรับตัวเลือกอื่นๆ
import ee
ee.Authenticate()
การเรียกใช้คำสั่ง
หากต้องการเรียกใช้โปรแกรมอรรถประโยชน์บรรทัดคำสั่ง เช่น Earth Engine CLI คุณต้องเพิ่มเครื่องหมายอัศเจรีย์ไว้หน้าการเรียกใช้คำสั่ง
!earthengine -h
ตั้งค่าโปรเจ็กต์ที่อยู่ในระบบคลาวด์
ใช้ตัวเลือก --project เพื่อตั้งค่าโปรเจ็กต์ที่อยู่ในระบบคลาวด์สำหรับคำสั่ง earthengine แต่ละรายการ
!earthengine --project my-project <command>
หรือจะตั้งค่าโปรเจ็กต์เริ่มต้นให้ใช้โดยการเรียกใช้ earthengine
ทั้งหมดโดยใช้คำสั่ง set_project ก็ได้ ระบบจะเพิ่มโปรเจ็กต์ลงในไฟล์ข้อมูลเข้าสู่ระบบ (~/.config/earthengine/credentials) และใช้สำหรับคำสั่งต่อๆ ไป เว้นแต่จะมีการลบล้างโดยตัวเลือก --project
!earthengine set_project my-project
ข้อมูลอ้างอิงเกี่ยวกับคำสั่ง
authenticate
ตรวจสอบสิทธิ์เครื่องมือบรรทัดคำสั่งและไลบรารีของไคลเอ็นต์ Python กับ Earth Engine ตัวอย่าง
earthengine authenticate
Earth Engine ใช้โปรโตคอล OAuth 2.0 สำหรับ การตรวจสอบสิทธิ์ไคลเอ็นต์ คำสั่ง earthengine authenticate จะแจ้งให้คุณดำเนินการตามขั้นตอนการตรวจสอบสิทธิ์โดยใช้เว็บเบราว์เซอร์
คุณจะต้องติดตั้ง gcloud หาก
ใช้โหมดการตรวจสอบสิทธิ์ gcloud เริ่มต้น ดูโหมดการตรวจสอบสิทธิ์อื่นๆ
ที่พร้อมใช้งานผ่านพารามิเตอร์ auth_mode ในคู่มือการตรวจสอบสิทธิ์
acl
พิมพ์หรืออัปเดตรายการควบคุมการเข้าถึง (ACL) ของชิ้นงาน Earth Engine ACL จะควบคุมผู้ที่อ่านหรือเขียนชิ้นงานได้ ตัวอย่าง
earthengine acl get projects/my-project/assets/asset_id
earthengine acl set public projects/my-project/assets/asset_id
earthengine acl ch -u username@gmail.com:R projects/my-project/assets/asset_id
คำสั่งย่อย get จะพิมพ์คำอธิบาย JSON ของ ACL คำสั่งย่อย set จะตั้งค่า ACL ที่ระบุไว้ในไฟล์ที่มีรูปแบบ JSON เดียวกัน คุณสามารถคัดลอก ACL จากชิ้นงานหนึ่งไปยังชิ้นงานอื่นๆ ได้โดยบันทึกเอาต์พุตจาก get แล้วระบุเอาต์พุตดังกล่าวให้กับ set
คำสั่งย่อย set ยังยอมรับชื่อ ACL พิเศษ 2 ชื่อด้วย ได้แก่
private: นำสิทธิ์ออกจากทุกคนยกเว้นเจ้าของpublic: ให้สิทธิ์อ่านแก่ผู้ใช้ทุกคน
คำสั่งย่อย ch ช่วยให้คุณทำการเปลี่ยนแปลง ACL ทีละรายการได้ หากต้องการให้สิทธิ์อ่าน
ให้ระบุ -u username@gmail.com:R หากต้องการให้สิทธิ์เขียน ให้ระบุ
-u username@gmail.com:W และหากต้องการนำสิทธิ์ของผู้ใช้ออก ให้ระบุ -d
username@gmail.com คุณสามารถใช้ตัวระบุผู้ใช้พิเศษ AllUsers เพื่อให้หรือเพิกถอนสิทธิ์อ่านแก่ผู้ใช้ทุกคน (โปรดทราบว่าการเพิกถอนสิทธิ์ AllUsers จะ ไม่ เพิกถอนสิทธิ์เพิ่มเติมที่คุณอาจให้แก่ผู้ใช้แต่ละราย)
asset
พิมพ์หรืออัปเดตข้อมูลเมตาที่เชื่อมโยงกับชิ้นงาน Earth Engine ตัวอย่าง
earthengine asset info projects/my-project/assets/asset_id
earthengine asset set -p name=value projects/my-project/assets/asset_id
คำสั่งย่อย info จะพิมพ์ข้อมูลโดยละเอียดเกี่ยวกับชิ้นงาน ซึ่งรวมถึงข้อมูลเมตาในรูปแบบ JSON คำสั่งย่อย set จะตั้งค่าพร็อพเพอร์ตี้ข้อมูลเมตาแต่ละรายการในชิ้นงาน
ค่าของพร็อพเพอร์ตี้ข้อมูลเมตาที่คุณตั้งค่าอาจเป็นตัวเลขหรือสตริงก็ได้
เมื่อตั้งชื่อพร็อพเพอร์ตี้โดยใช้แฟล็ก --property หรือ -p ให้คั่น
ชื่อพร็อพเพอร์ตี้และค่าด้วยเครื่องหมายเท่ากับ ระบบจะตรวจหาประเภทข้อมูลโดยอัตโนมัติ หรือคุณระบุประเภทข้อมูลอย่างชัดเจนได้โดยใส่คำนำหน้าชื่อพร็อพเพอร์ตี้ด้วย (string), (number) หรือ (date) ตัวอย่างเช่น คำสั่งต่อไปนี้จะตั้งค่าพร็อพเพอร์ตี้ที่มีค่าเป็นสตริง
ด้วยค่า "42"
earthengine asset set -p '(string)name=42' projects/my-project/assets/asset_id
(เครื่องหมายคำพูดในตัวอย่างนี้จะป้องกันไม่ให้เชลล์ตีความวงเล็บ ซึ่งอาจจำเป็นหรือไม่ก็ได้ ขึ้นอยู่กับ Shell และแพลตฟอร์มของคุณ)
หากต้องการสร้างพร็อพเพอร์ตี้พิเศษสำหรับการแสดงภาพแถบการจัดประเภท คุณสามารถจัดเก็บรายการค่าและสีเป็นสตริงที่คั่นด้วยคอมมา ตัวอย่างเช่น หากต้องการตั้งค่าจานสีและค่าคลาสสำหรับแถบชื่อ landcover ให้ทำดังนี้
earthengine asset set -p 'landcover_class_palette=ff0000,00ff00,0000ff' projects/my-project/assets/asset_id
earthengine asset set -p 'landcover_class_values=1,2,3' projects/my-project/assets/asset_id
หากต้องการลบพร็อพเพอร์ตี้ ให้ตั้งค่าเป็น null โดยไม่ระบุประเภท
earthengine asset set -p name=null projects/my-project/assets/asset_id
พร็อพเพอร์ตี้วันที่เป็นเพียงตัวเลขที่แสดงจำนวนมิลลิวินาทีตั้งแต่ยุค Unix (เช่น เที่ยงคืนของวันที่ 1 มกราคม 1970) และคุณระบุพร็อพเพอร์ตี้วันที่เป็นตัวเลขโดยตรงหรือในรูปแบบใดรูปแบบหนึ่งต่อไปนี้ได้
YYYY-MM-DD
YYYY-MM-DDThh:mm:ss
YYYY-MM-DDThh:mm:ss.f
ระบบจะถือว่าเขตเวลาเป็น UTC คุณสามารถตั้งค่าพร็อพเพอร์ตี้เวลาเริ่มต้นและเวลาสิ้นสุดพิเศษโดยใช้แฟล็ก --time_start และ --time_end
earthengine asset set --time_start 1978-10-15T12:34:56 projects/my-project/assets/asset_id
cp
คัดลอกชิ้นงาน ตัวอย่าง
earthengine cp projects/my-project/assets/asset_id projects/my-project/assets/new_asset_id
create
สร้างโฟลเดอร์และคอลเล็กชันรูปภาพใหม่ ตัวอย่าง
earthengine create folder projects/my-project/assets/folder_id
earthengine create collection projects/my-project/assets/collection_id
ใช้คำสั่งย่อย folder เพื่อสร้างโฟลเดอร์ และใช้คำสั่งย่อย collection เพื่อสร้างคอลเล็กชันรูปภาพ คุณสามารถระบุตัวเลือก -p เพื่อสร้างโฟลเดอร์ระดับบนแบบเรียกซ้ำได้ตามต้องการ โฟลเดอร์และรูปภาพที่สร้างขึ้นใหม่จะมี ACL เป็นแบบส่วนตัวโดยค่าเริ่มต้น
ls
แสดงรายการเนื้อหาของโฟลเดอร์หรือคอลเล็กชันอย่างน้อย 1 รายการ ตัวอย่าง
earthengine ls users/username
ตัวเลือก -l จะขอรูปแบบยาวที่มีข้อมูลเพิ่มเติมเกี่ยวกับชิ้นงานแต่ละรายการ (ปัจจุบันมีเพียงประเภทของชิ้นงาน) คุณสามารถระบุ --max_items number (หรือ -m แบบย่อ) เพื่อจำกัดจำนวนรายการจากโฟลเดอร์หรือคอลเล็กชันแต่ละรายการที่คุณแสดงได้ดังนี้
earthengine ls -m 10 projects/my-project/assets/my_large_collection
การเรียกใช้คำสั่ง ls โดยไม่มีอาร์กิวเมนต์จะแสดงรายการโฟลเดอร์ระดับบนสุดที่คุณเป็นเจ้าของ
model
เครื่องมือสำหรับจัดการโมเดลที่บันทึกไว้ของ TensorFlow
model prepare
เตรียมโมเดลที่บันทึกไว้เพื่อแสดงผลใน Earth Engine โดยเฉพาะอย่างยิ่ง คำสั่งนี้จะแปลง SavedModel ให้อยู่ในรูปแบบที่เหมาะสำหรับการประมวลผลคำขอจาก Earth Engine (ดูข้อมูลเพิ่มเติมเกี่ยวกับ
SavedModel.)
earthengine model prepare my_source_dir my_dest_dir '{"Conv2D:0":"my_input_band"}' '{"Sigmoid:0":"my_output_band"}'
ดูข้อมูลเพิ่มเติมเกี่ยวกับโมเดล AI Platform ที่นี่ ดูตัวอย่างที่สมบูรณ์ได้ที่นี่ ที่นี่
mv
ย้ายหรือเปลี่ยนชื่อชิ้นงาน ตัวอย่าง
earthengine mv projects/my-project/assets/asset_id projects/my-project/assets/new_asset_id
project_config
ตั้งค่าการกำหนดค่าโปรเจ็กต์ โปรดตั้งค่าโปรเจ็กต์โดยใช้ set_project ก่อนใช้คำสั่งนี้
get
หากต้องการดูการกำหนดค่าโปรเจ็กต์ ให้ใช้คำสั่งย่อย get ดังนี้
earthengine alpha project_config get
หากคุณมีสิทธิ์ดูการตั้งค่างานแบบกลุ่ม ของโปรเจ็กต์ เอาต์พุตจะมีข้อมูลต่อไปนี้
maxConcurrentExports: ตัวเลขที่ระบุจำนวนสูงสุดของงานแบบกลุ่มที่สามารถทำงานแบบขนานกันในผู้ใช้ทั้งหมดสำหรับโปรเจ็กต์ที่ระบุ โดย ค่าเริ่มต้น ระบบจะตั้งค่านี้เป็นค่าสูงสุดที่แผนการสมัครใช้บริการของบัญชีสำหรับการเรียกเก็บเงิน ที่เชื่อมโยงอนุญาต
นอกจากนี้ หากคุณมี สิทธิ์ดูการกำหนดค่าแผน เอาต์พุต จะมีข้อมูลต่อไปนี้
planMaxConcurrentExports: ตัวเลขที่ระบุจำนวนสูงสุดของงานแบบกลุ่มที่สามารถทำงานแบบขนานกันในผู้ใช้และโปรเจ็กต์ทั้งหมดที่ใช้บัญชีสำหรับการเรียกเก็บเงิน
set
หากต้องการอัปเดตการกำหนดค่าของโปรเจ็กต์ ให้ใช้คำสั่งย่อย set คุณสามารถกำหนดค่าการตั้งค่าต่อไปนี้ได้
max_concurrent_exportsเพื่อควบคุมการทำงานแบบขนานของงานแบบกลุ่มสูงสุดของโปรเจ็กต์- ต้องมีสิทธิ์ที่ถูกต้อง permissions
ตัวอย่างเช่น หากต้องการกำหนดค่าโปรเจ็กต์ให้ทำงานแบบขนานได้เพียง 10 งานสำหรับโปรเจ็กต์ที่ระบุ ให้ทำดังนี้
earthengine alpha project_config set --max_concurrent_exports=10
เอาต์พุตจะแสดงการกำหนดค่าโปรเจ็กต์ที่อัปเดตแล้ว ซึ่งเหมือนกับที่
get แสดง
ดูข้อมูลเพิ่มเติมเกี่ยวกับการทำงานแบบขนานของงานแบบกลุ่มได้ที่หน้าEarth Engine โควต้า
rm
ลบชิ้นงานอย่างน้อย 1 รายการ ตัวอย่าง
earthengine rm projects/my-project/assets/asset_id
earthengine rm -r projects/my-project/assets/folder_id
คุณสามารถใช้แฟล็ก -r เพื่อลบเนื้อหาของโฟลเดอร์หรือคอลเล็กชันแบบเรียกซ้ำได้ หากต้องการความปลอดภัยเมื่อลบชิ้นงานหลายรายการ คุณสามารถใช้แฟล็ก --dry_run เพื่อตรวจสอบสิ่งที่ระบบจะลบอย่างชัดเจนโดยไม่ต้องลบจริง
set_project
ตั้งค่าโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google ที่จะใช้กำหนดเส้นทางคำขอการคำนวณ
earthengine set_project foo-project
คุณต้องเรียกใช้คำสั่งนี้ก่อนที่จะเรียกใช้คำสั่งที่ต้องใช้ฟังก์ชันการทำงานของ Cloud เช่น model
task
พิมพ์ข้อมูลเกี่ยวกับหรือจัดการงานที่ใช้เวลานาน ตัวอย่าง
earthengine task list
earthengine task list -l
earthengine task info TASK_ID
earthengine task cancel TASK_ID
คำสั่งย่อย list จะแสดงข้อมูลพื้นฐานเกี่ยวกับงานที่คุณส่งเมื่อเร็วๆ นี้ ตัวเลือก -l จะขอรูปแบบยาวที่มีข้อมูลเพิ่มเติมเกี่ยวกับงานแต่ละรายการ คำสั่งย่อย info จะพิมพ์ข้อมูลโดยละเอียดเกี่ยวกับงานแต่ละรายการ คำสั่งย่อย cancel จะยกเลิกงานที่กำลังทำงานอยู่อย่างน้อย 1 งาน
upload
อัปโหลดรูปภาพหรือตารางจาก Google Cloud Storage ไปยัง Earth Engine หรือสร้างชิ้นงานที่สำรองข้อมูลด้วยรูปภาพภายนอก
image
วิธีอัปโหลดชิ้นงานรูปภาพโดยใช้การตั้งค่าเริ่มต้น
earthengine upload image --asset_id=projects/my-project/assets/asset_id gs://bucket/image.tif
หากคุณระบุไฟล์รูปภาพอินพุตหลายไฟล์ ระบบจะตีความไฟล์เหล่านั้นเป็นไทล์ของชิ้นงานรูปภาพเดียว ดูข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกสำหรับการอัปโหลดรูปภาพไปยัง Earth Engine ได้ที่ การอัปโหลดชิ้นงานรูปภาพ: ตัวเลือกขั้นสูง
คุณสามารถระบุนโยบายการลดขนาดแบบปิรามิดโดยใช้แฟล็ก --pyramiding_policy ซึ่งตั้งค่าเป็น mean (ค่าเริ่มต้น), sample, mode, min หรือ max ได้ โดยแฟล็กนี้จะควบคุมวิธีที่ Earth Engine สร้างปิรามิดของรูปภาพเวอร์ชันที่มีความละเอียดต่ำกว่า
earthengine upload image --asset_id=projects/my-project/assets/asset_id --pyramiding_policy=sample gs://bucket/image.tif
คุณสามารถใช้ --last_band_alpha เพื่อระบุว่าควรนำมาสก์สำหรับรูปภาพมาจากช่องสัญญาณอัลฟ่าในแถบสุดท้าย
earthengine upload image --asset_id=projects/my-project/assets/asset_id --last_band_alpha gs://bucket/image.tif
คุณระบุค่าที่ไม่มีข้อมูลได้โดยใช้แฟล็ก --nodata_value ซึ่งจะมาสก์พิกเซลใดก็ตามในรูปภาพที่มีค่าดังกล่าว
earthengine upload image --asset_id=users/myuser/asset --nodata_value=255 gs://bucket/image.tif
นอกจากนี้ คุณยังระบุพร็อพเพอร์ตี้ข้อมูลเมตาที่จะตั้งค่าในชิ้นงานได้โดยใช้
แฟล็กเดียวกันกับที่คำสั่ง asset set ที่อธิบายไว้ข้างต้นยอมรับ
นอกจากนี้ ตัวเลือกต่างๆ ยังอธิบายไว้ใน
คู่มือไฟล์ Manifest ของรูปภาพ
ด้วย
table
หากต้องการอัปโหลด Shapefile, CSV หรือ TFRecord จาก Google Cloud Storage ไปยังชิ้นงานตาราง Earth Engine คุณสามารถใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้
earthengine upload table --asset_id=projects/my-project/assets/myUploadedShapefile gs://bucket/foo.shp
earthengine upload table --asset_id=projects/my-project/assets/myUploadedCSV gs://bucket/foo.csv
earthengine upload table --asset_id=projects/my-project/assets/myUploadedTFRecord gs://bucket/foo.tfrecord
มีตัวเลือกมากมายที่เกี่ยวข้องกับวิธีตีความไฟล์ CSV และ TFRecord คุณดูรายการตัวเลือกการอัปโหลดตารางทั้งหมดได้โดยไปที่ คู่มือไฟล์ Manifest ของตาราง หรือใช้คำสั่งต่อไปนี้
earthengine upload table -h
external_image
หากต้องการสร้างชิ้นงานที่สำรองข้อมูลด้วยภาพจากภายนอก ให้เรียกใช้คำสั่ง upload_image พร้อมไฟล์ Manifest
earthengine upload external_image --manifest /tmp/foo.json
ตัวอย่างไฟล์ Manifest
{
"name": "projects/{project}/assets/cogdemo1",
"tilesets": [
{ "id": "0", "sources": [{ "uris": ["gs://ee-docs-demos/COG_demo.tif"] }] }
],
"properties": {
"source": "https://code.earthengine.google.com/d541cf8b268b2f9d8f834c255698201d"
},
"startTime": "2016-01-01T00:00:00.000000000Z",
"endTime": "2016-12-31T15:01:23.000000000Z"
}
ดูรายละเอียดเพิ่มเติมเกี่ยวกับการสร้างไฟล์ Manifest ได้ใน คู่มือ Cloud GeoTIFF และ คู่มือไฟล์ Manifest ของรูปภาพ