ee.Image.arrayReshape

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

الاستخدامالمرتجعات
Image.arrayReshape(lengths, dimensions)صورة
الوسيطةالنوعالتفاصيل
هذا: imageصورةصورة المصفوفات المطلوب إعادة تشكيلها
lengthsصورةصورة بنطاق واحد تحدّد الأطوال الجديدة لكل محور من محاور الصورة المُدخلة المحدّدة كمصفوفة أحادية البُعد لكل بكسل يجب أن تكون هناك قيم أطوال "dimensions" في كل مصفوفة "shape". إذا كان أحد الأطوال هو -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()
display('1D array image (pixel):', samp_arr_img(array_img_1d))
# [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)
display('2D 2x3 array image (pixel):', samp_arr_img(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.
reshape3x_ = array_img_1d.arrayReshape(ee.Image([3, -1]).toArray(), 2)
display('2D 3x? array image (pixel):', samp_arr_img(reshape3x_))
# [[0, 1],
#  [2, 3],
#  [4, 5]]

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