ee.Image.arraySlice

با برش هر موقعیت در امتداد محور داده شده از «شروع» (شامل) تا «پایان» (منحصراً) با افزایش «گام»، یک زیرآرایه ایجاد می‌کند.

نتیجه به اندازه ورودی ابعاد خواهد داشت و طول آن در همه جهات به جز محور برش یکسان است، که در آن طول، تعداد موقعیت‌ها از 'start' تا 'end' بر اساس 'step' است که در محدوده طول آرایه ورودی در امتداد 'axis' قرار دارند. این بدان معناست که اگر start=end باشد، یا اگر مقادیر شروع یا پایان کاملاً خارج از محدوده باشند، نتیجه می‌تواند در امتداد محور داده شده طول 0 داشته باشد.

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

مثال‌ها

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

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