ee.Image.arraySlice

با برش دادن هر موقعیت در امتداد محور داده شده از "شروع" (شامل) به "پایان" (انحصاری) با افزایش "گام"، یک زیرآرایه ایجاد می کند. نتیجه به اندازه ورودی دارای ابعاد خواهد بود و در همه جهات به جز محور برش، طول یکسانی خواهد داشت، جایی که طول، تعداد موقعیت‌هایی از «شروع» تا «پایان» به «گام» خواهد بود که در محدوده طول آرایه ورودی در امتداد «محور» قرار دارند. این بدان معناست که نتیجه می تواند طول 0 در امتداد محور داده شده باشد اگر start=end، یا اگر مقادیر شروع یا پایان کاملاً خارج از محدوده باشند.

استفاده برمی گرداند
Image. arraySlice ( axis , start , end , step ) تصویر
استدلال تایپ کنید جزئیات
این: input تصویر تصویر آرایه ورودی
axis عدد صحیح، پیش فرض: 0 محور به زیر مجموعه.
start تصویر، پیش فرض: null مختصات اولین برش (شامل) در امتداد "محور". از اعداد منفی برای قرار دادن شروع برش نسبت به انتهای آرایه استفاده می‌شود، جایی که -1 از آخرین موقعیت محور شروع می‌شود، -2 از موقعیت بعدی تا آخرین نقطه شروع می‌شود، و غیره. باید یک باند برای شاخص‌های شروع، یا یک باند برای هر باند «ورودی» وجود داشته باشد. اگر این آرگومان در برخی از پیکسل ها تنظیم یا پوشانده نشده باشد، برش در آن پیکسل از شاخص 0 شروع می شود.
end تصویر، پیش فرض: null مختصاتی (انحصاری) که در آن برش ها را متوقف کنید. به طور پیش فرض این طول محور داده شده خواهد بود. از اعداد منفی برای قرار دادن انتهای برش نسبت به انتهای آرایه استفاده می‌شود، جایی که -1 آخرین موقعیت را حذف می‌کند، -2 دو موقعیت آخر را حذف می‌کند، و غیره. باید یک باند برای شاخص‌های انتهایی یا یک باند برای هر باند "ورودی" وجود داشته باشد. اگر این آرگومان در برخی از پیکسل ها تنظیم یا پوشانده نشود، برش در آن پیکسل درست پس از آخرین شاخص به پایان می رسد.
step عدد صحیح، پیش فرض: 1 جداسازی بین برش ها در امتداد "محور". یک برش در هر مضرب کامل "گام" از "شروع" (شامل) تا "پایان" (انحصاری) گرفته می شود. باید مثبت باشه

نمونه ها

ویرایشگر کد (جاوا اسکریپت)

// 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]]

راه اندازی پایتون

برای اطلاعات در مورد API پایتون و استفاده از geemap برای توسعه تعاملی به صفحه محیط پایتون مراجعه کنید.

import ee
import geemap.core as geemap

کولب (پایتون)

# 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]]