Hasil akan memiliki dimensi sebanyak input, dan panjang yang sama di semua arah kecuali sumbu pengirisan, dengan panjangnya adalah jumlah posisi dari 'start' hingga 'end' menurut 'step' yang berada dalam rentang panjang array input di sepanjang 'axis'. Artinya, hasilnya dapat berupa panjang 0 di sepanjang sumbu yang diberikan jika start=end, atau jika nilai start atau end sepenuhnya berada di luar rentang.
| Penggunaan | Hasil |
|---|---|
Image.arraySlice(axis, start, end, step) | Gambar |
| Argumen | Jenis | Detail |
|---|---|---|
ini: input | Gambar | Gambar array input. |
axis | Bilangan bulat, default: 0 | Sumbu yang akan dibuat subsetnya. |
start | Gambar, default: null | Koordinat slice pertama (inklusif) di sepanjang 'axis'. Bilangan negatif digunakan untuk memosisikan awal pengirisan relatif terhadap akhir array, dengan -1 dimulai pada posisi terakhir pada sumbu, -2 dimulai pada posisi kedua terakhir, dll. Harus ada satu rentang untuk indeks awal, atau satu rentang per rentang 'input'. Jika argumen ini tidak disetel atau ditutup-tutupi di beberapa piksel, maka slice pada piksel tersebut akan dimulai pada indeks 0. |
end | Gambar, default: null | Koordinat (eksklusif) tempat pengambilan slice dihentikan. Secara default, nilai ini akan menjadi panjang sumbu yang diberikan. Angka negatif digunakan untuk memosisikan akhir pengirisan relatif terhadap akhir array, dengan -1 akan mengecualikan posisi terakhir, -2 akan mengecualikan dua posisi terakhir, dll. Harus ada satu rentang untuk indeks akhir, atau satu rentang per rentang 'input'. Jika argumen ini tidak disetel atau ditutup-tutupi di beberapa piksel, irisan pada piksel tersebut akan berakhir tepat setelah indeks terakhir. |
step | Bilangan bulat, default: 1 | Pemisahan antara irisan di sepanjang 'axis'; irisan akan diambil pada setiap kelipatan bilangan bulat 'step' dari 'start' (inklusif) hingga 'end' (eksklusif). Harus positif. |
Contoh
Editor Kode (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() display('1D array image (pixel):', samp_arr_img(array_img_1d)) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] # Get the first 3 elements. display('1D array image first 3 elements (pixel):', samp_arr_img(array_img_1d.arraySlice(0, 0, 3))) # [0, 1, 2] # Get the last 3 elements. display('1D array image last 3 elements (pixel):', samp_arr_img(array_img_1d.arraySlice(0, -3))) # [9, 10, 11] # Get elements at index positions 3 through 5 (0-based). display('1D array image elements at index positions 3 through 5 (pixel):', samp_arr_img(array_img_1d.arraySlice(0, 3, 6))) # [3, 4, 5] # Get elements at index positions 4 through end (0-based). display('1D array image elements at index positions 4 through end (pixel)', samp_arr_img(array_img_1d.arraySlice(0, 4))) # [4, 5, 6, 7, 8, 9, 10, 11] # Get elements using a step of 3. display('1D array image elements at a step of 3 (pixel)', samp_arr_img(array_img_1d.arraySlice(0, 0, None, 3))) # [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) display('2D array image (pixel)', samp_arr_img(array_img_2d)) # [[0, 1, 2, 3], # [4, 5, 6, 7], # [8, 9, 10, 11]] # Get the second row. display('2D array image second row (pixel):', samp_arr_img(array_img_2d.arraySlice(0, 1, 2))) # [[4, 5, 6, 7] # Get the second column. display('2D array image second column (pixel):', samp_arr_img(array_img_2d.arraySlice(1, 1, 2))) # [[1], # [5], # [9]] # Get all columns except the last. display('2D array image all columns except last (pixel):', samp_arr_img(array_img_2d.arraySlice(1, 0, -1))) # [[0, 1, 2], # [4, 5, 6], # [8, 9, 10]]