Quản lý tài sản

Tài sản Earth Engine là dữ liệu không gian địa lý do dự án sở hữu và được lưu trữ trong nền tảng. Bạn có thể tải dữ liệu của riêng mình lên và lưu trữ dữ liệu được tạo từ các bản phân tích của Earth Engine dưới dạng thành phần.

Loại tài sản

Earth Engine cung cấp nhiều định dạng thành phần cho nhiều loại dữ liệu, cùng với các phần tử vùng chứa để sắp xếp.

Loại tài sản
Image Một ảnh quét, một bản trình bày thông tin địa lý dựa trên lưới, trong đó mỗi ô trong lưới chứa một giá trị tương ứng với một vị trí cụ thể trên bề mặt Trái đất.
ImageCollection Một tập hợp các hình ảnh đường quét có liên quan tạo thành một ảnh xếp kề hoặc một chuỗi thời gian. Cấu phần này có chức năng tương tự như một thư mục, nhưng có thể được nhập vào Earth Engine dưới dạng đối tượng ee.ImageCollection, bao gồm một tập hợp các phương thức để lọc và phân tích.
Table Cấu trúc dữ liệu bảng bao gồm các đặc điểm vectơ (hàng), mỗi hàng chứa một loạt thuộc tính (cột). Đối tượng này được biểu thị bằng đối tượng ee.FeatureCollection, bao gồm một tập hợp các phương thức để lọc và phân tích.
Classifier Mô hình học máy đã được huấn luyện của Earth Engine. Đối tượng này được biểu thị bằng đối tượng ee.Classifier, bao gồm một tập hợp các phương thức để áp dụng và phân tích.
FeatureView Chế độ xem trực quan của một bảng để sử dụng trong Ứng dụng Earth Engine.
Folder Vùng chứa cho các thành phần và thư mục bổ sung để hỗ trợ việc sắp xếp.

Sắp xếp thành phần

Các thành phần của Earth Engine được sắp xếp thành một hệ thống phân cấp gồm các thư mục và bộ sưu tập. Cấu trúc này tương tự như các hệ thống tệp phổ biến.

Gốc

Tài sản thuộc sở hữu của một dự án trên Google Cloud. Tên dự án xác định thư mục gốc của tài sản. Ví dụ: gốc của my-projectprojects/my-project/assets. Tất cả thành phần thuộc my-project đều nằm trong thư mục projects/my-project/assets hoặc một thư mục con (hoặc ImageCollection) trong thư mục đó.

Thư mục

Earth Engine sử dụng cấu trúc thư mục giống như cây để sắp xếp các thành phần. Mỗi dự án trên Cloud có một thư mục gốc có thể chứa các thành phần và thư mục riêng lẻ. ImageCollections là một loại thành phần đặc biệt được thiết kế dành riêng để lưu giữ các tập hợp hình ảnh có liên quan, chẳng hạn như chuỗi thời gian hoặc ảnh ghép. Không giống như thư mục, ImageCollections chỉ có thể chứa thành phần hình ảnh và không thể lồng các thư mục hoặc bộ sưu tập khác trong đó.

  • folder_dataprojects/my-project/assets/
    • thư mục tên-thư-mục/
      • ảnh tên-ảnh
      • view_comfy table-name
      • satellite featureview-name
      • bubble_chart classifier-name
      • photo_library imagecollection-name/
        • ảnh image-name-1
        • ảnh image-name-2

Mã tài sản

Earth Engine sử dụng mã tài sản để tham chiếu dữ liệu trong cả tập lệnh và thao tác trên dòng lệnh. Các tệp này xác định vị trí tài sản bằng cách sử dụng dấu gạch chéo xuôi (/) làm dấu phân cách giữa các thư mục. Ví dụ: projects/my-project/assets/my-asset chỉ định một thành phần có tên "my-asset" nằm trong thư mục gốc "my-project". Dưới đây là ví dụ về cách sử dụng mã này để lấy thông tin về tài sản.

Python

print(ee.data.getAsset('projects/my-project/assets/my-asset'))

Trình soạn thảo mã

print(ee.Image('projects/my-project/assets/my-asset'))

Dòng lệnh

earthengine asset info projects/my-project/assets/my-asset

Tạo thành phần

Bạn có thể tạo thư mục và ImageCollections, đồng thời nhập hình ảnh và bảng từ các tệp trên máy hoặc tệp trong bộ chứa Google Cloud Storage. Các định dạng hình ảnh được hỗ trợ bao gồm GeoTIFF (chuẩn và COG) và TFRecord. Các định dạng bảng được hỗ trợ bao gồm Shapefile và CSV. (Bạn cũng có thể tạo thành phần bằng cách xuất kết quả phân tích của Earth Engine bằng các hàm xử lý hàng loạt Export.*.toAsset).

Ứng dụng Python

Hình ảnh

Sử dụng hàm ee.data.startIngestion để nhập hình ảnh từ Cloud Storage. Hãy xem trang tệp kê khai hình ảnh để biết thêm thông tin về cách định cấu hình nội dung tải lên.

manifest = {
  'name': 'projects/my-project/assets/asset-name',
  'tilesets': [
    {
      'sources': [
        {
          'uris': [
            'gs://my-bucket/filename.tif'
          ]
        }
      ]
    }
  ]
}
ee.data.startIngestion(None, manifest)

Bảng

Sử dụng hàm ee.data.startTableIngestion để nhập bảng từ Cloud Storage. Hãy xem trang tệp kê khai hình ảnh để biết thêm thông tin về cách định cấu hình nội dung tải lên.

manifest = {
  'name': 'projects/my-project/assets/asset-name',
  'sources': [
    {
      'uris': [
        'gs://my-bucket/filename.csv'
      ]
    }
  ]
}
ee.data.startTableIngestion(None, manifest)

Thư mục hoặc ImageCollection

Sử dụng hàm ee.data.createAsset để tạo thư mục trống hoặc ImageCollections.

ee.data.createAsset(
    {'type': 'FOLDER'}, # or 'IMAGE_COLLECTION'
    'projects/my-project/assets/asset-name'
)

Trình soạn thảo mã

Trong Trình quản lý thành phần, hãy nhấp vào nút MỚI rồi chọn loại thành phần mà bạn muốn tải lên hoặc tạo trong trình đơn thả xuống. Định cấu hình tính năng tải lên hoặc tạo thành phần trong hộp thoại.

Dòng lệnh

Hình ảnh hoặc bảng

earthengine upload image --asset_id=projects/my-project/assets/asset-name gs://my-bucket/filename.tif
earthengine upload table --asset_id=projects/my-project/assets/asset-name gs://my-bucket/filename.csv

Thư mục hoặc ImageCollection

Sử dụng lệnh earthengine create để tạo thư mục trống hoặc ImageCollections.

earthengine create folder projects/my-project/assets/folder-name
earthengine create collection projects/my-project/assets/collection-name

Hình ảnh từ bên ngoài

Bạn có thể đăng ký các tệp GeoTIFF (COG) được tối ưu hoá cho đám mây mà bạn tải lên một bộ chứa Google Cloud Storage làm thành phần hình ảnh bên ngoài và sử dụng trực tiếp trong Earth Engine. Hãy xem tài liệu tham khảo để biết thêm thông tin về các tài sản được COG hỗ trợ và cách tạo tệp kê khai.

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

Liệt kê thành phần

Ứng dụng Python

Sử dụng hàm ee.data.listAssets để liệt kê các thành phần trong một thư mục hoặc tập hợp (không đệ quy). Hãy xem tài liệu tham khảo để biết thêm thông tin về tính năng lọc và phân trang.

ee.data.listAssets('projects/my-project/assets')

Ngoài ra, hãy xem ee.data.listImagesee.data.listFeatures.

Trình soạn thảo mã

Mở rộng thư mục trong Trình quản lý tài sản để xem tài sản.

Dòng lệnh

Sử dụng lệnh earthengine ls để liệt kê các thành phần trong một thư mục hoặc bộ sưu tập (không đệ quy). Hãy xem tài liệu tham khảo để biết thêm thông tin về việc giới hạn số lượng thành phần cần liệt kê và số lượng chi tiết cần trả về.

earthengine ls projects/my-project/assets

Đặt quyền đối với thành phần

Ứng dụng Python

Sử dụng hàm ee.data.setAssetAcl để đặt quyền trên một thành phần.

asset_id = 'projects/my-project/assets/asset-name'
acl_update = {
    'owners': [
        'user:big_cheese@example.com',
        'user:el_jefe@example.com'
    ],
    'writers': [
        'user:romeo@example.com',
        'user:juliet@example.com'
    ],
    'readers': [
        'group:some-group@googlegroups.com',
        'domain:example.com',
        'serviceAccount:some-project-id@appspot.gserviceaccount.com'
    ],
    'all_users_can_read': False
}
ee.data.setAssetAcl(asset_id, acl_update)

Trình soạn thảo mã

Trong Trình quản lý thành phần, hãy giữ con trỏ trên một thành phần rồi nhấp vào biểu tượng chia sẻ. Trong hộp thoại, hãy nhập địa chỉ email hoặc miền để chia sẻ tài sản, sau đó chọn cấp quyền để cấp trong danh sách thả xuống. Nhấp vào nút THÊM QUYỀN TRUY CẬP để xác nhận thay đổi. Đánh dấu vào hộp "Mọi người đều có thể đọc" để cấp quyền đọc cho bất kỳ thực thể nào. Bạn cũng có thể cấp quyền truy cập vào các ứng dụng Earth Engine từ hộp thoại bằng cách chọn tên ứng dụng trong danh sách thả xuống (các tài sản thuộc dự án Trình chỉnh sửa mã đang hoạt động).

Dòng lệnh

Sử dụng lệnh earthengine acl set để đặt quyền đọc của một thành phần thành public hoặc private.

earthengine acl set public projects/my-project/assets/asset-name

Sử dụng lệnh earthengine acl ch để đặt quyền riêng lẻ cho việc đọc và ghi tài sản.

earthengine acl ch -u person@gmail.com:R projects/my-project/assets/asset-name

Hãy xem trang tài liệu tham khảo về dòng lệnh để biết thêm thông tin chi tiết.

Kiểm tra quyền đối với thành phần

Ứng dụng Python

Sử dụng hàm ee.data.getAssetAcl để tìm nạp danh sách kiểm soát quyền truy cập cho một thành phần.

ee.data.getAssetAcl('projects/my-project/assets/asset-name')

Trình soạn thảo mã

Trong Trình quản lý thành phần, hãy giữ con trỏ trên một thành phần rồi nhấp vào biểu tượng chia sẻ. Hộp thoại này hiển thị danh sách email và miền cùng với cấp truy cập tương ứng.

Dòng lệnh

Sử dụng lệnh earthengine acl get để tìm nạp danh sách kiểm soát quyền truy cập cho một thành phần.

earthengine acl get projects/my-project/assets/asset-name

Sao chép thành phần

Ứng dụng Python

Sử dụng hàm ee.data.copyAsset để sao chép một thành phần.

ee.data.copyAsset('projects/my-project/assets/asset-name', 'projects/my-project/assets/asset-copy-name')

Trình soạn thảo mã

Sử dụng ứng dụng Python hoặc công cụ dòng lệnh để sao chép tài sản.

Dòng lệnh

Sử dụng lệnh earthengine cp để sao chép một thành phần.

earthengine cp projects/my-project/assets/asset-name projects/my-project/assets/asset-copy-name

Di chuyển hoặc đổi tên thành phần

Ứng dụng Python

Sử dụng hàm ee.data.renameAsset để di chuyển hoặc đổi tên một thành phần.

ee.data.renameAsset('projects/my-project/assets/asset-name', 'projects/my-project/assets/new-asset-name')

Trình soạn thảo mã

Di chuyển

Trong Trình quản lý thành phần, hãy kéo một thành phần vào một thư mục mới.

Đổi tên

Trong Trình quản lý thành phần, hãy giữ con trỏ trên một thành phần rồi nhấp vào biểu tượng chỉnh sửa và nhập tên mới vào trường nhập dữ liệu có thể chỉnh sửa.

Dòng lệnh

Sử dụng lệnh earthengine mv để di chuyển hoặc đổi tên một thành phần.

earthengine mv projects/my-project/assets/asset-name projects/my-project/assets/new-asset-name

Xoá thành phần

Ứng dụng Python

Sử dụng hàm ee.data.deleteAsset để xoá một thành phần.

ee.data.deleteAsset('projects/my-project/assets/asset-name')

Trình soạn thảo mã

Nhấp vào một thành phần để mở trang hộp thoại thành phần, sau đó nhấp vào nút XOÁ.

Dòng lệnh

Sử dụng lệnh earthengine rm để xoá một thành phần. Xem tài liệu tham khảo hàm để biết các tuỳ chọn chạy thử và đệ quy.

earthengine rm projects/my-project/assets/asset-name

Xem siêu dữ liệu của thành phần

Ứng dụng Python

Sử dụng hàm ee.data.getAsset để lấy siêu dữ liệu của thành phần.

ee.data.getAsset('projects/my-project/assets/asset-name')

Trình soạn thảo mã

Nhấp vào một thành phần để mở trang hộp thoại thành phần. Xem thông tin về thành phần.

Dòng lệnh

Sử dụng lệnh earthengine asset info để lấy siêu dữ liệu của thành phần.

earthengine asset info projects/my-project/assets/asset-name

Đặt siêu dữ liệu thành phần

Bạn có thể đặt siêu dữ liệu thành phần sau:

  • start_time
  • end_time
  • properties

Ứng dụng Python

Sử dụng hàm ee.data.updateAsset để cập nhật siêu dữ liệu của thành phần.

asset_id = 'projects/my-project/assets/asset-name'
new_metadata = {
  'properties': {
    'name': 'value'
  },
  'start_time': '2024-10-02T15:01:24Z',
  'end_time': '2024-10-02T15:01:25Z',
}
update_these = ['start_time', 'end_time', 'properties']

ee.data.updateAsset(asset_id, new_metadata, update_these)

Trình soạn thảo mã

Nhấp vào một thành phần để mở trang hộp thoại thành phần, sau đó kích hoạt nút bật/tắt chỉnh sửa ở phía trên bên phải. Bạn có thể chỉnh sửa nội dung mô tả, thuộc tính, ngày bắt đầu và ngày kết thúc. Tắt nút bật/tắt chế độ chỉnh sửa để lưu các thay đổi.

Dòng lệnh

Sử dụng lệnh earthengine asset set để cập nhật siêu dữ liệu của thành phần. Hãy xem tài liệu tham khảo để biết thêm thông tin.

earthengine asset set \
  --time_start 2024-10-02T15:01:24 \
  --time_end 2024-10-02T15:01:25 \
  --property 'name=value' \
  projects/my-project/assets/asset-name

Kiểm tra hạn mức thành phần

Định mức được áp dụng ở cấp dự án. Tìm hiểu thêm về hạn mức thành phần trên trang hạn mức sử dụng và hạn mức.

Ứng dụng Python

Sử dụng hàm ee.data.getAssetRootQuota để biết mức sử dụng hạn mức bộ nhớ cho thư mục gốc của tài sản.

ee.data.getAssetRootQuota('projects/my-project/assets')

Trình soạn thảo mã

Trong Trình quản lý tài sản, hãy giữ con trỏ trên thư mục gốc của dự án rồi nhấp vào biểu tượng data_usage. Một hộp thoại thông tin sẽ xuất hiện.

Dòng lệnh

Sử dụng ứng dụng Python hoặc Trình chỉnh sửa mã để kiểm tra hạn mức thành phần.