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 |
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-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 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-assetTạ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.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 ImageCollection.
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) 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.jsonThà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.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ý 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-nameSử 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-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
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-nameSao 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-nameDi 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-nameXoá 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-nameXem 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_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 đó 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.