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 tài sản cho các loại dữ liệu khác nhau, cùng với các phần tử vùng chứa cho tổ chức.
| Loại tài sản | |
|---|---|
Image |
Một đường quét, 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 |
Tập hợp các hình ảnh đường quét có liên quan tạo thành một ảnh ghép hoặc một chuỗi thời gian. Thư mục 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 đối tượng vectơ (hàng), mỗi đối tượng chứa một loạt thuộc tính (cột). Lớp 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 Earth Engine đã qua huấn luyện. Đối tượng này được biểu thị bằng đối tượng ee.Classifier |
FeatureView |
Chế độ xem trực quan của một bảng để sử dụng trong Earth Engine Apps. |
Folder |
Một 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
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 phổ biến.
Gốc từ
Tài sản thuộc sở hữu của một dự án trên đám mây. Tên dự án xác định thư mục gốc của thư mục tài sản. Ví dụ: gốc của my-project là projects/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 thư mục con (hoặc ImageCollection) trong đó.
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ẻ. ImageCollections là một loại tài sản đặc biệt được thiết kế riêng để lưu giữ các nhóm 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 tập hợp khác vào trong đó.
- folder_dataprojects/my-project/assets/
- folder folder-name/
- photo image-name
- view_comfy table-name
- satellite featureview-name
- bubble_chart classifier-name
- photo_library imagecollection-name/
- photo image-name-1
- photo 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í của thành phầ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 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ề 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-assetTạ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ừ tệp cục bộ 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 và TFRecord; GeoTIFF được tối ưu hoá cho đám mây (COG) trong Cloud Storage cũng có thể được đăng ký tại chỗ thay vì nhập. 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 theo lô 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 quá 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 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 quá 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
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ý 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.tifearthengine 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 ImageCollections.
earthengine create folder projects/my-project/assets/folder-nameearthengine 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) trong một bộ chứa Cloud Storage dưới dạng tài sản dựa trên COG (gọi là hình ảnh bên ngoài trong API) và sử dụng trực tiếp trong Earth Engine. Hãy xem hướng dẫn đăng ký COG để tạo tệp kê khai.
earthengine upload external_image --manifest /tmp/foo.jsonLiệ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 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ề cách lọc và phân trang.
ee.data.listAssets('projects/my-project/assets')
Xem thêm ee.data.listImages và ee.data.listFeatures.
Trình soạn thảo mã
Mở rộng các thư mục trong Trình quản lý thành phần để xem thành phầ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 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ề cách giới hạn số lượng tài sản cần liệt kê và lượng thông tin chi tiết cần trả về.
earthengine ls projects/my-project/assetsThiết lập quyền đối với tài sản
Ứng dụng Python
Sử 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 chuột qua 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 truy cập để cấp từ 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 bất kỳ pháp nhân nào. Bạn cũng có thể cấp quyền truy cập vào các ứng dụng Earth Engine trong hộp thoại bằng cách chọn tên ứng dụng trong danh sách thả xuống (tài sản thuộc sở hữu của dự án Trình soạn thảo 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-nameSử 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-nameHã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
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 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 chuột qua một tài sả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 tài sản.
earthengine acl get projects/my-project/assets/asset-nameSao 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-nameDi 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 thư mục mới.
Đổi tên
Trong Trình quản lý tài sản, hãy di chuột qua 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 thành phần.
earthengine mv projects/my-project/assets/asset-name projects/my-project/assets/new-asset-nameXoá 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. Hãy xem tài liệu tham khảo về hàm để biết các tuỳ chọn đệ quy và chạy thử.
earthengine rm projects/my-project/assets/asset-nameXem siêu dữ liệu tài sản
Ứng dụng Python
Sử 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 tài sản để mở trang hộp thoại tài sả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 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_timeend_timeproperties
Ứ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 đó bật nú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 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
Hạn 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 để lấy mức sử dụng hạn mức bộ nhớ cho một thư mục gốc của thành phầ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 soạn thảo mã để kiểm tra hạn mức tài sản.