เครื่องมือ 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 ใน 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
ข้อมูลอ้างอิงเกี่ยวกับคำสั่ง
ตรวจสอบสิทธิ์
ตรวจสอบสิทธิ์เครื่องมือบรรทัดคำสั่งและไลบรารีของไคลเอ็นต์ 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
สิทธิ์ไม่ได้เพิกถอนสิทธิ์เพิ่มเติมที่คุณอาจให้แก่ผู้ใช้แต่ละรายด้วย
)
ชิ้นงาน
พิมพ์หรืออัปเดตข้อมูลเมตาที่เชื่อมโยงกับชิ้นงาน 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 และแพลตฟอร์มที่คุณใช้)
หากต้องการลบพร็อพเพอร์ตี้ ให้ตั้งค่าเป็น null โดยไม่มีประเภท
earthengine asset set -p name=null projects/my-project/assets/asset_id
พร็อพเพอร์ตี้วันที่เป็นเพียงตัวเลขที่แสดงจำนวนมิลลิวินาทีนับตั้งแต่ Epoch ของ 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
สร้าง
สร้างโฟลเดอร์และคอลเล็กชันรูปภาพใหม่ ตัวอย่าง
earthengine create folder projects/my-project/assets/folder_id
earthengine create collection projects/my-project/assets/collection_id
ใช้คำสั่งย่อย folder เพื่อสร้างโฟลเดอร์ และ collection เพื่อสร้าง
คอลเล็กชันรูปภาพ คุณระบุ-p option เพื่อสร้างโฟลเดอร์หลักแบบเรียกซ้ำได้ตามต้องการ โฟลเดอร์และรูปภาพที่สร้างใหม่จะมี ACL ส่วนตัวโดยค่าเริ่มต้น
ls
แสดงเนื้อหาของโฟลเดอร์หรือคอลเล็กชันอย่างน้อย 1 รายการ ตัวอย่าง
earthengine ls users/username
ตัวเลือก -l จะขอรูปแบบยาวที่มีข้อมูลเพิ่มเติมเกี่ยวกับชิ้นงานแต่ละรายการ
(ปัจจุบันมีเพียงประเภทของชิ้นงาน) คุณระบุ --max_items number (หรือ -m สำหรับ
แบบย่อ) เพื่อจำกัดจำนวนรายการจากแต่ละโฟลเดอร์หรือคอลเล็กชันที่คุณแสดงได้ดังนี้
earthengine ls -m 10 projects/my-project/assets/my_large_collection
การเรียกใช้คำสั่ง ls โดยไม่มีอาร์กิวเมนต์จะแสดงรายการโฟลเดอร์ระดับบนสุดที่คุณเป็นเจ้าของ
รุ่น
เครื่องมือที่ใช้ในการจัดการโมเดล 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 ดังนี้
earthengine alpha project_config get
หากคุณมีสิทธิ์ดูการตั้งค่า งานแบบกลุ่มของโปรเจ็กต์ เอาต์พุตจะมีข้อมูลต่อไปนี้
maxConcurrentExports: ตัวเลขที่ระบุจำนวนสูงสุดของงานแบบกลุ่ม ที่สามารถทำงานแบบขนานในผู้ใช้ทั้งหมดสำหรับโปรเจ็กต์ที่กำหนด โดย ค่าเริ่มต้น ระบบจะตั้งค่านี้เป็นค่าสูงสุดที่แพ็กเกจการสมัครใช้บริการของบัญชีสำหรับการเรียกเก็บเงินที่เชื่อมโยงอนุญาต
นอกจากนี้ หากคุณมีสิทธิ์ดูการกำหนดค่าแพ็กเกจ เอาต์พุตจะมีข้อมูลต่อไปนี้
planMaxConcurrentExportsตัวเลขที่ระบุจำนวนสูงสุดของงานแบบกลุ่ม ที่สามารถเรียกใช้แบบขนานในผู้ใช้และโปรเจ็กต์ทั้งหมดที่ใช้ บัญชีสำหรับการเรียกเก็บเงิน
ตั้งค่า
หากต้องการอัปเดตการกำหนดค่าของโปรเจ็กต์ ให้ใช้คำสั่งย่อย set คุณกำหนดค่าการตั้งค่าต่อไปนี้ได้
max_concurrent_exportsเพื่อควบคุมงานแบบกลุ่ม แบบขนานสูงสุดของโปรเจ็กต์- ต้องมีสิทธิ์ที่ถูกต้อง
ตัวอย่างเช่น หากต้องการกำหนดค่าโปรเจ็กต์ให้เรียกใช้ได้สูงสุด 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 Cloud ที่ใช้กำหนดเส้นทางคำขอการคำนวณ
earthengine set_project foo-project
คุณต้องใช้คำสั่งนี้ก่อนที่จะเรียกใช้คำสั่งที่ต้องใช้ฟังก์ชันการทำงานของ Cloud เช่น model
งาน
พิมพ์ข้อมูลเกี่ยวกับหรือจัดการงานที่ใช้เวลานาน ตัวอย่าง
earthengine task list
earthengine task list -l
earthengine task info TASK_ID
earthengine task cancel TASK_ID
คำสั่งย่อย list จะแสดงข้อมูลพื้นฐานเกี่ยวกับงานที่คุณส่งเมื่อเร็วๆ นี้
ตัวเลือก -l จะขอรูปแบบยาวที่มีข้อมูลเพิ่มเติม
เกี่ยวกับแต่ละงาน คำสั่งย่อย info จะพิมพ์ข้อมูลโดยละเอียดเกี่ยวกับ
งานแต่ละรายการ cancel คำสั่งย่อยจะยกเลิกงานที่กำลังทำงานอย่างน้อย 1 งาน
อัปโหลด
อัปโหลดรูปภาพหรือตารางจาก Google Cloud Storage ไปยัง Earth Engine หรือสร้าง ชิ้นงานที่สำรองข้อมูลด้วยรูปภาพภายนอก
รูปภาพ
วิธีอัปโหลดชิ้นงานรูปภาพโดยใช้การตั้งค่าเริ่มต้น
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 ของรูปภาพ
ด้วย
โต๊ะ
หากต้องการอัปโหลด 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 ของรูปภาพ