Nutzung | Ausgabe |
---|---|
Image.arraySlice(axis, start, end, step) | Bild |
Argument | Typ | Details |
---|---|---|
So gehts: input | Bild | Eingabebild für das Array. |
axis | Ganzzahl, Standardwert: 0 | Achse für die Teilmenge. |
start | Bild, Standardwert: null | Die Koordinate des ersten Slice (einschließlich) entlang der Achse. Negative Zahlen werden verwendet, um den Beginn des Aufteilens relativ zum Ende des Arrays zu positionieren. Dabei beginnt -1 an der letzten Position auf der Achse, -2 an der vorletzten Position usw. Es muss ein Band für Startindexe oder ein Band pro „input“-Band vorhanden sein. Wenn dieses Argument nicht festgelegt oder an einem Pixel maskiert ist, beginnt der Slice an diesem Pixel mit dem Index 0. |
end | Bild, Standardwert: null | Die Koordinate (exklusiv), an der das Erstellen von Slices beendet werden soll. Standardmäßig ist dies die Länge der angegebenen Achse. Negative Zahlen werden verwendet, um das Ende des Slicings relativ zum Ende des Arrays zu positionieren. Dabei wird mit -1 die letzte Position ausgeschlossen, mit -2 die letzten beiden Positionen usw. Es muss ein Bereich für Endindexe oder ein Bereich pro „input“-Bereich vorhanden sein. Wenn dieses Argument an einem Pixel nicht festgelegt oder maskiert ist, endet der Slice an diesem Pixel direkt nach dem letzten Index. |
step | Ganzzahl, Standard: 1 | Der Abstand zwischen den Slices entlang der Achse. Ein Slice wird an jedem ganzzahligen Vielfachen von „step“ von „start“ (einschließlich) bis „end“ (ausschließlich) erstellt. Muss positiv sein. |
Beispiele
Code-Editor (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]]