Công cụ dòng lệnh

Công cụ earthengine là một chương trình tiện ích cho phép bạn quản lý các thành phần và tác vụ của Earth Engine từ dòng lệnh. Công cụ này sẽ tự động cài đặt khi bạn cài đặt API Python. Để kiểm tra xem công cụ này đã được cài đặt và hoạt động đúng cách hay chưa, hãy nhập nội dung sau vào dòng lệnh:

    earthengine

Nếu công cụ được cài đặt đúng cách, thì công cụ này sẽ in ra một bản tóm tắt ngắn gọn về các lệnh hiện có. Để được trợ giúp về một lệnh cụ thể, hãy sử dụng:

    earthengine command -h

Khi cài đặt API Python lần đầu tiên, bạn cần đăng nhập bằng lệnh authenticate như mô tả bên dưới. Các phần sau đây mô tả chi tiết hơn về các lệnh hiện có.

Thông tin đăng nhập của tài khoản dịch vụ

Để sử dụng CLI bằng thông tin đăng nhập của tài khoản dịch vụ, hãy dùng cờ service_account_file để trỏ đến một tệp JSON chứa khoá của tài khoản dịch vụ.

    earthengine --service_account_file=service_account_creds.json

Cách sử dụng trong Colab

Công cụ dòng lệnh Earth Engine được cài đặt sẵn và sẵn sàng sử dụng trong Google Colab.

Xác thực

Xác thực cho mỗi phiên Colab mới hoặc nếu máy ảo hết hạn do không hoạt động (thông tin đăng nhập không được lưu trên các phiên).

Nhập thư viện ứng dụng Python và gọi ee.Authenticate() để kích hoạt quy trình xác thực. Làm theo các lời nhắc để hoàn tất quy trình xác thực. `auth_mode` mặc định auth_mode trong Colab là colab. Hãy xem hướng dẫn Xác thực để biết các lựa chọn khác.

import ee
ee.Authenticate()

Thực thi lệnh

Để chạy các tiện ích dòng lệnh, chẳng hạn như Earth Engine CLI, bạn cần thêm dấu chấm than vào trước các lệnh gọi.

!earthengine -h

Đặt một dự án trên đám mây

Sử dụng tuỳ chọn --project để đặt một dự án trên đám mây cho từng lệnh earthengine riêng lẻ.

!earthengine --project my-project <command>

Ngoài ra, hãy đặt một dự án mặc định để tất cả các earthengine lệnh gọi sử dụng bằng lệnh set_project. Dự án sẽ được thêm vào một tệp thông tin đăng nhập (~/.config/earthengine/credentials) và được dùng cho các lệnh tiếp theo, trừ phi bị ghi đè bởi tuỳ chọn --project. Đặt một dự án mặc định cho mỗi phiên Colab mới hoặc nếu máy ảo hết hạn do không hoạt động (thông tin đăng nhập không được lưu trên các phiên).

!earthengine set_project my-project

Tài liệu tham khảo lệnh

xác thực

Xác thực công cụ dòng lệnh và thư viện ứng dụng Python với Earth Engine. Ví dụ:

    earthengine authenticate

Earth Engine sử dụng giao thức OAuth 2.0 để xác thực ứng dụng. Lệnh xác thực earthengine sẽ nhắc bạn thực hiện quy trình xác thực bằng trình duyệt web.

Bạn cần cài đặt gcloud nếu sử dụng chế độ xác thực gcloud mặc định. Xem các chế độ xác thực khác có sẵn thông qua tham số auth_mode trong hướng dẫn xác thực.

acl

In hoặc cập nhật danh sách kiểm soát quyền truy cập (ACL) của một thành phần Earth Engine. ACL kiểm soát những người có thể đọc hoặc ghi vào một thành phần. Ví dụ:

    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

Lệnh con get in một bản mô tả JSON của ACL. Lệnh con set đặt một ACL được cung cấp trong một tệp có cùng định dạng JSON. Bạn có thể sao chép một ACL từ một thành phần sang các thành phần khác bằng cách lưu kết quả từ get và cung cấp kết quả đó cho set.

Lệnh con set cũng chấp nhận 2 tên ACL đặc biệt:

  • private: Xoá quyền của tất cả mọi người, ngoại trừ chủ sở hữu.
  • public: Cấp quyền đọc cho tất cả người dùng.

Lệnh con ch cho phép bạn thực hiện các thay đổi riêng lẻ đối với một ACL. Để cấp quyền đọc hãy chỉ định -u username@gmail.com:R, để cấp quyền ghi, hãy chỉ định -u username@gmail.com:W và để xoá quyền của người dùng, hãy chỉ định -d username@gmail.com. Giá trị nhận dạng người dùng đặc biệt AllUsers có thể được dùng để cấp hoặc thu hồi quyền đọc cho tất cả người dùng. (Xin lưu ý rằng việc thu hồi quyền AllUsers không thu hồi bất kỳ quyền bổ sung nào mà bạn có thể đã cấp cho từng người dùng.)

thành phần

In hoặc cập nhật siêu dữ liệu được liên kết với một thành phần Earth Engine. Ví dụ:

    earthengine asset info projects/my-project/assets/asset_id
    earthengine asset set -p name=value projects/my-project/assets/asset_id

Lệnh con info in thông tin chi tiết về thành phần, bao gồm cả siêu dữ liệu của thành phần đó ở dạng JSON. Lệnh con set đặt các thuộc tính siêu dữ liệu riêng lẻ trên một thành phần.

Giá trị của các thuộc tính siêu dữ liệu mà bạn đặt có thể là số hoặc chuỗi. Khi đặt tên thuộc tính bằng cờ --property hoặc -p, hãy phân tách tên thuộc tính và giá trị bằng dấu bằng. Loại dữ liệu được phát hiện tự động hoặc bạn có thể chỉ định rõ ràng bằng cách thêm tiền tố vào tên thuộc tính bằng (string), (number) hoặc (date). Ví dụ: lệnh này đặt một thuộc tính có giá trị chuỗi với giá trị "42":

    earthengine asset set -p '(string)name=42' projects/my-project/assets/asset_id

(Dấu ngoặc kép trong ví dụ này ngăn vỏ diễn giải dấu ngoặc đơn. Dấu ngoặc kép có thể cần thiết hoặc không, tuỳ thuộc vào vỏ và nền tảng của bạn.)

Để xoá một thuộc tính, hãy đặt thuộc tính đó thành null mà không có loại:

    earthengine asset set -p name=null projects/my-project/assets/asset_id

Thuộc tính ngày chỉ là các số đại diện cho số mili giây kể từ kỷ nguyên Unix (tức là nửa đêm ngày 1 tháng 1 năm 1970) và có thể được chỉ định trực tiếp dưới dạng số hoặc ở một trong các định dạng sau:

    YYYY-MM-DD
    YYYY-MM-DDThh:mm:ss
    YYYY-MM-DDThh:mm:ss.f

Múi giờ được giả định là UTC. Bạn có thể đặt các thuộc tính thời gian bắt đầu và kết thúc đặc biệt bằng cách sử dụng cờ --time_start--time_end:

    earthengine asset set --time_start 1978-10-15T12:34:56 projects/my-project/assets/asset_id

cp

Sao chép một thành phần. Ví dụ:

    earthengine cp projects/my-project/assets/asset_id projects/my-project/assets/new_asset_id

create

Tạo thư mục và bộ sưu tập hình ảnh mới. Ví dụ:

    earthengine create folder projects/my-project/assets/folder_id
    earthengine create collection projects/my-project/assets/collection_id

Sử dụng lệnh con folder để tạo thư mục và collection để tạo bộ sưu tập hình ảnh. Bạn có thể chỉ định tuỳ chọn -p để tạo thư mục mẹ một cách đệ quy nếu cần. Theo mặc định, các thư mục và hình ảnh mới tạo có ACL riêng tư.

ls

Liệt kê nội dung của một hoặc nhiều thư mục hoặc bộ sưu tập. Ví dụ:

    earthengine ls users/username

Tuỳ chọn -l yêu cầu định dạng dài có thêm thông tin về từng thành phần (hiện chỉ có loại thành phần). Bạn có thể chỉ định --max_items number (hoặc -m cho ngắn gọn) để giới hạn số lượng mục từ mỗi thư mục hoặc bộ sưu tập mà bạn liệt kê:

    earthengine ls -m 10 projects/my-project/assets/my_large_collection

Việc chạy lệnh ls mà không có đối số sẽ liệt kê các thư mục cấp cao nhất mà bạn sở hữu.

kiểu máy

Công cụ để thao tác với các mô hình đã lưu trong TensorFlow.

model prepare

Chuẩn bị một mô hình đã lưu để phân phát trong Earth Engine. Cụ thể, thao tác này sẽ chuyển đổi SavedModel thành một biểu mẫu phù hợp để xử lý các yêu cầu từ Earth Engine. (Tìm hiểu thêm về SavedModel.)

    earthengine model prepare my_source_dir my_dest_dir '{"Conv2D:0":"my_input_band"}' '{"Sigmoid:0":"my_output_band"}'

Tìm hiểu thêm về các mô hình AI Platform tại đây. Xem ví dụ hoàn chỉnh tại đây.

mv

Di chuyển hoặc đổi tên một thành phần. Ví dụ:

    earthengine mv projects/my-project/assets/asset_id projects/my-project/assets/new_asset_id

project_config

Đặt các giá trị cấu hình dự án. Trước khi sử dụng lệnh này, hãy nhớ đặt một dự án bằng set_project.

get

Để xem cấu hình dự án, hãy sử dụng lệnh con get:

    earthengine alpha project_config get

Nếu bạn có quyền xem chế độ cài đặt tác vụ hàng loạt của dự án, thì kết quả đầu ra sẽ chứa:

Ngoài ra, nếu bạn có quyền xem cấu hình gói, thì kết quả đầu ra sẽ chứa:

  • planMaxConcurrentExports, một số cho biết số lượng tối đa các tác vụ hàng loạt có thể chạy song song trên tất cả người dùng và dự án sử dụng tài khoản thanh toán.

đặt

Để cập nhật cấu hình của dự án, hãy sử dụng lệnh con set. Bạn có thể định cấu hình các chế độ cài đặt sau:

Ví dụ: để định cấu hình một dự án chỉ cho phép 10 tác vụ chạy song song cho dự án đã cho:

    earthengine alpha project_config set --max_concurrent_exports=10

Kết quả đầu ra hiển thị cấu hình dự án đã cập nhật, giống hệt như kết quả mà get trả về.

Để biết thêm thông tin về mức độ song song của tác vụ hàng loạt, hãy xem trang hạn mức Earth Engine.

rm

Xoá một hoặc nhiều thành phần. Ví dụ:

    earthengine rm projects/my-project/assets/asset_id
    earthengine rm -r projects/my-project/assets/folder_id

Bạn có thể sử dụng cờ -r để xoá nội dung của một thư mục hoặc bộ sưu tập một cách đệ quy. Để đảm bảo an toàn khi xoá nhiều thành phần, bạn có thể sử dụng cờ --dry_run để xác minh chính xác những gì sẽ bị xoá mà không thực sự xoá bất cứ thứ gì.

set_project

Đặt dự án trên đám mây của Google Cloud thông qua đó các yêu cầu tính toán được định tuyến.

    earthengine set_project foo-project

Bạn cần có lệnh này trước khi chạy các lệnh yêu cầu chức năng của Cloud, chẳng hạn như model.

việc cần làm

In thông tin về hoặc quản lý các tác vụ chạy trong thời gian dài. Ví dụ:

    earthengine task list
    earthengine task list -l
    earthengine task info TASK_ID
    earthengine task cancel TASK_ID

Lệnh con list liệt kê thông tin cơ bản về các tác vụ mà bạn đã gửi gần đây. Tuỳ chọn -l yêu cầu định dạng dài có thêm thông tin về từng tác vụ. Lệnh con info in thông tin chi tiết về từng tác vụ. Lệnh con cancel huỷ một hoặc nhiều tác vụ đang chạy.

tải lên

Tải hình ảnh hoặc bảng từ Google Cloud Storage lên Earth Engine hoặc tạo các thành phần được hỗ trợ bởi hình ảnh bên ngoài.

hình ảnh

Cách tải một thành phần hình ảnh lên bằng chế độ cài đặt mặc định:

    earthengine upload image --asset_id=projects/my-project/assets/asset_id gs://bucket/image.tif

Nếu bạn chỉ định nhiều tệp hình ảnh đầu vào, thì các tệp này sẽ được diễn giải dưới dạng các ô của một thành phần hình ảnh. Bạn có thể tìm hiểu thêm về các lựa chọn để tải hình ảnh lên Earth Engine trong Tải thành phần hình ảnh lên: Các lựa chọn nâng cao options.

Bạn có thể chỉ định chính sách giảm kim tự tháp bằng cờ --pyramiding_policy. Cờ này có thể được đặt thành một trong các giá trị mean (giá trị mặc định), sample, mode, min hoặc max. Điều này sẽ kiểm soát cách Earth Engine tạo kim tự tháp gồm các phiên bản có độ phân giải thấp hơn của hình ảnh:

    earthengine upload image --asset_id=projects/my-project/assets/asset_id --pyramiding_policy=sample gs://bucket/image.tif

Bạn có thể sử dụng --last_band_alpha để cho biết rằng mặt nạ cho hình ảnh phải được lấy từ một kênh alpha trong dải tần cuối cùng:

    earthengine upload image --asset_id=projects/my-project/assets/asset_id --last_band_alpha gs://bucket/image.tif

Bạn có thể chỉ định một giá trị không có dữ liệu bằng cờ --nodata_value. Thao tác này sẽ che phủ mọi pixel trong hình ảnh bằng giá trị đó:

    earthengine upload image --asset_id=users/myuser/asset --nodata_value=255 gs://bucket/image.tif

Bạn cũng có thể chỉ định các thuộc tính siêu dữ liệu để đặt trên thành phần bằng cách sử dụng các cờ tương tự mà lệnh asset set được mô tả ở trên chấp nhận. Các lựa chọn này cũng được mô tả trong hướng dẫn Tệp kê khai hình ảnh.

bàn

Để tải một tệp Shapefile, CSV hoặc TFRecord từ Google Cloud Storage lên một thành phần bảng Earth Engine, bạn có thể sử dụng bất kỳ tệp nào trong số này:

    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

Có nhiều lựa chọn liên quan đến cách diễn giải các tệp CSV và TFRecord. Bạn có thể xem danh sách đầy đủ các lựa chọn tải bảng lên bằng cách truy cập vào hướng dẫn Tệp kê khai bảng hoặc bằng cách:

    earthengine upload table -h

external_image

Để tạo một thành phần được hỗ trợ bởi hình ảnh từ bên ngoài, hãy chạy lệnh upload_image bằng một tệp kê khai:

earthengine upload external_image --manifest /tmp/foo.json

Sau đây là ví dụ về tệp kê khai:

{
  "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"
}

Hãy xem hướng dẫn về Cloud GeoTIFF và hướng dẫn về Tệp kê khai hình ảnh để biết thêm thông tin chi tiết về cách tạo tệp kê khai.