مدیریت دارایی ها

دارایی های 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 کلیک کنید. یک گفتگوی اطلاعات ظاهر می شود.

خط فرمان

از کلاینت پایتون یا ویرایشگر کد برای بررسی سهمیه دارایی استفاده کنید.