ניהול נכסים

נכסי 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 הם סוג מיוחד של נכס שנועד במיוחד להכיל קבוצות של תמונות קשורות, כמו סדרות זמן או פסיפסים. בניגוד לתיקיות, ImageCollection יכול להכיל רק נכסי תמונות, ולא יכול להכיל תיקיות או אוספים אחרים.

  • 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 (רגיל ו-COG) ו-TFRecord. הפורמטים הנתמכים של טבלאות כוללים 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 כדי ליצור תיקיות ריקות או ImageCollection.

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 כדי ליצור תיקיות ריקות או ImageCollection.

earthengine create folder projects/my-project/assets/folder-name
earthengine create collection projects/my-project/assets/collection-name

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

אפשר לרשום קובצי GeoTIFF (COG) שעברו אופטימיזציה לענן והועלו לקטגוריה ב-Google Cloud Storage כנכסי תמונות חיצוניים, ולהשתמש בהם ישירות ב-Earth Engine. מידע נוסף על נכסים שמגובים ב-COG ועל בניית מניפסט מופיע במסמכי העיון.

earthengine alpha 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 דרך תיבת הדו-שיח. לשם כך, בוחרים את שם האפליקציה מהרשימה הנפתחת (נכסים שנמצאים בבעלות הפרויקט הפעיל של 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

לפרטים נוספים, אפשר לעיין בדף command line reference.

בדיקת הרשאות הגישה לנכסים

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

עורך קוד

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

שורת הפקודה

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