ניהול נכסים

נכסים ב-Earth Engine הם נתונים גיאו-מרחביים בבעלות הפרויקט שמאוחסנים בפלטפורמה. אתם יכולים להעלות נתונים משלכם ולשמור נתונים שנוצרו מהניתוחים שלכם ב-Earth Engine כנכסים.

סוגי נכסים

ב-Earth Engine יש פורמטים שונים של נכסים לסוגי נתונים שונים, וגם רכיבי קונטיינר לארגון.

סוגי נכסים
Image רסטר, ייצוג מבוסס-רשת של מידע גיאוגרפי שבו כל תא ברשת מכיל ערך שתואם למיקום ספציפי על פני כדור הארץ.
ImageCollection אוסף של תמונות רסטר קשורות שיוצרות פסיפס או סדרת זמן. הוא דומה מבחינה פונקציונלית לתיקייה, אבל אפשר לייבא אותו ל-Earth Engine כאובייקט ee.ImageCollection שכולל קבוצת שיטות לסינון ולניתוח.
Table מבנה נתונים של טבלה שמורכב מתכונות וקטוריות (שורות), שכל אחת מהן מכילה סדרה של מאפיינים (עמודות). הוא מיוצג על ידי האובייקט ee.FeatureCollection, שכולל קבוצה של שיטות לסינון ולניתוח.
Classifier מודל למידת מכונה מאומן של Earth Engine. הוא מיוצג על ידי האובייקט ee.Classifier, שכולל קבוצה של שיטות ליישום ולניתוח.
FeatureView תצוגה חזותית של טבלה לשימוש באפליקציות של Earth Engine.
Folder מאגר של נכסים ותיקיות נוספות שעוזר לארגן את הנכסים.

ארגון הנכסים

הנכסים ב-Earth Engine מאורגנים במערכת היררכית של תיקיות ואוספים. המבנה דומה למערכות קבצים נפוצות.

Root

הנכסים נמצאים בבעלות של פרויקט בענן. שם הפרויקט מגדיר את השורש של ספריית הנכסים. לדוגמה, השורש של my-project הוא projects/my-project/assets. כל הנכסים ששייכים ל-my-project נמצאים בתיקייה projects/my-project/assets או בתיקיית משנה (או ImageCollection) בתוכה.

ספרייה

ב-Earth Engine נעשה שימוש במבנה ספרייה דמוי עץ לארגון הנכסים. לכל פרויקט בענן יש תיקיית שורש שיכולה להכיל נכסים ותיקיות נפרדים. ‫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/‎
        • photo image-name-1
        • photo 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. פורמטים נתמכים של תמונות כוללים את GeoTIFF ו-TFRecord. אפשר גם לרשום במקום, במקום להטמיע, קובצי GeoTIFF שעברו אופטימיזציה לענן (COGs) ב-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.tif
earthengine 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-name
earthengine create collection projects/my-project/assets/collection-name

תמונה חיצונית

אפשר לרשום קובצי Cloud Optimized GeoTIFF‏ (COG) בקטגוריה של Cloud Storage כנכסים שמגובים ב-COG (נקראים תמונות חיצוניות ב-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)

עורך הקוד

במנהל הנכסים, מעבירים את העכבר מעל נכס ולוחצים על סמל השיתוף. בתיבת הדו-שיח, מזינים את כתובת האימייל או הדומיין שאיתם רוצים לשתף את הנכס, ובוחרים את רמת ההרשאה שרוצים לתת מהרשימה הנפתחת. לוחצים על הכפתור ADD ACCESS כדי לאשר את השינוי. מסמנים את התיבה "כל אחד יכול לקרוא" כדי לתת לכל ישות הרשאת קריאה. אפשר גם לתת גישה לאפליקציות של Earth Engine מתיבת הדו-שיח, על ידי בחירת שם האפליקציה מהרשימה הנפתחת (נכסים שבבעלות הפרויקט הפעיל של Code Editor).

שורת הפקודה

משתמשים בפקודה 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')

עורך הקוד

העברה

במנהל הנכסים, גוררים נכס לתיקייה חדשה.

שינוי שם

ב-Asset Manager, מעבירים את הסמן מעל נכס, לוחצים על סמל העריכה ומקלידים שם חדש בשדה להזנת קלט שניתן לעריכה.

שורת הפקודה

כדי להעביר נכס או לשנות את השם שלו, משתמשים בפקודה 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')

עורך הקוד

לוחצים על נכס כדי לפתוח את דף תיבת הדו-שיח של הנכס, ואז לוחצים על הכפתור DELETE.

שורת הפקודה

כדי למחוק נכס, משתמשים בפקודה 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_time
  • end_time
  • properties

לקוח 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')

עורך הקוד

ב-Asset Manager, מעבירים את הסמן מעל תיקיית השורש של הפרויקט ולוחצים על הסמל data_usage. תופיע תיבת דו-שיח עם מידע.

שורת הפקודה

כדי לבדוק את מכסת הנכסים, אפשר להשתמש בלקוח Python או בכלי לעריכת קוד.