נכסי 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
הנכסים הם בבעלות של פרויקט ב-Cloud. שם הפרויקט מגדיר את שורש הספרייה של הנכסים. לדוגמה, השורש של my-project
הוא
projects/my-project/assets
.
כל הנכסים ששייכים ל-my-project
נמצאים בתיקייה projects/my-project/assets
או בתיקיית משנה (או ב-ImageCollection) בתוכה.
ספרייה
ב-Earth Engine נעשה שימוש במבנה ספרייה דמוי עץ לארגון הנכסים. לכל פרויקט ב-Cloud יש ספריית root שיכולה להכיל נכסים ותיקיות נפרדים. 'אוספים של תמונות' הם סוג מיוחד של נכס שמיועד לאחסון קבוצות של תמונות קשורות, כמו סדרות זמן או פסיפס. בניגוד לתיקיות, אוספים של תמונות יכולים להכיל רק נכסי תמונות, ואי אפשר להטמיע בהם תיקיות או אוספים אחרים.
- folder_dataprojects/my-project/assets/
- folder folder-name/
- photo שם-תמונה
- שם הטבלה view_comfy
- 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 שנמצא ברמה הבסיסית (root) של 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. מידע נוסף על הגדרת ההעלאה זמין בדף image manifest.
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. מידע נוסף על הגדרת ההעלאה זמין בדף image manifest.
manifest = {
'name': 'projects/my-project/assets/asset-name',
'sources': [
{
'uris': [
'gs://my-bucket/filename.csv'
]
}
]
}
ee.data.startTableIngestion(None, manifest)
תיקייה או ImageCollection
משתמשים בפונקציה ee.data.createAsset
כדי ליצור תיקיות ריקות או אוספים של תמונות.
ee.data.createAsset(
{'type': 'FOLDER'}, # or 'IMAGE_COLLECTION'
'projects/my-project/assets/asset-name'
)
עורך קוד
ב-Asset Manager, לוחצים על הלחצן 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
משתמשים בפקודה earthengine create
כדי ליצור תיקיות ריקות או אוספים של תמונות.
earthengine create folder projects/my-project/assets/folder-name
earthengine create collection projects/my-project/assets/collection-name
תמונה חיצונית
אפשר לרשום כנכסי תמונות חיצוניים ולהשתמש בהם ישירות ב-Earth Engine קובצי GeoTIFF (COG) שעברו אופטימיזציה לענן, שאתם מעלים לקטגוריה של Google Cloud Storage. למידע נוסף על נכסים שמגובים ב-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
.
עורך קוד
מרחיבים את התיקיות ב-Asset Manager כדי להציג את הנכסים.
שורת הפקודה
משתמשים בפקודה 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)
עורך קוד
ב-Asset Manager, מעבירים את הסמן מעל נכס ולוחצים על סמל השיתוף. בתיבת הדו-שיח, מזינים כתובת אימייל או דומיין שרוצים לשתף איתם את הנכס, ובוחרים את רמת ההרשאה שרוצים להקצות מהתפריט הנפתח. לוחצים על הלחצן הוספת גישה כדי לאשר את השינוי. מסמנים את התיבה 'כל אחד יכול לקרוא' כדי להעניק הרשאת קריאה לכל ישות. אפשר גם לתת גישה לאפליקציות של 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')
עורך קוד
ב-Asset Manager, מעבירים את הסמן מעל נכס ולוחצים על סמל השיתוף. בתיבת הדו-שיח תוצג רשימה של כתובות אימייל ודומיינים, יחד עם רמות הגישה שלהם.
שורת הפקודה
משתמשים בפקודה 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, גוררים נכס לתיקייה חדשה.
שינוי שם
ב-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
כדי למחוק נכס. אפשר לעיין במאמר העזרה של הפונקציה כדי לקבל מידע על אפשרויות חזרה חוזרת (recursive) ועל ריצה ללא הטמעה (dry run).
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 או ב-Code Editor כדי לבדוק את המכסות של הנכסים.