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 |
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-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 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.listImages
và ee.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.