נכסים ב-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.tifearthengine 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-nameearthengine 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_timeend_timeproperties
לקוח 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 או בכלי לעריכת קוד.