دارایی های Earth Engine داده های مکانی پروژه ای هستند که در پلت فرم ذخیره می شوند. می توانید داده های خود را آپلود کنید و داده های تولید شده از تجزیه و تحلیل های Earth Engine خود را به عنوان دارایی ذخیره کنید.
انواع دارایی
Earth Engine فرمتهای دارایی مختلفی را برای انواع دادههای مختلف به همراه عناصر کانتینری برای سازمان ارائه میدهد.
انواع دارایی | |
---|---|
Image | شطرنجی، نمایشی مبتنی بر شبکه از اطلاعات جغرافیایی که در آن هر سلول در شبکه دارای مقداری مربوط به مکان خاصی در سطح زمین است. |
ImageCollection | مجموعه ای از تصاویر شطرنجی مرتبط که یک موزاییک یا یک سری زمانی را تشکیل می دهند. از نظر عملکردی شبیه به یک پوشه است، اما می تواند به عنوان یک شی ee.ImageCollection به Earth Engine وارد شود که شامل مجموعه ای از روش ها برای فیلتر کردن و تجزیه و تحلیل است. |
Table | یک ساختار داده جدولی متشکل از ویژگی های برداری (ردیف ها) که هر کدام شامل یک سری ویژگی ها (ستون ها) است. با شی ee.FeatureCollection نشان داده می شود که شامل مجموعه ای از روش ها برای فیلتر کردن و تجزیه و تحلیل است. |
Classifier | یک مدل یادگیری ماشین موتور زمین آموزش دیده. نشان داده شده استee.Classifier که شامل مجموعه ای از روش ها برای کاربرد و تجزیه و تحلیل است. |
FeatureView | نمای تجسمی از یک جدول برای استفاده در برنامه های Earth Engine. |
Folder | ظرفی برای دارایی ها و پوشه های اضافی برای کمک به سازمان. |
سازمان دارایی
دارایی های Earth Engine در یک سیستم سلسله مراتبی از پوشه ها و مجموعه ها سازماندهی می شوند. ساختار مشابه فایل سیستم های رایج است.
ریشه
دارایی ها متعلق به یک پروژه ابری هستند. نام پروژه ریشه دایرکتوری دارایی را مشخص می کند. به عنوان مثال، ریشه my-project
projects/my-project/assets
است. تمام دارایی هایی که به my-project
تعلق دارند در پوشه projects/my-project/assets
یا یک زیرپوشه (یا ImageCollection) درون آن قرار دارند.
دایرکتوری
Earth Engine از یک ساختار دایرکتوری درخت مانند برای سازماندهی دارایی ها استفاده می کند. هر پروژه Cloud دارای یک دایرکتوری ریشه است که می تواند دارای دارایی ها و پوشه های جداگانه باشد. ImageCollection ها نوع خاصی از دارایی هستند که به طور خاص برای نگهداری مجموعه ای از تصاویر مرتبط، مانند سری های زمانی یا موزاییک ها طراحی شده اند. برخلاف پوشهها، ImageCollections فقط میتواند حاوی داراییهای تصویر باشد و نمیتواند پوشهها یا مجموعههای دیگر را درون آنها قرار دهد.
- folder_data projects/my-project/assets/
- پوشه پوشه -نام/
- عکس - نام
- view_comfy table-name
- ماهواره featureview-name
- bubble_chart طبقه بندی-نام
- عکس_کتابخانه مجموعه تصویر-نام/
- عکس image-name-1
- عکس image-name-2
شناسه دارایی
Earth Engine از شناسههای دارایی برای ارجاع دادهها در اسکریپتها و عملیات خط فرمان استفاده میکند. آنها مکان های دارایی را با استفاده از اسلش های رو به جلو (/) به عنوان جداکننده بین دایرکتوری ها تعریف می کنند. برای مثال، 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
دارایی ایجاد کنید
میتوانید پوشهها و ImageCollections ایجاد کنید و تصاویر و جداول را از فایلها یا فایلهای محلی در یک سطل Google Cloud Storage وارد کنید. فرمت های تصویری پشتیبانی شده عبارتند از GeoTIFF (استاندارد و COG) و TFRecord. فرمت های جدول پشتیبانی شده عبارتند از Shapefile و CSV. (دارایی ها همچنین می توانند با صادر کردن نتیجه تجزیه و تحلیل Earth Engine با استفاده از توابع دسته ای Export.*.toAsset
ایجاد شوند).
کلاینت پایتون
تصویر
برای دریافت تصاویر از Cloud Storage از تابع 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
برای جذب جداول از 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'
)
ویرایشگر کد
در مدیریت دارایی، روی دکمه NEW کلیک کنید و نوع دارایی را که میخواهید آپلود یا ایجاد کنید از فهرست حذفی انتخاب کنید. آپلود یا ایجاد دارایی را در کادر گفتگو پیکربندی کنید.
خط فرمان
تصویر یا جدول
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
پوشه یا ImageCollection
برای ایجاد پوشه های خالی یا ImageCollection از دستور earthengine create
استفاده کنید.
earthengine create folder projects/my-project/assets/folder-name
earthengine create collection projects/my-project/assets/collection-name
تصویر خارجی
فایلهای GeoTIFF (COG) بهینهسازیشده برای فضای ابری که در سطل فضای ذخیرهسازی Google Cloud آپلود میکنید، میتوانند به عنوان داراییهای تصویر خارجی ثبت شوند و مستقیماً در 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
مراجعه کنید.
ویرایشگر کد
برای مشاهده دارایی ها، پوشه ها را در Asset Manager باز کنید.
خط فرمان
از دستور 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)
ویرایشگر کد
در مدیریت دارایی، نشانگر را روی یک دارایی نگه دارید و روی نماد اشتراکگذاری کلیک کنید. در گفتگو، آدرس ایمیل یا دامنه ای را وارد کنید تا دارایی را با آن به اشتراک بگذارید، سپس سطح مجوزی را برای اعطا از فهرست حذفی انتخاب کنید. برای تایید تغییر روی دکمه ADD ACCESS کلیک کنید. برای اعطای مجوز خواندن به هر نهادی، کادر «همه میتوانند بخوانند» را علامت بزنید. همچنین میتوانید با انتخاب نام برنامه از فهرست حذفی (داراییهای متعلق به پروژه ویرایشگر کد فعال) از کادر گفتگو، دسترسی به برنامههای Earth Engine را فراهم کنید.
خط فرمان
برای تنظیم دسترسی خواندن دارایی به public
یا private
از دستور earthengine acl set
استفاده کنید.
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')
ویرایشگر کد
حرکت کنید
در Asset Manager، یک دارایی را به یک پوشه جدید بکشید.
تغییر نام دهید
در مدیریت دارایی، نشانگر را روی یک دارایی نگه دارید و روی نماد ویرایش کلیک کنید و یک نام جدید را در قسمت ورودی قابل ویرایش تایپ کنید.
خط فرمان
از دستور 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')
ویرایشگر کد
در Asset Manager، نشانگر را روی ریشه پروژه نگه دارید و روی نماد data_usage کلیک کنید. یک گفتگوی اطلاعات ظاهر می شود.
خط فرمان
از کلاینت پایتون یا ویرایشگر کد برای بررسی سهمیه دارایی استفاده کنید.