เครื่องมือ earthengine
เป็นโปรแกรมยูทิลิตีที่ช่วยให้คุณจัดการชิ้นงานและงานของ Earth Engine จากบรรทัดคำสั่งได้ ระบบจะติดตั้งโดยอัตโนมัติเมื่อคุณติดตั้ง Python API หากต้องการตรวจสอบว่าติดตั้งเครื่องมือแล้วและทํางานอย่างถูกต้องหรือไม่ ให้พิมพ์ข้อมูลต่อไปนี้ในบรรทัดคําสั่ง
earthengine
หากติดตั้งเครื่องมืออย่างถูกต้อง ระบบจะพิมพ์สรุปสั้นๆ ของคำสั่งที่ใช้ได้ หากต้องการความช่วยเหลือเกี่ยวกับคําสั่งที่เฉพาะเจาะจง ให้ใช้คำสั่งต่อไปนี้
earthengine command -h
เมื่อติดตั้ง Python API เป็นครั้งแรก คุณต้องลงชื่อเข้าใช้โดยใช้คำสั่ง authenticate
ที่อธิบายไว้ด้านล่าง ส่วนต่อไปนี้จะอธิบายคําสั่งที่ใช้ได้อย่างละเอียด
ข้อมูลเข้าสู่ระบบบัญชีบริการ
หากต้องการใช้ CLI กับข้อมูลเข้าสู่ระบบของบัญชีบริการ ให้ใช้ Flag 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
เพื่อตั้งค่าโปรเจ็กต์ Cloud สําหรับคําสั่ง 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
จะตั้งค่าพร็อพเพอร์ตี้ข้อมูลเมตาแต่ละรายการในเนื้อหา
ค่าของพร็อพเพอร์ตี้ข้อมูลเมตาที่คุณตั้งอาจเป็นตัวเลขหรือสตริงก็ได้
เมื่อตั้งค่าชื่อพร็อพเพอร์ตี้โดยใช้ Flag --property
หรือ -p
ให้คั่นชื่อและค่าพร็อพเพอร์ตี้ด้วยเครื่องหมายเท่ากับ ระบบจะตรวจหาประเภทข้อมูลโดยอัตโนมัติ หรือคุณจะระบุประเภทข้อมูลอย่างชัดเจนก็ได้โดยใส่ (string)
, (number)
หรือ (date)
ต่อหน้าชื่อพร็อพเพอร์ตี้ ตัวอย่างเช่น คำสั่งนี้จะตั้งค่าพร็อพเพอร์ตี้ที่มีค่าสตริงเป็น "42"
earthengine asset set -p '(string)name=42' 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 คุณตั้งค่าพร็อพเพอร์ตี้เวลาเริ่มต้นและเวลาสิ้นสุดพิเศษได้โดยใช้ Flag --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
เพื่อสร้างโฟลเดอร์หลักแบบซ้ำตามต้องการ โฟลเดอร์และรูปภาพที่สร้างขึ้นใหม่จะมี 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
คุณสามารถใช้ Flag -r
เพื่อลบเนื้อหาของโฟลเดอร์หรือคอลเล็กชันแบบซ้ำ เพื่อความปลอดภัยเมื่อลบชิ้นงานหลายรายการ คุณสามารถใช้Flag --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
Flag ซึ่งตั้งค่าเป็น 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
คุณสามารถระบุค่า "ไม่มีข้อมูล" ได้โดยใช้ Flag --nodata_value
ซึ่งจะปิดบังพิกเซลในรูปภาพที่มีค่านั้น
earthengine upload image --asset_id=users/myuser/asset --nodata_value=255 gs://bucket/image.tif
นอกจากนี้ คุณยังระบุพร็อพเพอร์ตี้ข้อมูลเมตาที่จะตั้งค่าในเนื้อหาได้โดยใช้ Flag เดียวกันกับที่คำสั่ง 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 alpha 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 ของรูปภาพ