داراییهای 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 در یک سیستم سلسلهمراتبی از پوشهها و مجموعهها سازماندهی شدهاند. ساختار آن شبیه سیستمهای فایل رایج است.
ریشه
داراییها تحت مالکیت پروژه Cloud است. نام پروژه ریشه
دایرکتوری دارایی را تعریف میکند. برای مثال، ریشه my-project
projects/my-project/assets است.
همه داراییهای متعلق به my-project در پوشه projects/my-project/assets یا زیرپوشه (یا ImageCollection) درون آن قرار دارند.
فهرست راهنما
Earth Engine از ساختار دایرکتوری درختی برای سازماندهی داراییها استفاده میکند. هر پروژه Cloud یک دایرکتوری ریشه دارد که میتواند حاوی داراییها و پوشههای مجزا باشد. ImageCollections نوع دارایی ویژهای است که بهطور خاص برای نگهداری مجموعههایی از تصاویر مرتبط، مانند سریهای زمانی یا موزاییکها، طراحی شده است. برخلاف پوشهها، ImageCollections فقط میتواند حاوی داراییهای تصویری باشد و نمیتواند پوشهها یا مجموعههای دیگر را در خود جای دهد.
- 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/
- عکس image-name-1
- عکس image-name-2
شناسه دارایی
Earth Engine از شناسههای دارایی برای ارجاع دادهها در دستورات و عملیات خط فرمان استفاده میکند. آنها مکانهای دارایی را بااستفاده از خط مورب (/) بهعنوان جداکننده بین دایرکتوریها تعریف میکنند. برای مثال،
projects/my-project/assets/my-asset داراییای بهنام
«my-asset» را که در ریشه «my-project» قرار دارد مشخص میکند. در اینجا مثالی از استفاده از این شناسه برای دریافت اطلاعات درباره دارایی آورده شده است.
Python
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ساختن دارایی
میتوانید پوشه و ImageCollections ایجاد کنید و تصاویر و جدولها را از فایلهای محلی یا فایلهای موجود در Google Cloud Storage bucket وارد کنید. قالبهای تصویر پشتیبانیشده شامل GeoTIFF و TFRecord است؛ GeoTIFFهای بهینهشده ابری (COG) در Cloud Storage نیز میتوانند بهجای وارد شدن، در محل ثبت شوند. قالبهای جدول پشتیبانیشده شامل Shapefile و CSV است. (داراییها را میتوان با
صادر کردن نتیجه تجزیهوتحلیل Earth Engine
بااستفاده از توابع دستهای Export.*.toAsset نیز ایجاد کرد).
کارخواه Python
تصویر
از تابع ee.data.startIngestion برای دریافت تصاویر از Cloud Storage استفاده کنید. برای اطلاعات بیشتر درباره پیکربندی بارگذاری،
به صفحه مانیفست تصویر
مراجعه کنید.
manifest = {
'name': 'projects/my-project/assets/asset-name',
'tilesets': [
{
'sources': [
{
'uris': [
'gs://my-bucket/filename.tif'
]
}
]
}
]
}
ee.data.startIngestion(None, manifest)
جدول
از تابع ee.data.startTableIngestion برای دریافت جدولها از Cloud Storage استفاده کنید. برای کسب اطلاعات بیشتر درباره پیکربندی بارگذاری،
صفحه مانیفست تصویر
را ببینید.
manifest = {
'name': 'projects/my-project/assets/asset-name',
'sources': [
{
'uris': [
'gs://my-bucket/filename.csv'
]
}
]
}
ee.data.startTableIngestion(None, manifest)
پوشه یا ImageCollection
از تابع 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
پوشه یا ImageCollection
از فرمان earthengine create برای ایجاد پوشههای خالی یا ImageCollections استفاده کنید.
earthengine create folder projects/my-project/assets/folder-nameearthengine create collection projects/my-project/assets/collection-name
تصویر برونسازمانی
فایلهای GeoTIFF بهینهشده ابری (COG) در سبد Cloud Storage را میتوان بهعنوان داراییهای COG-backed (در API تصاویر خارجی نامیده میشود) ثبت کرد و مستقیماً در Earth Engine استفاده کرد. برای ساختن مانیفست، راهنمای ثبت COG را ببینید.
earthengine upload external_image --manifest /tmp/foo.jsonفهرست کردن داراییها
کارخواه Python
از تابع ee.data.listAssets
برای فهرست کردن داراییها در پوشه یا مجموعه (غیربازگشتی) استفاده کنید.
برای اطلاعات بیشتر درباره فیلتر کردن و صفحهبندی، به اسناد مرجع مراجعه کنید.
ee.data.listAssets('projects/my-project/assets')
همچنین ee.data.listImages و
ee.data.listFeatures را ببینید.
ویرایشگر کد
پوشهها را در «مدیر دارایی» ازهم باز کنید تا داراییها را ببینید.
خط فرمان
از فرمان earthengine ls
برای فهرست کردن داراییها در پوشه یا مجموعه (غیربازگشتی) استفاده کنید. برای اطلاعات بیشتر درباره محدود کردن تعداد داراییها برای فهرست کردن و جزئیات مقدار برای برگرداندن، به اسناد مرجع مراجعه کنید.
earthengine ls projects/my-project/assetsتنظیم اجازههای دارایی
کارخواه Python
از تابع 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برای جزئیات بیشتر، به صفحه مرجع خط فرمان مراجعه کنید.
بررسی اجازههای دارایی
کارخواه Python
از تابع ee.data.getAssetAcl برای واکشی فهرست کنترل دسترسی برای یک دارایی استفاده کنید.
ee.data.getAssetAcl('projects/my-project/assets/asset-name')
ویرایشگر کد
در «مدیر دارایی»، نشانگر را روی دارایی نگه دارید و روی نماد همرسانی کلیک کنید. کادر گفتگو فهرستی از ایمیلها و دامنهها را بههمراه سطح دسترسی مربوط به آنها نمایش میدهد.
خط فرمان
از فرمان earthengine acl get
برای واکشی فهرست کنترل دسترسی برای یک دارایی استفاده کنید.
earthengine acl get projects/my-project/assets/asset-nameکپی کردن داراییها
کارخواه Python
از تابع ee.data.copyAsset
برای کپی کردن دارایی استفاده کنید.
ee.data.copyAsset('projects/my-project/assets/asset-name', 'projects/my-project/assets/asset-copy-name')
ویرایشگر کد
برای کپی کردن داراییها، از کارخواه Python یا ابزار خط فرمان استفاده کنید.
خط فرمان
از فرمان earthengine cp
برای کپی کردن دارایی استفاده کنید.
earthengine cp projects/my-project/assets/asset-name projects/my-project/assets/asset-copy-nameانتقال یا تغییر نام داراییها
کارخواه Python
از تابع 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حذف داراییها
کارخواه Python
برای حذف دارایی، از تابع ee.data.deleteAsset استفاده کنید.
ee.data.deleteAsset('projects/my-project/assets/asset-name')
ویرایشگر کد
روی دارایی کلیک کنید تا صفحه کادر گفتگوی دارایی باز شود، سپس روی دکمه حذف کلیک کنید.
خط فرمان
از فرمان earthengine rm برای حذف دارایی استفاده کنید. برای گزینههای بازگشتی و اجرای آزمایشی، به مرجع تابع مراجعه کنید.
earthengine rm projects/my-project/assets/asset-nameمشاهده فراداده دارایی
کارخواه Python
از تابع 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_timeend_timeproperties
کارخواه Python
از تابع 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
بررسی سهمیه دارایی
سهمیه در سطح پروژه اعمال میشود. درباره سهمیه دارایی در صفحه حدود استفاده و سهمیه بیشتر بدانید.
کارخواه Python
از تابع ee.data.getAssetRootQuota برای دریافت میزان استفاده از سهمیه فضای ذخیرهسازی برای ریشه دارایی استفاده کنید.
ee.data.getAssetRootQuota('projects/my-project/assets')
ویرایشگر کد
در «مدیر دارایی»، نشانگر را روی ریشه پروژه نگه دارید و روی نماد data_usage کلیک کنید. کادر گفتگوی اطلاعاتی نمایش داده میشود.
خط فرمان
برای بررسی سهمیه دارایی، از سرویسگیرنده Python یا «ویرایشگر کد» استفاده کنید.