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

دارایی‌های 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.tif
earthengine 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-name
earthengine 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 کلیک کنید. یک پنجره اطلاعات ظاهر می‌شود.

خط فرمان

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