Quản lý tài sản

Tài sản Earth Engine là dữ liệu không gian địa lý thuộc sở hữu của dự án 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 phân tích của Earth Engine dưới dạng tài sản.

Loại tài sản

Earth Engine cung cấp nhiều định dạng tài sả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 hình ảnh raster, một bản trình bày dựa trên lưới về thông tin địa lý, 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 raster có liên quan tạo thành một hình ảnh dạng ô hoặc một chuỗi thời gian. Về chức năng, tệp này tương tự như một thư mục, nhưng có thể được nhập vào Earth Engine dưới dạng một đố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 Một cấu trúc dữ liệu bảng bao gồm các đối tượng vectơ (hàng), mỗi đối tượng chứa một loạt các 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ột 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 cho ứng dụng và hoạt động phân tích.
FeatureView Chế độ xem trực quan của một bảng để sử dụng trong Các ứng dụng Earth Engine.
Folder Vùng chứa 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 tài sả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à tập hợp. Cấu trúc này tương tự như các hệ thống tệp thông thường.

Gốc

Các thành phần thuộc quyền sở hữu của một dự án trên đám mây. Tên dự án xác định gốc của thư mục tài sản. Ví dụ: căn bậc hai 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 dạng cây để sắp xếp các thành phần. Mỗi dự án trên đám mây đều có một thư mục gốc có thể chứa các tài sản và thư mục riêng lẻ. ImageCollection là một loại tài sản đặc biệt được thiết kế 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 hình ảnh ghép. Không giống như thư mục, ImageCollection chỉ có thể chứa các 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/
      • photo tên-hình-ảnh
      • view_comfy table-name
      • satellite featureview-name
      • bubble_chart tên-phân-loại
      • photo_library imagecollection-name/
        • ảnh image-name-1
        • ảnh image-name-2

Mã tài sản

Earth Engine sử dụng mã nhận dạng tài sản để tham chiếu dữ liệu trong cả tập lệnh và các thao tác trên dòng lệnh. Chúng xác định vị trí của tài sản bằng cách sử dụng dấu gạch chéo (/) 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 tài sản có tên là "my-asset" nằm trong thư mục gốc "my-project". Sau đây là ví dụ về cách sử dụng mã nhận dạng này để lấy thông tin về nội dung.

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à ImageCollection, đồng thời nhập hình ảnh và bảng từ các tệp cục bộ hoặc tệp trong một vùng lưu trữ của Google Cloud. 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 tài sản bằng cách xuất kết quả phân tích của Earth Engine bằng các hàm 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 quy trình 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 các 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 quy trình 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

Dùng hàm ee.data.createAsset để tạo thư mục trống hoặc ImageCollection.

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ý tài sản, hãy nhấp vào nút MỚI rồi chọn loại tài sản mà bạn muốn tải lên hoặc tạo trong danh sách thả xuống. Định cấu hình việc 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

Dùng lệnh earthengine create để tạo thư mục trống hoặc ImageCollection.

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

Hình ảnh bên ngoài

Bạn có thể đăng ký các tệp GeoTIFF được tối ưu hoá cho đám mây (COG) mà bạn tải lên một bộ chứa Google Cloud Storage dưới dạng tài sả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 thành phần được hỗ trợ COG và cách tạo tệp kê khai.

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

Thành phần của trang thông tin

Ứng dụng Python

Dùng hàm ee.data.listAssets để 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 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 các 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 tài sả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 tài sả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 tài sản

Ứng dụng Python

Dùng hàm ee.data.setAssetAcl để đặt quyền cho một tài sả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ý tài sản, hãy di chuyển con trỏ lên một tài sả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ầ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 "Bất kỳ ai cũng có thể đọc" để cấp quyền đọc cho mọi thực thể. 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 của ứng dụng trong danh sách thả xuống (các thành phầ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 tài sả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 từng quyền đọc và ghi cho 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 tài sản

Ứng dụng Python

Dùng hàm ee.data.getAssetAcl để tìm nạp danh sách kiểm soát truy cập cho một tài sản.

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

Trình soạn thảo mã

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

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 tài sản.

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

Sao chép thành phần

Ứng dụng Python

Dùng hàm ee.data.copyAsset để sao chép một tài sả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 tài sả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

Dùng hàm ee.data.renameAsset để di chuyển hoặc đổi tên một tài sả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ý tài sản, hãy kéo một tài sản vào một thư mục mới.

Đổi tên

Trong Trình quản lý tài sản, hãy di chuyển con trỏ lên một tài sả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 tài sả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

Dùng hàm ee.data.deleteAsset để xoá một tài sả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, rồi nhấp vào nút XOÁ.

Dòng lệnh

Sử dụng lệnh earthengine rm để xoá một tài sản. Hãy xem tài liệu tham khảo về hàm để biết các lựa chọn chạy thử nghiệm và đệ quy.

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

Xem siêu dữ liệu tài sản

Ứng dụng Python

Dùng hàm ee.data.getAsset để lấy siêu dữ liệu tài sả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

Dùng lệnh earthengine asset info để lấy siêu dữ liệu tài sản.

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

Đặt siêu dữ liệu tài sản

Bạn có thể đặt siêu dữ liệu tài sản sau đây:

  • 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 tài sả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 ở trên cùng 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ỉ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 tài sả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 tài sản trên trang hạn mức sử dụng và hạn mức.

Ứng dụng Python

Dùng hàm ee.data.getAssetRootQuota để lấy mức sử dụng hạn mức bộ nhớ cho một 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 di chuyển con trỏ lên một 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 tài sản.