ee.Image.arrayReshape

تحويل نطاقات مصفوفة صورة ذات وحدات بكسل متساوية الشكل، وربما متعددة الأبعاد، إلى صورة مصفوفات ذات شكل جديد

الاستخدامالمرتجعات
Image.arrayReshape(lengths, dimensions)صورة
الوسيطةالنوعالتفاصيل
هذا: imageصورةصورة المصفوفات المطلوب إعادة تشكيلها
lengthsصورةصورة ذات نطاق واحد تحدّد الأطوال الجديدة لكل محور من محاور الصورة المُدخَلة المحدّدة كصفيف أحادي الأبعاد لكل بكسل يجب أن تتضمّن مصفوفة كل شكل قيم أطوال "الأبعاد". إذا كان أحد الأطوال هو -1، سيتم احتساب الطول المقابل لهذا المحور بحيث يظل الحجم الإجمالي ثابتًا. على وجه الخصوص، يتم تسوية الشكل [-1] إلى بُعد واحد. يمكن أن يكون أحد عناصر الشكل -1 على الأكثر.
dimensionsعدد صحيحعدد الأبعاد المشترَكة بين جميع وحدات البكسل في مصفوفة الإخراج

أمثلة

محرّر الرموز البرمجية (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 6.
var arrayImg1D = ee.Image([0, 1, 2, 3, 4, 5]).toArray();
print('1D array image (pixel)', sampArrImg(arrayImg1D));
// [0, 1, 2, 3, 4, 5]

// Reshape the 1D 6-element array to a 2D 2 (row) x 3 (column) array. Notice
// that elements are filled row by row in the reshaped result.
var reshape2x3 = arrayImg1D.arrayReshape(ee.Image([2, 3]).toArray(), 2);
print('2D 2x3 array image (pixel)', sampArrImg(reshape2x3));
// [[0, 1, 2],
//  [3, 4, 5]]

// Use -1 to auto-determine a dimension length. For example, here we set
// 3 rows and let Earth Engine determine the number of columns needed.
var reshape3x_ = arrayImg1D.arrayReshape(ee.Image([3, -1]).toArray(), 2);
print('2D 3x? array image (pixel)', sampArrImg(reshape3x_));
// [[0, 1],
//  [2, 3],
//  [4, 5]]

// Flatten a 2D 2x3 array to 1D 6-element array.
var flattened = reshape2x3.arrayReshape(ee.Image([-1]).toArray(), 1);
print('2D array flattened to 1D', sampArrImg(flattened));
// [0, 1, 2, 3, 4, 5]

إعداد Python

راجِع صفحة بيئة Python للحصول على معلومات حول واجهة برمجة التطبيقات Python واستخدام geemap للتطوير التفاعلي.

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 6.
array_img_1d = ee.Image([0, 1, 2, 3, 4, 5]).toArray()
print('1D array image (pixel):', samp_arr_img(array_img_1d).getInfo())
# [0, 1, 2, 3, 4, 5]

# Reshape the 1D 6-element array to a 2D 2 (row) x 3 (column) array. Notice
# that elements are filled row by row in the reshaped result.
reshape2x3 = array_img_1d.arrayReshape(ee.Image([2, 3]).toArray(), 2)
print('2D 2x3 array image (pixel):', samp_arr_img(reshape2x3).getInfo())
# [[0, 1, 2],
#  [3, 4, 5]]

# Use -1 to auto-determine a dimension length. For example, here we set
# 3 rows and let Earth Engine determine the number of columns needed.
reshape3x_ = array_img_1d.arrayReshape(ee.Image([3, -1]).toArray(), 2)
print('2D 3x? array image (pixel):', samp_arr_img(reshape3x_).getInfo())
# [[0, 1],
#  [2, 3],
#  [4, 5]]

# Flatten a 2D 2x3 array to 1D 6-element array.
flattened = reshape2x3.arrayReshape(ee.Image([-1]).toArray(), 1)
print('2D array flattened to 1D:', samp_arr_img(flattened).getInfo())
# [0, 1, 2, 3, 4, 5]