שימוש | החזרות |
---|---|
Image.arraySlice(axis, start, end, step) | תמונה |
ארגומנט | סוג | פרטים |
---|---|---|
זה: input | תמונה | תמונת מערך הקלט. |
axis | מספר שלם, ברירת מחדל: 0 | הציר שרוצים ליצור ממנו קבוצת משנה. |
start | תמונה, ברירת מחדל: null | הקואורדינטה של הפרוסה הראשונה (כולל) לאורך הציר. מספרים שליליים משמשים למיקום ההתחלה של החיתוך ביחס לסוף המערך. למשל, -1 מתחיל במיקום האחרון בציר, -2 מתחיל במיקום הלפני האחרון וכן הלאה. צריך להגדיר פס אחד לאינדקסים של ההתחלה, או פס אחד לכל פס של input. אם הארגומנט הזה לא מוגדר או מוסתר בפיקסל מסוים, הפרוסה בפיקסל הזה תתחיל באינדקס 0. |
end | תמונה, ברירת מחדל: null | הקואורדינטה (לא כולל) שבה מפסיקים לחתוך את הפרוסות. כברירת מחדל, האורך יהיה האורך של הציר הנתון. מספרים שליליים משמשים למיקום סוף הפריסה ביחס לסוף המערך. לדוגמה, -1 לא יכלול את המיקום האחרון, -2 לא יכלול את שני המיקומים האחרונים וכן הלאה. צריך להיות פס אחד למדדי סוף, או פס אחד לכל פס 'קלט'. אם הארגומנט הזה לא מוגדר או מוסתר בפיקסל מסוים, הפרוסה בפיקסל הזה תסתיים מיד אחרי האינדקס האחרון. |
step | מספר שלם, ברירת מחדל: 1 | ההפרדה בין הפרוסות לאורך הציר. פרוסה תילקח בכל כפולה שלמה של 'step' מ-'start' (כולל) עד 'end' (לא כולל). חייב להיות חיובי. |
דוגמאות
עורך הקוד (JavaScript)
// A function to print arrays for a selected pixel in the following examples. function sampArrImg(arrImg) { var point = ee.Geometry.Point([-121, 42]); return arrImg.sample(point, 500).first().get('array'); } // Create a 1D array image with length 12. var arrayImg1D = ee.Image([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]).toArray(); print('1D array image (pixel)', sampArrImg(arrayImg1D)); // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] // Get the first 3 elements. print('1D array image first 3 elements (pixel)', sampArrImg(arrayImg1D.arraySlice(0, 0, 3))); // [0, 1, 2] // Get the last 3 elements. print('1D array image last 3 elements (pixel)', sampArrImg(arrayImg1D.arraySlice(0, -3))); // [9, 10, 11] // Get elements at index positions 3 through 5 (0-based). print('1D array image elements at index positions 3 through 5 (pixel)', sampArrImg(arrayImg1D.arraySlice(0, 3, 6))); // [3, 4, 5] // Get elements at index positions 4 through end (0-based). print('1D array image elements at index positions 4 through end (pixel)', sampArrImg(arrayImg1D.arraySlice(0, 4))); // [4, 5, 6, 7, 8, 9, 10, 11] // Get elements using a step of 3. print('1D array image elements at a step of 3 (pixel)', sampArrImg(arrayImg1D.arraySlice(0, 0, null, 3))); // [0, 3, 6, 9] // Create a 2D array image with 3 rows and 4 columns. var arrayImg2D = arrayImg1D.arrayReshape(ee.Image([3, 4]).toArray(), 2); print('2D array image (pixel)', sampArrImg(arrayImg2D)); // [[0, 1, 2, 3], // [4, 5, 6, 7], // [8, 9, 10, 11]] // Get the second row. print('2D array image second row (pixel)', sampArrImg(arrayImg2D.arraySlice(0, 1, 2))); // [[4, 5, 6, 7] // Get the second column. print('2D array image second column (pixel)', sampArrImg(arrayImg2D.arraySlice(1, 1, 2))); // [[1], // [5], // [9]] // Get all columns except the last. print('2D array image all columns except last (pixel)', sampArrImg(arrayImg2D.arraySlice(1, 0, -1))); // [[0, 1, 2], // [4, 5, 6], // [8, 9, 10]]
import ee import geemap.core as geemap
Colab (Python)
# A function to print arrays for a selected pixel in the following examples. def samp_arr_img(arr_img): point = ee.Geometry.Point([-121, 42]) return arr_img.sample(point, 500).first().get('array') # Create a 1D array image with length 12. array_img_1d = ee.Image([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]).toArray() print('1D array image (pixel):', samp_arr_img(array_img_1d).getInfo()) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] # Get the first 3 elements. print('1D array image first 3 elements (pixel):', samp_arr_img(array_img_1d.arraySlice(0, 0, 3)).getInfo()) # [0, 1, 2] # Get the last 3 elements. print('1D array image last 3 elements (pixel):', samp_arr_img(array_img_1d.arraySlice(0, -3)).getInfo()) # [9, 10, 11] # Get elements at index positions 3 through 5 (0-based). print('1D array image elements at index positions 3 through 5 (pixel):', samp_arr_img(array_img_1d.arraySlice(0, 3, 6)).getInfo()) # [3, 4, 5] # Get elements at index positions 4 through end (0-based). print('1D array image elements at index positions 4 through end (pixel)', samp_arr_img(array_img_1d.arraySlice(0, 4)).getInfo()) # [4, 5, 6, 7, 8, 9, 10, 11] # Get elements using a step of 3. print('1D array image elements at a step of 3 (pixel)', samp_arr_img(array_img_1d.arraySlice(0, 0, None, 3)).getInfo()) # [0, 3, 6, 9] # Create a 2D array image with 3 rows and 4 columns. array_img_2d = array_img_1d.arrayReshape(ee.Image([3, 4]).toArray(), 2) print('2D array image (pixel)', samp_arr_img(array_img_2d).getInfo()) # [[0, 1, 2, 3], # [4, 5, 6, 7], # [8, 9, 10, 11]] # Get the second row. print('2D array image second row (pixel):', samp_arr_img(array_img_2d.arraySlice(0, 1, 2)).getInfo()) # [[4, 5, 6, 7] # Get the second column. print('2D array image second column (pixel):', samp_arr_img(array_img_2d.arraySlice(1, 1, 2)).getInfo()) # [[1], # [5], # [9]] # Get all columns except the last. print('2D array image all columns except last (pixel):', samp_arr_img(array_img_2d.arraySlice(1, 0, -1)).getInfo()) # [[0, 1, 2], # [4, 5, 6], # [8, 9, 10]]