داراییهای Earth Engine دادههای مکانی متعلق به پروژه هستند که در پلتفرم ذخیره میشوند. شما میتوانید دادههای خود را آپلود کنید و دادههای تولید شده از تجزیه و تحلیلهای Earth Engine خود را به عنوان دارایی ذخیره کنید.
انواع دارایی
Earth Engine فرمتهای مختلف دارایی را برای انواع مختلف داده، به همراه عناصر کانتینر برای سازماندهی ارائه میدهد.
| انواع دارایی | |
|---|---|
Image | رستر، نمایش شبکهای اطلاعات جغرافیایی است که در آن هر سلول در شبکه، مقداری مربوط به یک مکان خاص روی سطح زمین را در خود جای میدهد. |
ImageCollection | مجموعهای از تصاویر رستری مرتبط که یک موزاییک یا یک سری زمانی را تشکیل میدهند. از نظر عملکردی شبیه به یک پوشه است، اما میتواند به عنوان یک شیء ee.ImageCollection که شامل مجموعهای از روشها برای فیلتر کردن و تجزیه و تحلیل است، به Earth Engine وارد شود. |
Table | یک ساختار داده جدولی متشکل از ویژگیهای برداری (ردیفها) که هر کدام شامل یک سری ویژگی (ستون) هستند. این ساختار توسط شیء ee.FeatureCollection نمایش داده میشود که شامل مجموعهای از متدها برای فیلتر کردن و تحلیل است. |
Classifier | یک مدل یادگیری ماشین آموزشدیده Earth Engine. این مدل با ... نمایش داده میشود.ee.Classifier ، که شامل مجموعهای از روشها برای کاربرد و تحلیل است. |
FeatureView | نمای بصری از یک جدول برای استفاده در برنامههای Earth Engine. |
Folder | یک محفظه برای داراییها و پوشههای اضافی برای کمک به سازماندهی. |
سازماندهی داراییها
فایلهای Earth Engine در یک سیستم سلسله مراتبی از پوشهها و مجموعهها سازماندهی شدهاند. این ساختار مشابه سیستمهای فایل رایج است.
ریشه
داراییها متعلق به یک پروژه ابری هستند. نام پروژه، ریشه دایرکتوری داراییها را تعریف میکند. برای مثال، ریشه my-project projects/my-project/assets است. تمام داراییهایی که متعلق به my-project هستند، در پوشه projects/my-project/assets یا یک زیرپوشه (یا ImageCollection) درون آن قرار دارند.
دایرکتوری
موتور زمین از یک ساختار دایرکتوری درختی برای سازماندهی داراییها استفاده میکند. هر پروژه ابری یک دایرکتوری ریشه دارد که میتواند شامل داراییها و پوشههای جداگانه باشد. مجموعههای تصویر (ImageCollections) نوع خاصی از دارایی هستند که به طور خاص برای نگهداری مجموعهای از تصاویر مرتبط، مانند سریهای زمانی یا موزاییکها، طراحی شدهاند. برخلاف پوشهها، مجموعههای تصویر فقط میتوانند شامل داراییهای تصویر باشند و نمیتوانند پوشهها یا مجموعههای دیگری را درون خود جای دهند.
- پوشه_دادهها پروژهها/پروژه من/داراییها/
- نام پوشه /
- نام تصویر عکس
- نام میز view_comfy
- نام نمای ماهوارهای
- نام طبقهبندیکننده bubble_chart
- کتابخانه عکس /نام مجموعه تصاویر
- نام تصویر عکس -۱
- نام تصویر -عکس-۲
شناسه دارایی
موتور ارث از شناسههای دارایی برای ارجاع دادهها در اسکریپتها و عملیات خط فرمان استفاده میکند. آنها مکانهای دارایی را با استفاده از اسلشهای رو به جلو (/) به عنوان جداکننده بین دایرکتوریها تعریف میکنند. به عنوان مثال، projects/my-project/assets/my-asset یک دارایی به نام "my-asset" را که در ریشه "my-project" قرار دارد، مشخص میکند. در اینجا مثالی از استفاده از این شناسه برای دریافت اطلاعات در مورد دارایی آورده شده است.
پایتون
print(ee.data.getAsset('projects/my-project/assets/my-asset'))
ویرایشگر کد
print(ee.Image('projects/my-project/assets/my-asset'))
خط فرمان
earthengine asset info projects/my-project/assets/my-assetایجاد داراییها
شما میتوانید پوشهها و مجموعههای تصویر ایجاد کنید و تصاویر و جداول را از فایلهای محلی یا فایلهای موجود در یک مخزن ذخیرهسازی ابری گوگل دریافت کنید. فرمتهای تصویر پشتیبانیشده شامل GeoTIFF (استاندارد و COG) و TFRecord هستند. فرمتهای جدول پشتیبانیشده شامل Shapefile و CSV هستند. (داراییها را میتوان با خروجی گرفتن از نتیجه تحلیل Earth Engine با استفاده از توابع دستهای Export.*.toAsset نیز ایجاد کرد).
کلاینت پایتون
تصویر
از تابع ee.data.startIngestion برای دریافت تصاویر از فضای ذخیرهسازی ابری استفاده کنید. برای اطلاعات بیشتر در مورد پیکربندی آپلود، به صفحه مانیفست تصویر مراجعه کنید.
manifest = {
'name': 'projects/my-project/assets/asset-name',
'tilesets': [
{
'sources': [
{
'uris': [
'gs://my-bucket/filename.tif'
]
}
]
}
]
}
ee.data.startIngestion(None, manifest)
میز
از تابع ee.data.startTableIngestion برای دریافت جداول از فضای ذخیرهسازی ابری استفاده کنید. برای اطلاعات بیشتر در مورد پیکربندی آپلود، به صفحه مانیفست تصویر مراجعه کنید.
manifest = {
'name': 'projects/my-project/assets/asset-name',
'sources': [
{
'uris': [
'gs://my-bucket/filename.csv'
]
}
]
}
ee.data.startTableIngestion(None, manifest)
پوشه یا مجموعه تصاویر
از تابع ee.data.createAsset برای ایجاد پوشههای خالی یا ImageCollections استفاده کنید.
ee.data.createAsset(
{'type': 'FOLDER'}, # or 'IMAGE_COLLECTION'
'projects/my-project/assets/asset-name'
)
ویرایشگر کد
در قسمت مدیریت داراییها، روی دکمهی «جدید» کلیک کنید و نوع دارایی مورد نظر برای آپلود یا ایجاد را از لیست کشویی انتخاب کنید. آپلود یا ایجاد دارایی را در کادر محاورهای پیکربندی کنید.
خط فرمان
تصویر یا جدول
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
پوشه یا مجموعه تصاویر
برای ایجاد پوشههای خالی یا مجموعههای تصویر (ImageCollections) از دستور earthengine create استفاده کنید.
earthengine create folder projects/my-project/assets/folder-nameearthengine create collection projects/my-project/assets/collection-name
تصویر خارجی
فایلهای GeoTIFF (COG) بهینهشده برای ابر که در مخزن ذخیرهسازی ابری گوگل آپلود میکنید، میتوانند به عنوان داراییهای تصویری خارجی ثبت شده و مستقیماً در Earth Engine استفاده شوند. برای اطلاعات بیشتر در مورد داراییهای پشتیبانیشده با COG و ساخت مانیفست، به اسناد مرجع مراجعه کنید.
earthengine alpha upload external_image --manifest /tmp/foo.jsonفهرست داراییها
کلاینت پایتون
از تابع ee.data.listAssets برای فهرست کردن داراییهای موجود در یک پوشه یا مجموعه (نه بازگشتی) استفاده کنید. برای اطلاعات بیشتر در مورد فیلتر کردن و صفحهبندی، به مستندات مرجع مراجعه کنید.
ee.data.listAssets('projects/my-project/assets')
همچنین به ee.data.listImages و ee.data.listFeatures مراجعه کنید.
ویرایشگر کد
برای مشاهده داراییها، پوشهها را در مدیریت داراییها گسترش دهید.
خط فرمان
از دستور earthengine ls برای فهرست کردن داراییهای یک پوشه یا مجموعه (نه بازگشتی) استفاده کنید. برای اطلاعات بیشتر در مورد محدود کردن تعداد داراییها برای فهرست کردن و جزئیات مقدار بازگشتی، به اسناد مرجع مراجعه کنید.
earthengine ls projects/my-project/assetsتنظیم مجوزهای دارایی
کلاینت پایتون
از تابع ee.data.setAssetAcl برای تنظیم مجوزها روی یک دارایی استفاده کنید.
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)
ویرایشگر کد
در قسمت مدیریت داراییها، اشارهگر را روی یک دارایی نگه دارید و روی نماد اشتراکگذاری کلیک کنید. در کادر محاورهای، یک آدرس ایمیل یا دامنه برای اشتراکگذاری دارایی وارد کنید، سپس سطح مجوزی را که میخواهید از لیست کشویی اعطا کنید، انتخاب کنید. برای تأیید تغییر، روی دکمه «افزودن دسترسی » کلیک کنید. برای اعطای مجوز خواندن به هر موجودیت، کادر «هرکسی میتواند بخواند» را علامت بزنید. همچنین میتوانید با انتخاب نام برنامه از لیست کشویی (داراییهای متعلق به پروژه فعال ویرایشگر کد)، دسترسی به برنامههای Earth Engine را از کادر محاورهای فراهم کنید.
خط فرمان
از دستور earthengine acl set برای تنظیم دسترسی خواندن یک فایل به public یا private استفاده کنید.
earthengine acl set public projects/my-project/assets/asset-nameاز دستور earthengine acl ch برای تنظیم مجوزهای فردی برای خواندن و نوشتن داراییها استفاده کنید.
earthengine acl ch -u person@gmail.com:R projects/my-project/assets/asset-nameبرای جزئیات بیشتر به صفحه مرجع خط فرمان مراجعه کنید.
بررسی مجوزهای دارایی
کلاینت پایتون
از تابع ee.data.getAssetAcl برای دریافت لیست کنترل دسترسی یک دارایی استفاده کنید.
ee.data.getAssetAcl('projects/my-project/assets/asset-name')
ویرایشگر کد
در قسمت مدیریت داراییها، اشارهگر ماوس را روی یک دارایی نگه دارید و روی آیکون اشتراکگذاری کلیک کنید. پنجرهی محاورهای، فهرستی از ایمیلها و دامنهها را به همراه سطوح دسترسی مربوطه نمایش میدهد.
خط فرمان
برای دریافت لیست کنترل دسترسی یک دارایی، از دستور earthengine acl get استفاده کنید.
earthengine acl get projects/my-project/assets/asset-nameکپی کردن داراییها
کلاینت پایتون
از تابع ee.data.copyAsset برای کپی کردن یک دارایی استفاده کنید.
ee.data.copyAsset('projects/my-project/assets/asset-name', 'projects/my-project/assets/asset-copy-name')
ویرایشگر کد
برای کپی کردن فایلها از کلاینت پایتون یا ابزار خط فرمان استفاده کنید.
خط فرمان
برای کپی کردن یک فایل از دستور earthengine cp استفاده کنید.
earthengine cp projects/my-project/assets/asset-name projects/my-project/assets/asset-copy-nameجابجایی یا تغییر نام داراییها
کلاینت پایتون
از تابع ee.data.renameAsset برای جابجایی یا تغییر نام یک دارایی استفاده کنید.
ee.data.renameAsset('projects/my-project/assets/asset-name', 'projects/my-project/assets/new-asset-name')
ویرایشگر کد
حرکت
در داخل مدیریت داراییها، یک دارایی را به یک پوشه جدید بکشید.
تغییر نام
در داخل مدیریت داراییها، اشارهگر را روی یک دارایی نگه دارید و روی نماد ویرایش کلیک کنید و نام جدیدی را در فیلد ورودی قابل ویرایش تایپ کنید.
خط فرمان
برای جابجایی یا تغییر نام یک دارایی از دستور earthengine mv استفاده کنید.
earthengine mv projects/my-project/assets/asset-name projects/my-project/assets/new-asset-nameحذف داراییها
کلاینت پایتون
برای حذف یک دارایی از تابع ee.data.deleteAsset استفاده کنید.
ee.data.deleteAsset('projects/my-project/assets/asset-name')
ویرایشگر کد
برای باز کردن صفحه محاورهای مربوط به یک دارایی، روی آن کلیک کنید، سپس روی دکمه DELETE کلیک کنید.
خط فرمان
برای حذف یک دارایی از دستور earthengine rm استفاده کنید. برای گزینههای بازگشتی و اجرای خشک، به مرجع تابع مراجعه کنید.
earthengine rm projects/my-project/assets/asset-nameمشاهده فرادادههای دارایی
کلاینت پایتون
برای دریافت فرادادههای دارایی از تابع ee.data.getAsset استفاده کنید.
ee.data.getAsset('projects/my-project/assets/asset-name')
ویرایشگر کد
برای باز کردن صفحه محاورهای دارایی، روی یک دارایی کلیک کنید. اطلاعات دارایی را مشاهده کنید.
خط فرمان
برای دریافت فرادادههای داراییها از دستور earthengine asset info استفاده کنید.
earthengine asset info projects/my-project/assets/asset-nameتنظیم فراداده دارایی
فرادادههای دارایی زیر را میتوان تنظیم کرد:
-
start_time -
end_time properties
کلاینت پایتون
از تابع ee.data.updateAsset برای بهروزرسانی فرادادههای دارایی استفاده کنید.
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)
ویرایشگر کد
برای باز کردن صفحه محاورهای مربوط به یک دارایی، روی آن کلیک کنید، سپس گزینه ویرایش را در بالا سمت راست فعال کنید. میتوانید توضیحات، ویژگیها و تاریخ شروع و پایان را ویرایش کنید. برای ذخیره تغییرات، گزینه ویرایش را غیرفعال کنید.
خط فرمان
برای بهروزرسانی فرادادههای دارایی از دستور earthengine asset set استفاده کنید. برای اطلاعات بیشتر به مستندات مرجع مراجعه کنید.
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
سهمیه دارایی را بررسی کنید
سهمیه در سطح پروژه اعمال میشود. برای کسب اطلاعات بیشتر در مورد سهمیه داراییها، به صفحه استفاده و محدودیتهای سهمیه مراجعه کنید.
کلاینت پایتون
از تابع ee.data.getAssetRootQuota برای دریافت سهمیه فضای ذخیرهسازی استفاده شده برای یک ریشه دارایی استفاده کنید.
ee.data.getAssetRootQuota('projects/my-project/assets')
ویرایشگر کد
در داخل مدیریت داراییها، اشارهگر را روی ریشه پروژه نگه دارید و روی آیکون data_usage کلیک کنید. یک پنجره اطلاعات ظاهر میشود.
خط فرمان
برای بررسی سهمیه دارایی از کلاینت پایتون یا ویرایشگر کد استفاده کنید.